aboutsummaryrefslogtreecommitdiff
path: root/networking/httpd.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2006-11-10 23:28:57 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2006-11-10 23:28:57 +0000
commit6c5e5a0e85af5016600d70a06db8563e17ad3814 (patch)
tree6993fbce9c9a260aa2611b1bacfda9ad83671b6b /networking/httpd.c
parent067e3f031a2107c69d287d89b9543fbfe5c0a571 (diff)
downloadbusybox-6c5e5a0e85af5016600d70a06db8563e17ad3814.tar.gz
httpd: cosmetic fixes (the bug which was being hunted down
turned out to be nonexistent :)
Diffstat (limited to 'networking/httpd.c')
-rw-r--r--networking/httpd.c96
1 files changed, 45 insertions, 51 deletions
diff --git a/networking/httpd.c b/networking/httpd.c
index 3b12df673..a64fcb138 100644
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -951,7 +951,7 @@ static int sendHeaders(HttpResponseNum responseNum)
****************************************************************************/
static int getLine(void)
{
- int count = 0;
+ int count = 0;
char *buf = config->buf;
while (read(a_c_r, buf + count, 1) == 1) {
@@ -960,7 +960,7 @@ static int getLine(void)
buf[count] = 0;
return count;
}
- if (count < (MAX_MEMORY_BUFF-1)) /* check owerflow */
+ if (count < (MAX_MEMORY_BUFF-1)) /* check overflow */
count++;
}
if (count) return count;
@@ -991,8 +991,8 @@ static int getLine(void)
*
****************************************************************************/
static int sendCgi(const char *url,
- const char *request, int bodyLen, const char *cookie,
- const char *content_type)
+ const char *request, int bodyLen, const char *cookie,
+ const char *content_type)
{
int fromCgi[2]; /* pipe for reading data from CGI */
int toCgi[2]; /* pipe for sending data to CGI */
@@ -1265,7 +1265,7 @@ static int sendCgi(const char *url,
*
> $Function: sendFile()
*
- * $Description: Send a file response to an HTTP request
+ * $Description: Send a file response to a HTTP request
*
* $Parameter:
* (const char *) url . . The URL requested.
@@ -1455,8 +1455,8 @@ set_remoteuser_var:
static void handle_sigalrm(int sig)
{
- sendHeaders(HTTP_REQUEST_TIMEOUT);
- config->alarm_signaled = sig;
+ sendHeaders(HTTP_REQUEST_TIMEOUT);
+ config->alarm_signaled = sig;
}
/****************************************************************************
@@ -1487,7 +1487,7 @@ static void handleIncoming(void)
struct sigaction sa;
#if ENABLE_FEATURE_HTTPD_BASIC_AUTH
- int credentials = -1; /* if not requred this is Ok */
+ int credentials = -1; /* if not required this is Ok */
#endif
sa.sa_handler = handle_sigalrm;
@@ -1530,7 +1530,7 @@ BAD_REQUEST:
/* Garbled request/URL */
goto BAD_REQUEST;
}
- url = alloca(strlen(buf) + 12); /* + sizeof("/index.html\0") */
+ url = alloca(strlen(buf) + sizeof("/index.html"));
if (url == NULL) {
sendHeaders(HTTP_INTERNAL_SERVER_ERROR);
break;
@@ -1707,21 +1707,18 @@ FORBIDDEN: /* protect listing /cgi-bin */
/* unset if non inetd looped */
config->ContentLength = -1;
#endif
-
#if ENABLE_FEATURE_HTTPD_CGI
}
}
#endif
-
} while (0);
-
#if ENABLE_FEATURE_HTTPD_WITHOUT_INETD
/* from inetd don't looping: freeing, closing automatic from exit always */
# if DEBUG
fprintf(stderr, "closing socket\n");
# endif
-# ifdef CONFIG_FEATURE_HTTPD_CGI
+# if ENABLE_FEATURE_HTTPD_CGI
free(cookie);
free(content_type);
free(config->referer);
@@ -1773,57 +1770,54 @@ static int miniHttpd(int server)
/* copy the ports we are watching to the readfd set */
while (1) {
- readfd = portfd;
+ int on, s;
+ socklen_t fromAddrLen;
+ struct sockaddr_in fromAddr;
/* Now wait INDEFINITELY on the set of sockets! */
- if (select(server + 1, &readfd, 0, 0, 0) > 0) {
- if (FD_ISSET(server, &readfd)) {
- int on;
- struct sockaddr_in fromAddr;
-
- socklen_t fromAddrLen = sizeof(fromAddr);
- int s = accept(server,
- (struct sockaddr *)&fromAddr, &fromAddrLen);
+ readfd = portfd;
+ if (select(server + 1, &readfd, 0, 0, 0) <= 0)
+ continue;
+ if (!FD_ISSET(server, &readfd))
+ continue;
+ fromAddrLen = sizeof(fromAddr);
+ s = accept(server, (struct sockaddr *)&fromAddr, &fromAddrLen);
+ if (s < 0)
+ continue;
- if (s < 0) {
- continue;
- }
- config->accepted_socket = s;
- config->rmt_ip = ntohl(fromAddr.sin_addr.s_addr);
+ config->accepted_socket = s;
+ config->rmt_ip = ntohl(fromAddr.sin_addr.s_addr);
#if ENABLE_FEATURE_HTTPD_CGI || DEBUG
- sprintf(config->rmt_ip_str, "%u.%u.%u.%u",
- (unsigned char)(config->rmt_ip >> 24),
- (unsigned char)(config->rmt_ip >> 16),
- (unsigned char)(config->rmt_ip >> 8),
- config->rmt_ip & 0xff);
- config->port = ntohs(fromAddr.sin_port);
+ sprintf(config->rmt_ip_str, "%u.%u.%u.%u",
+ (unsigned char)(config->rmt_ip >> 24),
+ (unsigned char)(config->rmt_ip >> 16),
+ (unsigned char)(config->rmt_ip >> 8),
+ config->rmt_ip & 0xff);
+ config->port = ntohs(fromAddr.sin_port);
#if DEBUG
- bb_error_msg("connection from IP=%s, port %u",
- config->rmt_ip_str, config->port);
+ bb_error_msg("connection from IP=%s, port %u",
+ config->rmt_ip_str, config->port);
#endif
#endif /* CONFIG_FEATURE_HTTPD_CGI */
- /* set the KEEPALIVE option to cull dead connections */
- on = 1;
- setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, (void *)&on, sizeof(on));
-
+ /* set the KEEPALIVE option to cull dead connections */
+ on = 1;
+ setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, (void *)&on, sizeof(on));
#if !DEBUG
- if (fork() == 0)
+ if (fork() == 0)
#endif
- {
- /* This is the spawned thread */
+ {
+ /* This is the spawned thread */
#if ENABLE_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
- /* protect reload config, may be confuse checking */
- signal(SIGHUP, SIG_IGN);
+ /* protect reload config, may be confuse checking */
+ signal(SIGHUP, SIG_IGN);
#endif
- handleIncoming();
+ handleIncoming();
#if !DEBUG
- exit(0);
+ exit(0);
#endif
- }
- close(s);
- }
}
+ close(s);
} // while (1)
return 0;
}
@@ -1967,7 +1961,7 @@ int httpd_main(int argc, char *argv[])
xchdir(home_httpd);
#if ENABLE_FEATURE_HTTPD_WITHOUT_INETD
config->server_socket = openServer();
-# ifdef CONFIG_FEATURE_HTTPD_SETUID
+# if ENABLE_FEATURE_HTTPD_SETUID
/* drop privileges */
if (opt & OPT_SETUID) {
if (ugid.gid != (gid_t)-1) {
@@ -1990,7 +1984,7 @@ int httpd_main(int argc, char *argv[])
clearenv();
if (p)
setenv("PATH", p, 1);
-# ifdef CONFIG_FEATURE_HTTPD_WITHOUT_INETD
+# if ENABLE_FEATURE_HTTPD_WITHOUT_INETD
addEnvPort("SERVER");
# endif
}