From 5bba12cd8572f5348e36cd7d95036bcf620aef17 Mon Sep 17 00:00:00 2001 From: fosslinux Date: Sat, 19 Oct 2019 18:28:37 +1100 Subject: [PATCH] It compiles and runs!! --- Makefile | 2 +- bin2c.exe | Bin 0 -> 48213 bytes file.c | 14 ++++++++++++++ gophernicus.c | 14 ++++++++++++++ gophernicus.exe | Bin 0 -> 134055 bytes menu.c | 14 +++++++++++++- 6 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 bin2c.exe create mode 100644 gophernicus.exe diff --git a/Makefile b/Makefile index 9ac9869..7efefe1 100644 --- a/Makefile +++ b/Makefile @@ -54,7 +54,7 @@ IPCRM = /usr/bin/ipcrm # Platform support, compatible with both BSD and GNU make # all: - @case `uname` in \ + case `uname` in \ Darwin) $(MAKE) ROOT="$(OSXROOT)" DESTDIR="$(OSXDEST)" $(BINARY); ;; \ Haiku) $(MAKE) EXTRA_LIBS="-lnetwork" $(BINARY); ;; \ *) if [ -f "/usr/include/tcpd.h" ]; then $(MAKE) withwrap; else $(MAKE) $(BINARY); fi; ;; \ diff --git a/bin2c.exe b/bin2c.exe new file mode 100644 index 0000000000000000000000000000000000000000..115652336b0e33fa4f33763d61844a9e368d67b0 GIT binary patch literal 48213 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 rhGH<+l^Y7yoKzLz<`6K2Ofilter_dir, c + 1); /* Filter file through the script */ + /* Skip this second check on Windows */ +#ifdef _WIN32 + if (stat(buf, &file) == OK) +#else if (stat(buf, &file) == OK && (file.st_mode & S_IXOTH)) +#endif run_cgi(st, buf, st->req_realpath); } @@ -434,7 +443,12 @@ void gopher_file(state *st) snprintf(buf, sizeof(buf), "%s/%c", st->filter_dir, st->req_filetype); /* Filter file through the script */ + /* Skip this second check on Windows */ +#ifdef _WIN32 + if (stat(buf, &file) == OK) +#else if (stat(buf, &file) == OK && (file.st_mode & S_IXOTH)) +#endif run_cgi(st, buf, st->req_realpath); } diff --git a/gophernicus.c b/gophernicus.c index a1a5715..437f0b7 100644 --- a/gophernicus.c +++ b/gophernicus.c @@ -315,6 +315,7 @@ void selector_to_path(state *st) */ char *get_local_address(void) { +#ifndef _WIN32 #ifdef HAVE_IPv4 struct sockaddr_in addr; socklen_t addrsize = sizeof(addr); @@ -344,6 +345,7 @@ char *get_local_address(void) else return address; } } +#endif #endif /* Nothing works... I'm out of ideas */ @@ -356,6 +358,7 @@ char *get_local_address(void) */ char *get_peer_address(void) { +#ifndef _WIN32 #ifdef HAVE_IPv4 struct sockaddr_in addr; socklen_t addrsize = sizeof(addr); @@ -389,6 +392,7 @@ char *get_peer_address(void) else return address; } } +#endif #endif /* Nothing works... I'm out of ideas */ @@ -429,8 +433,10 @@ void init_state(state *st) if ((c = getenv("HOSTNAME"))) sstrlcpy(st->server_host, c); +#ifndef _WIN32 else if ((gethostname(buf, sizeof(buf))) != ERROR) sstrlcpy(st->server_host, buf); +#endif st->server_port = DEFAULT_PORT; st->server_tls_port = DEFAULT_TLS_PORT; @@ -528,7 +534,12 @@ int main(int argc, char *argv[]) setlocale(LC_TIME, DATE_LOCALE); #endif init_state(&st); +#ifdef _WIN32 + /* Windows dosen't have getppid() */ + srand(time(NULL) / getpid()); +#else srand(time(NULL) / (getpid() + getppid())); +#endif /* Handle command line arguments */ parse_args(&st, argc, argv); @@ -838,10 +849,13 @@ get_selector: st.req_filesize = file.st_size; /* Everyone must have read access but no write access */ + /* Skip this check on Windows */ +#ifndef _WIN32 if ((file.st_mode & S_IROTH) == 0) die(&st, ERR_ACCESS, "File or directory not world-readable"); if ((file.st_mode & S_IWOTH) != 0) die(&st, ERR_ACCESS, "File or directory world-writeable"); +#endif /* If stat said it was a dir then it's a menu */ if ((file.st_mode & S_IFMT) == S_IFDIR) st.req_filetype = TYPE_MENU; diff --git a/gophernicus.exe b/gophernicus.exe new file mode 100644 index 0000000000000000000000000000000000000000..2dabed5c535fe4e41d812c83b6de6ed7b27d1c71 GIT binary patch literal 134055 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 literal 0 HcmV?d00001 diff --git a/menu.c b/menu.c index 768f244..66ad0a0 100644 --- a/menu.c +++ b/menu.c @@ -171,8 +171,11 @@ void vhostlist(state *st) if (!strchr(dir[i].name, '.')) continue; /* We only want world-readable directories */ + /* Skip check on Windows */ +#ifndef _WIN32 if ((dir[i].mode & S_IROTH) == 0) continue; if ((dir[i].mode & S_IFMT) != S_IFDIR) continue; +#endif /* Generate display string for vhost */ snprintf(buf, sizeof(buf), VHOST_FORMAT, dir[i].name); @@ -288,6 +291,8 @@ int gophermap(state *st, char *mapfile, int depth) if (depth > 4) return OK; /* Try to figure out whether the map is executable */ + /* Executable gophermaps not yet supported on Windows */ +#ifndef _WIN32 if (stat(mapfile, &file) == OK) { if ((file.st_mode & S_IXOTH)) { #ifdef HAVE_POPEN @@ -307,6 +312,9 @@ int gophermap(state *st, char *mapfile, int depth) #endif exe = TRUE; } +#else + exe = FALSE; +#endif /* Debug output */ #ifdef HAVE_SYSLOG @@ -558,9 +566,13 @@ void gopher_menu(state *st) snprintf(pathname, sizeof(pathname), "%s/%s", st->req_realpath, dir[i].name); - /* Skip dotfiles and non world-readables */ + /* Skip dotfiles */ if (dir[i].name[0] == '.') continue; + /* Skip non world-readables */ + /* Skip check on Windows */ +#ifndef _WIN32 if ((dir[i].mode & S_IROTH) == 0) continue; +#endif /* Skip gophermaps and tags (but not dirs) */ if ((dir[i].mode & S_IFMT) != S_IFDIR) {