iMake compatibility serving a full feature. - 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 81f3ec7d02246ab56d7fcc57ce18d546a3fe4b6f /scm/geomyidae/commit/81f3ec7d02246ab56d7fcc57ce18d546a3fe4b6f.gph bitreich.org 70 1parent 6dc65c6ce9c4a41c034aa1f21d9ff2a1573efde4 /scm/geomyidae/commit/6dc65c6ce9c4a41c034aa1f21d9ff2a1573efde4.gph bitreich.org 70 hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70 iDate: Sat, 22 Jul 2023 17:27:20 +0200 Err bitreich.org 70 i Err bitreich.org 70 iMake compatibility serving a full feature. Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M main.c | 13 +++++++++---- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 9 insertions(+), 4 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/main.c b/main.c /scm/geomyidae/file/main.c.gph bitreich.org 70 i@@ -187,19 +187,24 @@ handlerequest(int sock, char *req, int rlen, char *base, char *ohost, Err bitreich.org 70 i if (c) Err bitreich.org 70 i c[0] = '\0'; Err bitreich.org 70 i Err bitreich.org 70 i+ memmove(recvc, recvb, rlen+1); Err bitreich.org 70 i /* Err bitreich.org 70 i * Try to guess if we have some HTTP-like protocol compatibility Err bitreich.org 70 i * mode. Err bitreich.org 70 i */ Err bitreich.org 70 i if (!nocgi && recvb[0] != '/' && (c = strchr(recvb, ' '))) { Err bitreich.org 70 i- *c = '\0'; Err bitreich.org 70 i+ *c++ = '\0'; Err bitreich.org 70 i if (strchr(recvb, '/')) Err bitreich.org 70 i goto dothegopher; Err bitreich.org 70 i if (snprintf(path, sizeof(path), "%s/%s", base, recvb) <= sizeof(path)) { Err bitreich.org 70 i if (realpath(path, (char *)rpath)) { Err bitreich.org 70 i- if (stat(rpath, &dir)) { Err bitreich.org 70 i- handlecgi(sock, rpath, port, base, NULL, NULL, ohost, Err bitreich.org 70 i- clienth, serverh, istls, req, NULL); Err bitreich.org 70 i+ if (stat(rpath, &dir) == 0) { Err bitreich.org 70 i+ if (loglvl & FILES) Err bitreich.org 70 i+ logentry(clienth, clientp, recvc, "compatibility serving"); Err bitreich.org 70 i+ Err bitreich.org 70 i+ handlecgi(sock, rpath, port, base, "", "", ohost, Err bitreich.org 70 i+ clienth, serverh, istls, req, ""); 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 .