aboutsummaryrefslogtreecommitdiff
path: root/release/picobsd/tinyware/simple_httpd
diff options
context:
space:
mode:
authorPedro F. Giffuni <pfg@FreeBSD.org>2014-09-18 16:53:44 +0000
committerPedro F. Giffuni <pfg@FreeBSD.org>2014-09-18 16:53:44 +0000
commitfbbabf630ee6b0eb768fcf05c9a7b52669c4a94f (patch)
tree17a44c6cd5a80df8af6ccc0f0dd267a69a1b08ee /release/picobsd/tinyware/simple_httpd
parent1e99b3f4e3545cf428599452d0503a40aeffe34c (diff)
downloadsrc-fbbabf630ee6b0eb768fcf05c9a7b52669c4a94f.tar.gz
src-fbbabf630ee6b0eb768fcf05c9a7b52669c4a94f.zip
simple_httpd: cosmetic cleanups.
Many tab vs space cleanups. Use setpgid() instead of setpgrp() which is more portable, MFC after: 5 weeks
Notes
Notes: svn path=/head/; revision=271787
Diffstat (limited to 'release/picobsd/tinyware/simple_httpd')
-rw-r--r--release/picobsd/tinyware/simple_httpd/simple_httpd.c153
1 files changed, 77 insertions, 76 deletions
diff --git a/release/picobsd/tinyware/simple_httpd/simple_httpd.c b/release/picobsd/tinyware/simple_httpd/simple_httpd.c
index 0d53a09910e8..58d4febe0fe9 100644
--- a/release/picobsd/tinyware/simple_httpd/simple_httpd.c
+++ b/release/picobsd/tinyware/simple_httpd/simple_httpd.c
@@ -160,8 +160,8 @@ http_date(void)
void
http_output(const char *html)
{
- write(con_sock, html, strlen(html));
- write(con_sock, "\r\n", 2);
+ write(con_sock, html, strlen(html));
+ write(con_sock, "\r\n", 2);
}
@@ -172,30 +172,30 @@ http_output(const char *html)
void
log_line(char *req)
{
- char log_buff[256];
- char msg[1024];
- char env_host[80], env_addr[80];
- long addr;
- FILE *log;
+ char log_buff[256];
+ char msg[1024];
+ char env_host[80], env_addr[80];
+ long addr;
+ FILE *log;
strcpy(log_buff,inet_ntoa(source.sin_addr));
sprintf(env_addr, "REMOTE_ADDR=%s",log_buff);
- addr=inet_addr(log_buff);
-
- strcpy(msg,adate());
- strcat(msg," ");
- hst=gethostbyaddr((char*) &addr, 4, AF_INET);
+ addr=inet_addr(log_buff);
+
+ strcpy(msg,adate());
+ strcat(msg," ");
+ hst=gethostbyaddr((char*) &addr, 4, AF_INET);
/* If DNS hostname exists */
- if (hst) {
+ if (hst) {
strcat(msg,hst->h_name);
sprintf(env_host, "REMOTE_HOST=%s",hst->h_name);
}
- strcat(msg," (");
- strcat(msg,log_buff);
- strcat(msg,") ");
- strcat(msg,req);
+ strcat(msg," (");
+ strcat(msg,log_buff);
+ strcat(msg,") ");
+ strcat(msg,req);
if (daemonize) {
log=fopen(logfile,"a");
@@ -226,8 +226,8 @@ http_request(void)
lg = read(con_sock, req, 1024);
- if ((p=strstr(req,"\n"))) *p=0;
- if ((p=strstr(req,"\r"))) *p=0;
+ if ((p=strstr(req,"\n"))) *p=0;
+ if ((p=strstr(req,"\r"))) *p=0;
log_line(req);
@@ -253,40 +253,40 @@ http_request(void)
filename = strtok(NULL, " ");
c = strtok(NULL, " ");
- if (fetch_mode != NULL) filename=fetch_mode;
- if (filename == NULL ||
- strlen(filename)==1) filename="/index.html";
+ if (fetch_mode != NULL) filename=fetch_mode;
+ if (filename == NULL ||
+ strlen(filename)==1) filename="/index.html";
- while (filename[0]== '/') filename++;
+ while (filename[0]== '/') filename++;
- /* CGI handling. Untested */
- if (!strncmp(filename,"cgi-bin/",8))
- {
- par=0;
- if ((par=strstr(filename,"?")))
- {
- *par=0;
- par++;
- }
- if (access(filename,X_OK)) goto conti;
- stat (filename,&file_status);
- if (setuid(file_status.st_uid)) return;
- if (seteuid(file_status.st_uid)) return;
- if (!fork())
- {
- close(1);
- dup(con_sock);
- /*printf("HTTP/1.0 200 OK\nContent-type: text/html\n\n\n");*/
+ /* CGI handling. Untested */
+ if (!strncmp(filename,"cgi-bin/",8))
+ {
+ par=0;
+ if ((par=strstr(filename,"?")))
+ {
+ *par=0;
+ par++;
+ }
+ if (access(filename,X_OK)) goto conti;
+ stat (filename,&file_status);
+ if (setuid(file_status.st_uid)) return;
+ if (seteuid(file_status.st_uid)) return;
+ if (!fork())
+ {
+ close(1);
+ dup(con_sock);
+ /*printf("HTTP/1.0 200 OK\nContent-type: text/html\n\n\n");*/
printf("HTTP/1.0 200 OK\r\n");
- /* Plug in environment variable, others in log_line */
+ /* Plug in environment variable, others in log_line */
setenv("SERVER_SOFTWARE", "FreeBSD/PicoBSD", 1);
execlp (filename,filename,par,(char *)0);
- }
- wait(&i);
- return;
- }
- conti:
+ }
+ wait(&i);
+ return;
+ }
+ conti:
if (filename == NULL) {
http_output(http_405[0]);
http_output(http_405[1]);
@@ -307,8 +307,8 @@ http_request(void)
/* Open filename */
fd = open(filename, O_RDONLY);
if (fd < 0) {
- http_output(http_404[0]);
- http_output(http_404[1]);
+ http_output(http_404[0]);
+ http_output(http_404[1]);
goto end_request;
}
@@ -325,7 +325,7 @@ http_request(void)
http_output(http_404[1]);
goto end_request2;
}
-
+
/* Past this point we are serving either a GET or HEAD */
/* Print all the header info */
http_output(http_200);
@@ -371,14 +371,14 @@ end_request:
int
main(int argc, char *argv[])
{
- int ch, ld;
- int httpd_group = 65534;
- pid_t server_pid;
-
+ int ch, ld;
+ pid_t httpd_group = 65534;
+ pid_t server_pid;
+
/* Default for html directory */
strcpy (homedir,getenv("HOME"));
- if (!geteuid()) strcpy (homedir,"/httphome");
- else strcat (homedir,"/httphome");
+ if (!geteuid()) strcpy (homedir,"/httphome");
+ else strcat (homedir,"/httphome");
/* Defaults for log file */
if (geteuid()) {
@@ -420,10 +420,10 @@ main(int argc, char *argv[])
printf("usage: simple_httpd [[-d directory][-g grpid][-l logfile][-p port][-vD]]\n");
exit(1);
/* NOTREACHED */
- }
+ }
/* Not running as root and no port supplied, assume 1080 */
- if ((http_port == 80) && geteuid()) {
+ if ((http_port == 80) && geteuid()) {
http_port = 1080;
}
@@ -437,15 +437,15 @@ main(int argc, char *argv[])
}
/* Create log file if it doesn't exit */
- if ((access(logfile,W_OK)) && daemonize) {
- ld = open (logfile,O_WRONLY);
+ if ((access(logfile,W_OK)) && daemonize) {
+ ld = open (logfile,O_WRONLY);
chmod (logfile,00600);
close(ld);
}
- init_servconnection();
+ init_servconnection();
- if (verbose) {
+ if (verbose) {
printf("Server started with options \n");
printf("port: %d\n",http_port);
if (fetch_mode == NULL) printf("html home: %s\n",homedir);
@@ -453,7 +453,7 @@ main(int argc, char *argv[])
}
/* httpd is spawned */
- if (daemonize) {
+ if (daemonize) {
if ((server_pid = fork()) != 0) {
wait3(0,WNOHANG,0);
if (verbose) printf("pid: %d\n",server_pid);
@@ -462,16 +462,17 @@ main(int argc, char *argv[])
wait3(0,WNOHANG,0);
}
- if (fetch_mode == NULL) setpgrp(0,httpd_group);
+ if (fetch_mode == NULL)
+ setpgrp((pid_t)0, httpd_group);
/* How many connections do you want?
* Keep this lower than the available number of processes
*/
- if (listen(http_sock,15) < 0) exit(1);
+ if (listen(http_sock,15) < 0) exit(1);
- label:
+ label:
wait_connection();
-
+
if (fork()) {
wait3(0,WNOHANG,0);
close(con_sock);
@@ -488,13 +489,13 @@ main(int argc, char *argv[])
char *
adate(void)
{
- static char out[50];
- time_t now;
- struct tm *t;
- time(&now);
- t = localtime(&now);
- sprintf(out, "%02d:%02d:%02d %02d/%02d/%02d",
- t->tm_hour, t->tm_min, t->tm_sec,
- t->tm_mday, t->tm_mon+1, t->tm_year );
- return out;
+ static char out[50];
+ time_t now;
+ struct tm *t;
+ time(&now);
+ t = localtime(&now);
+ sprintf(out, "%02d:%02d:%02d %02d/%02d/%02d",
+ t->tm_hour, t->tm_min, t->tm_sec,
+ t->tm_mday, t->tm_mon+1, t->tm_year );
+ return out;
}