diff options
author | edwin <edwin@FreeBSD.org> | 2003-04-29 11:09:11 +0800 |
---|---|---|
committer | edwin <edwin@FreeBSD.org> | 2003-04-29 11:09:11 +0800 |
commit | 89884fe58baeeb86c255903cde0b1da40ba56ee1 (patch) | |
tree | e17257c29be529ece6b87a503f7e258a601e5006 /ftp/gftp/files | |
parent | a16b9801524984d9d4dd3698d89fb9ff6e149378 (diff) | |
download | freebsd-ports-graphics-89884fe58baeeb86c255903cde0b1da40ba56ee1.tar.gz freebsd-ports-graphics-89884fe58baeeb86c255903cde0b1da40ba56ee1.tar.zst freebsd-ports-graphics-89884fe58baeeb86c255903cde0b1da40ba56ee1.zip |
update-port: ftp/gftp
make ssh2 connects working w/o the ssh-askpass utility (fix the
code how to acquire a [pt]ty pair) The user may still choose the
ssh-askpass way inside the application. That way is just no longer
forced (as i did with the last update). Now it's possible to choose
between direct password-sending from the application, or sending
the password with the ssh-askass utility.
PR: ports/51391
Submitted by: Oliver Lehmann <lehmann@ans-netz.de>
Diffstat (limited to 'ftp/gftp/files')
-rw-r--r-- | ftp/gftp/files/patch-configure | 8 | ||||
-rw-r--r-- | ftp/gftp/files/patch-lib::misc.c | 12 | ||||
-rw-r--r-- | ftp/gftp/files/patch-lib::options.h | 16 | ||||
-rw-r--r-- | ftp/gftp/files/patch-lib::sshv2.c | 63 |
4 files changed, 69 insertions, 30 deletions
diff --git a/ftp/gftp/files/patch-configure b/ftp/gftp/files/patch-configure index d86466fefad..be29119ab3d 100644 --- a/ftp/gftp/files/patch-configure +++ b/ftp/gftp/files/patch-configure @@ -1,5 +1,13 @@ --- configure.orig Wed Nov 27 17:25:51 2002 +++ configure Wed Nov 27 17:30:47 2002 +@@ -3988,6 +3988,7 @@ + + GFTP_TEXT="" + EXTRA_LIBS="" ++EXTRA_LIBS="$EXTRA_LIBS -lutil" + USE_READLINE="yes" + READLINE_LIBS="" + if test "x$enable_textport" = "x1" ; then @@ -4725,9 +4725,9 @@ rm -f conf.gtktest diff --git a/ftp/gftp/files/patch-lib::misc.c b/ftp/gftp/files/patch-lib::misc.c new file mode 100644 index 00000000000..fc16bc56363 --- /dev/null +++ b/ftp/gftp/files/patch-lib::misc.c @@ -0,0 +1,12 @@ +--- lib/misc.c.orig Fri Dec 6 03:28:19 2002 ++++ lib/misc.c Fri Apr 25 01:51:48 2003 +@@ -881,7 +881,8 @@ + diff += rd; + tempstr[diff] = '\0'; + +- if (diff > 11 && strcmp (tempstr + diff - 10, "password: ") == 0) ++ if ( (strcmp (tempstr, "Password:") == 0) || ++ (diff > 11 && strcmp (tempstr + diff - 10, "password: ") == 0) ) + { + if (wrotepw) + { diff --git a/ftp/gftp/files/patch-lib::options.h b/ftp/gftp/files/patch-lib::options.h deleted file mode 100644 index 221a4d7f0ee..00000000000 --- a/ftp/gftp/files/patch-lib::options.h +++ /dev/null @@ -1,16 +0,0 @@ ---- lib/options.h.orig Wed Apr 23 22:50:37 2003 -+++ lib/options.h Wed Apr 23 22:51:13 2003 -@@ -26,9 +26,13 @@ - {"FTP", rfc959_init, "ftp", 1}, - {"HTTP", rfc2068_init, "http", 1}, - {"Local", local_init, "file", 1}, -+#ifdef WITH_SSH - {"SSH2", sshv2_init, "ssh2", 1}, -+#endif - {"Bookmark", bookmark_init, "bookmark", 0}, -+#ifdef WITH_SSH - {"SSH", ssh_init, "ssh", 1}, -+#endif - {NULL, NULL, NULL, 0} - }; - diff --git a/ftp/gftp/files/patch-lib::sshv2.c b/ftp/gftp/files/patch-lib::sshv2.c index 3e0e4452ab5..fb8c868b459 100644 --- a/ftp/gftp/files/patch-lib::sshv2.c +++ b/ftp/gftp/files/patch-lib::sshv2.c @@ -1,17 +1,6 @@ ---- lib/sshv2.c.orig Wed Apr 23 22:45:50 2003 -+++ lib/sshv2.c Wed Apr 23 22:41:59 2003 -@@ -523,7 +523,9 @@ - int version, fdm, fds, s[2]; - sshv2_message message; - pid_t child; -- -+#ifdef __FreeBSD__ -+ ssh_use_askpass=TRUE; -+#endif - g_return_val_if_fail (request != NULL, -2); - g_return_val_if_fail (request->protonum == GFTP_SSHV2_NUM, -2); - g_return_val_if_fail (request->hostname != NULL, -2); -@@ -543,8 +545,13 @@ +--- lib/sshv2.c.orig Sat Nov 23 15:34:25 2002 ++++ lib/sshv2.c Thu Apr 24 21:57:04 2003 +@@ -543,8 +543,13 @@ if (request->sftpserv_path == NULL || *request->sftpserv_path == '\0') { @@ -25,3 +14,49 @@ } else { +@@ -570,6 +575,15 @@ + else + { + s[0] = s[1] = 0; ++#ifdef __FreeBSD__ ++ if( openpty( &fdm, &fds, &pts_name, NULL, NULL ) < 0 ) ++ { ++ request->logging_function (gftp_logging_error, request->user_data, ++ _("Cannot create a socket pair: %s\n"), ++ g_strerror (errno)); ++ return (-2); ++ } ++#else + if ((fdm = ptym_open (pts_name)) < 0) + { + request->logging_function (gftp_logging_error, request->user_data, +@@ -577,6 +591,7 @@ + g_strerror (errno)); + return (-2); + } ++#endif + } + + if ((child = fork ()) == 0) +@@ -589,6 +604,13 @@ + } + else + { ++#ifdef __FreeBSD__ ++ close (fdm); ++ if( ioctl( fds, TIOCSCTTY, NULL ) < 0 ) ++ { ++ return( -2 ); ++ } ++#else + if ((fds = ptys_open (fdm, pts_name)) < 0) + { + printf ("Cannot open slave pts %s: %s\n", pts_name, +@@ -596,6 +618,7 @@ + return (-1); + } + close (fdm); ++#endif + } + + tty_raw (fds); |