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


Reply via email to