Hello community, here is the log from the commit of package yast2-slp-server for openSUSE:Factory checked in at 2016-01-16 11:56:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-slp-server (Old) and /work/SRC/openSUSE:Factory/.yast2-slp-server.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-slp-server" Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-slp-server/yast2-slp-server.changes 2015-08-01 11:38:55.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.yast2-slp-server.new/yast2-slp-server.changes 2016-01-16 11:56:57.000000000 +0100 @@ -1,0 +2,7 @@ +Fri Nov 13 15:28:52 UTC 2015 - [email protected] + +- Fix handling of broken options due to bsc#878892 + (bsc#954494) +- 3.1.4 + +------------------------------------------------------------------- Old: ---- yast2-slp-server-3.1.3.tar.bz2 New: ---- yast2-slp-server-3.1.4.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-slp-server.spec ++++++ --- /var/tmp/diff_new_pack.wkYcRx/_old 2016-01-16 11:56:59.000000000 +0100 +++ /var/tmp/diff_new_pack.wkYcRx/_new 2016-01-16 11:56:59.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package yast2-slp-server # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: yast2-slp-server -Version: 3.1.3 +Version: 3.1.4 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ yast2-slp-server-3.1.3.tar.bz2 -> yast2-slp-server-3.1.4.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-slp-server-3.1.3/.rspec new/yast2-slp-server-3.1.4/.rspec --- old/yast2-slp-server-3.1.3/.rspec 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-slp-server-3.1.4/.rspec 2016-01-14 12:58:36.000000000 +0100 @@ -0,0 +1 @@ +--color --format doc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-slp-server-3.1.3/package/yast2-slp-server.changes new/yast2-slp-server-3.1.4/package/yast2-slp-server.changes --- old/yast2-slp-server-3.1.3/package/yast2-slp-server.changes 2015-07-30 12:01:08.000000000 +0200 +++ new/yast2-slp-server-3.1.4/package/yast2-slp-server.changes 2016-01-14 12:58:36.000000000 +0100 @@ -1,4 +1,11 @@ ------------------------------------------------------------------- +Fri Nov 13 15:28:52 UTC 2015 - [email protected] + +- Fix handling of broken options due to bsc#878892 + (bsc#954494) +- 3.1.4 + +------------------------------------------------------------------- Wed Jul 29 13:27:54 UTC 2015 - [email protected] - Fix comments handling on slp.conf (bsc#878892) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-slp-server-3.1.3/package/yast2-slp-server.spec new/yast2-slp-server-3.1.4/package/yast2-slp-server.spec --- old/yast2-slp-server-3.1.3/package/yast2-slp-server.spec 2015-07-30 12:01:08.000000000 +0200 +++ new/yast2-slp-server-3.1.4/package/yast2-slp-server.spec 2016-01-14 12:58:36.000000000 +0100 @@ -17,7 +17,7 @@ Name: yast2-slp-server -Version: 3.1.3 +Version: 3.1.4 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-slp-server-3.1.3/src/scrconf/slp_conf.scr new/yast2-slp-server-3.1.4/src/scrconf/slp_conf.scr --- old/yast2-slp-server-3.1.3/src/scrconf/slp_conf.scr 2015-07-30 10:56:13.000000000 +0200 +++ new/yast2-slp-server-3.1.4/src/scrconf/slp_conf.scr 2016-01-14 12:58:36.000000000 +0100 @@ -37,7 +37,7 @@ // we need to exclude ; because of the second matching rule "params" : [ // Options with one value ('yes' / 'no') - $[ "match" : [ "^[#;][ \t]*([^ \t\=]+)[ \t\=]+[ ]*(.+)[ \t]*$", ";%s = %s" ]], + $[ "match" : [ "^[#;][ \t]*([^ \t\=]+)[ \t\=]*[ ]*(.+)[ \t]*$", ";%s = %s" ]], // Options with more possible values $[ "match" : [ "^[ \t]*([^ \t\=]+)[ \t\=]+[ ]*(.+)[ \t]*$", "%s = %s" ]], ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-slp-server-3.1.3/test/fixtures/broken/etc/slp.conf new/yast2-slp-server-3.1.4/test/fixtures/broken/etc/slp.conf --- old/yast2-slp-server-3.1.3/test/fixtures/broken/etc/slp.conf 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-slp-server-3.1.4/test/fixtures/broken/etc/slp.conf 2016-01-14 12:58:36.000000000 +0100 @@ -0,0 +1,287 @@ +############################################################################# +# +# OpenSLP configuration file +# +# Format and contents conform to specification in IETF RFC 2614 so the +# comments use the language of the RFC. In OpenSLP, SLPD operates as an SA +# and a DA. The SLP UA functionality is encapsulated by SLPLIB. +# +############################################################################# + + +#---------------------------------------------------------------------------- +# Static Scope and Static DA Configuration +#---------------------------------------------------------------------------- + +# This option is a comma delimited list of strings indicating the only scopes +# a UA or SA is allowed when making requests or registering or the scopes a +# DA must support. (default value is "DEFAULT") +net.slp.useScopes = DEFAULT + +# Allows administrator to force UA and SA agents to use specific DAs. If +# this setting is not used dynamic DA discovery will be used to determine +# which DAs to use. (Default is to use dynamic DA discovery) +net.slp.DAAddresses = + +# Enables backup of registrations to /etc/slp.reg.d/slpd/DABackup. +; net.slp.isDABackup = true + +# A 32 bit integer giving the number of seconds for the DABackup file update. +# Default is 15 minutes (900 seconds). Ignored if isDA is false. +; net.slp.DABackupInterval = 900 + +# Include local registrations in the backup, too. The default is false. +; net.slp.DABackupLocalReg = true + +# Enables slpd to sync service registration between SLP DAs on startup +# Default is false +; net.slp.DASyncReg = true + + +#---------------------------------------------------------------------------- +# DA Specific Configuration +#---------------------------------------------------------------------------- + +# Enables slpd to function as a DA. Only a very few DAs should exist. It +# is suggested that the administrator read the OpenSLP users guide before +# enabling this setting. Default is false. Uncomment the line below to +# enable DA operation. +net.slp.isDA = false + +# A 32 bit integer giving the number of seconds for the DA heartbeat. +# Default is 3 hours (10800 seconds). This property corresponds to +# the protocol specification parameter CONFIG_DA_BEAT [7]. Ignored +# if isDA is false. +; net.slp.DAHeartBeat + +# A 32 bit integer giving the number of seconds after which a DA is considered +# stale and is removed from the list of known DAs, if a DA advert has not +# been received for it. This value affects DAs in that it overrides +# net.slp.DAHeartBeat to ensure that DA adverts are sent out at an appropriate +# rate dependent on this value. It affects SA operation, in that heartbeats +# (DA adverts) are monitored to maintain only active DAs in the known DA list. +# Default is 0 (disabled). A minimum of 60s will be applied if non-zero. +; net.slp.staleDACheckPeriod = 60 + +#---------------------------------------------------------------------------- +# SA Specific Configuration +#---------------------------------------------------------------------------- + +# If net.slp.watchRegistrationPID is set to true, local registrations made +# with the SA via the SLPReg() API call will be monitored. If the PID of the +# process (and/or thread on Linux) disappears (the registering process died +# unexpectedly without calling SLPDereg()), then the registration is +# automatically de-registered. Default value is true. Note that 'slptool' +# always uses value false for the 'register' command. Uncomment the line +# below to disable PID watching. +; net.slp.watchRegistrationPID = false + + +#---------------------------------------------------------------------------- +# UA Specific Configuration +#---------------------------------------------------------------------------- +# A 32 bit integer giving the maximum number of results to accumulate and +# return for a synchronous request before the timeout, or the maximum number +# of results to return through a callback if the request results are +# reported asynchronously (default value is 256). +; net.slp.maxResults = 256 + + +# An experimental/test setting that tells libslp to send SLP v1 commands +# instead of v2 commands where-ever the code currently supports it. +# Default is false. +; net.slp.preferSLPv1 = false + +#---------------------------------------------------------------------------- +# Network Configuration Properties +#---------------------------------------------------------------------------- + +# Force broadcasts to be used instead of multicast. This setting is seldom +# necessary since OpenSLP will automatically use broadcast if multicast +# is unavailable. (Default is false) +net.slp.isBroadcastOnly = true + +# A boolean indicating whether passive DA detection should be used. +# Default is true. Uncomment the following line to disable passive DA +# detection +; net.slp.passiveDADetection = false + +# A boolean indicating whether active DA detection should be used. This is +# useful when the DAs available are explicitly restricted to those obtained +# from DHCP or the net.slp.DAAddresses property. Default is true. Uncomment +# the following line to disable active DA detection +; net.slp.activeDADetection = false + +# The net.slp.DAActiveDiscoveryInterval property controls *periodic* +# transmission of active DA discovery SrvRqsts. The default setting +# of 1 which disables sending periodic active DA discovery SrvRqsts. +# However, even if net.slp.DAActiveDiscoveryInterval=1 OpenSLP agents will +# send a send active DA request only upon initialization. To disable all +# active DA detection you MUST net.slp.passiveDADetection = false. (you +# may also set net.slp.DAActiveDiscoveryInterval=0) +# simply set +; net.slp.DAActiveDiscoveryInterval = 1 + +# A positive integer that is less than or equal to 255. (The default is 255) +; net.slp.multicastTTL = 255 + +# An integer giving the maximum amount of time (in milliseconds) to perform +# active DA discovery requests. (Default is 2000 ms or 2 secs). +; net.slp.DADiscoveryMaximumWait = 2000 + +# A value-list of 32 bit integers used as timeouts, in milliseconds, to +# implement the multicast convergence algorithm during active DA discovery. +# Each value specifies the time to wait before sending the next request, or +# until nothing new has been learned from two successive requests. +# Default is: 500,750,1000,1500,2000,3000. +; net.slp.DADiscoveryTimeouts = 500,750,1000,1500,2000,3000 + +# An integer giving the maximum amount of time (in milliseconds) to perform +# multicast requests. (Default is 5000 ms or 5 secs). +; net.slp.multicastMaximumWait = 5000 + +# A value-list of 32 bit integers used as timeouts, in milliseconds, to +# implement the multicast convergence algorithm. Each value specifies +# the time to wait before sending the next request, or until nothing new +# has been learned from two successive requests. +# Default is: 500,750,1000,1500,2000,3000. In a slow network the less +# aggressive values of 3000,3000,3000,3000,3000 allow better performance. +; net.slp.multicastTimeouts = 500,750,1000,1500,2000,3000 + +# An integer giving the maximum amount of time (in milliseconds) to perform +# unicast requests. (Default is 5000 ms or 5 secs). +; net.slp.unicastMaximumWait = 5000 + +# A value-list of 32 bit integers used as timeouts, in milliseconds, to +# implement unicast datagram transmission to DAs. The nth value gives +# the time to block waiting for a reply on the nth try to contact the DA. +; net.slp.unicastTimeouts = 500,750,1000,1500,2000,3000 + +# To OpenSLP the following is the same as net.slp.unicastTimeouts. Use +# net.slp.unicastTimeouts instead. +; net.slp.datagramTimeouts = IGNORED + +# An integer giving the maximum value for all random wait parameters. +# (Default is 5000 or 5 sec) +; net.slp.randomWaitBound = 5000 + +# A integer giving the network packet MTU in bytes. (Default is 1400) +; net.slp.MTU = 1400 + +# make sure that UDP packets really are smaller than the MTU. Normally +# openslp will truncate packets so that they are a bit bigger than +# the MTU, as a workaround for bugs in old openslp implementations. +# (Default is false) +; net.slp.hardMTU = false + +# +# If operating as an SA or DA, this specifies the maximum number of interfaces +# that can be active. (Default is 100) +; net.slp.max_ifaces = 100 + +# If operating as an SA or DA, then any local addresses that are going to be +# used must be specified. Both IPv4 and IPv6 addresses may be specified. +# Only link-local addresses can be used for IPv6 SLP multicast. Any +# site-local or global addresses will be used, but only for unicast SLP. +# Option parameter "%" can be used to specify the interface when multiple +# instance of the same link-local address are present in the same host. If +# the interface option is not provided, the daemon will bind to the first +# interface with specified ip. This option is only valid for IPv6 link-local +# addresses. Eg: fe80::215:58ff:fe7e:c037%eth0 +; net.slp.interfaces = 192.168.0.1 + +# This option is a string indicating the broadcast address to use when +# sending broadcast packets. This parameter is only applicable when the +# other broadcast configuration variables are set (multicast is used by default) +; net.slp.broadcastAddr = 255.255.255.255 + +# Port to use for all SLP messages. Changing this from the reserved SLP +# listening port will break compliance with RFC2608. (Default is 427). +; net.slp.port = 427 + +# A boolean indicating whether DHCP should be used for DA discovery and/or +# scope discovery. (Default setting is true). +; net.slp.useDHCP = true + +#---------------------------------------------------------------------------- +# Security +#---------------------------------------------------------------------------- +# A boolean indicating whether the agent should enable security for URLs, +# attribute lists, DAAdverts, and SAAdverts. (Default setting is false and +# ENABLE_SECURITY code must be compiled) +; net.slp.securityEnabled true + +# A boolean indicating whether the DA or SA will only allow deregistrations +# and re-registration from the *exact* host that made the registration. +# Default setting if true. Uncomment the line below to disable source +# address checking. +; net.slp.checkSourceAddr false + +#---------------------------------------------------------------------------- +# Indexing +#---------------------------------------------------------------------------- +# A boolean indicating whether SLP service types should be indexed. This +# uses additional memory, but speeds up searching by (concrete) service type, +# and attribute retrieval. (Default setting is false). +; net.slp.indexSrvtype true + +# A list of names of attributes with string values that should be indexed. +# This uses additional memory but speeds up searching by equality (including +# wildcard searches) +# eg. (location=Main Building Second Floor) or (location=Main Building*) +# The index will also be used when the equality expression is part of a top-level +# '&' expression eg. (&(grade>=C)(location=Main Building*)) would use +# the index on the location attribute. +# Note that whitespace is significant in the list of names. +; net.slp.indexedAttributes attr1,attr2,... + +#---------------------------------------------------------------------------- +# Tracing and Logging +#---------------------------------------------------------------------------- + +# A boolean controlling printing of messages about traffic with DAs. +# Default is false. Uncomment the following line to enable DA traffic +# tracing +; net.slp.traceDATraffic = true + +# A boolean controlling dumps of all registered services upon registration +# and deregistration. If true, the contents of the DA or SA server are +# dumped after a registration or deregistration occurs. Default is false. +# Uncommment the following line to enable registration message logging +; net.slp.traceReg = true + +# A boolean controlling printing details when a SLP message is dropped for +# any reason. Default is false. Uncomment the following line to trace all +# dropped messages +; net.slp.traceDrop = true + +# A boolean controlling printing of details on SLP messages. The fields in +# all incoming messages and outgoing replies are printed. Very verbose. +# Default is false. Uncomment the following line to enable verbose message +# tracing. +; net.slp.traceMsg = true + +# A boolean controlling whether or not slpd appends log messages to slpd.log, +# or if it overwrites the existing log. Default is true. Uncomment the +# following line to overwrite the existing log. +; net.slp.appendLog = false + +#---------------------------------------------------------------------------- +# Serialized Proxy Registration +#---------------------------------------------------------------------------- +# The net.slp.serializedRegURL is not supported by net.slp.serializeRegURL. +# +# slpd accepts the [-r] command line parameter that specifies the serialized +# registration file. The default serialized registration file is +# /etc/slp.reg + + +#---------------------------------------------------------------------------- +# IPv6 configuration options +#---------------------------------------------------------------------------- + +# These settings specify which IP protocols to use for SLP. The default is +# that IPv4 is enabled, and IPv6 is disabled. Uncomment one or other of the +# following lines to change this. +net.slp.useIPv4 = false +; net.slp.useIPv6 = true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-slp-server-3.1.3/test/fixtures/commented/etc/slp.conf new/yast2-slp-server-3.1.4/test/fixtures/commented/etc/slp.conf --- old/yast2-slp-server-3.1.3/test/fixtures/commented/etc/slp.conf 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-slp-server-3.1.4/test/fixtures/commented/etc/slp.conf 2016-01-14 12:58:36.000000000 +0100 @@ -0,0 +1,23 @@ +#foo bar + +#foo bar + +#foo=bar + +#foo = bar + +#foo =bar + +#foo= bar + +;foo0 bar + +;foo1 bar + +;foo2=bar + +;foo3 = bar + +;foo4 =bar + +;foo5= bar diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-slp-server-3.1.3/test/fixtures/uncommented/etc/slp.conf new/yast2-slp-server-3.1.4/test/fixtures/uncommented/etc/slp.conf --- old/yast2-slp-server-3.1.3/test/fixtures/uncommented/etc/slp.conf 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-slp-server-3.1.4/test/fixtures/uncommented/etc/slp.conf 2016-01-14 12:58:36.000000000 +0100 @@ -0,0 +1,6 @@ +foo bar +foo bar +foo=bar +foo = bar +foo =bar +foo= bar diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-slp-server-3.1.3/test/fixtures/valid/etc/slp.conf new/yast2-slp-server-3.1.4/test/fixtures/valid/etc/slp.conf --- old/yast2-slp-server-3.1.3/test/fixtures/valid/etc/slp.conf 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-slp-server-3.1.4/test/fixtures/valid/etc/slp.conf 2016-01-14 12:58:36.000000000 +0100 @@ -0,0 +1,287 @@ +############################################################################# +# +# OpenSLP configuration file +# +# Format and contents conform to specification in IETF RFC 2614 so the +# comments use the language of the RFC. In OpenSLP, SLPD operates as an SA +# and a DA. The SLP UA functionality is encapsulated by SLPLIB. +# +############################################################################# + + +#---------------------------------------------------------------------------- +# Static Scope and Static DA Configuration +#---------------------------------------------------------------------------- + +# This option is a comma delimited list of strings indicating the only scopes +# a UA or SA is allowed when making requests or registering or the scopes a +# DA must support. (default value is "DEFAULT") +;net.slp.useScopes = myScope1, myScope2, myScope3 + +# Allows administrator to force UA and SA agents to use specific DAs. If +# this setting is not used dynamic DA discovery will be used to determine +# which DAs to use. (Default is to use dynamic DA discovery) +;net.slp.DAAddresses = myDa1,myDa2,myDa3 + +# Enables backup of registrations to /etc/slp.reg.d/slpd/DABackup. +;net.slp.isDABackup = true + +# A 32 bit integer giving the number of seconds for the DABackup file update. +# Default is 15 minutes (900 seconds). Ignored if isDA is false. +;net.slp.DABackupInterval = 900 + +# Include local registrations in the backup, too. The default is false. +;net.slp.DABackupLocalReg = true + +# Enables slpd to sync service registration between SLP DAs on startup +# Default is false +;net.slp.DASyncReg = true + + +#---------------------------------------------------------------------------- +# DA Specific Configuration +#---------------------------------------------------------------------------- + +# Enables slpd to function as a DA. Only a very few DAs should exist. It +# is suggested that the administrator read the OpenSLP users guide before +# enabling this setting. Default is false. Uncomment the line below to +# enable DA operation. +;net.slp.isDA = true + +# A 32 bit integer giving the number of seconds for the DA heartbeat. +# Default is 3 hours (10800 seconds). This property corresponds to +# the protocol specification parameter CONFIG_DA_BEAT [7]. Ignored +# if isDA is false. +;net.slp.DAHeartBeat = 10800 + +# A 32 bit integer giving the number of seconds after which a DA is considered +# stale and is removed from the list of known DAs, if a DA advert has not +# been received for it. This value affects DAs in that it overrides +# net.slp.DAHeartBeat to ensure that DA adverts are sent out at an appropriate +# rate dependent on this value. It affects SA operation, in that heartbeats +# (DA adverts) are monitored to maintain only active DAs in the known DA list. +# Default is 0 (disabled). A minimum of 60s will be applied if non-zero. +;net.slp.staleDACheckPeriod = 60 + +#---------------------------------------------------------------------------- +# SA Specific Configuration +#---------------------------------------------------------------------------- + +# If net.slp.watchRegistrationPID is set to true, local registrations made +# with the SA via the SLPReg() API call will be monitored. If the PID of the +# process (and/or thread on Linux) disappears (the registering process died +# unexpectedly without calling SLPDereg()), then the registration is +# automatically de-registered. Default value is true. Note that 'slptool' +# always uses value false for the 'register' command. Uncomment the line +# below to disable PID watching. +;net.slp.watchRegistrationPID = false + + +#---------------------------------------------------------------------------- +# UA Specific Configuration +#---------------------------------------------------------------------------- +# A 32 bit integer giving the maximum number of results to accumulate and +# return for a synchronous request before the timeout, or the maximum number +# of results to return through a callback if the request results are +# reported asynchronously (default value is 256). +;net.slp.maxResults = 256 + + +# An experimental/test setting that tells libslp to send SLP v1 commands +# instead of v2 commands where-ever the code currently supports it. +# Default is false. +;net.slp.preferSLPv1 = false + +#---------------------------------------------------------------------------- +# Network Configuration Properties +#---------------------------------------------------------------------------- + +# Force broadcasts to be used instead of multicast. This setting is seldom +# necessary since OpenSLP will automatically use broadcast if multicast +# is unavailable. (Default is false) +;net.slp.isBroadcastOnly = true + +# A boolean indicating whether passive DA detection should be used. +# Default is true. Uncomment the following line to disable passive DA +# detection +;net.slp.passiveDADetection = false + +# A boolean indicating whether active DA detection should be used. This is +# useful when the DAs available are explicitly restricted to those obtained +# from DHCP or the net.slp.DAAddresses property. Default is true. Uncomment +# the following line to disable active DA detection +;net.slp.activeDADetection = false + +# The net.slp.DAActiveDiscoveryInterval property controls *periodic* +# transmission of active DA discovery SrvRqsts. The default setting +# of 1 which disables sending periodic active DA discovery SrvRqsts. +# However, even if net.slp.DAActiveDiscoveryInterval=1 OpenSLP agents will +# send a send active DA request only upon initialization. To disable all +# active DA detection you MUST net.slp.passiveDADetection = false. (you +# may also set net.slp.DAActiveDiscoveryInterval=0) +# simply set +;net.slp.DAActiveDiscoveryInterval = 1 + +# A positive integer that is less than or equal to 255. (The default is 255) +;net.slp.multicastTTL = 255 + +# An integer giving the maximum amount of time (in milliseconds) to perform +# active DA discovery requests. (Default is 2000 ms or 2 secs). +;net.slp.DADiscoveryMaximumWait = 2000 + +# A value-list of 32 bit integers used as timeouts, in milliseconds, to +# implement the multicast convergence algorithm during active DA discovery. +# Each value specifies the time to wait before sending the next request, or +# until nothing new has been learned from two successive requests. +# Default is: 500,750,1000,1500,2000,3000. +;net.slp.DADiscoveryTimeouts = 500,750,1000,1500,2000,3000 + +# An integer giving the maximum amount of time (in milliseconds) to perform +# multicast requests. (Default is 5000 ms or 5 secs). +;net.slp.multicastMaximumWait = 5000 + +# A value-list of 32 bit integers used as timeouts, in milliseconds, to +# implement the multicast convergence algorithm. Each value specifies +# the time to wait before sending the next request, or until nothing new +# has been learned from two successive requests. +# Default is: 500,750,1000,1500,2000,3000. In a slow network the less +# aggressive values of 3000,3000,3000,3000,3000 allow better performance. +;net.slp.multicastTimeouts = 500,750,1000,1500,2000,3000 + +# An integer giving the maximum amount of time (in milliseconds) to perform +# unicast requests. (Default is 5000 ms or 5 secs). +;net.slp.unicastMaximumWait = 5000 + +# A value-list of 32 bit integers used as timeouts, in milliseconds, to +# implement unicast datagram transmission to DAs. The nth value gives +# the time to block waiting for a reply on the nth try to contact the DA. +;net.slp.unicastTimeouts = 500,750,1000,1500,2000,3000 + +# To OpenSLP the following is the same as net.slp.unicastTimeouts. Use +# net.slp.unicastTimeouts instead. +;net.slp.datagramTimeouts = IGNORED + +# An integer giving the maximum value for all random wait parameters. +# (Default is 5000 or 5 sec) +;net.slp.randomWaitBound = 5000 + +# A integer giving the network packet MTU in bytes. (Default is 1400) +;net.slp.MTU = 1400 + +# make sure that UDP packets really are smaller than the MTU. Normally +# openslp will truncate packets so that they are a bit bigger than +# the MTU, as a workaround for bugs in old openslp implementations. +# (Default is false) +;net.slp.hardMTU = false + +# +# If operating as an SA or DA, this specifies the maximum number of interfaces +# that can be active. (Default is 100) +;net.slp.max_ifaces = 100 + +# If operating as an SA or DA, then any local addresses that are going to be +# used must be specified. Both IPv4 and IPv6 addresses may be specified. +# Only link-local addresses can be used for IPv6 SLP multicast. Any +# site-local or global addresses will be used, but only for unicast SLP. +# Option parameter "%" can be used to specify the interface when multiple +# instance of the same link-local address are present in the same host. If +# the interface option is not provided, the daemon will bind to the first +# interface with specified ip. This option is only valid for IPv6 link-local +# addresses. Eg: fe80::215:58ff:fe7e:c037%eth0 +;net.slp.interfaces = 192.168.0.1 + +# This option is a string indicating the broadcast address to use when +# sending broadcast packets. This parameter is only applicable when the +# other broadcast configuration variables are set (multicast is used by default) +;net.slp.broadcastAddr = 255.255.255.255 + +# Port to use for all SLP messages. Changing this from the reserved SLP +# listening port will break compliance with RFC2608. (Default is 427). +;net.slp.port = 427 + +# A boolean indicating whether DHCP should be used for DA discovery and/or +# scope discovery. (Default setting is true). +;net.slp.useDHCP = true + +#---------------------------------------------------------------------------- +# Security +#---------------------------------------------------------------------------- +# A boolean indicating whether the agent should enable security for URLs, +# attribute lists, DAAdverts, and SAAdverts. (Default setting is false and +# ENABLE_SECURITY code must be compiled) +;net.slp.securityEnabled=true + +# A boolean indicating whether the DA or SA will only allow deregistrations +# and re-registration from the *exact* host that made the registration. +# Default setting if true. Uncomment the line below to disable source +# address checking. +;net.slp.checkSourceAddr=false + +#---------------------------------------------------------------------------- +# Indexing +#---------------------------------------------------------------------------- +# A boolean indicating whether SLP service types should be indexed. This +# uses additional memory, but speeds up searching by (concrete) service type, +# and attribute retrieval. (Default setting is false). +;net.slp.indexSrvtype=true + +# A list of names of attributes with string values that should be indexed. +# This uses additional memory but speeds up searching by equality (including +# wildcard searches) +# eg. (location=Main Building Second Floor) or (location=Main Building*) +# The index will also be used when the equality expression is part of a top-level +# '&' expression eg. (&(grade>=C)(location=Main Building*)) would use +# the index on the location attribute. +# Note that whitespace is significant in the list of names. +;net.slp.indexedAttributes=attr1,attr2,... + +#---------------------------------------------------------------------------- +# Tracing and Logging +#---------------------------------------------------------------------------- + +# A boolean controlling printing of messages about traffic with DAs. +# Default is false. Uncomment the following line to enable DA traffic +# tracing +;net.slp.traceDATraffic = true + +# A boolean controlling dumps of all registered services upon registration +# and deregistration. If true, the contents of the DA or SA server are +# dumped after a registration or deregistration occurs. Default is false. +# Uncommment the following line to enable registration message logging +;net.slp.traceReg = true + +# A boolean controlling printing details when a SLP message is dropped for +# any reason. Default is false. Uncomment the following line to trace all +# dropped messages +;net.slp.traceDrop = true + +# A boolean controlling printing of details on SLP messages. The fields in +# all incoming messages and outgoing replies are printed. Very verbose. +# Default is false. Uncomment the following line to enable verbose message +# tracing. +;net.slp.traceMsg = true + +# A boolean controlling whether or not slpd appends log messages to slpd.log, +# or if it overwrites the existing log. Default is true. Uncomment the +# following line to overwrite the existing log. +;net.slp.appendLog = false + +#---------------------------------------------------------------------------- +# Serialized Proxy Registration +#---------------------------------------------------------------------------- +# The net.slp.serializedRegURL is not supported by net.slp.serializeRegURL. +# +# slpd accepts the [-r] command line parameter that specifies the serialized +# registration file. The default serialized registration file is +# /etc/slp.reg + + +#---------------------------------------------------------------------------- +# IPv6 configuration options +#---------------------------------------------------------------------------- + +# These settings specify which IP protocols to use for SLP. The default is +# that IPv4 is enabled, and IPv6 is disabled. Uncomment one or other of the +# following lines to change this. +net.slp.useIPv4 = false +;net.slp.useIPv6 = true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-slp-server-3.1.3/test/scr_parse_test.rb new/yast2-slp-server-3.1.4/test/scr_parse_test.rb --- old/yast2-slp-server-3.1.3/test/scr_parse_test.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-slp-server-3.1.4/test/scr_parse_test.rb 2016-01-14 12:58:36.000000000 +0100 @@ -0,0 +1,39 @@ +#!/usr/bin/env rspec + +require_relative "test_helper" + +RSpec.describe "slp.conf parsing" do + around do |example| + change_scr_root(fixtures) do + example.run + end + end + + context "given uncommented lines" do + let(:fixtures) { File.join(FIXTURES_PATH, "uncommented") } + UNCOMMENTED_LINE = { "comment" => "", "kind" => "value", "name" => "foo", + "type" => 1, "value" => "bar" } + + it "extract parts from each line" do + lines = Yast::SCR.Read(path(".etc.slp.all")) + expect(lines.size).to eq(6) + lines["value"].each do |line| + expect(line).to eq(UNCOMMENTED_LINE) + end + end + end + + context "given commented lines" do + let(:fixtures) { File.join(FIXTURES_PATH, "commented") } + + it "extract parts from each line starting with ';'" do + lines = Yast::SCR.Read(path(".etc.slp.all")) + lines["value"].each_with_index do |line, idx| + expect(line["name"]).to eq("foo#{idx}") + expect(line["value"]).to eq("bar") + expect(line["type"]).to eq(0) + expect(line["kind"]).to eq("value") + end + end + end +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-slp-server-3.1.3/test/slp_server_test.rb new/yast2-slp-server-3.1.4/test/slp_server_test.rb --- old/yast2-slp-server-3.1.3/test/slp_server_test.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-slp-server-3.1.4/test/slp_server_test.rb 2016-01-14 12:58:36.000000000 +0100 @@ -0,0 +1,89 @@ +#!/usr/bin/env rspec + +require_relative "test_helper" + +Yast.import "SlpServer" + +describe Yast::SlpServer do + subject(:slp_server) { Yast::SlpServer } + + let(:fixtures) { File.join(FIXTURES_PATH, "valid") } + + describe "#Read" do + let(:as_root) { true } + let(:installed_packages) { true } + + before do + allow(Yast::Builtins).to receive(:sleep) + allow(Yast::Confirm).to receive(:MustBeRoot).and_return(as_root) + allow(Yast::Progress).to receive(:NextStage) + allow(Yast::NetworkService).to receive(:RunningNetworkPopup).and_return(true) + allow(Yast::SuSEFirewall).to receive(:Read) + allow(slp_server).to receive(:installed_packages).and_return(installed_packages) + end + + around do |example| + change_scr_root(fixtures) do + example.run + end + end + + context "given a valid configuration" do + it "reads SLP config and returns true" do + old_settings = slp_server.slp_config.clone + expect(slp_server.Read).to eq(true) + expect(slp_server.slp_config) + .to eq(old_settings.merge("net.slp.useIPv4" => "false")) + end + end + + context "given a broken configuration (bsc#878892)" do + let(:fixtures) { File.join(FIXTURES_PATH, "broken") } + + it "reads SLP config and returns true" do + old_settings = slp_server.slp_config.clone + expect(slp_server.Read).to eq(true) + expect(slp_server.slp_config) + .to eq(old_settings.merge( + "net.slp.isBroadcastOnly" => "true", + "net.slp.DAAddresses" => " ", + "net.slp.isDA" => "false" + )) + end + + # '; net.slp.DAHeartBeat' was intepreted as + # a param named ';' with value 'net.slp.DAHeartBeat' + # (bsc#954494) + it "does not take ';' as a param name" do + expect(slp_server.Read).to eq(true) + expect(slp_server.slp_config[";"]).to be_nil + end + end + + context "configuration does not exist" do + let(:fixtures) { FIXTURES_PATH } # /etc/slp.conf does not exist there + + it "leaves SLP config untouched and returns true" do + old_settings = slp_server.slp_config.clone + expect(slp_server.Read).to eq(true) + expect(slp_server.slp_config).to eq(old_settings) + end + end + + context "user is not root" do + let(:as_root) { false } + + it "returns false" do + expect(slp_server.Read).to eq(false) + end + end + + context "required packages are not installed" do + let(:installed_packages) { false } + + it "returns false" do + expect(slp_server.Read).to eq(false) + end + end + end +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-slp-server-3.1.3/test/test_helper.rb new/yast2-slp-server-3.1.4/test/test_helper.rb --- old/yast2-slp-server-3.1.3/test/test_helper.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-slp-server-3.1.4/test/test_helper.rb 2016-01-14 12:58:36.000000000 +0100 @@ -0,0 +1,45 @@ +# ------------------------------------------------------------------------------ +# Copyright (c) 2015 SUSE LLC, All Rights Reserved. +# +# +# This program is free software; you can redistribute it and/or modify it under +# the terms of version 2 of the GNU General Public License as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# this program; if not, contact SUSE LLC. +# +# To contact SUSE about this file by physical or electronic mail, you may find +# current contact information at www.suse.com. +# ------------------------------------------------------------------------------ +# +ENV["Y2DIR"] = File.expand_path("../../src", __FILE__) +FIXTURES_PATH = File.expand_path('../fixtures', __FILE__) + +require "yast" +require "yast/rspec" + +if ENV["COVERAGE"] + require "simplecov" + SimpleCov.start do + add_filter "/test/" + end + + # for coverage we need to load all ruby files + src_location = File.expand_path("../../src", __FILE__) + Dir["#{src_location}/{module,lib}/**/*.rb"].each { |f| require_relative f } + + # use coveralls for on-line code coverage reporting at Travis CI + if ENV["TRAVIS"] + require "coveralls" + SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[ + SimpleCov::Formatter::HTMLFormatter, + Coveralls::SimpleCov::Formatter + ] + end +end
