svn commit: r240389 - head/usr.sbin/syslogd
Baptiste Daroussin
bapt at FreeBSD.org
Wed Sep 12 10:39:48 UTC 2012
Author: bapt
Date: Wed Sep 12 10:39:47 2012
New Revision: 240389
URL: http://svn.freebsd.org/changeset/base/240389
Log:
Add support for ipv6 addresses as destination
PR: bin/150530
Submitted by: andy white <andywhite at gmail.com>
Tested by: Olivier Cochard-Labbe <olivier at cochard.me>
MFC after: 1 month
Modified:
head/usr.sbin/syslogd/syslogd.c
Modified: head/usr.sbin/syslogd/syslogd.c
==============================================================================
--- head/usr.sbin/syslogd/syslogd.c Wed Sep 12 10:16:39 2012 (r240388)
+++ head/usr.sbin/syslogd/syslogd.c Wed Sep 12 10:39:47 2012 (r240389)
@@ -1931,6 +1931,7 @@ cfline(const char *line, struct filed *f
case '@':
{
char *tp;
+ char endkey = ':';
/*
* scan forward to see if there is a port defined.
* so we can't use strlcpy..
@@ -1939,9 +1940,19 @@ cfline(const char *line, struct filed *f
tp = f->f_un.f_forw.f_hname;
p++;
- while (*p && (*p != ':') && (i-- > 0)) {
+ /*
+ * an ipv6 address should start with a '[' in that case
+ * we should scan for a ']'
+ */
+ if (*p == '[') {
+ p++;
+ endkey = ']';
+ }
+ while (*p && (*p != endkey) && (i-- > 0)) {
*tp++ = *p++;
}
+ if (endkey == ']' && *p == endkey)
+ p++;
*tp = '\0';
}
/* See if we copied a domain and have a port */
More information about the svn-src-head
mailing list