version 1.22, 2015/07/26 17:24:02 |
version 1.23, 2015/07/26 19:08:17 |
|
|
target)); |
target)); |
parseconfig("/etc/doas.conf", 1); |
parseconfig("/etc/doas.conf", 1); |
|
|
cmd = argv[0]; |
/* cmdline is used only for logging, no need to abort on truncate */ |
|
(void) strlcpy(cmdline, argv[0], sizeof(cmdline)) < sizeof(cmdline); |
if (strlcpy(cmdline, argv[0], sizeof(cmdline)) >= sizeof(cmdline)) |
if (strlcpy(cmdline, argv[0], sizeof(cmdline)) >= sizeof(cmdline)) |
errx(1, "command line too long"); |
errx(1, "command line too long"); |
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)) |
errx(1, "command line too long"); |
break; |
if (strlcat(cmdline, argv[i], sizeof(cmdline)) >= sizeof(cmdline)) |
if (strlcat(cmdline, argv[i], sizeof(cmdline)) >= sizeof(cmdline)) |
errx(1, "command line too long"); |
break; |
} |
} |
|
|
|
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, |