SMOLNET PORTAL home about changes
iSmall layout cleanup of sup.c. - sup - small tool for privilege escalation	Err	bitreich.org	70
hgit clone git://bitreich.org/sup git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/sup	URL:git://bitreich.org/sup git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/sup	bitreich.org	70
1Log	/scm/sup/log.gph	bitreich.org	70
1Files	/scm/sup/files.gph	bitreich.org	70
1Refs	/scm/sup/refs.gph	bitreich.org	70
1Tags	/scm/sup/tag	bitreich.org	70
1README	/scm/sup/file/README.gph	bitreich.org	70
1LICENSE	/scm/sup/file/LICENSE.gph	bitreich.org	70
i---	Err	bitreich.org	70
1commit a1433c21cfd8539d3c34a0d40cc18022dcbfd0c6	/scm/sup/commit/a1433c21cfd8539d3c34a0d40cc18022dcbfd0c6.gph	bitreich.org	70
1parent 04c4ce9067d5428c6e71aa5788417054bce8bf4e	/scm/sup/commit/04c4ce9067d5428c6e71aa5788417054bce8bf4e.gph	bitreich.org	70
hAuthor: parazyd <parazyd@dyne.org>	URL:mailto:parazyd@dyne.org	bitreich.org	70
iDate:   Mon,  8 Jul 2019 18:04:47 +0200	Err	bitreich.org	70
i	Err	bitreich.org	70
iSmall layout cleanup of sup.c.	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  M sup.c                               |       7 ++-----	Err	bitreich.org	70
i	Err	bitreich.org	70
i1 file changed, 2 insertions(+), 5 deletions(-)	Err	bitreich.org	70
i---	Err	bitreich.org	70
1diff --git a/sup.c b/sup.c	/scm/sup/file/sup.c.gph	bitreich.org	70
i@@ -10,6 +10,7 @@	Err	bitreich.org	70
i #include "sha256.h"	Err	bitreich.org	70
i 	Err	bitreich.org	70
i #define nelem(x) (sizeof (x) / sizeof *(x))	Err	bitreich.org	70
i+#define CHUNK 1048576 /* 1MiB */	Err	bitreich.org	70
i 	Err	bitreich.org	70
i struct rule_t {	Err	bitreich.org	70
i         const int uid;	Err	bitreich.org	70
i@@ -27,10 +28,8 @@ void die(char *msg) {	Err	bitreich.org	70
i         exit(1);	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-#define CHUNK 1048576 /* 1MiB */	Err	bitreich.org	70
i static uint32 getsha(const char *path, unsigned char *dest) {	Err	bitreich.org	70
i         static sha256_context sha;	Err	bitreich.org	70
i-	Err	bitreich.org	70
i         unsigned char buf[CHUNK];	Err	bitreich.org	70
i         uint32 len, tot = 0;	Err	bitreich.org	70
i         FILE *fd;	Err	bitreich.org	70
i@@ -70,7 +69,6 @@ int main(int argc, char *argv[]) {	Err	bitreich.org	70
i                 for (i = 0; i < nelem(rules); i++)	Err	bitreich.org	70
i                         printf("\nuser: %d\ncmd: %s\nbinary: %s\nsha256: %s\n",	Err	bitreich.org	70
i                                         rules[i].uid, rules[i].cmd, rules[i].path, rules[i].hash);	Err	bitreich.org	70
i-	Err	bitreich.org	70
i                 return 0;	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -87,7 +85,7 @@ int main(int argc, char *argv[]) {	Err	bitreich.org	70
i                                 die("Can not stat program.");	Err	bitreich.org	70
i 	Err	bitreich.org	70
i                         if (st.st_mode & 0022)	Err	bitreich.org	70
i-                                die("Can not run binaries others can write.");	Err	bitreich.org	70
i+                                die("Can not run writable binaries.");	Err	bitreich.org	70
i 	Err	bitreich.org	70
i                         if (getsha(rules[i].path, digest) != st.st_size)	Err	bitreich.org	70
i                                 die("Binary file differs from size read.");	Err	bitreich.org	70
i@@ -106,6 +104,5 @@ int main(int argc, char *argv[]) {	Err	bitreich.org	70
i                                 die("execv failed.");	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i-	Err	bitreich.org	70
i         die("Unauthorized command.");	Err	bitreich.org	70
i }	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/sup/commit/a1433c21cfd8539d3c...
Content-Typetext/plain; charset=utf-8