summaryrefslogtreecommitdiffstats
path: root/etc/inc/system.inc
diff options
context:
space:
mode:
authorjim-p <jimp@pfsense.org>2013-10-24 16:32:12 -0400
committerjim-p <jimp@pfsense.org>2013-10-24 16:33:56 -0400
commitcbe12b8de3fa374e535d4478ab84a4a2c5f6e725 (patch)
tree741c11985b39b1e6bdc654bb68760a969afff0d7 /etc/inc/system.inc
parentb8250344f5f02851259ffde6fed8da40ddeaf0af (diff)
downloadpfsense-cbe12b8de3fa374e535d4478ab84a4a2c5f6e725.zip
pfsense-cbe12b8de3fa374e535d4478ab84a4a2c5f6e725.tar.gz
Add source address selection to syslog settings, so it can work more effectively over a VPN. Fixes #355
Diffstat (limited to 'etc/inc/system.inc')
-rw-r--r--etc/inc/system.inc18
1 files changed, 17 insertions, 1 deletions
diff --git a/etc/inc/system.inc b/etc/inc/system.inc
index 689dec7..405785d 100644
--- a/etc/inc/system.inc
+++ b/etc/inc/system.inc
@@ -769,7 +769,23 @@ EOD;
if (!is_dir("{$g['dhcpd_chroot_path']}/var/run"))
exec("/bin/mkdir -p {$g['dhcpd_chroot_path']}/var/run");
- $retval = mwexec_bg("/usr/sbin/syslogd -s -c -c -l {$g['dhcpd_chroot_path']}/var/run/log -f {$g['varetc_path']}/syslog.conf");
+ $sourceip = "";
+ if (!empty($syslogcfg['sourceip'])) {
+ if ($syslogcfg['ipproto'] == "ipv6") {
+ $ifaddr = is_ipaddr($syslogcfg['sourceip']) ? $syslogcfg['sourceip'] : get_interface_ipv6($syslogcfg['sourceip']);
+ if (!is_ipaddr($ifaddr))
+ $ifaddr = get_interface_ip($syslogcfg['sourceip']);
+ } else {
+ $ifaddr = is_ipaddr($syslogcfg['sourceip']) ? $syslogcfg['sourceip'] : get_interface_ip($syslogcfg['sourceip']);
+ if (!is_ipaddr($ifaddr))
+ $ifaddr = get_interface_ipv6($syslogcfg['sourceip']);
+ }
+ if (is_ipaddr($ifaddr)) {
+ $sourceip = "-b {$ifaddr}";
+ }
+ }
+
+ $retval = mwexec_bg("/usr/sbin/syslogd -s -c -c -l {$g['dhcpd_chroot_path']}/var/run/log -f {$g['varetc_path']}/syslog.conf {$sourceip}");
} else {
$retval = mwexec_bg("/usr/sbin/syslogd -s -c -c -l {$g['dhcpd_chroot_path']}/var/run/log");
OpenPOWER on IntegriCloud