iAdd encryption only mode to geomyidae. - 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 1a1911226d27e2072fe9090035c008e5e4ebce49 /scm/geomyidae/commit/1a1911226d27e2072fe9090035c008e5e4ebce49.gph bitreich.org 70 1parent 8355aa994410e4df4cca7fb3a302a7ff1d26ad34 /scm/geomyidae/commit/8355aa994410e4df4cca7fb3a302a7ff1d26ad34.gph bitreich.org 70 hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70 iDate: Sat, 2 Apr 2022 23:25:58 +0200 Err bitreich.org 70 i Err bitreich.org 70 iAdd encryption only mode to geomyidae. Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M geomyidae.8 | 7 ++++++- Err bitreich.org 70 i M main.c | 9 +++++++++ Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 15 insertions(+), 1 deletion(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/geomyidae.8 b/geomyidae.8 /scm/geomyidae/file/geomyidae.8.gph bitreich.org 70 i@@ -170,7 +170,8 @@ Activate gopher TLS and use the private key Err bitreich.org 70 i .Ar keyfile Err bitreich.org 70 i and the public key Err bitreich.org 70 i .Ar certfile Err bitreich.org 70 i-for TLS connections (if the feature is compiled in.) Err bitreich.org 70 i+for TLS connections (if the feature is compiled in.) See ENCRYPTION ONLY Err bitreich.org 70 i+support below. Err bitreich.org 70 i .El Err bitreich.org 70 i . Err bitreich.org 70 i .Sh FORMATTING Err bitreich.org 70 i@@ -527,6 +528,10 @@ ex. Err bitreich.org 70 i .D1 Qo "/PICS" Qc for a directory access Err bitreich.org 70 i .El Err bitreich.org 70 i . Err bitreich.org 70 i+.Sh ENCRYPTION ONLY Err bitreich.org 70 i+If you set the sticky bit (chmod +t) on some file or directory, geomyidae Err bitreich.org 70 i+will only serve it over an encrypted connection. Err bitreich.org 70 i+. Err bitreich.org 70 i .Sh FILES Err bitreich.org 70 i README, LICENSE, CGI, index.gph, rc.d/, LINKS, gph/ 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@@ -67,6 +67,8 @@ char *notfounderr = "3Sorry, but the requested token '%s' could not be found.\tE Err bitreich.org 70 i "\tlocalhost\t70\r\n"; Err bitreich.org 70 i char *toolongerr = "3Sorry, but the requested token '%s' is a too long path.\tErr" Err bitreich.org 70 i "\tlocalhost\t70\r\n"; Err bitreich.org 70 i+char *tlserr = "3Sorry, but the requested token '%s' requires an encrypted connection.\tErr" Err bitreich.org 70 i+ "\tlocalhost\t70\r\n"; Err bitreich.org 70 i char *htredir = "\n" Err bitreich.org 70 i "\n" Err bitreich.org 70 i@@ -275,6 +277,13 @@ handlerequest(int sock, char *req, int rlen, char *base, char *ohost, Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i if (stat(path, &dir) != -1) { Err bitreich.org 70 i+ if ((dir.st_mode & S_ISVTX) && !istls) { Err bitreich.org 70 i+ dprintf(sock, tlserr, recvc); Err bitreich.org 70 i+ if (loglvl & ERRORS) Err bitreich.org 70 i+ logentry(clienth, clientp, recvc, "not found"); Err bitreich.org 70 i+ return; Err bitreich.org 70 i+ } Err bitreich.org 70 i+ Err bitreich.org 70 i if (S_ISDIR(dir.st_mode)) { Err bitreich.org 70 i for (i = 0; i < sizeof(indexf)/sizeof(indexf[0]); Err bitreich.org 70 i i++) { Err bitreich.org 70 .