Module Name: src
Committed By: christos
Date: Sat Apr 14 01:34:38 UTC 2012
Modified Files:
src/crypto/external/bsd/openssh/dist: readpassphrase.c
Log Message:
Minimize diffs.
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/crypto/external/bsd/openssh/dist/readpassphrase.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/crypto/external/bsd/openssh/dist/readpassphrase.c
diff -u src/crypto/external/bsd/openssh/dist/readpassphrase.c:1.2 src/crypto/external/bsd/openssh/dist/readpassphrase.c:1.3
--- src/crypto/external/bsd/openssh/dist/readpassphrase.c:1.2 Fri Apr 13 19:57:08 2012
+++ src/crypto/external/bsd/openssh/dist/readpassphrase.c Fri Apr 13 21:34:37 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: readpassphrase.c,v 1.2 2012/04/13 23:57:08 christos Exp $ */
+/* $NetBSD: readpassphrase.c,v 1.3 2012/04/14 01:34:37 christos Exp $ */
/*
* Copyright (c) 2000 Todd C. Miller <[email protected]>
* All rights reserved.
@@ -43,14 +43,32 @@ static const char rcsid[] = "$OpenBSD: r
#include <readpassphrase.h>
char *
-readpassphrase(
- const char *prompt,
- char *buf,
- size_t bufsiz,
- int flags)
+readpassphrase(prompt, buf, bufsiz, flags)
+ const char *prompt;
+ char *buf;
+ size_t bufsiz;
+ int flags;
{
+#ifdef GETPASS_ECHO
+ int gflags = GETPASS_ECHO_NL;
+
+ if (flags & RPP_ECHO_ON)
+ gflags |= GETPASS_ECHO;
+ if (flags & RPP_REQUIRE_TTY)
+ gflags |= GETPASS_NEED_TTY;
+ if (flags & RPP_FORCELOWER)
+ gflags |= GETPASS_FORCE_LOWER;
+ if (flags & RPP_FORCEUPPER)
+ gflags |= GETPASS_FORCE_UPPER;
+ if (flags & RPP_SEVENBIT)
+ gflags |= GETPASS_7BIT;
+
+ return getpassfd(prompt, buf, bufsiz, NULL, gflags, 0);
+#else
+ struct termios term, oterm;
+ char ch, *p, *end;
int input, output;
- char *ret;
+ sigset_t oset, nset;
/* I suppose we could alloc on demand in this case (XXX). */
if (bufsiz == 0) {
@@ -71,11 +89,6 @@ readpassphrase(
output = STDERR_FILENO;
}
-#ifndef GETPASS_ECHO
- struct termios term, oterm;
- char ch, *p, *end;
- sigset_t oset, nset;
-
/*
* We block SIGINT and SIGTSTP so the terminal is not left
* in an inconsistent state (ie: no echo). It would probably
@@ -122,33 +135,10 @@ readpassphrase(
if (memcmp(&term, &oterm, sizeof(term)) != 0)
(void)tcsetattr(input, TCSAFLUSH|TCSASOFT, &oterm);
(void)sigprocmask(SIG_SETMASK, &oset, NULL);
- ret = buf;
-#else
- int gflags = 0;
- int fd[3];
-
- if (flags & RPP_ECHO_ON)
- gflags |= GETPASS_ECHO;
- if (flags & RPP_REQUIRE_TTY)
- gflags |= GETPASS_NEED_TTY;
- if (flags & RPP_FORCELOWER)
- gflags |= GETPASS_FORCE_LOWER;
- if (flags & RPP_FORCEUPPER)
- gflags |= GETPASS_FORCE_UPPER;
- if (flags & RPP_SEVENBIT)
- gflags |= GETPASS_7BIT;
-
- fd[0] = input;
- fd[1] = fd[2] = output;
- ret = getpassfd(prompt, buf, bufsiz, fd, gflags, 0);
- if ((gflags & GETPASS_ECHO) == 0)
- (void)write(output, "\n", 1);
-
-#endif
if (input != STDIN_FILENO)
(void)close(input);
-
- return ret;
+ return(buf);
+#endif
}
char *