=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/doas/doas.c,v retrieving revision 1.36 retrieving revision 1.37 diff -u -r1.36 -r1.37 --- src/usr.bin/doas/doas.c 2015/08/13 16:27:22 1.36 +++ src/usr.bin/doas/doas.c 2015/08/20 18:42:11 1.37 @@ -1,4 +1,4 @@ -/* $OpenBSD: doas.c,v 1.36 2015/08/13 16:27:22 espie Exp $ */ +/* $OpenBSD: doas.c,v 1.37 2015/08/20 18:42:11 rzalamena Exp $ */ /* * Copyright (c) 2015 Ted Unangst * @@ -280,10 +280,10 @@ } static void __dead -fail(void) +permfail(void) { - fprintf(stderr, "Permission denied\n"); - exit(1); + errno = EPERM; + err(1, NULL); } static void __dead @@ -401,7 +401,7 @@ (const char**)argv + 1)) { syslog(LOG_AUTHPRIV | LOG_NOTICE, "failed command for %s: %s", myname, cmdline); - fail(); + permfail(); } if (!(rule->options & NOPASS)) { @@ -410,7 +410,7 @@ if (!auth_userokay(myname, NULL, NULL, NULL)) { syslog(LOG_AUTHPRIV | LOG_NOTICE, "failed password for %s", myname); - fail(); + permfail(); } } envp = copyenv((const char **)envp, rule);