From 93fcb8164f1b86b43ed7cb3cb65f2d634a46b1c5 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Wed, 6 May 2009 16:47:46 -0700 Subject: Allow specifying 'protocols' for syslog facility Since quagga uses local7, make it a real facility. Allow local7 for compatiablity. Bug 4263 --- scripts/system/vyatta_update_syslog.pl | 10 ++++++++-- templates/system/syslog/console/facility/node.def | 4 ++-- templates/system/syslog/file/node.tag/facility/node.def | 4 ++-- templates/system/syslog/global/facility/node.def | 4 ++-- templates/system/syslog/host/node.tag/facility/node.def | 4 ++-- templates/system/syslog/user/node.tag/facility/node.def | 4 ++-- 6 files changed, 18 insertions(+), 12 deletions(-) diff --git a/scripts/system/vyatta_update_syslog.pl b/scripts/system/vyatta_update_syslog.pl index 49662c30..534c9b77 100755 --- a/scripts/system/vyatta_update_syslog.pl +++ b/scripts/system/vyatta_update_syslog.pl @@ -43,6 +43,12 @@ sub add_entry { push @{ $entries{$target} }, $selector; } +# This allows overloading local values in CLI +my %facmap = ( + 'all' => '*', + 'protocols' => 'local7', +); + # This builds a data structure that maps from target # to selector list for that target sub read_config { @@ -50,8 +56,8 @@ sub read_config { foreach my $facility ( $config->listNodes("$level facility") ) { my $loglevel = $config->returnValue("$level facility $facility level"); - $facility = '*' if ( $facility eq 'all' ); - $loglevel = '*' if ( $loglevel eq 'all' ); + $facility = $facmap{$facility} if ( $facmap{$facility} ); + $loglevel = '*' if ( $loglevel eq 'all' ); add_entry( $facility . '.' . $loglevel, $target ); } diff --git a/templates/system/syslog/console/facility/node.def b/templates/system/syslog/console/facility/node.def index 4a565f6e..98b207d5 100644 --- a/templates/system/syslog/console/facility/node.def +++ b/templates/system/syslog/console/facility/node.def @@ -1,7 +1,7 @@ tag: type: txt help: Set facility for console logging -syntax:expression: $VAR(@) in "auth", "authpriv", "cron", "daemon", "kern", "lpr", "mail", "mark", "news", "security", "syslog", "user", "uucp", "local0", "local1", "local2", "local3", "local4", "local5", "local6", "local7", "all"; "\"$VAR(@)\" is not a valid logging facility" +syntax:expression: $VAR(@) in "auth", "authpriv", "cron", "daemon", "kern", "lpr", "mail", "mark", "news", "protocols", "security", "syslog", "user", "uucp", "local0", "local1", "local2", "local3", "local4", "local5", "local6", "local7", "all"; "\"$VAR(@)\" is not a valid logging facility" comp_help:Available logging facilities: all All facilities excluding "mark" auth Authentication and authorization @@ -13,6 +13,7 @@ comp_help:Available logging facilities: mail Mail subsystem mark Timestamp news USENET subsystem + protocols Routing protocols (local7) security Authentication and authorization syslog Authentication and authorization user Application processes @@ -24,4 +25,3 @@ comp_help:Available logging facilities: local4 Local facility 4 local5 Local facility 5 local6 Local facility 6 - local7 Local facility 7 diff --git a/templates/system/syslog/file/node.tag/facility/node.def b/templates/system/syslog/file/node.tag/facility/node.def index f793e9b4..37188925 100644 --- a/templates/system/syslog/file/node.tag/facility/node.def +++ b/templates/system/syslog/file/node.tag/facility/node.def @@ -1,7 +1,7 @@ tag: type: txt help: Set facility for file logging -syntax:expression: $VAR(@) in "auth", "authpriv", "cron", "daemon", "kern", "lpr", "mail", "mark", "news", "security", "syslog", "user", "uucp", "local0", "local1", "local2", "local3", "local4", "local5", "local6", "local7", "all"; "\"$VAR(@)\" is not a valid logging facility" +syntax:expression: $VAR(@) in "auth", "authpriv", "cron", "daemon", "kern", "lpr", "mail", "mark", "news", "protocols", "security", "syslog", "user", "uucp", "local0", "local1", "local2", "local3", "local4", "local5", "local6", "local7", "all"; "\"$VAR(@)\" is not a valid logging facility" comp_help:Available logging facilities: all All facilities excluding "mark" auth Authentication and authorization @@ -13,6 +13,7 @@ comp_help:Available logging facilities: mail Mail subsystem mark Timestamp news USENET subsystem + protocols Routing protocols (local7) security Authentication and authorization syslog Authentication and authorization user Application processes @@ -24,4 +25,3 @@ comp_help:Available logging facilities: local4 Local facility 4 local5 Local facility 5 local6 Local facility 6 - local7 Local facility 7 diff --git a/templates/system/syslog/global/facility/node.def b/templates/system/syslog/global/facility/node.def index 0616179f..bc8c094a 100644 --- a/templates/system/syslog/global/facility/node.def +++ b/templates/system/syslog/global/facility/node.def @@ -1,7 +1,7 @@ tag: type: txt help: Set facility for system logging -syntax:expression: $VAR(@) in "auth", "authpriv", "cron", "daemon", "kern", "lpr", "mail", "mark", "news", "security", "syslog", "user", "uucp", "local0", "local1", "local2", "local3", "local4", "local5", "local6", "local7", "all" ; "\"$VAR(@)\" is not a valid logging facility" +syntax:expression: $VAR(@) in "auth", "authpriv", "cron", "daemon", "kern", "lpr", "mail", "mark", "news", "protocols", "security", "syslog", "user", "uucp", "local0", "local1", "local2", "local3", "local4", "local5", "local6", "local7", "all" ; "\"$VAR(@)\" is not a valid logging facility" comp_help:Available logging facilities: all All facilities excluding "mark" auth Authentication and authorization @@ -13,6 +13,7 @@ comp_help:Available logging facilities: mail Mail subsystem mark Timestamp news USENET subsystem + protocols Routing protocols (local7) security Authentication and authorization syslog Authentication and authorization user Application processes @@ -24,4 +25,3 @@ comp_help:Available logging facilities: local4 Local facility 4 local5 Local facility 5 local6 Local facility 6 - local7 Local facility 7 diff --git a/templates/system/syslog/host/node.tag/facility/node.def b/templates/system/syslog/host/node.tag/facility/node.def index ba18add0..d5f6ef9b 100644 --- a/templates/system/syslog/host/node.tag/facility/node.def +++ b/templates/system/syslog/host/node.tag/facility/node.def @@ -1,7 +1,7 @@ tag: type: txt help: Set facility for host logging -syntax:expression: $VAR(@) in "auth", "authpriv", "cron", "daemon", "kern", "lpr", "mail", "mark", "news", "security", "syslog", "user", "uucp", "local0", "local1", "local2", "local3", "local4", "local5", "local6", "local7", "all"; "\"$VAR(@)\" is not a valid logging facility" +syntax:expression: $VAR(@) in "auth", "authpriv", "cron", "daemon", "kern", "lpr", "mail", "mark", "news", "protocols", "security", "syslog", "user", "uucp", "local0", "local1", "local2", "local3", "local4", "local5", "local6", "local7", "all"; "\"$VAR(@)\" is not a valid logging facility" comp_help:Available logging facilities: all All facilities excluding "mark" auth Authentication and authorization @@ -13,6 +13,7 @@ comp_help:Available logging facilities: mail Mail subsystem mark Timestamp news USENET subsystem + protocols Routing protocols (local7) security Authentication and authorization syslog Authentication and authorization user Application processes @@ -24,4 +25,3 @@ comp_help:Available logging facilities: local4 Local facility 4 local5 Local facility 5 local6 Local facility 6 - local7 Local facility 7 diff --git a/templates/system/syslog/user/node.tag/facility/node.def b/templates/system/syslog/user/node.tag/facility/node.def index 0d323521..91a3f2a6 100644 --- a/templates/system/syslog/user/node.tag/facility/node.def +++ b/templates/system/syslog/user/node.tag/facility/node.def @@ -1,7 +1,7 @@ tag: type: txt help: Set facility for user logging -syntax:expression: $VAR(@) in "auth", "authpriv", "cron", "daemon", "kern", "lpr", "mail", "mark", "news", "security", "syslog", "user", "uucp", "local0", "local1", "local2", "local3", "local4", "local5", "local6", "local7", "all"; "\"$VAR(@)\" is not a valid logging facility" +syntax:expression: $VAR(@) in "auth", "authpriv", "cron", "daemon", "kern", "lpr", "mail", "mark", "news", "protocols", "security", "syslog", "user", "uucp", "local0", "local1", "local2", "local3", "local4", "local5", "local6", "local7", "all"; "\"$VAR(@)\" is not a valid logging facility" comp_help:Available logging facilities: all All facilities excluding "mark" auth Authentication and authorization @@ -13,6 +13,7 @@ comp_help:Available logging facilities: mail Mail subsystem mark Timestamp news USENET subsystem + protocols Routing protocols (local7) security Authentication and authorization syslog Authentication and authorization user Application processes @@ -24,4 +25,3 @@ comp_help:Available logging facilities: local4 Local facility 4 local5 Local facility 5 local6 Local facility 6 - local7 Routing Daemons -- cgit v1.2.3 From c412935a4a66cbdc26d7a8a24a17621612eafc9e Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Wed, 6 May 2009 17:20:25 -0700 Subject: Reindent syslog script --- scripts/system/vyatta_update_syslog.pl | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/scripts/system/vyatta_update_syslog.pl b/scripts/system/vyatta_update_syslog.pl index 534c9b77..83fa9576 100755 --- a/scripts/system/vyatta_update_syslog.pl +++ b/scripts/system/vyatta_update_syslog.pl @@ -45,8 +45,8 @@ sub add_entry { # This allows overloading local values in CLI my %facmap = ( - 'all' => '*', - 'protocols' => 'local7', + 'all' => '*', + 'protocols' => 'local7', ); # This builds a data structure that maps from target @@ -56,8 +56,8 @@ sub read_config { foreach my $facility ( $config->listNodes("$level facility") ) { my $loglevel = $config->returnValue("$level facility $facility level"); - $facility = $facmap{$facility} if ( $facmap{$facility} ); - $loglevel = '*' if ( $loglevel eq 'all' ); + $facility = $facmap{$facility} if ( $facmap{$facility} ); + $loglevel = '*' if ( $loglevel eq 'all' ); add_entry( $facility . '.' . $loglevel, $target ); } @@ -90,7 +90,8 @@ foreach my $user ( $config->listNodes('user') ) { if ( -r $SYSLOG_CONF ) { system("sed -e '/$BEGIN_VYATTA/,/$END_VYATTA/d' <$SYSLOG_CONF >$SYSLOG_TMP") - == 0 or die "Can't read $SYSLOG_CONF"; + == 0 + or die "Can't read $SYSLOG_CONF"; } open my $out, '>>', $SYSLOG_TMP -- cgit v1.2.3