Update to 1.0.6
- While I'm here: - Add LICENSE_FILE - Regenerate patch file with makepatch: - Update WWW Changes: https://sourceforge.net/projects/sshpass/files/sshpass/1.06/ChangeLog/view PR: 216319 Submitted by: Hung-Yi Chen <gaod@hychen.org> (maintainer)
This commit is contained in:
parent
2a0931897a
commit
64129ffe3d
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=431989
6 changed files with 13 additions and 111 deletions
|
@ -2,8 +2,7 @@
|
|||
# $FreeBSD$
|
||||
|
||||
PORTNAME= sshpass
|
||||
PORTVERSION= 1.05
|
||||
PORTREVISION= 1
|
||||
PORTVERSION= 1.06
|
||||
CATEGORIES= security
|
||||
MASTER_SITES= SF/${PORTNAME}/sshpass/${PORTVERSION}
|
||||
|
||||
|
@ -11,6 +10,7 @@ MAINTAINER= gaod@hychen.org
|
|||
COMMENT= Non-interactive ssh password auth tool
|
||||
|
||||
LICENSE= GPLv2
|
||||
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||
|
||||
USES= autoreconf:env
|
||||
GNU_CONFIGURE= yes
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
SHA256 (sshpass-1.05.tar.gz) = c3f78752a68a0c3f62efb3332cceea0c8a1f04f7cf6b46e00ec0c3000bc8483e
|
||||
SIZE (sshpass-1.05.tar.gz) = 98362
|
||||
TIMESTAMP = 1484941121
|
||||
SHA256 (sshpass-1.06.tar.gz) = c6324fcee608b99a58f9870157dfa754837f8c48be3df0f5e2f3accf145dee60
|
||||
SIZE (sshpass-1.06.tar.gz) = 112205
|
||||
|
|
|
@ -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
|
|
@ -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 );
|
||||
|
|
|
@ -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
|
|
@ -2,4 +2,4 @@ Sshpass is a tool for non-interactively performing password authentication
|
|||
with SSH's so called "interactive keyboard password authentication".
|
||||
Most user should use SSH's more secure public key authentication instead.
|
||||
|
||||
WWW: http://sourceforge.net/projects/sshpass/
|
||||
WWW: https://sourceforge.net/projects/sshpass/
|
||||
|
|
Loading…
Reference in a new issue