From fc03e0fdf3e7389ee668d66cf7224df2aaaaa95b Mon Sep 17 00:00:00 2001 From: John Estabrook <jestabro@sentrium.io> Date: Mon, 25 Nov 2019 10:13:00 -0600 Subject: T1824: set write permissions for cfg_group on vyos-migrate.log --- python/vyos/migrator.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/python/vyos/migrator.py b/python/vyos/migrator.py index 86e1af183..281c247db 100644 --- a/python/vyos/migrator.py +++ b/python/vyos/migrator.py @@ -80,6 +80,8 @@ class Migrator(object): """ self._log_file = os.path.join(vyos.defaults.directories['config'], 'vyos-migrate.log') + # on creation, allow write permission for cfg_group + os.umask(0o113) try: log = open('{0}'.format(self._log_file), 'w') log.write("List of executed migration scripts:\n") -- cgit v1.2.3 From 3d2cdbdbaadc5a6c7ad50254f61744c222dae438 Mon Sep 17 00:00:00 2001 From: John Estabrook <jestabro@sentrium.io> Date: Mon, 25 Nov 2019 14:07:43 -0600 Subject: T1824: restore original umask --- python/vyos/migrator.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/python/vyos/migrator.py b/python/vyos/migrator.py index 281c247db..f05228041 100644 --- a/python/vyos/migrator.py +++ b/python/vyos/migrator.py @@ -80,15 +80,18 @@ class Migrator(object): """ self._log_file = os.path.join(vyos.defaults.directories['config'], 'vyos-migrate.log') - # on creation, allow write permission for cfg_group - os.umask(0o113) + # on creation, allow write permission for cfg_group; + # restore original umask on exit + mask = os.umask(0o113) try: log = open('{0}'.format(self._log_file), 'w') log.write("List of executed migration scripts:\n") except Exception as e: + os.umask(mask) print("Logging error: {0}".format(e)) return None + os.umask(mask) return log def run_migration_scripts(self, config_file_versions, system_versions): -- cgit v1.2.3 From 679b23dcc20e1244eb06bb3c91b42fd7bf217fc0 Mon Sep 17 00:00:00 2001 From: hagbard <vyosdev@derith.de> Date: Wed, 27 Nov 2019 15:05:53 -0800 Subject: syslog: typo fixed --- interface-definitions/syslog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface-definitions/syslog.xml b/interface-definitions/syslog.xml index 3c8d2ebe2..0f9d600d9 100644 --- a/interface-definitions/syslog.xml +++ b/interface-definitions/syslog.xml @@ -292,7 +292,7 @@ </valueHelp> <valueHelp> <format>tcp</format> - <description>send log messages to remote syslog server over tdp</description> + <description>send log messages to remote syslog server over tcp</description> </valueHelp> </properties> </leafNode> -- cgit v1.2.3 From 9b7f11bd469d788292d0c5461adabdd5a3fed87b Mon Sep 17 00:00:00 2001 From: zdc <zdc@users.noreply.github.com> Date: Thu, 28 Nov 2019 09:17:14 +0200 Subject: dhcp-serverr: T1825: replaced DHCP configuration error message Previous one DHCP configuration error message does not point that DHCP server work only with primary IP address on interface. --- src/conf_mode/dhcp_server.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/conf_mode/dhcp_server.py b/src/conf_mode/dhcp_server.py index af803a696..c2a188812 100755 --- a/src/conf_mode/dhcp_server.py +++ b/src/conf_mode/dhcp_server.py @@ -793,9 +793,9 @@ def verify(dhcp): raise ConfigError('DHCP conflicting subnet ranges: {0} overlaps {1}'.format(net, net2)) if not listen_ok: - raise ConfigError('None of the DHCP lease subnets are inside any configured subnet on\n' \ - 'broadcast interfaces. At least one lease subnet must be set such that\n' \ - 'DHCP server listens on a one broadcast interface!') + raise ConfigError('DHCP server configuration error!\n' \ + 'None of configured DHCP subnets does not have appropriate\n' \ + 'primary IP address on any broadcast interface.') return None -- cgit v1.2.3 From dad110ce666edae42ac18c59a800bda503589f27 Mon Sep 17 00:00:00 2001 From: hagbard <vyosdev@derith.de> Date: Thu, 28 Nov 2019 08:53:54 -0800 Subject: syslog: T1828: implemented missing completion help and add input constraints syslog: Improved constraint for host/IP check --- interface-definitions/syslog.xml | 53 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 50 insertions(+), 3 deletions(-) diff --git a/interface-definitions/syslog.xml b/interface-definitions/syslog.xml index 0f9d600d9..d5ea4511e 100644 --- a/interface-definitions/syslog.xml +++ b/interface-definitions/syslog.xml @@ -27,6 +27,10 @@ <completionHelp> <list>auth authpriv cron daemon kern lpr mail mark news protocols security syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7 all</list> </completionHelp> + <constraint> + <regex>(auth|authpriv|cron|daemon|kern|lpr|mail|mark|news|protocols|security|syslog|user|uucp|local0|local1|local2|local3|local4|local5|local6|local7|all)</regex> + </constraint> + <constraintErrorMessage>Invalid facility type</constraintErrorMessage> <valueHelp> <format>all</format> <description>All facilities excluding "mark"</description> @@ -127,6 +131,10 @@ <completionHelp> <list>emerg alert crit err warning notice info debug all</list> </completionHelp> + <constraint> + <regex>(emerg|alert|crit|err|warning|notice|info|debug|all)</regex> + </constraint> + <constraintErrorMessage>Invalid loglevel</constraintErrorMessage> <valueHelp> <format>emerg</format> <description>Emergency messages</description> @@ -173,10 +181,10 @@ <properties> <help>Logging to a remote host</help> <constraint> - <!-- at least let's make sure whitespace isn't allowed, ideally it should be checked for IPv4/IPv6 address or fqdn/hostname --> - <regex>[^ ]{1,63}</regex> + <validator name="ip-address" /> + <regex>(?=^.{4,253}$)(^((?!-)[a-zA-Z0-9-]{0,62}[a-zA-Z0-9]\.)+[a-zA-Z]{2,63}$)</regex> </constraint> - <constraintErrorMessage>illegal characters in user</constraintErrorMessage> + <constraintErrorMessage>Invalid host FQDN or IP address</constraintErrorMessage> <valueHelp> <format>x.x.x.x or host.domain.tld</format> <description>Remote host name or IP address</description> @@ -189,6 +197,10 @@ <completionHelp> <list>auth authpriv cron daemon kern lpr mail mark news protocols security syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7 all</list> </completionHelp> + <constraint> + <regex>(auth|authpriv|cron|daemon|kern|lpr|mail|mark|news|protocols|security|syslog|user|uucp|local0|local1|local2|local3|local4|local5|local6|local7|all)</regex> + </constraint> + <constraintErrorMessage>Invalid facility type</constraintErrorMessage> <valueHelp> <format>all</format> <description>All facilities excluding "mark"</description> @@ -294,6 +306,13 @@ <format>tcp</format> <description>send log messages to remote syslog server over tcp</description> </valueHelp> + <completionHelp> + <list>udp tcp</list> + </completionHelp> + <constraint> + <regex>(udp|tcp)</regex> + </constraint> + <constraintErrorMessage>invalid protocol name</constraintErrorMessage> </properties> </leafNode> <leafNode name="level"> @@ -302,6 +321,10 @@ <completionHelp> <list>emerg alert crit err warning notice info debug all</list> </completionHelp> + <constraint> + <regex>(emerg|alert|crit|err|warning|notice|info|debug|all)</regex> + </constraint> + <constraintErrorMessage>Invalid loglevel</constraintErrorMessage> <valueHelp> <format>emerg</format> <description>Emergency messages</description> @@ -380,6 +403,10 @@ <completionHelp> <list>auth authpriv cron daemon kern lpr mail mark news protocols security syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7 all</list> </completionHelp> + <constraint> + <regex>(auth|authpriv|cron|daemon|kern|lpr|mail|mark|news|protocols|security|syslog|user|uucp|local0|local1|local2|local3|local4|local5|local6|local7|all)</regex> + </constraint> + <constraintErrorMessage>Invalid facility type</constraintErrorMessage> <valueHelp> <format>all</format> <description>All facilities excluding "mark"</description> @@ -480,6 +507,10 @@ <completionHelp> <list>emerg alert crit err warning notice info debug all</list> </completionHelp> + <constraint> + <regex>(emerg|alert|crit|err|warning|notice|info|debug|all)</regex> + </constraint> + <constraintErrorMessage>Invalid loglevel</constraintErrorMessage> <valueHelp> <format>emerg</format> <description>Emergency messages</description> @@ -583,6 +614,10 @@ <completionHelp> <list>auth authpriv cron daemon kern lpr mail mark news protocols security syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7 all</list> </completionHelp> + <constraint> + <regex>(auth|authpriv|cron|daemon|kern|lpr|mail|mark|news|protocols|security|syslog|user|uucp|local0|local1|local2|local3|local4|local5|local6|local7|all)</regex> + </constraint> + <constraintErrorMessage>Invalid facility type</constraintErrorMessage> <valueHelp> <format>all</format> <description>All facilities excluding "mark"</description> @@ -683,6 +718,10 @@ <completionHelp> <list>emerg alert crit err warning notice info debug all</list> </completionHelp> + <constraint> + <regex>(emerg|alert|crit|err|warning|notice|info|debug|all)</regex> + </constraint> + <constraintErrorMessage>Invalid loglevel</constraintErrorMessage> <valueHelp> <format>emerg</format> <description>Emergency messages</description> @@ -736,6 +775,10 @@ <completionHelp> <list>auth authpriv cron daemon kern lpr mail mark news protocols security syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7 all</list> </completionHelp> + <constraint> + <regex>(auth|authpriv|cron|daemon|kern|lpr|mail|mark|news|protocols|security|syslog|user|uucp|local0|local1|local2|local3|local4|local5|local6|local7|all)</regex> + </constraint> + <constraintErrorMessage>Invalid facility type</constraintErrorMessage> <valueHelp> <format>all</format> <description>All facilities excluding "mark"</description> @@ -836,6 +879,10 @@ <completionHelp> <list>emerg alert crit err warning notice info debug all</list> </completionHelp> + <constraint> + <regex>(emerg|alert|crit|err|warning|notice|info|debug|all)</regex> + </constraint> + <constraintErrorMessage>Invalid loglevel</constraintErrorMessage> <valueHelp> <format>emerg</format> <description>Emergency messages</description> -- cgit v1.2.3