freebsd-ports/security/ssh/files/patch-br
Torsten Blum eb66565459 Add IPv6 support to ssh.
The IPv6 patch was obtained from the kame repository and has been
been writen by KIKUCHI Takahiro <kick@kyoto.wide.ad.jp>

Due to the whole mess with different patches it was necessary to include
both the IPv6 patch and patch-ssh-1.2.27-bsd.tty.chown in ${PATCHDIR}.
Since both patches modify the configure script it was also necessary
to rebuild it via autoconf from configure.in. I've decided to use
USE_AUTOCONF instead of including the re-build configure script in
${FILESDIR}

Obtained from:	KAME/WIDE
2000-01-14 19:37:39 +00:00

98 lines
2.8 KiB
Plaintext

*** ssh.c.orig Wed May 12 13:19:28 1999
--- ssh.c Mon Jan 10 22:56:13 2000
***************
*** 218,223 ****
--- 218,231 ----
other functions. */
RandomState random_state;
+ /* Flag indicating whether IPv4 or IPv6. This can be set on the command line.
+ Default value is AF_UNSPEC means both IPv4 and IPv6. */
+ #ifdef ENABLE_IPV6
+ int IPv4or6 = AF_UNSPEC;
+ #else
+ int IPv4or6 = AF_INET;
+ #endif
+
/* Flag indicating whether debug mode is on. This can be set on the
command line. */
int debug_flag = 0;
***************
*** 277,282 ****
--- 285,297 ----
{
fprintf(stderr, "Usage: %s [options] host [command]\n", av0);
fprintf(stderr, "Options:\n");
+ fprintf(stderr, " -4 Use IPv4 only.\n");
+ #ifdef ENABLE_IPV6
+ fprintf(stderr, " -6 Use IPv6 only.\n");
+ #endif
+ #ifdef ENABLE_ANOTHER_PORT_TRY
+ fprintf(stderr, " -A Try to connect to another port before original port.\n");
+ #endif /* ENABLE_ANOTHER_PORT_TRY */
fprintf(stderr, " -l user Log in using this user name.\n");
fprintf(stderr, " -n Redirect input from /dev/null.\n");
fprintf(stderr, " -a Disable authentication agent forwarding.\n");
***************
*** 413,418 ****
--- 428,436 ----
#ifdef SIGWINCH
struct winsize ws;
#endif /* SIGWINCH */
+ #ifdef ENABLE_ANOTHER_PORT_TRY
+ int another_port_flag = 0;
+ #endif /* ENABLE_ANOTHER_PORT_TRY */
/* Save the original real uid. It will be needed later (uid-swapping may
clobber the real uid). */
***************
*** 522,527 ****
--- 540,565 ----
}
switch (opt)
{
+ case '4':
+ #ifdef ENABLE_IPV6
+ IPv4or6 = (IPv4or6 == AF_INET6) ? AF_UNSPEC : AF_INET;
+ #else
+ IPv4or6 = AF_INET;
+ #endif
+ break;
+
+ #ifdef ENABLE_IPV6
+ case '6':
+ IPv4or6 = (IPv4or6 == AF_INET) ? AF_UNSPEC : AF_INET6;
+ break;
+ #endif
+
+ #ifdef ENABLE_ANOTHER_PORT_TRY
+ case 'A':
+ another_port_flag = 1;
+ break;
+ #endif /* ENABLE_ANOTHER_PORT_TRY */
+
case 'n':
stdin_null_flag = 1;
break;
***************
*** 789,799 ****
--- 827,844 ----
{
use_privileged_port = 0;
}
+ #ifdef ENABLE_ANOTHER_PORT_TRY
+ if (!another_port_flag)
+ options.another_port = 0;
+ #endif /* ENABLE_ANOTHER_PORT_TRY */
/* Open a connection to the remote host. This needs root privileges if
rhosts_authentication is true. Note that the random_state is not
yet used by this call, although a pointer to it is stored, and thus it
need not be initialized. */
ok = ssh_connect(host, options.port, options.connection_attempts,
+ #ifdef ENABLE_ANOTHER_PORT_TRY
+ options.another_port,
+ #endif /* ENABLE_ANOTHER_PORT_TRY */
!use_privileged_port,
original_real_uid, options.proxy_command, &random_state);