From 20a8f97b034df418d0e5e04b11000b44ab07e628 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Sun, 18 May 2003 20:50:30 +1000 Subject: - djm@cvs.openbsd.org 2003/05/16 03:27:12 [readconf.c ssh_config ssh_config.5 ssh-keysign.c] add AddressFamily option to ssh_config (like -4, -6 on commandline). Portable bug #534; ok markus@ --- ChangeLog | 7 ++++++- readconf.c | 17 ++++++++++++++++- ssh-keysign.c | 6 ++++-- ssh_config | 3 ++- ssh_config.5 | 9 ++++++++- 5 files changed, 36 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6046e1fec..6b657c8ee 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,11 @@ 20030517 - (djm) Return of the dreaded PAM_TTY_KLUDGE, which went missing in recent merge + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2003/05/16 03:27:12 + [readconf.c ssh_config ssh_config.5 ssh-keysign.c] + add AddressFamily option to ssh_config (like -4, -6 on commandline). + Portable bug #534; ok markus@ 20030517 - (bal) strcat -> strlcat on openbsd-compat/realpath.c (rev 1.8 OpenBSD) @@ -1556,4 +1561,4 @@ save auth method before monitor_reset_key_state(); bugzilla bug #284; ok provos@ -$Id: ChangeLog,v 1.2732 2003/05/18 10:45:47 djm Exp $ +$Id: ChangeLog,v 1.2733 2003/05/18 10:50:30 djm Exp $ diff --git a/readconf.c b/readconf.c index a0cf3d687..2a77ea14f 100644 --- a/readconf.c +++ b/readconf.c @@ -12,7 +12,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: readconf.c,v 1.111 2003/05/15 14:55:25 djm Exp $"); +RCSID("$OpenBSD: readconf.c,v 1.112 2003/05/16 03:27:12 djm Exp $"); #include "ssh.h" #include "xmalloc.h" @@ -107,6 +107,7 @@ typedef enum { oHostKeyAlgorithms, oBindAddress, oSmartcardDevice, oClearAllForwardings, oNoHostAuthenticationForLocalhost, oEnableSSHKeysign, oRekeyLimit, oVerifyHostKeyDNS, oConnectTimeout, + oAddressFamily, oDeprecated, oUnsupported } OpCodes; @@ -194,6 +195,7 @@ static struct { { "nohostauthenticationforlocalhost", oNoHostAuthenticationForLocalhost }, { "rekeylimit", oRekeyLimit }, { "connecttimeout", oConnectTimeout }, + { "addressfamily", oAddressFamily }, { NULL, oBadOption } }; @@ -286,6 +288,7 @@ process_config_line(Options *options, const char *host, size_t len; u_short fwd_port, fwd_host_port; char sfwd_host_port[6]; + extern int IPv4or6; /* Strip trailing whitespace */ for(len = strlen(line) - 1; len > 0; len--) { @@ -720,6 +723,18 @@ parse_int: *intptr = value; break; + case oAddressFamily: + arg = strdelim(&s); + if (strcasecmp(arg, "inet") == 0) + IPv4or6 = AF_INET; + else if (strcasecmp(arg, "inet6") == 0) + IPv4or6 = AF_INET6; + else if (strcasecmp(arg, "any") == 0) + IPv4or6 = AF_UNSPEC; + else + fatal("Unsupported AddressFamily \"%s\"", arg); + break; + case oEnableSSHKeysign: intptr = &options->enable_ssh_keysign; goto parse_flag; diff --git a/ssh-keysign.c b/ssh-keysign.c index 97a76cd9f..063364ee7 100644 --- a/ssh-keysign.c +++ b/ssh-keysign.c @@ -22,7 +22,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "includes.h" -RCSID("$OpenBSD: ssh-keysign.c,v 1.11 2003/04/02 14:36:26 markus Exp $"); +RCSID("$OpenBSD: ssh-keysign.c,v 1.12 2003/05/16 03:27:12 djm Exp $"); #include #include @@ -42,7 +42,9 @@ RCSID("$OpenBSD: ssh-keysign.c,v 1.11 2003/04/02 14:36:26 markus Exp $"); #include "pathnames.h" #include "readconf.h" -uid_t original_real_uid; /* XXX readconf.c needs this */ +/* XXX readconf.c needs these */ +uid_t original_real_uid; +int IPv4or6; #ifdef HAVE___PROGNAME extern char *__progname; diff --git a/ssh_config b/ssh_config index 8a0acc17f..721e374e0 100644 --- a/ssh_config +++ b/ssh_config @@ -1,4 +1,4 @@ -# $OpenBSD: ssh_config,v 1.17 2003/05/15 14:55:25 djm Exp $ +# $OpenBSD: ssh_config,v 1.18 2003/05/16 03:27:12 djm Exp $ # This is the ssh client system-wide configuration file. See # ssh_config(5) for more information. This file provides defaults for @@ -25,6 +25,7 @@ # HostbasedAuthentication no # BatchMode no # CheckHostIP yes +# AddressFamily any # ConnectTimeout 0 # StrictHostKeyChecking ask # IdentityFile ~/.ssh/identity diff --git a/ssh_config.5 b/ssh_config.5 index c5de4a9de..67166b758 100644 --- a/ssh_config.5 +++ b/ssh_config.5 @@ -34,7 +34,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $OpenBSD: ssh_config.5,v 1.9 2003/05/15 14:55:25 djm Exp $ +.\" $OpenBSD: ssh_config.5,v 1.10 2003/05/16 03:27:12 djm Exp $ .Dd September 25, 1999 .Dt SSH_CONFIG 5 .Os @@ -115,6 +115,13 @@ The host is the .Ar hostname argument given on the command line (i.e., the name is not converted to a canonicalized host name before matching). +.It Cm AddressFamily +Specifies which address family to use when connecting. Valid arguments are +.Dq any , +.Dq inet +(Use IPv4 only) or +.Dq inet6 +(Use IPv6 only.) .It Cm AFSTokenPassing Specifies whether to pass AFS tokens to remote host. The argument to this keyword must be -- cgit v1.2.3