Author: eadler
Date: Fri Oct 12 02:10:27 2012
New Revision: 241473
URL: http://svn.freebsd.org/changeset/base/241473

Log:
  MFC r240389,r240409:
  -     Add support for ipv6 addresses as destination
  -     Add documentation for IPv6 support
  
  PR:           docs/171580
  Approved by:  cperciva (implicit)

Modified:
  stable/9/usr.sbin/syslogd/syslog.conf.5
  stable/9/usr.sbin/syslogd/syslogd.c
Directory Properties:
  stable/9/usr.sbin/syslogd/   (props changed)

Modified: stable/9/usr.sbin/syslogd/syslog.conf.5
==============================================================================
--- stable/9/usr.sbin/syslogd/syslog.conf.5     Fri Oct 12 02:10:26 2012        
(r241472)
+++ stable/9/usr.sbin/syslogd/syslog.conf.5     Fri Oct 12 02:10:27 2012        
(r241473)
@@ -28,7 +28,7 @@
 .\"     @(#)syslog.conf.5      8.1 (Berkeley) 6/9/93
 .\" $FreeBSD$
 .\"
-.Dd December 23, 2008
+.Dd September 12, 2012
 .Dt SYSLOG.CONF 5
 .Os
 .Sh NAME
@@ -347,6 +347,14 @@ If a port number is added after a colon
 .Pq Ql :\&
 then that port will be used as the destination port
 rather than the usual syslog port.
+IPv6 addresses can be used
+by surrounding the address portion with
+square brackets
+.Po
+.Ql [\&
+and
+.Ql ]\&
+.Pc .
 .It
 A comma separated list of users.
 Selected messages are written to those users

Modified: stable/9/usr.sbin/syslogd/syslogd.c
==============================================================================
--- stable/9/usr.sbin/syslogd/syslogd.c Fri Oct 12 02:10:26 2012        
(r241472)
+++ stable/9/usr.sbin/syslogd/syslogd.c Fri Oct 12 02:10:27 2012        
(r241473)
@@ -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 */
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to