version 1.83, 2020/10/30 16:23:57 |
version 1.84, 2021/07/12 15:09:20 |
|
|
} |
} |
|
|
if (unveil(_PATH_LOGIN_CONF, "r") == -1) |
if (unveil(_PATH_LOGIN_CONF, "r") == -1) |
err(1, "unveil"); |
err(1, "unveil %s", _PATH_LOGIN_CONF); |
if (unveil(_PATH_LOGIN_CONF ".db", "r") == -1) |
if (unveil(_PATH_LOGIN_CONF ".db", "r") == -1) |
err(1, "unveil"); |
err(1, "unveil %s.db", _PATH_LOGIN_CONF); |
if (unveil(_PATH_AUTHPROGDIR, "x") == -1) |
if (unveil(_PATH_AUTHPROGDIR, "x") == -1) |
err(1, "unveil"); |
err(1, "unveil %s", _PATH_AUTHPROGDIR); |
if (unveil(_PATH_SHELLS, "r") == -1) |
if (unveil(_PATH_SHELLS, "r") == -1) |
err(1, "unveil"); |
err(1, "unveil %s", _PATH_SHELLS); |
if (unveil(_PATH_DEVDB, "r") == -1) |
if (unveil(_PATH_DEVDB, "r") == -1) |
err(1, "unveil"); |
err(1, "unveil %s", _PATH_DEVDB); |
if (unveil(_PATH_NOLOGIN, "r") == -1) |
if (unveil(_PATH_NOLOGIN, "r") == -1) |
err(1, "unveil"); |
err(1, "unveil %s", _PATH_NOLOGIN); |
|
|
for (;;) { |
for (;;) { |
char *pw_class = class; |
char *pw_class = class; |
|
|
} |
} |
|
|
if (unveil(shell, "x") == -1) |
if (unveil(shell, "x") == -1) |
err(1, "unveil"); |
err(1, "unveil %s", shell); |
if (unveil(pwd->pw_dir, "r") == -1) |
if (unveil(pwd->pw_dir, "r") == -1) |
err(1, "unveil"); |
err(1, "unveil %s", pwd->pw_dir); |
|
|
if ((p = strrchr(shell, '/'))) |
if ((p = strrchr(shell, '/'))) |
avshell = p+1; |
avshell = p+1; |
|
|
auth_err(as, 1, "%s", pwd->pw_dir); |
auth_err(as, 1, "%s", pwd->pw_dir); |
} else { |
} else { |
if (unveil("/", "r") == -1) |
if (unveil("/", "r") == -1) |
err(1, "unveil"); |
err(1, "unveil /"); |
printf("No home directory %s!\n", pwd->pw_dir); |
printf("No home directory %s!\n", pwd->pw_dir); |
printf("Logging in with home = \"/\".\n"); |
printf("Logging in with home = \"/\".\n"); |
if (chdir("/") == -1) |
if (chdir("/") == -1) |