diff options
author | sin <sin@2f30.org> | 2014-09-17 17:16:43 +0100 |
---|---|---|
committer | sin <sin@2f30.org> | 2014-09-17 17:16:43 +0100 |
commit | 53688edc3d5b03fbee370c720072bd95bc6982a3 (patch) | |
tree | 34cffc28f888a7a7ee15c5681bd789554927371d /ratatox.c | |
parent | 07a2a6732b43465144ee35255e9590b98d377286 (diff) |
Ensure proper permissions on request/out
Diffstat (limited to 'ratatox.c')
-rw-r--r-- | ratatox.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -49,6 +49,7 @@ struct slot { const char *name; void (*cb)(void *); int outtype; + int outmode; int fd[NR_GFILES]; }; @@ -70,9 +71,9 @@ static void setstatusmsg(void *); static void sendfriendreq(void *); static struct slot gslots[] = { - [NAME] = { .name = "name", .cb = setname, .outtype = STATIC}, - [STATUS] = { .name = "status", .cb = setstatusmsg, .outtype = STATIC}, - [REQUEST] = { .name = "request", .cb = sendfriendreq, .outtype = FOLDER} + [NAME] = { .name = "name", .cb = setname, .outtype = STATIC }, + [STATUS] = { .name = "status", .cb = setstatusmsg, .outtype = STATIC }, + [REQUEST] = { .name = "request", .cb = sendfriendreq, .outtype = FOLDER, .outmode = 0755 }, }; static struct file gfiles[] = { @@ -616,7 +617,7 @@ localinit(void) } gslots[i].fd[m] = r; } else if (gslots[i].outtype == FOLDER) { - r = mkdir(gfiles[m].name, gfiles[m].mode); + r = mkdir(gfiles[m].name, gslots[i].outmode); if (r < 0 && errno != EEXIST) { perror("mkdir"); exit(EXIT_FAILURE); |