X-Git-Url: http://www.dolda2000.com/gitweb/?p=ashd.git;a=blobdiff_plain;f=src%2Fuserplex.c;h=77f79d74e2f76ebc873705b13acafa73316c37eb;hp=b0a3a8e9be061feabc6285b25f35b327dfe3292a;hb=1755d287f3cd52e739bf5b2e7392f894ee82d469;hpb=3b5e2f2d301c8f5e9ca6d21f945fc6ae1dbd8d61 diff --git a/src/userplex.c b/src/userplex.c index b0a3a8e..77f79d7 100644 --- a/src/userplex.c +++ b/src/userplex.c @@ -80,12 +80,12 @@ static void login(struct passwd *pwd) /* There's whole load of other stuff one could want to do here -- * getting Kerberos credentials, running PAM session modules, and * who knows what. I'll add them along as I find them useful. */ - if(((fd = open(".ashd/output", O_APPEND)) >= 0) || + if(((fd = open(".ashd/output", O_WRONLY | O_APPEND)) >= 0) || ((fd = open("/dev/null", 0)) >= 0)) { dup2(fd, 1); close(fd); } - if(((fd = open(".ashd/error", O_APPEND)) >= 0) || + if(((fd = open(".ashd/error", O_WRONLY | O_APPEND)) >= 0) || ((fd = open("/dev/null", 0)) >= 0)) { dup2(fd, 2); close(fd); @@ -232,7 +232,7 @@ out: static void usage(FILE *out) { - fprintf(out, "usage: userplex [-hI] [-g GROUP] [-m MIN-UID] [-d PUB-DIR] [PROGRAM ARGS...]"); + fprintf(out, "usage: userplex [-hI] [-g GROUP] [-m MIN-UID] [-d PUB-DIR] [PROGRAM ARGS...]\n"); } int main(int argc, char **argv) @@ -242,7 +242,7 @@ int main(int argc, char **argv) int fd; struct charvbuf csbuf; - while((c = getopt(argc, argv, "hIg:m:d:")) >= 0) { + while((c = getopt(argc, argv, "+hIg:m:d:")) >= 0) { switch(c) { case 'I': ignore = 1;