summaryrefslogtreecommitdiffstats
path: root/etc/inc/system.inc
diff options
context:
space:
mode:
authorjim-p <jimp@pfsense.org>2012-04-12 11:07:25 -0400
committerjim-p <jimp@pfsense.org>2012-04-12 11:07:25 -0400
commitbd29bb7baa068cb92828461207ea35f74b6c2383 (patch)
treebfc5497948fa0da41b2bec24c687385467867fda /etc/inc/system.inc
parenta9d156bc55b31ec0ecf905fdd6be755f8d49fa9e (diff)
downloadpfsense-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.inc14
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;
}
OpenPOWER on IntegriCloud