summaryrefslogtreecommitdiff
path: root/crypto/openssh/auth-sia.c
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2004-02-26 10:38:49 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2004-02-26 10:38:49 +0000
commitefcad6b72fe9d4f7ea99c021f4903d09ca31b666 (patch)
tree44704f8b727acba451fd902fe3c26053cb6ce73e /crypto/openssh/auth-sia.c
parent002696701b39a951525861c3d0da4984e29e7360 (diff)
downloadsrc-test2-efcad6b72fe9d4f7ea99c021f4903d09ca31b666.tar.gz
src-test2-efcad6b72fe9d4f7ea99c021f4903d09ca31b666.zip
Notes
Diffstat (limited to 'crypto/openssh/auth-sia.c')
-rw-r--r--crypto/openssh/auth-sia.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/crypto/openssh/auth-sia.c b/crypto/openssh/auth-sia.c
index cae5f0912838..cd2dcb840655 100644
--- a/crypto/openssh/auth-sia.c
+++ b/crypto/openssh/auth-sia.c
@@ -31,6 +31,7 @@
#include "log.h"
#include "servconf.h"
#include "canohost.h"
+#include "uidswap.h"
#include <sia.h>
#include <siad.h>
@@ -83,7 +84,7 @@ session_setup_sia(struct passwd *pw, char *tty)
host = get_canonical_hostname(options.use_dns);
- if (sia_ses_init(&ent, saved_argc, saved_argv, host, pw->pw_name,
+ if (sia_ses_init(&ent, saved_argc, saved_argv, host, pw->pw_name,
tty, 0, NULL) != SIASUCCESS)
fatal("sia_ses_init failed");
@@ -100,11 +101,11 @@ session_setup_sia(struct passwd *pw, char *tty)
if (sia_ses_launch(sia_collect_trm, ent) != SIASUCCESS)
fatal("Couldn't launch session for %s from %s",
pw->pw_name, host);
-
+
sia_ses_release(&ent);
- if (setreuid(geteuid(), geteuid()) < 0)
- fatal("setreuid: %s", strerror(errno));
+ setuid(0);
+ permanently_set_uid(pw);
}
#endif /* HAVE_OSF_SIA */