summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2003-02-24 13:04:01 +1100
committerDamien Miller <djm@mindrot.org>2003-02-24 13:04:01 +1100
commit1a3ccb07c5709672d327afefd7fb6971e96b1ef7 (patch)
tree80fe70a7dd73c5271a52158f9140d147654e59f4
parent8d8168a255c17ca343865d1ee4962f2cba46b2d8 (diff)
- (djm) Bug #494: Allow multiple accounts on Windows 9x/Me;
From vinschen@redhat.com
-rw-r--r--ChangeLog7
-rw-r--r--session.c12
2 files changed, 13 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 008a7f4f9..0fc1191bf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -81,8 +81,11 @@
81 - (djm) Add new object files to Makefile and reorder 81 - (djm) Add new object files to Makefile and reorder
82 - (djm) Bug #501: gai_strerror should return char*; 82 - (djm) Bug #501: gai_strerror should return char*;
83 fix from dtucker@zip.com.au 83 fix from dtucker@zip.com.au
84 - (djm) Most of Bug #499: Cygwin compile fixes for new progressmeter 84 - (djm) Most of Bug #499: Cygwin compile fixes for new progressmeter;
85 From vinschen@redhat.com
85 - (djm) Rest of Bug #499: Import a basename() function from OpenBSD libc 86 - (djm) Rest of Bug #499: Import a basename() function from OpenBSD libc
87 - (djm) Bug #494: Allow multiple accounts on Windows 9x/Me;
88 From vinschen@redhat.com
86 89
8720030211 9020030211
88 - (djm) Cygwin needs libcrypt too. Patch from vinschen@redhat.com 91 - (djm) Cygwin needs libcrypt too. Patch from vinschen@redhat.com
@@ -1183,4 +1186,4 @@
1183 save auth method before monitor_reset_key_state(); bugzilla bug #284; 1186 save auth method before monitor_reset_key_state(); bugzilla bug #284;
1184 ok provos@ 1187 ok provos@
1185 1188
1186$Id: ChangeLog,v 1.2619 2003/02/24 01:55:55 djm Exp $ 1189$Id: ChangeLog,v 1.2620 2003/02/24 02:04:01 djm Exp $
diff --git a/session.c b/session.c
index c64240cf2..a1586d3b4 100644
--- a/session.c
+++ b/session.c
@@ -1205,11 +1205,11 @@ do_nologin(struct passwd *pw)
1205void 1205void
1206do_setusercontext(struct passwd *pw) 1206do_setusercontext(struct passwd *pw)
1207{ 1207{
1208#ifdef HAVE_CYGWIN 1208#ifndef HAVE_CYGWIN
1209 if (is_winnt) { 1209 if (getuid() == 0 || geteuid() == 0)
1210#else /* HAVE_CYGWIN */
1211 if (getuid() == 0 || geteuid() == 0) {
1212#endif /* HAVE_CYGWIN */ 1210#endif /* HAVE_CYGWIN */
1211 {
1212
1213#ifdef HAVE_SETPCRED 1213#ifdef HAVE_SETPCRED
1214 setpcred(pw->pw_name); 1214 setpcred(pw->pw_name);
1215#endif /* HAVE_SETPCRED */ 1215#endif /* HAVE_SETPCRED */
@@ -1259,6 +1259,10 @@ do_setusercontext(struct passwd *pw)
1259 permanently_set_uid(pw); 1259 permanently_set_uid(pw);
1260#endif 1260#endif
1261 } 1261 }
1262
1263#ifdef HAVE_CYGWIN
1264 if (is_winnt)
1265#endif
1262 if (getuid() != pw->pw_uid || geteuid() != pw->pw_uid) 1266 if (getuid() != pw->pw_uid || geteuid() != pw->pw_uid)
1263 fatal("Failed to set uids to %u.", (u_int) pw->pw_uid); 1267 fatal("Failed to set uids to %u.", (u_int) pw->pw_uid);
1264} 1268}