diff options
Diffstat (limited to 'security/sshpass/files')
-rw-r--r-- | security/sshpass/files/patch-configure.ac | 14 | ||||
-rw-r--r-- | security/sshpass/files/patch-main.c | 77 | ||||
-rw-r--r-- | security/sshpass/files/patch-sshpass.1 | 22 |
3 files changed, 7 insertions, 106 deletions
diff --git a/security/sshpass/files/patch-configure.ac b/security/sshpass/files/patch-configure.ac deleted file mode 100644 index b6ba1fc401f2..000000000000 --- a/security/sshpass/files/patch-configure.ac +++ /dev/null @@ -1,14 +0,0 @@ ---- configure.ac.orig 2011-08-06 07:03:01 UTC -+++ configure.ac -@@ -32,6 +32,11 @@ AC_FUNC_SELECT_ARGTYPES - AC_TYPE_SIGNAL - AC_CHECK_FUNCS([select posix_openpt strdup]) - -+AC_ARG_ENABLE([password-prompt], -+ [AS_HELP_STRING([--enable-password-prompt=prompt], [Provide alternative ssh password prompt to look for.])], -+ [AC_DEFINE_UNQUOTED([PASSWORD_PROMPT], ["$enable_password_prompt"], [Password prompt to use])], -+ [AC_DEFINE([PASSWORD_PROMPT], ["assword"])]) -+ - AC_CONFIG_FILES([Makefile]) - AM_CONFIG_HEADER(config.h) - AC_OUTPUT diff --git a/security/sshpass/files/patch-main.c b/security/sshpass/files/patch-main.c index f7aa90f1c241..3e1801e86909 100644 --- a/security/sshpass/files/patch-main.c +++ b/security/sshpass/files/patch-main.c @@ -1,78 +1,15 @@ ---- main.c.orig 2011-08-06 15:04:33.000000000 +0800 -+++ main.c 2016-01-30 22:17:43.489015000 +0800 -@@ -1,5 +1,5 @@ - /* This file is part of "sshpass", a tool for batch running password ssh authentication -- * Copyright (C) 2006 Lingnu Open Source Consulting Ltd. -+ * Copyright (C) 2006, 2015 Lingnu Open Source Consulting Ltd. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by -@@ -69,6 +69,8 @@ - int fd; - const char *password; - } pwsrc; -+ -+ const char *pwprompt; - } args; - - static void show_help() -@@ -77,6 +79,7 @@ - " -f filename Take password to use from file\n" - " -d number Use number as file descriptor for getting password\n" - " -p password Provide password as argument (security unwise)\n" -+ " -P prompt Which string should sshpass search for to detect a password prompt\n" - " -e Password is passed as env-var \"SSHPASS\"\n" - " With no parameters - password will be taken from stdin\n\n" - " -h Show help (this screen)\n" -@@ -99,7 +102,7 @@ - fprintf(stderr, "Conflicting password source\n"); \ - error=RETURN_CONFLICTING_ARGUMENTS; } - -- while( (opt=getopt(argc, argv, "+f:d:p:heV"))!=-1 && error==-1 ) { -+ while( (opt=getopt(argc, argv, "+f:d:p:P:heV"))!=-1 && error==-1 ) { - switch( opt ) { - case 'f': - // Password should come from a file -@@ -130,6 +133,9 @@ - optarg[i]='z'; - } - break; -+ case 'P': -+ args.pwprompt=optarg; -+ break; - case 'e': - VIRGIN_PWTYPE; - -@@ -265,6 +271,12 @@ +--- main.c.orig 2016-06-30 19:23:33 UTC ++++ main.c +@@ -280,6 +280,12 @@ int runprogram( int argc, char *argv[] ) setsid(); // This line makes the ptty our controlling tty. We do not otherwise need it open slavept=open(name, O_RDWR ); +#ifdef __FreeBSD__ -+ if (ioctl(slavept, TIOCSCTTY, NULL) == -1) { -+ perror("sshpass: Failed to TIOCSCTTY"); -+ exit(RETURN_RUNTIME_ERROR); -+ } ++ if (ioctl(slavept, TIOCSCTTY, NULL) == -1) { ++ perror("sshpass: Failed to TIOCSCTTY"); ++ exit(RETURN_RUNTIME_ERROR); ++ } +#endif close( slavept ); close( masterpt ); -@@ -359,7 +371,7 @@ - // We are looking for the string - static int prevmatch=0; // If the "password" prompt is repeated, we have the wrong password. - static int state1, state2; -- static const char compare1[]="assword:"; // Asking for a password -+ static const char *compare1=PASSWORD_PROMPT; // Asking for a password - static const char compare2[]="The authenticity of host "; // Asks to authenticate host - // static const char compare3[]="WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!"; // Warns about man in the middle attack - // The remote identification changed error is sent to stderr, not the tty, so we do not handle it. -@@ -367,6 +379,10 @@ - char buffer[40]; - int ret=0; - -+ if( args.pwprompt ) { -+ compare1 = args.pwprompt; -+ } -+ - int numread=read(fd, buffer, sizeof(buffer) ); - - state1=match( compare1, buffer, numread, state1 ); diff --git a/security/sshpass/files/patch-sshpass.1 b/security/sshpass/files/patch-sshpass.1 deleted file mode 100644 index bb94b97ae126..000000000000 --- a/security/sshpass/files/patch-sshpass.1 +++ /dev/null @@ -1,22 +0,0 @@ ---- sshpass.1.orig 2011-08-06 06:58:25 UTC -+++ sshpass.1 -@@ -1,4 +1,4 @@ --.TH SSHPASS 1 "August 6, 2011" "Lingnu Open Source Consulting" "Sshpass User Manual" -+.TH SSHPASS 1 "April 24, 2015" "Lingnu Open Source Consulting" "Sshpass User Manual" - .\" Please adjust this date whenever revising the manpage. - .SH NAME - sshpass \- noninteractive ssh password provider -@@ -37,6 +37,13 @@ password is read from the open file desc - .TP - .B \-e - The password is taken from the environment variable "SSHPASS". -+.TP -+.B \-P -+Set the password prompt. Sshpass searched for this prompt in the program's -+output to the TTY as an indication when to send the password. By default -+sshpass looks for the string "assword:" (which matches both "Password:" and -+"password:"). If your client's prompt does not fall under either of these, -+you can override the default with this option. - .SH SECURITY CONSIDERATIONS - .P - First and foremost, users of sshpass should realize that ssh's insistance on |