diff options
-rw-r--r-- | small-codes/syslog-listen.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/small-codes/syslog-listen.c b/small-codes/syslog-listen.c index e248608..4b58271 100644 --- a/small-codes/syslog-listen.c +++ b/small-codes/syslog-listen.c @@ -6,13 +6,14 @@ // compile with gcc/clang -o syslog-listen syslog-listen.c -#include <unistd.h> +#include <errno.h> +#include <stdio.h> #include <stdlib.h> #include <string.h> -#include <stdio.h> #include <sys/socket.h> +#include <sys/stat.h> #include <sys/un.h> -#include <errno.h> +#include <unistd.h> #define PERROR(code, msg) { if ((code) == -1) { perror((msg)); exit(1); } } @@ -31,6 +32,7 @@ int main(int argc, const char** argv) int sock = socket(AF_UNIX, SOCK_DGRAM, 0); PERROR(sock, "socket"); unlink(argv[1]); // no need to test ret as bind will crash if needed + umask(0007); // by default allow user/group calling the program int ret = bind(sock, (struct sockaddr*)&sock_file, sizeof(sock_file)); PERROR(ret, "bind"); |