diff options
author | Damien Miller <djm@mindrot.org> | 2013-04-23 15:16:43 +1000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2013-04-23 15:16:43 +1000 |
commit | 998cc56b65682d490c9bbf5977dceb1aa84a0233 (patch) | |
tree | eb582c3a35110e875bcb68688556d2e67babf559 /session.c | |
parent | 62e9c4f9b6027620f9091a2f43328e057bdb33f1 (diff) |
- djm@cvs.openbsd.org 2013/03/06 23:35:23
[session.c]
fatal() when ChrootDirectory specified by running without root privileges;
ok markus@
Diffstat (limited to 'session.c')
-rw-r--r-- | session.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: session.c,v 1.261 2012/12/02 20:46:11 djm Exp $ */ | 1 | /* $OpenBSD: session.c,v 1.262 2013/03/06 23:35:23 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | 3 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland |
4 | * All rights reserved | 4 | * All rights reserved |
@@ -1529,7 +1529,9 @@ do_setusercontext(struct passwd *pw) | |||
1529 | /* Permanently switch to the desired uid. */ | 1529 | /* Permanently switch to the desired uid. */ |
1530 | permanently_set_uid(pw); | 1530 | permanently_set_uid(pw); |
1531 | #endif | 1531 | #endif |
1532 | } | 1532 | } else if (options.chroot_directory != NULL && |
1533 | strcasecmp(options.chroot_directory, "none") != 0) | ||
1534 | fatal("server lacks privileges to chroot to ChrootDirectory"); | ||
1533 | 1535 | ||
1534 | if (getuid() != pw->pw_uid || geteuid() != pw->pw_uid) | 1536 | if (getuid() != pw->pw_uid || geteuid() != pw->pw_uid) |
1535 | fatal("Failed to set uids to %u.", (u_int) pw->pw_uid); | 1537 | fatal("Failed to set uids to %u.", (u_int) pw->pw_uid); |