diff options
author | jim-p <jimp@pfsense.org> | 2012-04-12 11:07:25 -0400 |
---|---|---|
committer | jim-p <jimp@pfsense.org> | 2012-04-12 11:07:25 -0400 |
commit | bd29bb7baa068cb92828461207ea35f74b6c2383 (patch) | |
tree | bfc5497948fa0da41b2bec24c687385467867fda /etc/inc/system.inc | |
parent | a9d156bc55b31ec0ecf905fdd6be755f8d49fa9e (diff) | |
download | pfsense-bd29bb7baa068cb92828461207ea35f74b6c2383.zip pfsense-bd29bb7baa068cb92828461207ea35f74b6c2383.tar.gz |
Add brackets to a syslog server if it's an IPv6 IP. (Though FreeBSD's syslogd still won't send to it ... http://www.freebsd.org/cgi/query-pr.cgi?pr=150530&cat=misc )
Diffstat (limited to 'etc/inc/system.inc')
-rw-r--r-- | etc/inc/system.inc | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/etc/inc/system.inc b/etc/inc/system.inc index 43103a9..d4603f2 100644 --- a/etc/inc/system.inc +++ b/etc/inc/system.inc @@ -479,6 +479,14 @@ function system_routing_enable() { return; } +function system_syslogd_fixup_server($server) { + /* If it's an IPv6 IP alone, encase it in brackets */ + if (is_ipaddrv6($server)) + return "[$server]"; + else + return $server; +} + function system_syslogd_get_remote_servers($syslogcfg, $facility = "*.*") { // Rather than repeatedly use the same code, use this function to build a list of remote servers. $facility .= " ". @@ -486,11 +494,11 @@ function system_syslogd_get_remote_servers($syslogcfg, $facility = "*.*") { $pad_to = 56; $padding = ceil(($pad_to - strlen($facility))/8)+1; if($syslogcfg['remoteserver']) - $remote_servers .= "{$facility}" . str_repeat("\t", $padding) . "@{$syslogcfg['remoteserver']}\n"; + $remote_servers .= "{$facility}" . str_repeat("\t", $padding) . "@" . system_syslogd_fixup_server($syslogcfg['remoteserver']) . "\n"; if($syslogcfg['remoteserver2']) - $remote_servers .= "{$facility}" . str_repeat("\t", $padding) . "@{$syslogcfg['remoteserver2']}\n"; + $remote_servers .= "{$facility}" . str_repeat("\t", $padding) . "@" . system_syslogd_fixup_server($syslogcfg['remoteserver2']) . "\n"; if($syslogcfg['remoteserver3']) - $remote_servers .= "{$facility}" . str_repeat("\t", $padding) . "@{$syslogcfg['remoteserver3']}\n"; + $remote_servers .= "{$facility}" . str_repeat("\t", $padding) . "@" . system_syslogd_fixup_server($syslogcfg['remoteserver3']) . "\n"; return $remote_servers; } |