diff --git a/nweb b/nweb deleted file mode 100755 index f2dc167..0000000 Binary files a/nweb and /dev/null differ diff --git a/nweb.log b/nweb.log deleted file mode 100644 index 499ad33..0000000 --- a/nweb.log +++ /dev/null @@ -1,92 +0,0 @@ - INFO: nweb starting:8181:75600 - INFO: request:GET / HTTP/1.1**Host: localhost:8181**Connection: keep-alive**Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8**User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36**Accept-Encoding: gzip,deflate,sdch**Accept-Language: en-US,en;q=0.8,sq;q=0.6**Cookie: request_method=GET; _demo_app_session=Q21ScllISEE1cXB0MUNOSTZsVmYydDErelB1TXdaV2pHWXMrZHlaaHdzZktqRFQyd0NIenNNYUJkMG9uTkVKTk9IUHROMjdVQzhoSkxQbURrYkJERlRaZDZFNHZJaUYwcTJmbFVjOW4wVVV5VmNnL2dSeFhhUW16ZTBFd2Q1RzIxd3hXUDd2VjdBZm5PRmhqS3FXR2NsakdBOU1VUWtTY1FHRzJSWE80U2J5RUtSVjNEa0JLYThwUmpCd0kxeGNDSjQ1Z2tqTno4MkpZcHRwT2ltVEhZVUhrYlZiUW9oazZFQkE1TC85VmhZVVpZajEyRUJZdytuSk1YYXNXQW5zOEs4Um1tOUZ0RXR6OWdvay9JWmgzZXpnRHZhK2tVTG9INS9sR3ZabHhyUEY3ZU5rcGdlUTJpamNqejU5VXhGbSstLVQ3Y1hjQXpUbVdLaXAvYVpYcFhYVEE9PQ%3D%3D--867ec6a3db6083bb44f64b69d14d39abb37cdaa6; wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_37d007a56d816107ce5b52c10342db37=ankush%7C1394657749%7C7f2faf2a6daebb8c5dc4c0984f05802a; wp-settings-time-1=1394485000; cookies.js=1; _session_id=04089c91d8b191ff0f95af4955414445; __profilin=p%3Dt; _sample_app_session=TU1OWmxRYXJUemNSV3lYU24zK2hoTEFsOTBXOVhZQmplV3V2UklMNkJveFE1TWcyN1lCU21VVHJKVkpBVDZRQlN1Uyt2cVpFZC9DL1pTcTZzc1lRKzZVVGt2L3BNdEhtbG9sR0lsbkJvSWUycU8yV0QweHZPbmJGMVZFYmRzcG9MZ2luYVRTd3BJWkJDVGRmc0c4Vy94WHFkNE5RRWZFTDRPTWxVckZOOHhBOFJYUk5CWG5HY1YvbTFESFZ6YWhCLS12MkJOY1Y5L1dEQXpVREYzOTBWQUx3PT0%3D--052b32000e1c32b521bb6250db0230669cc007ec****:1 - INFO: SEND:index.html:1 - INFO: Header:HTTP/1.1 200 OK -Server: nweb/23.0 -Content-Length: 239 -Connection: close -Content-Type: text/html - -:1 - INFO: request:GET /nigel.jpg HTTP/1.1**Host: localhost:8181**Connection: keep-alive**Accept: image/webp,*/*;q=0.8**User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36**Referer: http://localhost:8181/**Accept-Encoding: gzip,deflate,sdch**Accept-Language: en-US,en;q=0.8,sq;q=0.6**Cookie: request_method=GET; _demo_app_session=Q21ScllISEE1cXB0MUNOSTZsVmYydDErelB1TXdaV2pHWXMrZHlaaHdzZktqRFQyd0NIenNNYUJkMG9uTkVKTk9IUHROMjdVQzhoSkxQbURrYkJERlRaZDZFNHZJaUYwcTJmbFVjOW4wVVV5VmNnL2dSeFhhUW16ZTBFd2Q1RzIxd3hXUDd2VjdBZm5PRmhqS3FXR2NsakdBOU1VUWtTY1FHRzJSWE80U2J5RUtSVjNEa0JLYThwUmpCd0kxeGNDSjQ1Z2tqTno4MkpZcHRwT2ltVEhZVUhrYlZiUW9oazZFQkE1TC85VmhZVVpZajEyRUJZdytuSk1YYXNXQW5zOEs4Um1tOUZ0RXR6OWdvay9JWmgzZXpnRHZhK2tVTG9INS9sR3ZabHhyUEY3ZU5rcGdlUTJpamNqejU5VXhGbSstLVQ3Y1hjQXpUbVdLaXAvYVpYcFhYVEE9PQ%3D%3D--867ec6a3db6083bb44f64b69d14d39abb37cdaa6; wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_37d007a56d816107ce5b52c10342db37=ankush%7C1394657749%7C7f2faf2a6daebb8c5dc4c0984f05802a; wp-settings-time-1=1394485000; cookies.js=1; _session_id=04089c91d8b191ff0f95af4955414445; __profilin=p%3Dt; _sample_app_session=TU1OWmxRYXJUemNSV3lYU24zK2hoTEFsOTBXOVhZQmplV3V2UklMNkJveFE1TWcyN1lCU21VVHJKVkpBVDZRQlN1Uyt2cVpFZC9DL1pTcTZzc1lRKzZVVGt2L3BNdEhtbG9sR0lsbkJvSWUycU8yV0QweHZPbmJGMVZFYmRzcG9MZ2luYVRTd3BJWkJDVGRmc0c4Vy94WHFkNE5RRWZFTDRPTWxVckZOOHhBOFJYUk5CWG5HY1YvbTFESFZ6YWhCLS12MkJOY1Y5L1dEQXpVREYzOTBWQUx3PT0%3D--052b32000e1c32b521bb6250db0230669cc007ec****:2 - INFO: SEND:nigel.jpg:2 - INFO: Header:HTTP/1.1 200 OK -Server: nweb/23.0 -Content-Length: 10184 -Connection: close -Content-Type: image/jpg - -:2 - INFO: request:GET /favicon.ico HTTP/1.1**Host: localhost:8181**Connection: keep-alive**Accept: */***User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36**Accept-Encoding: gzip,deflate,sdch**Accept-Language: en-US,en;q=0.8,sq;q=0.6**Cookie: request_method=GET; _demo_app_session=Q21ScllISEE1cXB0MUNOSTZsVmYydDErelB1TXdaV2pHWXMrZHlaaHdzZktqRFQyd0NIenNNYUJkMG9uTkVKTk9IUHROMjdVQzhoSkxQbURrYkJERlRaZDZFNHZJaUYwcTJmbFVjOW4wVVV5VmNnL2dSeFhhUW16ZTBFd2Q1RzIxd3hXUDd2VjdBZm5PRmhqS3FXR2NsakdBOU1VUWtTY1FHRzJSWE80U2J5RUtSVjNEa0JLYThwUmpCd0kxeGNDSjQ1Z2tqTno4MkpZcHRwT2ltVEhZVUhrYlZiUW9oazZFQkE1TC85VmhZVVpZajEyRUJZdytuSk1YYXNXQW5zOEs4Um1tOUZ0RXR6OWdvay9JWmgzZXpnRHZhK2tVTG9INS9sR3ZabHhyUEY3ZU5rcGdlUTJpamNqejU5VXhGbSstLVQ3Y1hjQXpUbVdLaXAvYVpYcFhYVEE9PQ%3D%3D--867ec6a3db6083bb44f64b69d14d39abb37cdaa6; wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_37d007a56d816107ce5b52c10342db37=ankush%7C1394657749%7C7f2faf2a6daebb8c5dc4c0984f05802a; wp-settings-time-1=1394485000; cookies.js=1; _session_id=04089c91d8b191ff0f95af4955414445; __profilin=p%3Dt; _sample_app_session=TU1OWmxRYXJUemNSV3lYU24zK2hoTEFsOTBXOVhZQmplV3V2UklMNkJveFE1TWcyN1lCU21VVHJKVkpBVDZRQlN1Uyt2cVpFZC9DL1pTcTZzc1lRKzZVVGt2L3BNdEhtbG9sR0lsbkJvSWUycU8yV0QweHZPbmJGMVZFYmRzcG9MZ2luYVRTd3BJWkJDVGRmc0c4Vy94WHFkNE5RRWZFTDRPTWxVckZOOHhBOFJYUk5CWG5HY1YvbTFESFZ6YWhCLS12MkJOY1Y5L1dEQXpVREYzOTBWQUx3PT0%3D--052b32000e1c32b521bb6250db0230669cc007ec****:3 - INFO: SEND:favicon.ico:3 - INFO: Header:HTTP/1.1 200 OK -Server: nweb/23.0 -Content-Length: 1334 -Connection: close -Content-Type: image/ico - -:3 - INFO: request:GET / HTTP/1.1**Host: localhost:8181**Connection: keep-alive**Cache-Control: no-cache**Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8**Pragma: no-cache**User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36**Accept-Encoding: gzip,deflate,sdch**Accept-Language: en-US,en;q=0.8,sq;q=0.6**Cookie: request_method=GET; _demo_app_session=Q21ScllISEE1cXB0MUNOSTZsVmYydDErelB1TXdaV2pHWXMrZHlaaHdzZktqRFQyd0NIenNNYUJkMG9uTkVKTk9IUHROMjdVQzhoSkxQbURrYkJERlRaZDZFNHZJaUYwcTJmbFVjOW4wVVV5VmNnL2dSeFhhUW16ZTBFd2Q1RzIxd3hXUDd2VjdBZm5PRmhqS3FXR2NsakdBOU1VUWtTY1FHRzJSWE80U2J5RUtSVjNEa0JLYThwUmpCd0kxeGNDSjQ1Z2tqTno4MkpZcHRwT2ltVEhZVUhrYlZiUW9oazZFQkE1TC85VmhZVVpZajEyRUJZdytuSk1YYXNXQW5zOEs4Um1tOUZ0RXR6OWdvay9JWmgzZXpnRHZhK2tVTG9INS9sR3ZabHhyUEY3ZU5rcGdlUTJpamNqejU5VXhGbSstLVQ3Y1hjQXpUbVdLaXAvYVpYcFhYVEE9PQ%3D%3D--867ec6a3db6083bb44f64b69d14d39abb37cdaa6; wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_37d007a56d816107ce5b52c10342db37=ankush%7C1394657749%7C7f2faf2a6daebb8c5dc4c0984f05802a; wp-settings-time-1=1394485000; cookies.js=1; _session_id=04089c91d8b191ff0f95af4955414445; __profilin=p%3Dt; _sample_app_session=TU1OWmxRYXJUemNSV3lYU24zK2hoTEFsOTBXOVhZQmplV3V2UklMNkJveFE1TWcyN1lCU21VVHJKVkpBVDZRQlN1Uyt2cVpFZC9DL1pTcTZzc1lRKzZVVGt2L3BNdEhtbG9sR0lsbkJvSWUycU8yV0QweHZPbmJGMVZFYmRzcG9MZ2luYVRTd3BJWkJDVGRmc0c4Vy94WHFkNE5RRWZFTDRPTWxVckZOOHhBOFJYUk5CWG5HY1YvbTFESFZ6YWhCLS12MkJOY1Y5L1dEQXpVREYzOTBWQUx3PT0%3D--052b32000e1c32b521bb6250db0230669cc007ec****:4 - INFO: SEND:index.html:4 - INFO: Header:HTTP/1.1 200 OK -Server: nweb/23.0 -Content-Length: 239 -Connection: close -Content-Type: text/html - -:4 - INFO: request:GET /nigel.jpg HTTP/1.1**Host: localhost:8181**Connection: keep-alive**Cache-Control: no-cache**Accept: image/webp,*/*;q=0.8**Pragma: no-cache**User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36**Referer: http://localhost:8181/**Accept-Encoding: gzip,deflate,sdch**Accept-Language: en-US,en;q=0.8,sq;q=0.6**Cookie: request_method=GET; _demo_app_session=Q21ScllISEE1cXB0MUNOSTZsVmYydDErelB1TXdaV2pHWXMrZHlaaHdzZktqRFQyd0NIenNNYUJkMG9uTkVKTk9IUHROMjdVQzhoSkxQbURrYkJERlRaZDZFNHZJaUYwcTJmbFVjOW4wVVV5VmNnL2dSeFhhUW16ZTBFd2Q1RzIxd3hXUDd2VjdBZm5PRmhqS3FXR2NsakdBOU1VUWtTY1FHRzJSWE80U2J5RUtSVjNEa0JLYThwUmpCd0kxeGNDSjQ1Z2tqTno4MkpZcHRwT2ltVEhZVUhrYlZiUW9oazZFQkE1TC85VmhZVVpZajEyRUJZdytuSk1YYXNXQW5zOEs4Um1tOUZ0RXR6OWdvay9JWmgzZXpnRHZhK2tVTG9INS9sR3ZabHhyUEY3ZU5rcGdlUTJpamNqejU5VXhGbSstLVQ3Y1hjQXpUbVdLaXAvYVpYcFhYVEE9PQ%3D%3D--867ec6a3db6083bb44f64b69d14d39abb37cdaa6; wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_37d007a56d816107ce5b52c10342db37=ankush%7C1394657749%7C7f2faf2a6daebb8c5dc4c0984f05802a; wp-settings-time-1=1394485000; cookies.js=1; _session_id=04089c91d8b191ff0f95af4955414445; __profilin=p%3Dt; _sample_app_session=TU1OWmxRYXJUemNSV3lYU24zK2hoTEFsOTBXOVhZQmplV3V2UklMNkJveFE1TWcyN1lCU21VVHJKVkpBVDZRQlN1Uyt2cVpFZC9DL1pTcTZzc1lRKzZVVGt2L3BNdEhtbG9sR0lsbkJvSWUycU8yV0QweHZPbmJGMVZFYmRzcG9MZ2luYVRTd3BJWkJDVGRmc0c4Vy94WHFkNE5RRWZFTDRPTWxVckZOOHhBOFJYUk5CWG5HY1YvbTFESFZ6YWhCLS12MkJOY1Y5L1dEQXpVREYzOTBWQUx3PT0%3D--052b32000e1c32b521bb6250db0230669cc007ec****:5 - INFO: SEND:nigel.jpg:5 - INFO: Header:HTTP/1.1 200 OK -Server: nweb/23.0 -Content-Length: 10184 -Connection: close -Content-Type: image/jpg - -:5 - INFO: request:GET /favicon.ico HTTP/1.1**Host: localhost:8181**Connection: keep-alive**Accept: */***User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36**Accept-Encoding: gzip,deflate,sdch**Accept-Language: en-US,en;q=0.8,sq;q=0.6**Cookie: request_method=GET; _demo_app_session=Q21ScllISEE1cXB0MUNOSTZsVmYydDErelB1TXdaV2pHWXMrZHlaaHdzZktqRFQyd0NIenNNYUJkMG9uTkVKTk9IUHROMjdVQzhoSkxQbURrYkJERlRaZDZFNHZJaUYwcTJmbFVjOW4wVVV5VmNnL2dSeFhhUW16ZTBFd2Q1RzIxd3hXUDd2VjdBZm5PRmhqS3FXR2NsakdBOU1VUWtTY1FHRzJSWE80U2J5RUtSVjNEa0JLYThwUmpCd0kxeGNDSjQ1Z2tqTno4MkpZcHRwT2ltVEhZVUhrYlZiUW9oazZFQkE1TC85VmhZVVpZajEyRUJZdytuSk1YYXNXQW5zOEs4Um1tOUZ0RXR6OWdvay9JWmgzZXpnRHZhK2tVTG9INS9sR3ZabHhyUEY3ZU5rcGdlUTJpamNqejU5VXhGbSstLVQ3Y1hjQXpUbVdLaXAvYVpYcFhYVEE9PQ%3D%3D--867ec6a3db6083bb44f64b69d14d39abb37cdaa6; wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_37d007a56d816107ce5b52c10342db37=ankush%7C1394657749%7C7f2faf2a6daebb8c5dc4c0984f05802a; wp-settings-time-1=1394485000; cookies.js=1; _session_id=04089c91d8b191ff0f95af4955414445; __profilin=p%3Dt; _sample_app_session=TU1OWmxRYXJUemNSV3lYU24zK2hoTEFsOTBXOVhZQmplV3V2UklMNkJveFE1TWcyN1lCU21VVHJKVkpBVDZRQlN1Uyt2cVpFZC9DL1pTcTZzc1lRKzZVVGt2L3BNdEhtbG9sR0lsbkJvSWUycU8yV0QweHZPbmJGMVZFYmRzcG9MZ2luYVRTd3BJWkJDVGRmc0c4Vy94WHFkNE5RRWZFTDRPTWxVckZOOHhBOFJYUk5CWG5HY1YvbTFESFZ6YWhCLS12MkJOY1Y5L1dEQXpVREYzOTBWQUx3PT0%3D--052b32000e1c32b521bb6250db0230669cc007ec****:6 - INFO: SEND:favicon.ico:6 - INFO: Header:HTTP/1.1 200 OK -Server: nweb/23.0 -Content-Length: 1334 -Connection: close -Content-Type: image/ico - -:6 -FORBIDDEN: failed to read browser request: - INFO: request:GET / HTTP/1.1**User-Agent: curl/7.30.0**Host: localhost:8181**Accept: */*****:8 - INFO: SEND:index.html:8 - INFO: Header:HTTP/1.1 200 OK -Server: nweb/23.0 -Content-Length: 239 -Connection: close -Content-Type: text/html - -:8 - INFO: request:GET / HTTP/1.1**User-Agent: curl/7.30.0**Host: localhost:8181**Accept: */*****:9 - INFO: SEND:index.html:9 - INFO: Header:HTTP/1.1 200 OK -Server: nweb/23.0 -Content-Length: 239 -Connection: close -Content-Type: text/html - -:9 - INFO: request:GET / HTTP/1.1**User-Agent: curl/7.30.0**Host: localhost:8181**Accept: */*****:10 - INFO: SEND:index.html:10 - INFO: Header:HTTP/1.1 200 OK -Server: nweb/23.0 -Content-Length: 239 -Connection: close -Content-Type: text/html - -:10 - INFO: request:GET / HTTP/1.1**User-Agent: curl/7.30.0**Host: localhost:8181**Accept: */*****:11 - INFO: SEND:index.html:11 - INFO: Header:HTTP/1.1 200 OK -Server: nweb/23.0 -Content-Length: 239 -Connection: close -Content-Type: text/html - -:11 diff --git a/nweb23.c b/nweb23.c index da5a6d3..06a4fc9 100644 --- a/nweb23.c +++ b/nweb23.c @@ -34,6 +34,10 @@ struct { {"tar", "image/tar" }, {"htm", "text/html" }, {"html","text/html" }, + {"json","application/json" }, + {"pdf","application/pdf"}, + {"css","text/css"}, + {"js","application/javascript"}, {0,0} }; void logger(int type, char *s1, char *s2, int socket_fd) @@ -91,6 +95,8 @@ void web(int fd, int hit) break; } } + if(buffer[5] == '/') /* check for illegal absolute directory path use */ + logger(FORBIDDEN,"Absolute directory (/) path names not supported",buffer,fd); for(j=0;j 3 || !strcmp(argv[1], "-?") ) { + if( argc < 3 || argc > 4 || !strcmp(argv[1], "-?") ) { (void)printf("hint: nweb Port-Number Top-Directory\t\tversion %d\n\n" "\tnweb is a small and very safe mini web server\n" "\tnweb only servers out file/web pages with extensions named below\n" "\t and only from the named directory or its sub-directories.\n" "\tThere is no fancy features = safe and secure.\n\n" - "\tExample: nweb 8181 /home/nwebdir &\n\n" + "\tExample: nweb 8181 /home/nwebdir --no-daemon &\n\n" "\tOnly Supports:", VERSION); for(i=0;extensions[i].ext != 0;i++) (void)printf(" %s",extensions[i].ext); @@ -164,13 +170,19 @@ int main(int argc, char **argv) exit(4); } /* Become deamon + unstopable and no zombies children (= no wait()) */ - if(fork() != 0) - return 0; /* parent returns OK to shell */ - (void)signal(SIGCLD, SIG_IGN); /* ignore child death */ - (void)signal(SIGHUP, SIG_IGN); /* ignore terminal hangups */ - for(i=0;i<32;i++) - (void)close(i); /* close open files */ - (void)setpgrp(); /* break away from process group */ + if(argc == 3){ + if(fork() != 0) + return 0; /* parent returns OK to shell */ + (void)signal(SIGCLD, SIG_IGN); /* ignore child death */ + (void)signal(SIGHUP, SIG_IGN); /* ignore terminal hangups */ + for(i=0;i<32;i++) + (void)close(i); /* close open files */ + (void)setpgrp(); /* break away from process group */ + }else if(argc == 4 && strcmp(argv[3] ,"--no-daemon")){ + (void)printf("ERROR: wrong arg %s, only correct: --no-daemon \n",argv[3]); + exit(4); + } + logger(LOG,"nweb starting",argv[1],getpid()); /* setup the network socket */ if((listenfd = socket(AF_INET, SOCK_STREAM,0)) <0) diff --git a/nweb23_Fedora_17_64 b/nweb23_Fedora_17_64 deleted file mode 100644 index 3d14aaa..0000000 Binary files a/nweb23_Fedora_17_64 and /dev/null differ diff --git a/nweb23_RHEL63_64 b/nweb23_RHEL63_64 deleted file mode 100644 index 8b085f5..0000000 Binary files a/nweb23_RHEL63_64 and /dev/null differ diff --git a/nweb23_SLES_11_64 b/nweb23_SLES_11_64 deleted file mode 100644 index bcbecbf..0000000 Binary files a/nweb23_SLES_11_64 and /dev/null differ diff --git a/nweb23_aix6_1_7 b/nweb23_aix6_1_7 deleted file mode 100644 index 3ab5c81..0000000 Binary files a/nweb23_aix6_1_7 and /dev/null differ diff --git a/nweb23_openSUSU_12_1_64 b/nweb23_openSUSU_12_1_64 deleted file mode 100644 index afbe3c2..0000000 Binary files a/nweb23_openSUSU_12_1_64 and /dev/null differ diff --git a/nweb23_raspberry_pi b/nweb23_raspberry_pi deleted file mode 100644 index 492e2b7..0000000 Binary files a/nweb23_raspberry_pi and /dev/null differ diff --git a/nweb23_ubuntu_12_4_32 b/nweb23_ubuntu_12_4_32 deleted file mode 100644 index 36dc965..0000000 Binary files a/nweb23_ubuntu_12_4_32 and /dev/null differ diff --git a/nweb23_ubuntu_12_4_64 b/nweb23_ubuntu_12_4_64 deleted file mode 100644 index 2a20d21..0000000 Binary files a/nweb23_ubuntu_12_4_64 and /dev/null differ