Change umask to besser protect generated key files.

This commit is contained in:
Heiko Reese
2021-10-13 15:35:10 +02:00
parent db9d8d6ee4
commit a8cbac240a

View File

@ -2,6 +2,8 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <ctype.h> #include <ctype.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sodium.h> #include <sodium.h>
//void //void
@ -77,6 +79,9 @@ write_key_files(const char *filebase, const char *varname,
sprintf(exim_filename, "%s_exim.conf", filebase); sprintf(exim_filename, "%s_exim.conf", filebase);
sprintf(raw_filename, "%s.raw", filebase); sprintf(raw_filename, "%s.raw", filebase);
// set restrictive umask (access to user only)
mode_t original_umask = umask(S_IXUSR | S_IRWXG | S_IRWXO);
// open exim config snippet file // open exim config snippet file
f = fopen(exim_filename, "w+"); f = fopen(exim_filename, "w+");
if (f == NULL) { if (f == NULL) {
@ -103,6 +108,8 @@ write_key_files(const char *filebase, const char *varname,
// close raw file // close raw file
fclose(f); fclose(f);
// restore original umask
umask(original_umask);
} }
void create_cryptobox_keys(const char *filebase, const char *varname) void create_cryptobox_keys(const char *filebase, const char *varname)