aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-09-25 11:58:33 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-09-25 11:58:33 +0000
commit35465a3f005b99e25cea3cfa42a9de348976be8a (patch)
treed22781e58b6313018f3153661fec1c886050a52c
parentd9391b15f166cfc016f5768c8d6a89858e0d7e41 (diff)
downloadbusybox-w32-35465a3f005b99e25cea3cfa42a9de348976be8a.tar.gz
busybox-w32-35465a3f005b99e25cea3cfa42a9de348976be8a.tar.bz2
busybox-w32-35465a3f005b99e25cea3cfa42a9de348976be8a.zip
httpd: small auth and IPv6 fixes (Kim B. Heino <Kim.Heino@bluegiga.com>)
-rw-r--r--networking/httpd.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/networking/httpd.c b/networking/httpd.c
index 33f083189..cedec800f 100644
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -628,7 +628,7 @@ static void parse_conf(const char *path, int flag)
628 ++p; /* so keep last character */ 628 ++p; /* so keep last character */
629 } 629 }
630 *p = '\0'; 630 *p = '\0';
631 sprintf(p0, "%s:%s", p0, c); 631 sprintf(p0 + strlen(p0), ":%s", c);
632 } 632 }
633#endif 633#endif
634 634
@@ -1688,6 +1688,13 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr)
1688 if (fromAddr->sa.sa_family == AF_INET) { 1688 if (fromAddr->sa.sa_family == AF_INET) {
1689 rmt_ip = ntohl(fromAddr->sin.sin_addr.s_addr); 1689 rmt_ip = ntohl(fromAddr->sin.sin_addr.s_addr);
1690 } 1690 }
1691#if ENABLE_FEATURE_IPV6
1692 if (fromAddr->sa.sa_family == AF_INET6
1693 && fromAddr->sin6.sin6_addr.s6_addr32[0] == 0
1694 && fromAddr->sin6.sin6_addr.s6_addr32[1] == 0
1695 && ntohl(fromAddr->sin6.sin6_addr.s6_addr32[2]) == 0xffff)
1696 rmt_ip = ntohl(fromAddr->sin6.sin6_addr.s6_addr32[3]);
1697#endif
1691 if (ENABLE_FEATURE_HTTPD_CGI || DEBUG || verbose) { 1698 if (ENABLE_FEATURE_HTTPD_CGI || DEBUG || verbose) {
1692 rmt_ip_str = xmalloc_sockaddr2dotted(&fromAddr->sa); 1699 rmt_ip_str = xmalloc_sockaddr2dotted(&fromAddr->sa);
1693 } 1700 }