aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>1999-02-19 02:37:12 +0000
committerTom Yu <tlyu@mit.edu>1999-02-19 02:37:12 +0000
commit340317977c347885510320f4e4fe8cc7245bb4e3 (patch)
tree9a385747b35d7530c574f512b03c9ef9424bb481
parent80df338cc344dff5ebf50f6d4e5616541dbde1fc (diff)
downloadkrb5-340317977c347885510320f4e4fe8cc7245bb4e3.zip
krb5-340317977c347885510320f4e4fe8cc7245bb4e3.tar.gz
krb5-340317977c347885510320f4e4fe8cc7245bb4e3.tar.bz2
* ftpd.c (login): Add call to setluid() if necessary
[pullup from trunk] git-svn-id: svn://anonsvn.mit.edu/krb5/branches/V1_0_BRANCH@11184 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/appl/gssftp/ftpd/ChangeLog4
-rw-r--r--src/appl/gssftp/ftpd/ftpd.c11
2 files changed, 15 insertions, 0 deletions
diff --git a/src/appl/gssftp/ftpd/ChangeLog b/src/appl/gssftp/ftpd/ChangeLog
index 2f328be..6cefe2b 100644
--- a/src/appl/gssftp/ftpd/ChangeLog
+++ b/src/appl/gssftp/ftpd/ChangeLog
@@ -1,3 +1,7 @@
+Thu Feb 18 18:34:23 1999 Tom Yu <tlyu@mit.edu>
+
+ * ftpd.c (login): Add call to setluid() if necessary.
+
Fri Feb 12 21:16:26 1999 Tom Yu <tlyu@mit.edu>
* ftpd.c: strcat -> strncat
diff --git a/src/appl/gssftp/ftpd/ftpd.c b/src/appl/gssftp/ftpd/ftpd.c
index 43210e1..f0ec997 100644
--- a/src/appl/gssftp/ftpd/ftpd.c
+++ b/src/appl/gssftp/ftpd/ftpd.c
@@ -847,6 +847,17 @@ pass(passwd)
} else
lreply(230, "No directory! Logging in with home=/");
}
+#ifdef HAVE_SETLUID
+ /*
+ * If we're on a system which keeps track of login uids, then
+ * set the login uid. If this fails this opens up a problem on DEC OSF
+ * with C2 enabled.
+ */
+ if (setluid((uid_t)pw->pw_uid) < 0) {
+ reply(550, "Can't set luid.");
+ goto bad;
+ }
+#endif
if (seteuid((uid_t)pw->pw_uid) < 0) {
reply(550, "Can't set uid.");
goto bad;