iUnifying style. - geomyidae - A small C-based gopherd. Err bitreich.org 70 hgit clone git://bitreich.org/geomyidae/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae/ URL:git://bitreich.org/geomyidae/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae/ bitreich.org 70 1Log /scm/geomyidae/log.gph bitreich.org 70 1Files /scm/geomyidae/files.gph bitreich.org 70 1Refs /scm/geomyidae/refs.gph bitreich.org 70 1Tags /scm/geomyidae/tag bitreich.org 70 1README /scm/geomyidae/file/README.gph bitreich.org 70 1LICENSE /scm/geomyidae/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit b3a670dc6f8379b16c6f86e76b1a6f84fc75bf54 /scm/geomyidae/commit/b3a670dc6f8379b16c6f86e76b1a6f84fc75bf54.gph bitreich.org 70 1parent b5deb9c4f2c6c495d553fa22bd16e743848e2de6 /scm/geomyidae/commit/b5deb9c4f2c6c495d553fa22bd16e743848e2de6.gph bitreich.org 70 hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70 iDate: Sun, 26 Nov 2017 17:51:03 +0100 Err bitreich.org 70 i Err bitreich.org 70 iUnifying style. Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M handlr.c | 37 ++++++++++++++++--------------- Err bitreich.org 70 i M ind.c | 42 ++++++++++++++++---------------- Err bitreich.org 70 i M main.c | 149 ++++++++++++++++--------------- Err bitreich.org 70 i Err bitreich.org 70 i3 files changed, 116 insertions(+), 112 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/handlr.c b/handlr.c /scm/geomyidae/file/handlr.c.gph bitreich.org 70 i@@ -34,12 +34,12 @@ handledir(int sock, char *path, char *port, char *base, char *args, Err bitreich.org 70 i Err bitreich.org 70 i pa = xstrdup(path); Err bitreich.org 70 i e = pa + strlen(pa) - 1; Err bitreich.org 70 i- if(e[0] == '/') Err bitreich.org 70 i+ if (e[0] == '/') Err bitreich.org 70 i *e = '\0'; Err bitreich.org 70 i Err bitreich.org 70 i par = xstrdup(pa); Err bitreich.org 70 i b = strrchr(par + strlen(base), '/'); Err bitreich.org 70 i- if(b != nil) { Err bitreich.org 70 i+ if (b != nil) { Err bitreich.org 70 i *b = '\0'; Err bitreich.org 70 i dprintf(sock, "1..\t%s\t%s\t%s\r\n", Err bitreich.org 70 i par + strlen(base), ohost, port); Err bitreich.org 70 i@@ -47,13 +47,13 @@ handledir(int sock, char *path, char *port, char *base, char *args, Err bitreich.org 70 i free(par); Err bitreich.org 70 i Err bitreich.org 70 i ndir = scandir(pa, &dirent, 0, alphasort); Err bitreich.org 70 i- if(ndir < 0) { Err bitreich.org 70 i+ if (ndir < 0) { Err bitreich.org 70 i perror("scandir"); Err bitreich.org 70 i free(pa); Err bitreich.org 70 i return; Err bitreich.org 70 i } else { Err bitreich.org 70 i- for(i = 0; i < ndir && ret >= 0; i++) { Err bitreich.org 70 i- if(dirent[i]->d_name[0] == '.') { Err bitreich.org 70 i+ for (i = 0; i < ndir && ret >= 0; i++) { Err bitreich.org 70 i+ if (dirent[i]->d_name[0] == '.') { Err bitreich.org 70 i free(dirent[i]); Err bitreich.org 70 i continue; Err bitreich.org 70 i } Err bitreich.org 70 i@@ -61,7 +61,7 @@ handledir(int sock, char *path, char *port, char *base, char *args, Err bitreich.org 70 i type = gettype(dirent[i]->d_name); Err bitreich.org 70 i file = smprintf("%s/%s", pa, Err bitreich.org 70 i dirent[i]->d_name); Err bitreich.org 70 i- if(stat(file, &st) >= 0 && S_ISDIR(st.st_mode)) Err bitreich.org 70 i+ if (stat(file, &st) >= 0 && S_ISDIR(st.st_mode)) Err bitreich.org 70 i type = gettype("index.gph"); Err bitreich.org 70 i e = file + strlen(base); Err bitreich.org 70 i ret = dprintf(sock, "%c%s\t%s\t%s\t%s\r\n", *type->type, Err bitreich.org 70 i@@ -88,8 +88,8 @@ handlegph(int sock, char *file, char *port, char *base, char *args, Err bitreich.org 70 i USED(sear); Err bitreich.org 70 i Err bitreich.org 70 i act = scanfile(file); Err bitreich.org 70 i- if(act != nil) { Err bitreich.org 70 i- for(i = 0; i < act->num && ret >= 0; i++) { Err bitreich.org 70 i+ if (act != nil) { Err bitreich.org 70 i+ for (i = 0; i < act->num && ret >= 0; i++) { Err bitreich.org 70 i ret = printelem(sock, act->n[i], ohost, port); Err bitreich.org 70 i freeelem(act->n[i]); Err bitreich.org 70 i act->n[i] = nil; Err bitreich.org 70 i@@ -113,8 +113,8 @@ handlebin(int sock, char *file, char *port, char *base, char *args, Err bitreich.org 70 i USED(ohost); Err bitreich.org 70 i Err bitreich.org 70 i fd = open(file, O_RDONLY); Err bitreich.org 70 i- if(fd >= 0) { Err bitreich.org 70 i- if(xsendfile(fd, sock) < 0) Err bitreich.org 70 i+ if (fd >= 0) { Err bitreich.org 70 i+ if (xsendfile(fd, sock) < 0) Err bitreich.org 70 i perror("sendfile"); Err bitreich.org 70 i close(fd); Err bitreich.org 70 i } Err bitreich.org 70 i@@ -142,15 +142,15 @@ handlecgi(int sock, char *file, char *port, char *base, char *args, Err bitreich.org 70 i if (p == nil) Err bitreich.org 70 i p = file; Err bitreich.org 70 i Err bitreich.org 70 i- if(sear == nil) Err bitreich.org 70 i+ if (sear == nil) Err bitreich.org 70 i sear = ""; Err bitreich.org 70 i- if(args == nil) Err bitreich.org 70 i+ if (args == nil) Err bitreich.org 70 i args = ""; Err bitreich.org 70 i Err bitreich.org 70 i dup2(sock, 0); Err bitreich.org 70 i dup2(sock, 1); Err bitreich.org 70 i dup2(sock, 2); Err bitreich.org 70 i- switch(fork()) { Err bitreich.org 70 i+ switch (fork()) { Err bitreich.org 70 i case 0: Err bitreich.org 70 i if (path != nil) { Err bitreich.org 70 i if (chdir(path) < 0) Err bitreich.org 70 i@@ -184,7 +184,7 @@ handledcgi(int sock, char *file, char *port, char *base, char *args, Err bitreich.org 70 i Err bitreich.org 70 i USED(base); Err bitreich.org 70 i Err bitreich.org 70 i- if(pipe(outpipe) < 0) Err bitreich.org 70 i+ if (pipe(outpipe) < 0) Err bitreich.org 70 i return; Err bitreich.org 70 i Err bitreich.org 70 i path = xstrdup(file); Err bitreich.org 70 i@@ -197,17 +197,17 @@ handledcgi(int sock, char *file, char *port, char *base, char *args, Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i p = strrchr(file, '/'); Err bitreich.org 70 i- if(p == nil) Err bitreich.org 70 i+ if (p == nil) Err bitreich.org 70 i p = file; Err bitreich.org 70 i Err bitreich.org 70 i- if(sear == nil) Err bitreich.org 70 i+ if (sear == nil) Err bitreich.org 70 i sear = ""; Err bitreich.org 70 i- if(args == nil) Err bitreich.org 70 i+ if (args == nil) Err bitreich.org 70 i args = ""; Err bitreich.org 70 i Err bitreich.org 70 i dup2(sock, 0); Err bitreich.org 70 i dup2(sock, 2); Err bitreich.org 70 i- switch(fork()) { Err bitreich.org 70 i+ switch (fork()) { Err bitreich.org 70 i case 0: Err bitreich.org 70 i dup2(outpipe[1], 1); Err bitreich.org 70 i close(outpipe[0]); Err bitreich.org 70 i@@ -254,3 +254,4 @@ handledcgi(int sock, char *file, char *port, char *base, char *args, Err bitreich.org 70 i break; Err bitreich.org 70 i } Err bitreich.org 70 i } Err bitreich.org 70 i+ Err bitreich.org 70 1diff --git a/ind.c b/ind.c /scm/geomyidae/file/ind.c.gph bitreich.org 70 i@@ -80,8 +80,8 @@ xsendfile(int fd, int sock) Err bitreich.org 70 i setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, &optval, sizeof(int)); Err bitreich.org 70 i #endif Err bitreich.org 70 i Err bitreich.org 70 i- if(fstat(fd, &st) >= 0) { Err bitreich.org 70 i- if((bufsiz = st.st_blksize) < BUFSIZ) Err bitreich.org 70 i+ if (fstat(fd, &st) >= 0) { Err bitreich.org 70 i+ if ((bufsiz = st.st_blksize) < BUFSIZ) Err bitreich.org 70 i bufsiz = BUFSIZ; Err bitreich.org 70 i count = st.st_size; Err bitreich.org 70 i } Err bitreich.org 70 i@@ -96,8 +96,8 @@ xsendfile(int fd, int sock) Err bitreich.org 70 i Err bitreich.org 70 i if (count == 0) { Err bitreich.org 70 i sendb = xmalloc(bufsiz); Err bitreich.org 70 i- while((len = read(fd, sendb, bufsiz)) > 0) { Err bitreich.org 70 i- while(len > 0) { Err bitreich.org 70 i+ while ((len = read(fd, sendb, bufsiz)) > 0) { Err bitreich.org 70 i+ while (len > 0) { Err bitreich.org 70 i if ((sent = send(sock, sendb, len, 0)) < 0) { Err bitreich.org 70 i close(fd); Err bitreich.org 70 i free(sendb); Err bitreich.org 70 i@@ -177,12 +177,12 @@ gettype(char *filename) Err bitreich.org 70 i int i; Err bitreich.org 70 i Err bitreich.org 70 i end = strrchr(filename, '.'); Err bitreich.org 70 i- if(end == nil) Err bitreich.org 70 i+ if (end == nil) Err bitreich.org 70 i return &type[0]; Err bitreich.org 70 i end++; Err bitreich.org 70 i Err bitreich.org 70 i- for(i = 0; type[i].end != nil; i++) Err bitreich.org 70 i- if(!strcasecmp(end, type[i].end)) Err bitreich.org 70 i+ for (i = 0; type[i].end != nil; i++) Err bitreich.org 70 i+ if (!strcasecmp(end, type[i].end)) Err bitreich.org 70 i return &type[i]; Err bitreich.org 70 i Err bitreich.org 70 i return &type[0]; Err bitreich.org 70 i@@ -191,10 +191,10 @@ gettype(char *filename) Err bitreich.org 70 i void Err bitreich.org 70 i freeelem(Elems *e) Err bitreich.org 70 i { Err bitreich.org 70 i- if(e != nil) { Err bitreich.org 70 i- if(e->e != nil) { Err bitreich.org 70 i- for(;e->num > 0; e->num--) Err bitreich.org 70 i- if(e->e[e->num - 1] != nil) Err bitreich.org 70 i+ if (e != nil) { Err bitreich.org 70 i+ if (e->e != nil) { Err bitreich.org 70 i+ for (;e->num > 0; e->num--) Err bitreich.org 70 i+ if (e->e[e->num - 1] != nil) Err bitreich.org 70 i free(e->e[e->num - 1]); Err bitreich.org 70 i free(e->e); Err bitreich.org 70 i } Err bitreich.org 70 i@@ -206,9 +206,9 @@ freeelem(Elems *e) Err bitreich.org 70 i void Err bitreich.org 70 i freeindex(Indexs *i) Err bitreich.org 70 i { Err bitreich.org 70 i- if(i != nil) { Err bitreich.org 70 i- if(i->n != nil) { Err bitreich.org 70 i- for(;i->num > 0; i->num--) Err bitreich.org 70 i+ if (i != nil) { Err bitreich.org 70 i+ if (i->n != nil) { Err bitreich.org 70 i+ for (;i->num > 0; i->num--) Err bitreich.org 70 i freeelem(i->n[i->num - 1]); Err bitreich.org 70 i free(i->n); Err bitreich.org 70 i } Err bitreich.org 70 i@@ -287,7 +287,7 @@ getadv(char *str) Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i b = str; Err bitreich.org 70 i- if(*str == 't') Err bitreich.org 70 i+ if (*str == 't') Err bitreich.org 70 i b++; Err bitreich.org 70 i addelem(ret, "i"); Err bitreich.org 70 i addelem(ret, b); Err bitreich.org 70 i@@ -337,7 +337,7 @@ scanfile(char *fname) Err bitreich.org 70 i free(ln); Err bitreich.org 70 i fclose(fp); Err bitreich.org 70 i Err bitreich.org 70 i- if(ret->n == nil) { Err bitreich.org 70 i+ if (ret->n == nil) { Err bitreich.org 70 i free(ret); Err bitreich.org 70 i return nil; Err bitreich.org 70 i } Err bitreich.org 70 i@@ -348,11 +348,11 @@ scanfile(char *fname) Err bitreich.org 70 i int Err bitreich.org 70 i printelem(int fd, Elems *el, char *addr, char *port) Err bitreich.org 70 i { Err bitreich.org 70 i- if(!strcmp(el->e[3], "server")) { Err bitreich.org 70 i+ if (!strcmp(el->e[3], "server")) { Err bitreich.org 70 i free(el->e[3]); Err bitreich.org 70 i el->e[3] = xstrdup(addr); Err bitreich.org 70 i } Err bitreich.org 70 i- if(!strcmp(el->e[4], "port")) { Err bitreich.org 70 i+ if (!strcmp(el->e[4], "port")) { Err bitreich.org 70 i free(el->e[4]); Err bitreich.org 70 i el->e[4] = xstrdup(port); Err bitreich.org 70 i } Err bitreich.org 70 i@@ -406,14 +406,14 @@ reverselookup(char *host) Err bitreich.org 70 i Err bitreich.org 70 i rethost = NULL; Err bitreich.org 70 i Err bitreich.org 70 i- if(inet_pton(AF_INET, host, &hoststr)) { Err bitreich.org 70 i+ if (inet_pton(AF_INET, host, &hoststr)) { Err bitreich.org 70 i client = gethostbyaddr((const void *)&hoststr, Err bitreich.org 70 i sizeof(hoststr), AF_INET); Err bitreich.org 70 i- if(client != NULL) Err bitreich.org 70 i+ if (client != NULL) Err bitreich.org 70 i rethost = xstrdup(client->h_name); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i- if(rethost == NULL) Err bitreich.org 70 i+ if (rethost == NULL) Err bitreich.org 70 i rethost = xstrdup(host); Err bitreich.org 70 i Err bitreich.org 70 i return rethost; Err bitreich.org 70 1diff --git a/main.c b/main.c /scm/geomyidae/file/main.c.gph bitreich.org 70 i@@ -66,16 +66,16 @@ char *htredir = "\n" Err bitreich.org 70 i int Err bitreich.org 70 i dropprivileges(struct group *gr, struct passwd *pw) Err bitreich.org 70 i { Err bitreich.org 70 i- if(gr != nil) Err bitreich.org 70 i- if(setgroups(1, &gr->gr_gid) != 0 || setgid(gr->gr_gid) != 0) Err bitreich.org 70 i+ if (gr != nil) Err bitreich.org 70 i+ if (setgroups(1, &gr->gr_gid) != 0 || setgid(gr->gr_gid) != 0) Err bitreich.org 70 i return -1; Err bitreich.org 70 i- if(pw != nil) { Err bitreich.org 70 i- if(gr == nil) { Err bitreich.org 70 i- if(setgroups(1, &pw->pw_gid) != 0 || Err bitreich.org 70 i+ if (pw != nil) { Err bitreich.org 70 i+ if (gr == nil) { Err bitreich.org 70 i+ if (setgroups(1, &pw->pw_gid) != 0 || Err bitreich.org 70 i setgid(pw->pw_gid) != 0) Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i- if(setuid(pw->pw_uid) != 0) Err bitreich.org 70 i+ if (setuid(pw->pw_uid) != 0) Err bitreich.org 70 i return -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -89,7 +89,7 @@ logentry(char *host, char *port, char *qry, char *status) Err bitreich.org 70 i struct tm *ptr; Err bitreich.org 70 i char timstr[128], *ahost; Err bitreich.org 70 i Err bitreich.org 70 i- if(glfd >= 0) { Err bitreich.org 70 i+ if (glfd >= 0) { Err bitreich.org 70 i tim = time(0); Err bitreich.org 70 i ptr = localtime(&tim); Err bitreich.org 70 i Err bitreich.org 70 i@@ -124,85 +124,86 @@ handlerequest(int sock, char *base, char *ohost, char *port, char *clienth, Err bitreich.org 70 i return; Err bitreich.org 70 i Err bitreich.org 70 i c = strchr(recvb, '\r'); Err bitreich.org 70 i- if(c) Err bitreich.org 70 i+ if (c) Err bitreich.org 70 i c[0] = '\0'; Err bitreich.org 70 i c = strchr(recvb, '\n'); Err bitreich.org 70 i- if(c) Err bitreich.org 70 i+ if (c) Err bitreich.org 70 i c[0] = '\0'; Err bitreich.org 70 i memmove(recvc, recvb, len+1); Err bitreich.org 70 i Err bitreich.org 70 i- if(!strncmp(recvb, "URL:", 4)) { Err bitreich.org 70 i+ if (!strncmp(recvb, "URL:", 4)) { Err bitreich.org 70 i len = snprintf(path, sizeof(path), htredir, Err bitreich.org 70 i recvb + 4, recvb + 4, recvb + 4); Err bitreich.org 70 i- if(len > sizeof(path)) Err bitreich.org 70 i+ if (len > sizeof(path)) Err bitreich.org 70 i len = sizeof(path); Err bitreich.org 70 i send(sock, path, len, 0); Err bitreich.org 70 i- if(loglvl & HTTP) Err bitreich.org 70 i+ if (loglvl & HTTP) Err bitreich.org 70 i logentry(clienth, clientp, recvc, "HTTP redirect"); Err bitreich.org 70 i return; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i sear = strchr(recvb, '\t'); Err bitreich.org 70 i- if(sear != nil) Err bitreich.org 70 i+ if (sear != nil) Err bitreich.org 70 i *sear++ = '\0'; Err bitreich.org 70 i args = strchr(recvb, '?'); Err bitreich.org 70 i- if(args != nil) Err bitreich.org 70 i+ if (args != nil) Err bitreich.org 70 i *args++ = '\0'; Err bitreich.org 70 i Err bitreich.org 70 i- if(recvb[0] == '\0') { Err bitreich.org 70 i+ if (recvb[0] == '\0') { Err bitreich.org 70 i recvb[0] = '/'; Err bitreich.org 70 i recvb[1] = '\0'; Err bitreich.org 70 i } Err bitreich.org 70 i- if(recvb[0] != '/' || strstr(recvb, "..")) Err bitreich.org 70 i+ if (recvb[0] != '/' || strstr(recvb, "..")) Err bitreich.org 70 i return; Err bitreich.org 70 i Err bitreich.org 70 i snprintf(path, sizeof(path), "%s%s", base, recvb); Err bitreich.org 70 i Err bitreich.org 70 i fd = -1; Err bitreich.org 70 i- if(stat(path, &dir) != -1 && S_ISDIR(dir.st_mode)) { Err bitreich.org 70 i- for(i = 0; i < sizeof(indexf)/sizeof(indexf)[0]; i++) { Err bitreich.org 70 i+ if (stat(path, &dir) != -1 && S_ISDIR(dir.st_mode)) { Err bitreich.org 70 i+ for (i = 0; i < sizeof(indexf)/sizeof(indexf)[0]; i++) { Err bitreich.org 70 i if (strlen(path) + strlen(indexf[i]) >= sizeof(path)) { Err bitreich.org 70 i- if(loglvl & ERRORS) Err bitreich.org 70 i+ if (loglvl & ERRORS) Err bitreich.org 70 i logentry(clienth, clientp, recvc, Err bitreich.org 70 i "path truncation occurred"); Err bitreich.org 70 i return; Err bitreich.org 70 i } Err bitreich.org 70 i strncat(path, indexf[i], sizeof(path) - strlen(path) - 1); Err bitreich.org 70 i fd = open(path, O_RDONLY); Err bitreich.org 70 i- if(fd >= 0) Err bitreich.org 70 i+ if (fd >= 0) Err bitreich.org 70 i break; Err bitreich.org 70 i path[strlen(path)-strlen(indexf[i])] = '\0'; Err bitreich.org 70 i } Err bitreich.org 70 i } else { Err bitreich.org 70 i fd = open(path, O_RDONLY); Err bitreich.org 70 i- if(fd < 0) { Err bitreich.org 70 i- if(loglvl & ERRORS) Err bitreich.org 70 i+ if (fd < 0) { Err bitreich.org 70 i+ if (loglvl & ERRORS) Err bitreich.org 70 i logentry(clienth, clientp, recvc, strerror(errno)); Err bitreich.org 70 i return; Err bitreich.org 70 i } Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i- if(fd >= 0) { Err bitreich.org 70 i+ if (fd >= 0) { Err bitreich.org 70 i close(fd); Err bitreich.org 70 i- if(loglvl & FILES) Err bitreich.org 70 i+ if (loglvl & FILES) Err bitreich.org 70 i logentry(clienth, clientp, recvc, "serving"); Err bitreich.org 70 i Err bitreich.org 70 i c = strrchr(path, '/'); Err bitreich.org 70 i- if(c == nil) Err bitreich.org 70 i+ if (c == nil) Err bitreich.org 70 i c = path; Err bitreich.org 70 i type = gettype(c); Err bitreich.org 70 i type->f(sock, path, port, base, args, sear, ohost); Err bitreich.org 70 i } else { Err bitreich.org 70 i- if(S_ISDIR(dir.st_mode)) { Err bitreich.org 70 i+ if (S_ISDIR(dir.st_mode)) { Err bitreich.org 70 i handledir(sock, path, port, base, args, sear, ohost); Err bitreich.org 70 i- if(loglvl & DIRS) Err bitreich.org 70 i+ if (loglvl & DIRS) { Err bitreich.org 70 i logentry(clienth, clientp, recvc, Err bitreich.org 70 i "dir listing"); Err bitreich.org 70 i+ } Err bitreich.org 70 i return; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i dprintf(sock, err, recvc); Err bitreich.org 70 i- if(loglvl & ERRORS) Err bitreich.org 70 i+ if (loglvl & ERRORS) Err bitreich.org 70 i logentry(clienth, clientp, recvc, "not found"); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -212,9 +213,9 @@ handlerequest(int sock, char *base, char *ohost, char *port, char *clienth, Err bitreich.org 70 i void Err bitreich.org 70 i sighandler(int sig) Err bitreich.org 70 i { Err bitreich.org 70 i- switch(sig) { Err bitreich.org 70 i+ switch (sig) { Err bitreich.org 70 i case SIGCHLD: Err bitreich.org 70 i- while(waitpid(-1, NULL, WNOHANG) > 0); Err bitreich.org 70 i+ while (waitpid(-1, NULL, WNOHANG) > 0); Err bitreich.org 70 i break; Err bitreich.org 70 i case SIGHUP: Err bitreich.org 70 i case SIGINT: Err bitreich.org 70 i@@ -222,9 +223,9 @@ sighandler(int sig) Err bitreich.org 70 i case SIGABRT: Err bitreich.org 70 i case SIGTERM: Err bitreich.org 70 i case SIGKILL: Err bitreich.org 70 i- if(logfile != nil) Err bitreich.org 70 i+ if (logfile != nil) Err bitreich.org 70 i stoplogging(glfd); Err bitreich.org 70 i- if(listfd >= 0) { Err bitreich.org 70 i+ if (listfd >= 0) { Err bitreich.org 70 i shutdown(listfd, SHUT_RDWR); Err bitreich.org 70 i close(listfd); Err bitreich.org 70 i } Err bitreich.org 70 i@@ -259,18 +260,18 @@ getlistenfd(struct addrinfo *hints, char *bindip, char *port) Err bitreich.org 70 i Err bitreich.org 70 i listfd = -1; Err bitreich.org 70 i Err bitreich.org 70 i- if(getaddrinfo(bindip, port, hints, &ai)) Err bitreich.org 70 i+ if (getaddrinfo(bindip, port, hints, &ai)) Err bitreich.org 70 i return -1; Err bitreich.org 70 i- if(ai == nil) Err bitreich.org 70 i+ if (ai == nil) Err bitreich.org 70 i return -1; Err bitreich.org 70 i Err bitreich.org 70 i on = 1; Err bitreich.org 70 i- for(rp = ai; rp != nil; rp = rp->ai_next) { Err bitreich.org 70 i+ for (rp = ai; rp != nil; rp = rp->ai_next) { Err bitreich.org 70 i listfd = socket(rp->ai_family, rp->ai_socktype, Err bitreich.org 70 i rp->ai_protocol); Err bitreich.org 70 i- if(listfd < 0) Err bitreich.org 70 i+ if (listfd < 0) Err bitreich.org 70 i continue; Err bitreich.org 70 i- if(setsockopt(listfd, SOL_SOCKET, SO_REUSEADDR, &on, Err bitreich.org 70 i+ if (setsockopt(listfd, SOL_SOCKET, SO_REUSEADDR, &on, Err bitreich.org 70 i sizeof(on)) < 0) { Err bitreich.org 70 i break; Err bitreich.org 70 i } Err bitreich.org 70 i@@ -279,18 +280,20 @@ getlistenfd(struct addrinfo *hints, char *bindip, char *port) Err bitreich.org 70 i (void *)&((struct sockaddr_in *)rp->ai_addr)->sin_addr : Err bitreich.org 70 i (void *)&((struct sockaddr_in6 *)rp->ai_addr)->sin6_addr; Err bitreich.org 70 i Err bitreich.org 70 i- if(bind(listfd, rp->ai_addr, rp->ai_addrlen) == 0) { Err bitreich.org 70 i- if(loglvl & CONN && inet_ntop(rp->ai_family, sinaddr, Err bitreich.org 70 i- addstr, sizeof(addstr))) Err bitreich.org 70 i+ if (bind(listfd, rp->ai_addr, rp->ai_addrlen) == 0) { Err bitreich.org 70 i+ if (loglvl & CONN && inet_ntop(rp->ai_family, sinaddr, Err bitreich.org 70 i+ addstr, sizeof(addstr))) { Err bitreich.org 70 i logentry(addstr, port, "-", "listening"); Err bitreich.org 70 i+ } Err bitreich.org 70 i break; Err bitreich.org 70 i } Err bitreich.org 70 i close(listfd); Err bitreich.org 70 i- if(loglvl & CONN && inet_ntop(rp->ai_family, sinaddr, Err bitreich.org 70 i- addstr, sizeof(addstr))) Err bitreich.org 70 i+ if (loglvl & CONN && inet_ntop(rp->ai_family, sinaddr, Err bitreich.org 70 i+ addstr, sizeof(addstr))) { Err bitreich.org 70 i logentry(addstr, port, "-", "could not bind"); Err bitreich.org 70 i+ } Err bitreich.org 70 i } Err bitreich.org 70 i- if(rp == nil) Err bitreich.org 70 i+ if (rp == nil) Err bitreich.org 70 i return -1; Err bitreich.org 70 i freeaddrinfo(ai); Err bitreich.org 70 i Err bitreich.org 70 i@@ -376,9 +379,9 @@ main(int argc, char *argv[]) Err bitreich.org 70 i usage(); Err bitreich.org 70 i } ARGEND; Err bitreich.org 70 i Err bitreich.org 70 i- if(ohost == nil) { Err bitreich.org 70 i+ if (ohost == nil) { Err bitreich.org 70 i ohost = xcalloc(1, 513); Err bitreich.org 70 i- if(gethostname(ohost, 512) < 0) { Err bitreich.org 70 i+ if (gethostname(ohost, 512) < 0) { Err bitreich.org 70 i perror("gethostname"); Err bitreich.org 70 i free(ohost); Err bitreich.org 70 i return 1; Err bitreich.org 70 i@@ -387,22 +390,22 @@ main(int argc, char *argv[]) Err bitreich.org 70 i ohost = xstrdup(ohost); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i- if(group != nil) { Err bitreich.org 70 i- if((gr = getgrnam(group)) == nil) { Err bitreich.org 70 i+ if (group != nil) { Err bitreich.org 70 i+ if ((gr = getgrnam(group)) == nil) { Err bitreich.org 70 i perror("no such group"); Err bitreich.org 70 i return 1; Err bitreich.org 70 i } Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i- if(user != nil) { Err bitreich.org 70 i- if((us = getpwnam(user)) == nil) { Err bitreich.org 70 i+ if (user != nil) { Err bitreich.org 70 i+ if ((us = getpwnam(user)) == nil) { Err bitreich.org 70 i perror("no such user"); Err bitreich.org 70 i return 1; Err bitreich.org 70 i } Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i- if(dofork) { Err bitreich.org 70 i- switch(fork()) { Err bitreich.org 70 i+ if (dofork) { Err bitreich.org 70 i+ switch (fork()) { Err bitreich.org 70 i case -1: Err bitreich.org 70 i perror("fork"); Err bitreich.org 70 i return 1; Err bitreich.org 70 i@@ -413,66 +416,66 @@ main(int argc, char *argv[]) Err bitreich.org 70 i } Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i- if(logfile != nil) { Err bitreich.org 70 i+ if (logfile != nil) { Err bitreich.org 70 i glfd = initlogging(logfile); Err bitreich.org 70 i- if(glfd < 0) { Err bitreich.org 70 i+ if (glfd < 0) { Err bitreich.org 70 i perror("initlogging"); Err bitreich.org 70 i return 1; Err bitreich.org 70 i } Err bitreich.org 70 i- } else if(!dofork) { Err bitreich.org 70 i+ } else if (!dofork) { Err bitreich.org 70 i glfd = 1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i memset(&hints, 0, sizeof(hints)); Err bitreich.org 70 i hints.ai_flags = AI_PASSIVE; Err bitreich.org 70 i hints.ai_socktype = SOCK_STREAM; Err bitreich.org 70 i- if(bindip) Err bitreich.org 70 i+ if (bindip) Err bitreich.org 70 i hints.ai_flags |= AI_CANONNAME; Err bitreich.org 70 i Err bitreich.org 70 i listfd = -1; Err bitreich.org 70 i- if(v6) { Err bitreich.org 70 i+ if (v6) { Err bitreich.org 70 i hints.ai_family = PF_INET6; Err bitreich.org 70 i listfd = getlistenfd(&hints, bindip, port); Err bitreich.org 70 i- if(!v4 && listfd < 0) { Err bitreich.org 70 i+ if (!v4 && listfd < 0) { Err bitreich.org 70 i perror("getlistenfd6"); Err bitreich.org 70 i return 1; Err bitreich.org 70 i } Err bitreich.org 70 i } Err bitreich.org 70 i- if(v4 && listfd < 0) { Err bitreich.org 70 i+ if (v4 && listfd < 0) { Err bitreich.org 70 i hints.ai_family = PF_INET; Err bitreich.org 70 i listfd = getlistenfd(&hints, bindip, port); Err bitreich.org 70 i- if(listfd < 0) { Err bitreich.org 70 i+ if (listfd < 0) { Err bitreich.org 70 i perror("getlistenfd4"); Err bitreich.org 70 i return 1; Err bitreich.org 70 i } Err bitreich.org 70 i } Err bitreich.org 70 i- if(listfd < 0) { Err bitreich.org 70 i+ if (listfd < 0) { Err bitreich.org 70 i perror("You did not specify a TCP port."); Err bitreich.org 70 i return 1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i- if(listen(listfd, 255)) { Err bitreich.org 70 i+ if (listen(listfd, 255)) { Err bitreich.org 70 i perror("listen"); Err bitreich.org 70 i close(listfd); Err bitreich.org 70 i return 1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i- if(usechroot) { Err bitreich.org 70 i- if(chdir(base) < 0) { Err bitreich.org 70 i+ if (usechroot) { Err bitreich.org 70 i+ if (chdir(base) < 0) { Err bitreich.org 70 i perror("chdir"); Err bitreich.org 70 i return 1; Err bitreich.org 70 i } Err bitreich.org 70 i base = ""; Err bitreich.org 70 i- if(chroot(".") < 0) { Err bitreich.org 70 i+ if (chroot(".") < 0) { Err bitreich.org 70 i perror("chroot"); Err bitreich.org 70 i return 1; Err bitreich.org 70 i } Err bitreich.org 70 i- } else if(*base != '/' && !(base = realpath(base, NULL))) { Err bitreich.org 70 i+ } else if (*base != '/' && !(base = realpath(base, NULL))) { Err bitreich.org 70 i perror("realpath"); Err bitreich.org 70 i return 1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i- if(dropprivileges(gr, us) < 0) { Err bitreich.org 70 i+ if (dropprivileges(gr, us) < 0) { Err bitreich.org 70 i perror("dropprivileges"); Err bitreich.org 70 i close(listfd); Err bitreich.org 70 i return 1; Err bitreich.org 70 i@@ -481,10 +484,10 @@ main(int argc, char *argv[]) Err bitreich.org 70 i initsignals(); Err bitreich.org 70 i Err bitreich.org 70 i cltlen = sizeof(clt); Err bitreich.org 70 i- while(running) { Err bitreich.org 70 i+ while (running) { Err bitreich.org 70 i sock = accept(listfd, (struct sockaddr *)&clt, &cltlen); Err bitreich.org 70 i- if(sock < 0) { Err bitreich.org 70 i- switch(errno) { Err bitreich.org 70 i+ if (sock < 0) { Err bitreich.org 70 i+ switch (errno) { Err bitreich.org 70 i case ECONNABORTED: Err bitreich.org 70 i case EINTR: Err bitreich.org 70 i if (!running) { Err bitreich.org 70 i@@ -504,10 +507,10 @@ main(int argc, char *argv[]) Err bitreich.org 70 i sizeof(clienth), clientp, sizeof(clientp), Err bitreich.org 70 i NI_NUMERICHOST|NI_NUMERICSERV); Err bitreich.org 70 i Err bitreich.org 70 i- if(loglvl & CONN) Err bitreich.org 70 i+ if (loglvl & CONN) Err bitreich.org 70 i logentry(clienth, clientp, "-", "connected"); Err bitreich.org 70 i Err bitreich.org 70 i- switch(fork()) { Err bitreich.org 70 i+ switch (fork()) { Err bitreich.org 70 i case -1: Err bitreich.org 70 i perror("fork"); Err bitreich.org 70 i shutdown(sock, SHUT_RDWR); Err bitreich.org 70 i@@ -528,13 +531,13 @@ main(int argc, char *argv[]) Err bitreich.org 70 i break; Err bitreich.org 70 i } Err bitreich.org 70 i close(sock); Err bitreich.org 70 i- if(loglvl & CONN) Err bitreich.org 70 i+ if (loglvl & CONN) Err bitreich.org 70 i logentry(clienth, clientp, "-", "disconnected"); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i shutdown(listfd, SHUT_RDWR); Err bitreich.org 70 i close(listfd); Err bitreich.org 70 i- if(logfile != nil) Err bitreich.org 70 i+ if (logfile != nil) Err bitreich.org 70 i stoplogging(glfd); Err bitreich.org 70 i free(ohost); Err bitreich.org 70 i Err bitreich.org 70 .