SMOLNET PORTAL home about changes
ifix file permissions for cachefile and respect umask(2) - stagit-gopher - A git gopher frontend. (mirror)	Err	bitreich.org	70
hgit clone git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/stagit-gopher/	URL:git://bitreich.org/stagit-gopher/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/stagit-gopher/	bitreich.org	70
1Log	/scm/stagit-gopher/log.gph	bitreich.org	70
1Files	/scm/stagit-gopher/files.gph	bitreich.org	70
1Refs	/scm/stagit-gopher/refs.gph	bitreich.org	70
1Tags	/scm/stagit-gopher/tag	bitreich.org	70
1README	/scm/stagit-gopher/file/README.gph	bitreich.org	70
1LICENSE	/scm/stagit-gopher/file/LICENSE.gph	bitreich.org	70
i---	Err	bitreich.org	70
1commit 769babb131e20c4d7ebe197cfc182bc76ea96c18	/scm/stagit-gopher/commit/769babb131e20c4d7ebe197cfc182bc76ea96c18.gph	bitreich.org	70
1parent 9420a097388c8c90a4f534d3b5f8d4f6b7f195bd	/scm/stagit-gopher/commit/9420a097388c8c90a4f534d3b5f8d4f6b7f195bd.gph	bitreich.org	70
hAuthor: Hiltjo Posthuma <hiltjo@codemadness.org>	URL:mailto:hiltjo@codemadness.org	bitreich.org	70
iDate:   Fri, 17 Nov 2017 16:12:12 +0100	Err	bitreich.org	70
i	Err	bitreich.org	70
ifix file permissions for cachefile and respect umask(2)	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  M stagit-gopher.c                     |      12 ++++++++++--	Err	bitreich.org	70
i	Err	bitreich.org	70
i1 file changed, 10 insertions(+), 2 deletions(-)	Err	bitreich.org	70
i---	Err	bitreich.org	70
1diff --git a/stagit-gopher.c b/stagit-gopher.c	/scm/stagit-gopher/file/stagit-gopher.c.gph	bitreich.org	70
i@@ -1,4 +1,5 @@	Err	bitreich.org	70
i #include <sys/stat.h>	Err	bitreich.org	70
i+#include <sys/types.h>	Err	bitreich.org	70
i 	Err	bitreich.org	70
i #include <err.h>	Err	bitreich.org	70
i #include <errno.h>	Err	bitreich.org	70
i@@ -1083,6 +1084,7 @@ main(int argc, char *argv[])	Err	bitreich.org	70
i         git_object *obj = NULL;	Err	bitreich.org	70
i         const git_oid *head = NULL;	Err	bitreich.org	70
i         const git_error *e = NULL;	Err	bitreich.org	70
i+        mode_t mask;	Err	bitreich.org	70
i         FILE *fp, *fpread;	Err	bitreich.org	70
i         char path[PATH_MAX], repodirabs[PATH_MAX + 1], *p;	Err	bitreich.org	70
i         char tmppath[64] = "cache.XXXXXXXXXXXX", buf[BUFSIZ];	Err	bitreich.org	70
i@@ -1256,8 +1258,14 @@ main(int argc, char *argv[])	Err	bitreich.org	70
i         fclose(fp);	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         /* rename new cache file on success */	Err	bitreich.org	70
i-        if (cachefile && rename(tmppath, cachefile))	Err	bitreich.org	70
i-                err(1, "rename: '%s' to '%s'", tmppath, cachefile);	Err	bitreich.org	70
i+        if (cachefile) {	Err	bitreich.org	70
i+                if (rename(tmppath, cachefile))	Err	bitreich.org	70
i+                        err(1, "rename: '%s' to '%s'", tmppath, cachefile);	Err	bitreich.org	70
i+                umask((mask = umask(0)));	Err	bitreich.org	70
i+                if (chmod(cachefile,	Err	bitreich.org	70
i+                    (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) & ~mask))	Err	bitreich.org	70
i+                        err(1, "chmod: '%s'", cachefile);	Err	bitreich.org	70
i+        }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         /* cleanup */	Err	bitreich.org	70
i         git_repository_free(repo);	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/stagit-gopher/commit/769babb1...
Content-Typetext/plain; charset=utf-8