From 2bd8416e7cc3ef52ca1202a3d26ac75268c125dd Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Wed, 25 Apr 2007 22:23:38 +0000 Subject: [PATCH] use resolve_host in acl handlign too, simplificates the code Originally committed as revision 8819 to svn://svn.ffmpeg.org/ffmpeg/trunk --- ffserver.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/ffserver.c b/ffserver.c index 7cb4164..1c3a91e 100644 --- a/ffserver.c +++ b/ffserver.c @@ -1120,7 +1120,7 @@ static int validate_acl(FFStream *stream, HTTPContext *c) enum IPAddressAction last_action = IP_DENY; IPAddressACL *acl; struct in_addr *src = &c->from_addr.sin_addr; - unsigned long src_addr = ntohl(src->s_addr); + unsigned long src_addr = src->s_addr; for (acl = stream->acl; acl; acl = acl->next) { if (src_addr >= acl->first.s_addr && src_addr <= acl->last.s_addr) { @@ -4268,7 +4268,6 @@ static int parse_ffconfig(const char *filename) audio_id = CODEC_ID_NONE; } else if (!strcasecmp(cmd, "ACL")) { IPAddressACL acl; - struct hostent *he; get_arg(arg, sizeof(arg), &p); if (strcasecmp(arg, "allow") == 0) { @@ -4282,29 +4281,22 @@ static int parse_ffconfig(const char *filename) } get_arg(arg, sizeof(arg), &p); - - he = gethostbyname(arg); - if (!he) { + + if (resolve_host(&acl.first, arg) != 0) { fprintf(stderr, "%s:%d: ACL refers to invalid host or ip address '%s'\n", filename, line_num, arg); errors++; } else { - /* Only take the first */ - acl.first.s_addr = ntohl(((struct in_addr *) he->h_addr_list[0])->s_addr); acl.last = acl.first; } get_arg(arg, sizeof(arg), &p); if (arg[0]) { - he = gethostbyname(arg); - if (!he) { + if (resolve_host(&acl.last, arg) != 0) { fprintf(stderr, "%s:%d: ACL refers to invalid host or ip address '%s'\n", filename, line_num, arg); errors++; - } else { - /* Only take the first */ - acl.last.s_addr = ntohl(((struct in_addr *) he->h_addr_list[0])->s_addr); } } -- 2.7.4