aboutsummaryrefslogtreecommitdiff
path: root/src/server.c
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2016-04-14 20:21:02 -0400
committerFranklin Wei <git@fwei.tk>2016-04-14 20:21:02 -0400
commitcfe28eb7eda17e4a604749fe2f027153a2ac5b6e (patch)
tree5da61d886606c84c039b4e095ab6a295861f4605 /src/server.c
parent3f0e7a64b91958f951c4e94bbd5b4363a8faa553 (diff)
downloadnetcosm-cfe28eb7eda17e4a604749fe2f027153a2ac5b6e.zip
netcosm-cfe28eb7eda17e4a604749fe2f027153a2ac5b6e.tar.gz
netcosm-cfe28eb7eda17e4a604749fe2f027153a2ac5b6e.tar.bz2
netcosm-cfe28eb7eda17e4a604749fe2f027153a2ac5b6e.tar.xz
things
Diffstat (limited to 'src/server.c')
-rw-r--r--src/server.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/server.c b/src/server.c
index a4280c2..a4558bc 100644
--- a/src/server.c
+++ b/src/server.c
@@ -277,7 +277,7 @@ static void new_connection_cb(EV_P_ ev_io *w, int revents)
if(socketpair(AF_UNIX, SOCK_SEQPACKET, 0, outpipe) < 0)
{
if(socketpair(AF_UNIX, SOCK_DGRAM, 0, outpipe) < 0)
- error("error creating pipe, need linux kernel >= 3.4");
+ error("error creating IPC pipe");
}
}
@@ -290,7 +290,7 @@ static void new_connection_cb(EV_P_ ev_io *w, int revents)
/* child */
are_child = true;
- /* close our file descriptors */
+ /* close unused file descriptors */
close(readpipe[0]);
close(outpipe[1]);
close(server_socket);
@@ -396,7 +396,12 @@ static void parse_args(int argc, char *argv[])
autopass = argv[++i];
break;
case 'd': /* set data prefix */
- chdir(argv[++i]);
+ mkdir(argv[++i], 0700);
+ if(chdir(argv[i]) < 0)
+ {
+ debugf("Cannot access data prefix.\n");
+ exit(0);
+ }
break;
default:
c = 'h';