mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-29 21:29:42 +02:00
9ec6708721
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@2977 3c298f89-4303-0410-b956-a3cf2f4a3e73
86 lines
2.8 KiB
Diff
86 lines
2.8 KiB
Diff
diff -ur busybox-1.1.0/networking/httpd.c busybox-1.1.0-owrt/networking/httpd.c
|
|
--- busybox-1.1.0/networking/httpd.c 2006-01-11 06:43:51.000000000 +0100
|
|
+++ busybox-1.1.0-owrt/networking/httpd.c 2006-01-14 17:56:53.000000000 +0100
|
|
@@ -150,6 +150,7 @@
|
|
|
|
/* You can use this server as standalone, require libbb.a for linking */
|
|
//#define HTTPD_STANDALONE
|
|
+static const char address[16] = "127.0.0.1";
|
|
|
|
/* Config options, disable this for do very small module */
|
|
//#define CONFIG_FEATURE_HTTPD_CGI
|
|
@@ -202,7 +203,7 @@
|
|
void bb_show_usage(void)
|
|
{
|
|
fprintf(stderr, "Usage: %s [-p <port>] [-c configFile] [-d/-e <string>] "
|
|
- "[-r realm] [-u user] [-h homedir]\n", bb_applet_name);
|
|
+ "[-l IP address] [-r realm] [-u user] [-h homedir]\n", bb_applet_name);
|
|
exit(1);
|
|
}
|
|
#endif
|
|
@@ -256,6 +257,7 @@
|
|
#endif
|
|
unsigned port; /* server initial port and for
|
|
set env REMOTE_PORT */
|
|
+ char addr[16]; /* server initial IP address */
|
|
union HTTPD_FOUND {
|
|
const char *found_mime_type;
|
|
const char *found_moved_temporarily;
|
|
@@ -858,6 +860,13 @@
|
|
sprintf(buf, "%u", config->port);
|
|
addEnv(port_name, "PORT", buf);
|
|
}
|
|
+static void addEnvAddr(const char *addr_name)
|
|
+{
|
|
+ char buf[16];
|
|
+
|
|
+ sprintf(buf, "%s", config->addr);
|
|
+ addEnv(addr_name, "ADDR", buf);
|
|
+}
|
|
#endif
|
|
#endif /* CONFIG_FEATURE_HTTPD_CGI */
|
|
|
|
@@ -942,7 +951,14 @@
|
|
/* inet_addr() returns a value that is already in network order */
|
|
memset(&lsocket, 0, sizeof(lsocket));
|
|
lsocket.sin_family = AF_INET;
|
|
- lsocket.sin_addr.s_addr = INADDR_ANY;
|
|
+ if (inet_aton(config->addr, & (lsocket.sin_addr)) == 0) {
|
|
+ if ((gethostbyname(config->addr)) == NULL) return -1;
|
|
+ lsocket.sin_addr.s_addr = ((struct in_addr *) ((gethostbyname(config->addr))->h_addr))->s_addr;
|
|
+ }
|
|
+ else
|
|
+ {
|
|
+ lsocket.sin_addr.s_addr = htons(INADDR_ANY);
|
|
+ }
|
|
lsocket.sin_port = htons(config->port) ;
|
|
fd = socket(AF_INET, SOCK_STREAM, 0);
|
|
if (fd >= 0) {
|
|
@@ -1971,7 +1987,7 @@
|
|
#define OPT_INC_3 ENABLE_FEATURE_HTTPD_AUTH_MD5
|
|
|
|
#ifndef CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY
|
|
- "p:"
|
|
+ "p:l"
|
|
#endif
|
|
#ifdef CONFIG_FEATURE_HTTPD_SETUID
|
|
"u:"
|
|
@@ -1985,6 +2001,7 @@
|
|
#define OPT_REALM (1<<(2+OPT_INC_1+OPT_INC_2)) /* r */
|
|
#define OPT_MD5 (1<<(2+OPT_INC_1+OPT_INC_2+OPT_INC_3)) /* m */
|
|
#define OPT_PORT (1<<(3+OPT_INC_1+OPT_INC_2+OPT_INC_3)) /* p */
|
|
+#define OPT_ADDR (1<<(4+OPT_INC_1+OPT_INC_2+OPT_INC_3)) /* l */
|
|
#define OPT_SETUID (1<<(4+OPT_INC_1+OPT_INC_2+OPT_INC_3)) /* u */
|
|
|
|
|
|
@@ -2038,6 +2055,7 @@
|
|
#endif
|
|
#ifndef CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY
|
|
, &s_port
|
|
+ , &(config->addr)
|
|
#endif
|
|
#ifdef CONFIG_FEATURE_HTTPD_SETUID
|
|
, &s_uid
|
|
Only in busybox-1.1.0-owrt/networking: httpd.c.orig
|
|
Only in busybox-1.1.0-owrt/networking: httpd.c.rej
|