* ftpd.c (login): Add call to setluid() if necessary
authorTom Yu <tlyu@mit.edu>
Thu, 18 Feb 1999 23:34:54 +0000 (23:34 +0000)
committerTom Yu <tlyu@mit.edu>
Thu, 18 Feb 1999 23:34:54 +0000 (23:34 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@11182 dc483132-0cff-0310-8789-dd5450dbe970

src/appl/gssftp/ftpd/ChangeLog
src/appl/gssftp/ftpd/ftpd.c

index bf2c78968c5868d8e6167154aacace4b797dcaf0..eab64226ded516a0efd7aebdd72fff1be7dc9165 100644 (file)
@@ -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:11:18 1999  Tom Yu  <tlyu@mit.edu>
 
        * ftpd.c: strcat -> strncat
index 897a81433569d8cddd24fb0b178183b7fcd88418..1adad89ef2eb35deea5f134b2bfcc8d99cbd2660 100644 (file)
@@ -1043,6 +1043,17 @@ login(passwd)
                        goto bad;
                }
        }
+#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 (krb5_seteuid((uid_t)pw->pw_uid) < 0) {
                reply(550, "Can't set uid.");
                goto bad;