diff options
author | Hiroki Sato <hrs@FreeBSD.org> | 2017-03-20 17:46:33 +0000 |
---|---|---|
committer | Hiroki Sato <hrs@FreeBSD.org> | 2017-03-20 17:46:33 +0000 |
commit | f7f99edf3f493bcf2c8fdc77c34dbcd6e5dee4be (patch) | |
tree | fd4b7e92ac1407fcb16c59e9d464f6ab8dc21b17 /usr.sbin/syslogd | |
parent | 295685c5c1f1b55e360c6328f6323a72a199c160 (diff) | |
download | src-f7f99edf3f493bcf2c8fdc77c34dbcd6e5dee4be.tar.gz src-f7f99edf3f493bcf2c8fdc77c34dbcd6e5dee4be.zip |
Fix a regression which prevented an IPv6 address in a -b option from
working.
PR: 217939
Differential Revision: https://reviews.freebsd.org/D10064
Notes
Notes:
svn path=/head/; revision=315643
Diffstat (limited to 'usr.sbin/syslogd')
-rw-r--r-- | usr.sbin/syslogd/syslogd.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/usr.sbin/syslogd/syslogd.c b/usr.sbin/syslogd/syslogd.c index dea71b03cb4e..fa669c2c5b24 100644 --- a/usr.sbin/syslogd/syslogd.c +++ b/usr.sbin/syslogd/syslogd.c @@ -477,7 +477,15 @@ main(int argc, char *argv[]) break; case 'b': bflag = 1; - if ((p = strchr(optarg, ':')) == NULL) { + p = strchr(optarg, ']'); + if (p != NULL) + p = strchr(p + 1, ':'); + else { + p = strchr(optarg, ':'); + if (p != NULL && strchr(p + 1, ':') != NULL) + p = NULL; /* backward compatibility */ + } + if (p == NULL) { /* A hostname or filename only. */ addpeer(&(struct peer){ .pe_name = optarg, |