Project

General

Profile

« Previous | Next » 

Revision bd29bb7b

Added by Jim Pingle about 13 years ago

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 )

View differences:

etc/inc/system.inc
479 479
	return;
480 480
}
481 481

  
482
function system_syslogd_fixup_server($server) {
483
	/* If it's an IPv6 IP alone, encase it in brackets */
484
	if (is_ipaddrv6($server))
485
		return "[$server]";
486
	else
487
		return $server;
488
}
489

  
482 490
function system_syslogd_get_remote_servers($syslogcfg, $facility = "*.*") {
483 491
	// Rather than repeatedly use the same code, use this function to build a list of remote servers.
484 492
	$facility .= " ".
......
486 494
	$pad_to  = 56;
487 495
	$padding = ceil(($pad_to - strlen($facility))/8)+1;
488 496
	if($syslogcfg['remoteserver'])
489
		$remote_servers .= "{$facility}" . str_repeat("\t", $padding) . "@{$syslogcfg['remoteserver']}\n";
497
		$remote_servers .= "{$facility}" . str_repeat("\t", $padding) . "@" . system_syslogd_fixup_server($syslogcfg['remoteserver']) . "\n";
490 498
	if($syslogcfg['remoteserver2'])
491
		$remote_servers .= "{$facility}" . str_repeat("\t", $padding) . "@{$syslogcfg['remoteserver2']}\n";
499
		$remote_servers .= "{$facility}" . str_repeat("\t", $padding) . "@" . system_syslogd_fixup_server($syslogcfg['remoteserver2']) . "\n";
492 500
	if($syslogcfg['remoteserver3'])
493
		$remote_servers .= "{$facility}" . str_repeat("\t", $padding) . "@{$syslogcfg['remoteserver3']}\n";
501
		$remote_servers .= "{$facility}" . str_repeat("\t", $padding) . "@" . system_syslogd_fixup_server($syslogcfg['remoteserver3']) . "\n";
494 502
	return $remote_servers;
495 503
}
496 504

  

Also available in: Unified diff