itvote.c: progressively tighten pledge(2) - vote - simple cgi voting system for web and gopher Err mx1.adamsgaard.dk 70 hgit clone git://src.adamsgaard.dk/vote URL:git://src.adamsgaard.dk/vote mx1.adamsgaard.dk 70 1Log /src/vote/log.gph mx1.adamsgaard.dk 70 1Files /src/vote/files.gph mx1.adamsgaard.dk 70 1Refs /src/vote/refs.gph mx1.adamsgaard.dk 70 1README /src/vote/file/README.gph mx1.adamsgaard.dk 70 1LICENSE /src/vote/file/LICENSE.gph mx1.adamsgaard.dk 70 i--- Err mx1.adamsgaard.dk 70 1commit d87240294456e9516fdd64fc6d6f02aa5e6bfadf /src/vote/commit/d87240294456e9516fdd64fc6d6f02aa5e6bfadf.gph mx1.adamsgaard.dk 70 1parent 6cf52771bc127fbf083ca9badeeac6dba89d65fb /src/vote/commit/6cf52771bc127fbf083ca9badeeac6dba89d65fb.gph mx1.adamsgaard.dk 70 hAuthor: Anders Damsgaard URL:mailto:anders@adamsgaard.dk mx1.adamsgaard.dk 70 iDate: Mon, 28 Sep 2020 15:49:02 +0200 Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 ivote.c: progressively tighten pledge(2) Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 iDiffstat: Err mx1.adamsgaard.dk 70 i M vote.c | 17 ++++++++++++++--- Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 i1 file changed, 14 insertions(+), 3 deletions(-) Err mx1.adamsgaard.dk 70 i--- Err mx1.adamsgaard.dk 70 1diff --git a/vote.c b/vote.c /src/vote/file/vote.c.gph mx1.adamsgaard.dk 70 it@@ -209,6 +209,11 @@ show_poll(const char *poll, int vote) Err mx1.adamsgaard.dk 70 i { Err mx1.adamsgaard.dk 70 i FILE *fp; Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 i+ if (pledge("stdio rpath", NULL) == -1) { Err mx1.adamsgaard.dk 70 i+ http_status(500); Err mx1.adamsgaard.dk 70 i+ err(1, "show_poll: pledge"); Err mx1.adamsgaard.dk 70 i+ } Err mx1.adamsgaard.dk 70 i+ Err mx1.adamsgaard.dk 70 i if (!(fp = fopen(pollfile(poll, ""), "r"))) { Err mx1.adamsgaard.dk 70 i http_status(404); Err mx1.adamsgaard.dk 70 i exit(1); Err mx1.adamsgaard.dk 70 it@@ -226,6 +231,11 @@ list_polls() Err mx1.adamsgaard.dk 70 i int fts_options = FTS_COMFOLLOW | FTS_LOGICAL | FTS_NOCHDIR; Err mx1.adamsgaard.dk 70 i char *paths[] = { (char*)POLLS_DIR, NULL }; Err mx1.adamsgaard.dk 70 i Err mx1.adamsgaard.dk 70 i+ if (pledge("stdio rpath", NULL) == -1) { Err mx1.adamsgaard.dk 70 i+ http_status(500); Err mx1.adamsgaard.dk 70 i+ err(1, "list_polls: pledge"); Err mx1.adamsgaard.dk 70 i+ } Err mx1.adamsgaard.dk 70 i+ Err mx1.adamsgaard.dk 70 i if ((ftsp = fts_open(paths, fts_options, NULL)) == NULL) { Err mx1.adamsgaard.dk 70 i http_status(500); Err mx1.adamsgaard.dk 70 i err(1, "list_polls: fts_open"); Err mx1.adamsgaard.dk 70 it@@ -316,14 +326,15 @@ print_poll_create_form() Err mx1.adamsgaard.dk 70 i "\n" Err mx1.adamsgaard.dk 70 i "\n" Err mx1.adamsgaard.dk 70 i " \n" Err mx1.adamsgaard.dk 70 i- " \n" Err mx1.adamsgaard.dk 70 i+ " \n" Err mx1.adamsgaard.dk 70 i " \n" Err mx1.adamsgaard.dk 70 i "\n" Err mx1.adamsgaard.dk 70 i "\n" Err mx1.adamsgaard.dk 70 i " \n" Err mx1.adamsgaard.dk 70 i " \n" Err mx1.adamsgaard.dk 70 i+ "placeholder=\"Options (one per line)\" class=\"options\">\n" Err mx1.adamsgaard.dk 70 i " \n" Err mx1.adamsgaard.dk 70 i "\n" Err mx1.adamsgaard.dk 70 i "\n" Err mx1.adamsgaard.dk 70 .