diff options
author | Darren Tucker <dtucker@cvs.openbsd.org> | 2005-08-06 10:03:13 +0000 |
---|---|---|
committer | Darren Tucker <dtucker@cvs.openbsd.org> | 2005-08-06 10:03:13 +0000 |
commit | b03d0711c9c1ef5378f8520681fc1c2d3ab5aa54 (patch) | |
tree | bb2b8f535742ffbb926f62679d89283cfbb2eab3 | |
parent | eeb999e0c01ee45a0d0254d22d5f1107f2c2f96f (diff) |
Unbreak sshd ListenAddress for bare IPv6 addresses.
Report from Janusz Mucka; ok djm@
-rw-r--r-- | usr.bin/ssh/servconf.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/usr.bin/ssh/servconf.c b/usr.bin/ssh/servconf.c index 7207b1072bd..76e50eb0d8c 100644 --- a/usr.bin/ssh/servconf.c +++ b/usr.bin/ssh/servconf.c @@ -10,7 +10,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: servconf.c,v 1.143 2005/07/25 11:59:40 markus Exp $"); +RCSID("$OpenBSD: servconf.c,v 1.144 2005/08/06 10:03:12 dtucker Exp $"); #include "ssh.h" #include "log.h" @@ -476,6 +476,12 @@ parse_time: if (arg == NULL || *arg == '\0') fatal("%s line %d: missing address", filename, linenum); + /* check for bare IPv6 address: no "[]" and 2 or more ":" */ + if (strchr(arg, '[') == NULL && (p = strchr(arg, ':')) != NULL + && strchr(p+1, ':') != NULL) { + add_listen_addr(options, arg, 0); + break; + } p = hpdelim(&arg); if (p == NULL) fatal("%s line %d: bad address:port usage", |