]> andersk Git - openssh.git/blobdiff - readpass.c
- stevesk@cvs.openbsd.org 2006/07/09 15:15:11
[openssh.git] / readpass.c
index a9b99617ac010bb8ee67af3969491c3605d5223d..b83b6f5ee73fba4633ee7237105c29d96612fd24 100644 (file)
@@ -1,3 +1,4 @@
+/* $OpenBSD: readpass.c,v 1.40 2006/07/09 15:15:10 stevesk Exp $ */
 /*
  * Copyright (c) 2001 Markus Friedl.  All rights reserved.
  *
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: readpass.c,v 1.34 2006/02/08 12:15:27 stevesk Exp $");
 
+#include <sys/types.h>
+#include <sys/wait.h>
+
+#include <fcntl.h>
 #ifdef HAVE_PATHS_H
-#  include <paths.h>
+# include <paths.h>
 #endif
 
 #include "xmalloc.h"
@@ -34,6 +38,7 @@ RCSID("$OpenBSD: readpass.c,v 1.34 2006/02/08 12:15:27 stevesk Exp $");
 #include "pathnames.h"
 #include "log.h"
 #include "ssh.h"
+#include "uidswap.h"
 
 static char *
 ssh_askpass(char *askpass, const char *msg)
@@ -57,8 +62,7 @@ ssh_askpass(char *askpass, const char *msg)
                return NULL;
        }
        if (pid == 0) {
-               seteuid(getuid());
-               setuid(getuid());
+               permanently_drop_suid(getuid());
                close(p[0]);
                if (dup2(p[1], STDOUT_FILENO) < 0)
                        fatal("ssh_askpass: dup2: %s", strerror(errno));
This page took 1.577983 seconds and 4 git commands to generate.