=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/readpass.c,v retrieving revision 1.33 retrieving revision 1.33.2.1 diff -u -r1.33 -r1.33.2.1 --- src/usr.bin/ssh/readpass.c 2005/05/02 21:13:22 1.33 +++ src/usr.bin/ssh/readpass.c 2006/10/06 03:19:33 1.33.2.1 @@ -1,3 +1,4 @@ +/* $OpenBSD: readpass.c,v 1.33.2.1 2006/10/06 03:19:33 brad Exp $ */ /* * Copyright (c) 2001 Markus Friedl. All rights reserved. * @@ -22,16 +23,25 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "includes.h" -RCSID("$OpenBSD: readpass.c,v 1.33 2005/05/02 21:13:22 markus Exp $"); +#include +#include +#include +#include +#include #include +#include +#include +#include +#include +#include #include "xmalloc.h" #include "misc.h" #include "pathnames.h" #include "log.h" #include "ssh.h" +#include "uidswap.h" static char * ssh_askpass(char *askpass, const char *msg) @@ -55,8 +65,7 @@ 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));