iAdd pledge support for OpenBSD, with help from Quentin Rameau - 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 65f998fa79fc979a3862d0ae8c0a7c46f7891383 /scm/geomyidae/commit/65f998fa79fc979a3862d0ae8c0a7c46f7891383.gph bitreich.org 70 1parent d42bd360c1ae7700c0b197e4e017e5f2a5ae8a3c /scm/geomyidae/commit/d42bd360c1ae7700c0b197e4e017e5f2a5ae8a3c.gph bitreich.org 70 hAuthor: Solene Rapenne URL:mailto:solene@perso.pw bitreich.org 70 iDate: Fri, 22 Jun 2018 22:10:22 +0200 Err bitreich.org 70 i Err bitreich.org 70 iAdd pledge support for OpenBSD, with help from Quentin Rameau Err bitreich.org 70 i Err bitreich.org 70 iSigned-off-by: Christoph Lohmann <20h@r-36.net> Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M ind.c | 2 +- Err bitreich.org 70 i M main.c | 17 +++++++++++++++++ Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 18 insertions(+), 1 deletion(-) 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@@ -66,7 +66,7 @@ pendingbytes(int sock) Err bitreich.org 70 i Err bitreich.org 70 i pending = 0; Err bitreich.org 70 i rval = 0; Err bitreich.org 70 i-#ifdef TIOCOUTQ Err bitreich.org 70 i+#if defined(TIOCOUTQ) && !defined(__OpenBSD__) Err bitreich.org 70 i rval = ioctl(sock, TIOCOUTQ, &pending); Err bitreich.org 70 i #else Err bitreich.org 70 i #ifdef SIOCOUTQ Err bitreich.org 70 1diff --git a/main.c b/main.c /scm/geomyidae/file/main.c.gph bitreich.org 70 i@@ -537,6 +537,15 @@ 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+ Err bitreich.org 70 i+#ifdef __OpenBSD__ Err bitreich.org 70 i+ char promises[30]; Err bitreich.org 70 i+ snprintf(promises, sizeof(promises), "rpath inet stdio proc exec %s %s", Err bitreich.org 70 i+ revlookup ? "dns" : "", Err bitreich.org 70 i+ dofork ? "tty" : ""); Err bitreich.org 70 i+ pledge(promises, NULL); Err bitreich.org 70 i+#endif /* __OpenBSD__ */ Err bitreich.org 70 i+ Err bitreich.org 70 i while (1) { 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@@ -575,6 +584,14 @@ main(int argc, char *argv[]) Err bitreich.org 70 i signal(SIGTERM, SIG_DFL); Err bitreich.org 70 i signal(SIGALRM, SIG_DFL); Err bitreich.org 70 i Err bitreich.org 70 i+#ifdef __OpenBSD__ Err bitreich.org 70 i+ char client_promises[25]; Err bitreich.org 70 i+ snprintf(client_promises, sizeof(client_promises), Err bitreich.org 70 i+ "rpath inet stdio %s", Err bitreich.org 70 i+ nocgi ? "" : "proc exec" ); Err bitreich.org 70 i+ pledge(client_promises, NULL); Err bitreich.org 70 i+#endif /* __OpenBSD__ */ Err bitreich.org 70 i+ Err bitreich.org 70 i handlerequest(sock, base, ohost, sport, clienth, Err bitreich.org 70 i clientp, nocgi); Err bitreich.org 70 i Err bitreich.org 70 .