version 1.57, 2016/06/19 19:29:43 |
version 1.58, 2016/06/24 20:49:56 |
|
|
parseconfig("/etc/doas.conf", 1); |
parseconfig("/etc/doas.conf", 1); |
|
|
/* cmdline is used only for logging, no need to abort on truncate */ |
/* cmdline is used only for logging, no need to abort on truncate */ |
(void) strlcpy(cmdline, argv[0], sizeof(cmdline)); |
(void)strlcpy(cmdline, argv[0], sizeof(cmdline)); |
for (i = 1; i < argc; i++) { |
for (i = 1; i < argc; i++) { |
if (strlcat(cmdline, " ", sizeof(cmdline)) >= sizeof(cmdline)) |
if (strlcat(cmdline, " ", sizeof(cmdline)) >= sizeof(cmdline)) |
break; |
break; |
|
|
|
|
cmd = argv[0]; |
cmd = argv[0]; |
if (!permit(uid, groups, ngroups, &rule, target, cmd, |
if (!permit(uid, groups, ngroups, &rule, target, cmd, |
(const char**)argv + 1)) { |
(const char **)argv + 1)) { |
syslog(LOG_AUTHPRIV | LOG_NOTICE, |
syslog(LOG_AUTHPRIV | LOG_NOTICE, |
"failed command for %s: %s", myname, cmdline); |
"failed command for %s: %s", myname, cmdline); |
errc(1, EPERM, NULL); |
errc(1, EPERM, NULL); |