Hello community, here is the log from the commit of package yast2 for openSUSE:Factory checked in at 2017-04-25 08:56:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2 (Old) and /work/SRC/openSUSE:Factory/.yast2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2" Tue Apr 25 08:56:16 2017 rev:401 rq:489337 version:3.2.28 Changes: -------- --- /work/SRC/openSUSE:Factory/yast2/yast2.changes 2017-04-12 17:10:45.565609375 +0200 +++ /work/SRC/openSUSE:Factory/.yast2.new/yast2.changes 2017-04-25 08:56:18.854988355 +0200 @@ -1,0 +2,6 @@ +Wed Apr 19 14:16:33 UTC 2017 - [email protected] + +- Fixed parsing whitespace lines in /etc/fstab (bsc#1030425) +- 3.2.28 + +------------------------------------------------------------------- Old: ---- yast2-3.2.27.tar.bz2 New: ---- yast2-3.2.28.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2.spec ++++++ --- /var/tmp/diff_new_pack.QJXnWg/_old 2017-04-25 08:56:20.674731042 +0200 +++ /var/tmp/diff_new_pack.QJXnWg/_new 2017-04-25 08:56:20.674731042 +0200 @@ -17,7 +17,7 @@ Name: yast2 -Version: 3.2.27 +Version: 3.2.28 Release: 0 Summary: YaST2 - Main Package License: GPL-2.0 ++++++ yast2-3.2.27.tar.bz2 -> yast2-3.2.28.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.2.27/library/general/src/scrconf/etc_fstab.scr new/yast2-3.2.28/library/general/src/scrconf/etc_fstab.scr --- old/yast2-3.2.27/library/general/src/scrconf/etc_fstab.scr 2017-04-12 10:35:57.058772663 +0200 +++ new/yast2-3.2.28/library/general/src/scrconf/etc_fstab.scr 2017-04-19 16:32:39.495807122 +0200 @@ -42,10 +42,17 @@ */ .etc.fstab +/* + * Note: the same agent definition is used in + * https://github.com/yast/yast-update/blob/e2052274034f5240e9f09bceae7c6d888b18468d/src/modules/RootPart.rb#L812 + * apply any fixes also there. + */ + `ag_anyagent( `Description ( (`File("/etc/fstab")), // real file name - "#\n", // Comment + // tab and space is a workaround for white space only lines (bsc#1030425) + "#\n\t ", // Comment false, // read-only (`List ( `Tuple ( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.2.27/library/general/test/agents_test/fstab_agent_test.rb new/yast2-3.2.28/library/general/test/agents_test/fstab_agent_test.rb --- old/yast2-3.2.27/library/general/test/agents_test/fstab_agent_test.rb 2017-04-12 10:35:57.058772663 +0200 +++ new/yast2-3.2.28/library/general/test/agents_test/fstab_agent_test.rb 2017-04-19 16:32:39.519807122 +0200 @@ -21,7 +21,14 @@ root = File.join(File.dirname(__FILE__), "test_root2") change_scr_root(root) expect(content).to be_a(Array) + end + it "can read fstab containing just whitespace lines" do + reset_scr_root + root = File.join(File.dirname(__FILE__), "test_root3") + change_scr_root(root) + # all lines are returned + expect(content.size).to eq(6) end it "returns an array containing nfs entries" do diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.2.27/library/general/test/agents_test/test_root3/etc/fstab new/yast2-3.2.28/library/general/test/agents_test/test_root3/etc/fstab --- old/yast2-3.2.27/library/general/test/agents_test/test_root3/etc/fstab 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-3.2.28/library/general/test/agents_test/test_root3/etc/fstab 2017-04-19 16:32:39.587807122 +0200 @@ -0,0 +1,8 @@ +UUID=b66c1028-cd4a-4c08-b92d-fc4b9840845d / ext4 noatime,data=writeback,acl,user_xattr 1 1 +UUID=d2811ace-66e0-4ef2-9b68-9b2758359391 /home ext4 noatime,data=writeback,acl 1 2 + +192.168.1.2:/home/kv /home/kv2 nfs defaults 0 0 +192.168.1.2:/media/new2 /media/new2 nfs defaults 0 0 +192.168.1.2:/media/new /media/new nfs defaults 0 0 +# my fine comment +tmpfs /tmp tmpfs defaults,size=25% 0 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.2.27/library/network/src/lib/network/susefirewall2.rb new/yast2-3.2.28/library/network/src/lib/network/susefirewall2.rb --- old/yast2-3.2.27/library/network/src/lib/network/susefirewall2.rb 2017-04-12 10:35:57.066772663 +0200 +++ new/yast2-3.2.28/library/network/src/lib/network/susefirewall2.rb 2017-04-19 16:32:39.843807122 +0200 @@ -259,12 +259,12 @@ # This is just a helper function that could avoid from filling y2log up with # a lot of the very same messages - 'foreach()' is a very powerful builtin. # - # @param string error, warning or message + # @param [String] what_to_report error, warning or message # @return [Boolean] whether the message should be reported or not # # @example - # string error = sformat("Port number %1 is invalid.", port_nr); - # if (ReportOnlyOnce(error)) y2error(error); + # string error = sformat("Port number %1 is invalid.", port_nr); + # if (ReportOnlyOnce(error)) y2error(error); def ReportOnlyOnce(what_to_report) return false if Builtins.contains(@report_only_once, what_to_report) @@ -289,7 +289,7 @@ # Function return list of variables needed for SuSEFirewall's settings. # - # @return [Array<String>] of names of variables + # @return [Array<String>] of names of variables def GetListOfSuSEFirewallVariables deep_copy(@SuSEFirewall_variables) end @@ -311,7 +311,7 @@ # Local function returns if other functions should produce verbose output. # like popups, reporting errors, etc. # - # @return [Boolean] is_verbose + # @return [Boolean] is_verbose def IsVerbose # verbose level must be above zero to be verbose Ops.greater_than(@verbose_level, 0) @@ -319,15 +319,15 @@ # Local function for returning default values (if defined) for sysconfig variables. # - # @param string sysconfig variable - # @return [String] default value + # @param [String] variable sysconfig variable + # @return [String] default value def GetDefaultValue(variable) Ops.get(@DEFAULT_SETTINGS, variable, "") end # Local function for reading list of sysconfig variables into internal variables. # - # @param list <string> of sysconfig variables + # @param [Array<String>] variables of sysconfig variables def ReadSysconfigSuSEFirewall(variables) variables = deep_copy(variables) Builtins.foreach(variables) do |variable| @@ -362,7 +362,7 @@ # Local function for reseting list of sysconfig variables in internal variables. # - # @param list <string> of sysconfig variables + # @param [Array<String>] variables of sysconfig variables def ResetSysconfigSuSEFirewall(variables) variables = deep_copy(variables) Builtins.foreach(variables) do |variable| @@ -377,8 +377,8 @@ # List of variables is list of keys in SETTINGS map, to sync configuration # into the disk, use `nil` as the last list item. # - # @param list <string> of sysconfig variables - # @return [Boolean] if successful + # @param [Array<String>] variables of sysconfig variables + # @return [Boolean] if successful def WriteSysconfigSuSEFirewall(variables) variables = deep_copy(variables) write_status = true @@ -413,7 +413,7 @@ # For instance "ext" for "EXT" zone. # # @param [String] zone shortname - # @return [String] zone configuration string + # @return [String] zone configuration string def GetZoneConfigurationString(zone) if IsKnownZone(zone) # zones in SuSEFirewall configuration are identified by lowercased zone shorters @@ -425,8 +425,8 @@ # Local function returns zone name (shortname) for configuration string. # For instance "EXT" for "ext" zone. # - # @param string zone configuration string - # @return [String] zone shortname + # @param [String] zone_string configuration string + # @return [String] zone shortname def GetConfigurationStringZone(zone_string) if IsKnownZone(Builtins.toupper(zone_string)) # zones in SuSEFirewall configuration are identified by lowercased zone shorters @@ -439,7 +439,7 @@ # # @param [String] zone # @param [String] protocol - # @return [Array<String>] of allowed services/ports + # @return [Array<String>] of allowed services/ports def GetAllowedServicesForZoneProto(zone, protocol) Builtins.splitstring( Ops.get_string( @@ -453,7 +453,7 @@ # Function sets list of services as allowed ports for zone and protocol # - # @param list <string> of allowed ports/services + # @param [Array<String>] allowed_services of allowed ports/services # @param [String] zone # @param [String] protocol def SetAllowedServicesForZoneProto(allowed_services, zone, protocol) @@ -471,14 +471,15 @@ # Local function returns configuration string for broadcast packets. # - # @return [String] with broadcast configuration + # @return [String] with broadcast configuration def GetBroadcastConfiguration(zone) Ops.get_string(@SETTINGS, Ops.add("FW_ALLOW_FW_BROADCAST_", zone), "no") end # Local function saves configuration string for broadcast packets. # - # @param string with broadcast configuration + # @param [String] zone + # @param [String] broadcast_configuration with broadcast configuration def SetBroadcastConfiguration(zone, broadcast_configuration) SetModified() @@ -498,7 +499,7 @@ # it doesn't return ports that are listed in some service (defined by package) # which is enabled. # - # @return [Hash{String => Array<String>}] strings are allowed ports or port ranges + # @return [Hash{String => Array<String>}] strings are allowed ports or port ranges # # # **Structure:** @@ -545,7 +546,7 @@ # Function creates allowed-broadcast-ports string from broadcast map and saves it. # - # @param map <zone_string, list <string> > strings are allowed ports or port ranges + # @param [Hash<String,Array<String>>] broadcast strings are allowed ports or port ranges # @see GetBroadcastAllowedPorts() for an example of data def SetBroadcastAllowedPorts(broadcast) broadcast = deep_copy(broadcast) @@ -564,11 +565,12 @@ # Function returns if broadcast is allowed for needed ports in zone. # - # @param list <string> ports + # @param [Array<String>] needed_ports # @param [String] zone - # @return [Boolean] if is allowed + # @return [Boolean] if is allowed # - # @example IsBroadcastAllowed (["port-xyz", "53"], "EXT") -> true + # @example + # IsBroadcastAllowed (["port-xyz", "53"], "EXT") -> true def IsBroadcastAllowed(needed_ports, zone) needed_ports = deep_copy(needed_ports) if Builtins.size(needed_ports) == 0 @@ -613,7 +615,7 @@ # Local function removes list of ports from port allowing broadcast packets in zone. # - # @param list <of ports> to be removed + # @param [Array<String>] needed_ports to be removed # @param [String] zone def RemoveAllowedBroadcast(needed_ports, zone) needed_ports = deep_copy(needed_ports) @@ -640,7 +642,8 @@ # Local function adds list of ports to ports accepting broadcast # - # @param list <string> of ports + # @param [Array<String>] needed_ports of ports + # @param [String] zone def AddAllowedBroadcast(needed_ports, zone) needed_ports = deep_copy(needed_ports) # changing only if ports are not allowed @@ -673,10 +676,10 @@ # for defined protocol and zone. Functions doesn't take care of # port-aliases. # - # @param string service/port + # @param [String] remove_service service/port # @param [String] protocol # @param [String] zone - # @return [Boolean] success + # @return [Boolean] success def RemoveServiceFromProtocolZone(remove_service, protocol, zone) SetModified() @@ -697,11 +700,11 @@ # Removes service defined by package (FATE #300687) from enabled services. # - # @param string service_id + # @param [String] service # @param [String] zone # # @example - # RemoveServiceDefinedByPackageFromZone ("service:irc-server", "EXT"); + # RemoveServiceDefinedByPackageFromZone ("service:irc-server", "EXT"); def RemoveServiceDefinedByPackageFromZone(service, zone) return nil if !IsKnownZone(zone) @@ -735,11 +738,11 @@ # Adds service defined by package (FATE #300687) into list of enabled services. # - # @param string service_id + # @param [String] service # @param [String] zone # # @example - # AddServiceDefinedByPackageIntoZone ("service:irc-server", "EXT"); + # AddServiceDefinedByPackageIntoZone ("service:irc-server", "EXT"); def AddServiceDefinedByPackageIntoZone(service, zone) return nil if !IsKnownZone(zone) @@ -880,7 +883,7 @@ # Function sets if firewall should be protected from internal zone. # - # @param boolean set to be protected from internal zone + # @param [Boolean] set_protect set to be protected from internal zone def SetProtectFromInternalZone(set_protect) SetModified() @@ -895,14 +898,14 @@ # Function returns if firewall is protected from internal zone. # - # @return [Boolean] if protected from internal + # @return [Boolean] if protected from internal def GetProtectFromInternalZone Ops.get_string(@SETTINGS, "FW_PROTECT_FROM_INT", "no") == "yes" end # Function sets if firewall should support routing. # - # @param boolean set to support route or not + # @param [Boolean] set_route set to support route or not def SetSupportRoute(set_route) SetModified() @@ -919,7 +922,7 @@ # Function returns if firewall supports routing. # - # @return [Boolean] if route is supported + # @return [Boolean] if route is supported def GetSupportRoute Ops.get_string(@SETTINGS, "FW_ROUTE", "no") == "yes" end @@ -956,7 +959,7 @@ # Function returns the trust level of IPsec packets. # See SetTrustIPsecAs() for more information. # - # @return [String] zone or "no" + # @return [String] zone or "no" def GetTrustIPsecAs # do not trust return "no" if Ops.get(@SETTINGS, "FW_IPSEC_TRUST") == "no" @@ -985,14 +988,14 @@ # Function for getting exported SuSEFirewall configuration # - # @return [Hash{String => Object}] with configuration + # @return [Hash{String => Object}] with configuration def Export deep_copy(@SETTINGS) end # Function for setting SuSEFirewall configuration from input # - # @param map <string, any> with configuration + # @param [Hash<String, Object>] import_settings with configuration def Import(import_settings) Read() @SETTINGS.merge!(import_settings || {}) @@ -1006,8 +1009,8 @@ # Function returns if the interface is in zone. # # @param [String] interface - # @param string firewall zone - # @return [Boolean] is in zone + # @param [String] zone firewall zone + # @return [Boolean] is in zone # # @example IsInterfaceInZone ("eth-id-01:11:DA:9C:8A:2F", "INT") -> false def IsInterfaceInZone(interface, zone) @@ -1023,7 +1026,7 @@ # firewall zones, then the first appearance is returned. # # @param [String] interface - # @return [String] zone + # @return [String] zone # # @example GetZoneOfInterface ("eth-id-01:11:DA:9C:8A:2F") -> "DMZ" def GetZoneOfInterface(interface) @@ -1066,10 +1069,10 @@ # Special string 'any' in 'EXT' zone is supported. # # @param [Array<String>] interfaces - # @return [Array<String>] firewall zones + # @return [Array<String>] firewall zones # # @example - # GetZonesOfInterfaces (["eth1","eth4"]) -> ["EXT"] + # GetZonesOfInterfaces (["eth1","eth4"]) -> ["EXT"] def GetZonesOfInterfacesWithAnyFeatureSupported(interfaces) interfaces = deep_copy(interfaces) zones = [] @@ -1205,7 +1208,7 @@ # Special strings like 'any' or 'auto' and unknown interfaces are removed from list. # # @param [String] zone - # @return [Array<String>] of interfaces + # @return [Array<String>] of interfaces # @example GetInterfacesInZone ("DMZ") -> ["eth4", "eth5"] def GetInterfacesInZone(zone) interfaces_in_zone = Builtins.splitstring( @@ -1225,7 +1228,7 @@ # Function returns all interfaces already configured in firewall. # - # @return [Array<String>] of configured interfaces + # @return [Array<String>] of configured interfaces def GetFirewallInterfaces firewall_configured_devices = [] @@ -1274,7 +1277,7 @@ # any zone assignment. # # @param [String] zone - # @return [Array<String>] of interfaces + # @return [Array<String>] of interfaces def GetInterfacesInZoneSupportingAnyFeature(zone) interfaces_in_zone = GetInterfacesInZone(zone) @@ -1294,12 +1297,12 @@ # Returns whether a service is mentioned in FW_CONFIGURATIONS_[EXT|INT|DMZ]. # These services are defined by random packages. # + # @param [String] service e.g., "service:sshd" + # @param [String] zone e.g., "EXT" # @return [Boolean] if service is supported in zone - # @param [String] service, e.g., "service:sshd" - # @param [String] zone, e.g., "EXT" # # @example - # IsServiceDefinedByPackageSupportedInZone ("service:sshd", "EXT") -> true + # IsServiceDefinedByPackageSupportedInZone ("service:sshd", "EXT") -> true def IsServiceDefinedByPackageSupportedInZone(service, zone) return nil if !IsKnownZone(zone) @@ -1326,12 +1329,12 @@ # @see YCP Module SuSEFirewallServices # @param [String] service id # @param [String] zone - # @return [Boolean] if supported + # @return [Boolean] if supported # # @example - # // All ports defined by dns-server service in SuSEFirewallServices module - # // are enabled in the respective zone - # IsServiceSupportedInZone ("dns-server", "EXT") -> true + # // All ports defined by dns-server service in SuSEFirewallServices module + # // are enabled in the respective zone + # IsServiceSupportedInZone ("dns-server", "EXT") -> true # // irc-server definition exists on the system and the irc-server # // is mentioned in FW_CONFIGURATIONS_EXT variable of SuSEfirewall2 # IsServiceSupportedInZone ("service:irc-server", "EXT") -> true @@ -1407,14 +1410,14 @@ # Function sets status for several services in several firewall zones. # - # @param list <string> service ids - # @param list <string> firewall zones (EXT|INT|DMZ...) - # @param boolean new status of services - # @return nil + # @param [Array<String>] services_ids + # @param [Array<String>] firewall_zones (EXT|INT|DMZ...) + # @param [Boolean] new_status of services + # @return nil # # @example - # SetServicesForZones (["samba-server", "service:irc-server"], ["DMZ", "EXT"], false); - # SetServicesForZones (["samba-server", "service:irc-server"], ["EXT", "DMZ"], true); + # SetServicesForZones (["samba-server", "service:irc-server"], ["DMZ", "EXT"], false); + # SetServicesForZones (["samba-server", "service:irc-server"], ["EXT", "DMZ"], true); # # @see #GetServicesInZones() # @see #GetServices() @@ -1616,7 +1619,7 @@ # Function which stops firewall. Then firewall is started immediately when firewall # is wanted to be started: SetStartService(boolean). # - # @return [Boolean] if successful + # @return [Boolean] if successful def ActivateConfiguration # just disabled return true if !SuSEFirewallIsInstalled() @@ -1671,7 +1674,7 @@ # This is a write-only configuration, firewall is never started only enabled # or disabled. # - # @return [Boolean] if successful + # @return [Boolean] if successful def WriteConfiguration # just disabled return true if !SuSEFirewallIsInstalled() @@ -1769,7 +1772,7 @@ # Function for writing and enabling configuration it is an union of # WriteConfiguration() and ActivateConfiguration(). # - # @return [Boolean] if succesfull + # @return [Boolean] if succesfull def Write CheckKernelModules() @@ -1788,10 +1791,10 @@ # This function doesn't check for services defined by packages. # They are listed by a different way. # - # @return [Array<String>] of additional (unassigned) services + # @return [Array<String>] of additional (unassigned) services # # @example - # GetAdditionalServices("TCP", "EXT") -> ["53", "128"] + # GetAdditionalServices("TCP", "EXT") -> ["53", "128"] def GetAdditionalServices(protocol, zone) if !IsSupportedProtocol(protocol) Builtins.y2error("Unknown protocol '%1'", protocol) @@ -1854,15 +1857,15 @@ # Function returns map of `interfaces in zones`. # - # @return [Hash{String => Array<String>}] interface in zones + # @return [Hash{String => Array<String>}] interface in zones # # # **Structure:** # - # map $[zone : [list of interfaces]] + # map $[zone : [list of interfaces]] # # @example - # GetFirewallInterfacesMap() -> $["DMZ":[], "EXT":["dsl0"], "INT":["eth1", "eth2"]] + # GetFirewallInterfacesMap() -> $["DMZ":[], "EXT":["dsl0"], "INT":["eth1", "eth2"]] def GetFirewallInterfacesMap firewall_interfaces_now = {} @@ -1887,10 +1890,10 @@ # Function returns list of special strings like 'any' or 'auto' and uknown interfaces. # # @param [String] zone - # @return [Array<String>] special strings or unknown interfaces + # @return [Array<String>] special strings or unknown interfaces # # @example - # GetSpecialInterfacesInZone("EXT") -> ["any", "unknown-1", "wrong-3"] + # GetSpecialInterfacesInZone("EXT") -> ["any", "unknown-1", "wrong-3"] def GetSpecialInterfacesInZone(zone) interfaces_in_zone = Builtins.splitstring( Ops.get_string(@SETTINGS, Ops.add("FW_DEV_", zone), ""), @@ -1966,8 +1969,8 @@ # Function returns actual state of Masquerading support. # - # @param Ignored - # @return [Boolean] if supported + # @param _zone Ignored + # @return [Boolean] if supported def GetMasquerade(_zone = nil) Ops.get_string(@SETTINGS, "FW_MASQUERADE", "no") == "yes" && Ops.get_string(@SETTINGS, "FW_ROUTE", "no") == "yes" @@ -1975,8 +1978,8 @@ # Function sets Masquerade support. # - # @param boolean to support or not to support it - # @param ignored + # @param enable [Boolean] to support or not to support it + # @param _zone ignored def SetMasquerade(enable, _zone = nil) SetModified() @@ -1996,10 +1999,10 @@ # # **Structure:** # - # list [$[ key: value ]] + # list [$[ key: value ]] # # @example - # GetListOfForwardsIntoMasquerade() -> [ + # GetListOfForwardsIntoMasquerade() -> [ # $[ # "forward_to":"172.24.233.1", # "protocol":"tcp", @@ -2053,7 +2056,7 @@ # Function removes rule for forwarding into masquerade # from the list of current rules returned by GetListOfForwardsIntoMasquerade(). # - # @params integer item number + # @param remove_item [Integer] item number # # @see #GetListOfForwardsIntoMasquerade() def RemoveForwardIntoMasqueradeRule(remove_item) @@ -2094,7 +2097,7 @@ # @param [String] requested_ip # # @example - # AddForwardIntoMasqueradeRule ("0/0", "192.168.32.1", "TCP", "80", "8080", "10.0.0.1") + # AddForwardIntoMasqueradeRule ("0/0", "192.168.32.1", "TCP", "80", "8080", "10.0.0.1") def AddForwardIntoMasqueradeRule(source_net, forward_to_ip, protocol, req_port, redirect_to_port, requested_ip) SetModified() @@ -2149,11 +2152,11 @@ # Function returns actual state of logging for rule taken as parameter. # # @param [String] rule definition 'ACCEPT' or 'DROP' - # @return [String] 'ALL', 'CRIT', or 'NONE' + # @return [String] 'ALL', 'CRIT', or 'NONE' # # @example - # GetLoggingSettings("ACCEPT") -> "CRIT" - # GetLoggingSettings("DROP") -> "CRIT" + # GetLoggingSettings("ACCEPT") -> "CRIT" + # GetLoggingSettings("DROP") -> "CRIT" def GetLoggingSettings(rule) ret_val = nil @@ -2183,11 +2186,11 @@ # Function sets state of logging for rule taken as parameter. # # @param [String] rule definition 'ACCEPT' or 'DROP' - # @param string new logging state 'ALL', 'CRIT', or 'NONE' + # @param [String] state new logging state 'ALL', 'CRIT', or 'NONE' # # @example - # SetLoggingSettings ("ACCEPT", "ALL") - # SetLoggingSettings ("DROP", "NONE") + # SetLoggingSettings ("ACCEPT", "ALL") + # SetLoggingSettings ("DROP", "NONE") def SetLoggingSettings(rule, state) SetModified() @@ -2223,11 +2226,11 @@ # Function returns yes/no - ingoring broadcast for zone # # @param [String] zone - # @return [String] "yes" or "no" + # @return [String] "yes" or "no" # # @example - # // Does not logg ignored broadcast packets - # GetIgnoreLoggingBroadcast ("EXT") -> "yes" + # # Does not log ignored broadcast packets + # GetIgnoreLoggingBroadcast ("EXT") -> "yes" def GetIgnoreLoggingBroadcast(zone) if !IsKnownZone(zone) Builtins.y2error("Unknown zone '%1'", zone) @@ -2240,11 +2243,11 @@ # Function sets yes/no - ingoring broadcast for zone # # @param [String] zone - # @param string ignore 'yes' or 'no' + # @param [String] bcast ignore 'yes' or 'no' # # @example - # // Do not log broadcast packetes from DMZ - # SetIgnoreLoggingBroadcast ("DMZ", "yes") + # # Does not log broadcast packets from DMZ + # SetIgnoreLoggingBroadcast ("DMZ", "yes") def SetIgnoreLoggingBroadcast(zone, bcast) if !IsKnownZone(zone) Builtins.y2error("Unknown zone '%1'", zone) @@ -2281,7 +2284,7 @@ # Sets expert allow rules for zone. # # @param [String] zone - # @param string whitespace-separated expert_rules + # @param [String] expert_rules whitespace-separated expert_rules # @return [Boolean] if successful def SetAcceptExpertRules(zone, expert_rules) zone = Builtins.toupper(zone) @@ -2317,11 +2320,12 @@ # Sets list of additional kernel modules to be loaded by firewall on startup. # - # @param list <string> of kernel modules + # @param [Array<String>] k_modules list of kernel modules # # @see /etc/sysconfig/SuSEfirewall2 option nr. 32 # - # @example SuSEFirewall::SetFirewallKernelModules (["ip_conntrack_ftp","ip_nat_ftp"]); + # @example + # SuSEFirewall::SetFirewallKernelModules (["ip_conntrack_ftp","ip_nat_ftp"]); def SetFirewallKernelModules(k_modules) k_modules = deep_copy(k_modules) k_modules = Builtins.filter(k_modules) do |one_module| @@ -2361,7 +2365,7 @@ # Returns translated protocol name. Translation is provided from # SuSEfirewall2 sysconfig format to l10n format. # - # @param string string from sysconfig (e.g., _rpc_) + # @param protocol [String] from sysconfig (e.g., _rpc_) # @return [String] translated string (e.g., RPC) def GetProtocolTranslatedName(protocol) protocol = Builtins.tolower(protocol) @@ -2385,7 +2389,7 @@ # @return [Array<String>] list of definitions # # @example - # GetServicesAcceptRelated ("EXT") -> ["0/0,udp,427", "0/0,udp,137"] + # GetServicesAcceptRelated ("EXT") -> ["0/0,udp,427", "0/0,udp,137"] # # @see #SetServicesAcceptRelated() def GetServicesAcceptRelated(zone) @@ -2409,10 +2413,10 @@ # reply or Samba browsing reply. # # @param [String] zone - # @param list <string> list of rules + # @param [Array<String>] ruleset list of rules # # @example - # SetServicesAcceptRelated ("EXT", ["0/0,udp,427", "0/0,udp,137"]) + # SetServicesAcceptRelated ("EXT", ["0/0,udp,427", "0/0,udp,137"]) # # @see #GetServicesAcceptRelated() def SetServicesAcceptRelated(zone, ruleset) @@ -2638,7 +2642,7 @@ # Local function allows ports for requested protocol and zone. # - # @param list <string> ports to be added + # @param [Array<string>] add_ports ports to be added # @param [String] protocol # @param [String] zone def AddAllowedPortsOrServices(add_ports, protocol, zone) @@ -2671,7 +2675,7 @@ # Sets whether ports need to be open already during boot # bsc#916376 # - # @param [Boolean] new state + # @param [Boolean] new_state # @return [Boolean] current state def full_init_on_boot(new_state) @SETTINGS["FW_BOOT_FULL_INIT"] = new_state ? "yes" : "no" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.2.27/library/network/src/lib/network/susefirewalld.rb new/yast2-3.2.28/library/network/src/lib/network/susefirewalld.rb --- old/yast2-3.2.27/library/network/src/lib/network/susefirewalld.rb 2017-04-12 10:35:57.070772663 +0200 +++ new/yast2-3.2.28/library/network/src/lib/network/susefirewalld.rb 2017-04-19 16:32:39.843807122 +0200 @@ -174,7 +174,7 @@ # Function for setting SuSEFirewall configuration from input # - # @param map <string, any> with configuration + # @param [Hash<String, Object>] import_settings with configuration def Import(import_settings) Read() import_settings = deep_copy(import_settings) @@ -412,7 +412,7 @@ # Function returns if the interface is in zone. # # @param [String] interface - # @param string firewall zone + # @param [String] zone firewall zone # @return [Boolean] is in zone # # @example IsInterfaceInZone ("eth-id-01:11:DA:9C:8A:2F", "INT") -> false @@ -425,7 +425,7 @@ # the interface. Firewalld does not allow an interface to be in more than # one zone, so no error detection for this case is needed. # - # @param string interface + # @param [String] interface # @return string zone, or nil def GetZoneOfInterface(interface) GetKnownFirewallZones().each do |zone| @@ -442,7 +442,7 @@ # @return [Array<String>] firewall zones # # @example - # GetZonesOfInterfaces (["eth1","eth4"]) -> ["EXT"] + # GetZonesOfInterfaces (["eth1","eth4"]) -> ["EXT"] def GetZonesOfInterfacesWithAnyFeatureSupported(interfaces) interfaces = deep_copy(interfaces) zones = [] @@ -462,15 +462,15 @@ # Function returns true if service is supported (allowed) in zone. Service must be defined # already be defined. # - # @see YCP Module SuSEFirewallServices + # @see Module SuSEFirewallServices # @param [String] service id # @param [String] zone # @return [Boolean] if supported # # @example - # // All ports defined by dns-server service in SuSEFirewallServices module - # // are enabled in the respective zone - # IsServiceSupportedInZone ("dns-server", "external") -> true + # # All ports defined by dns-server service in SuSEFirewallServices module + # # are enabled in the respective zone + # IsServiceSupportedInZone ("dns-server", "external") -> true def IsServiceSupportedInZone(service, zone) return nil if !IsKnownZone(zone) @@ -569,19 +569,15 @@ # Function returns map of supported services all network interfaces. # - # @param list <string> of services - # @return [Hash <String, Hash{String => Boolean} >] - # - # - # **Structure:** - # - # Returns $[service : $[ interface : supported_status ]] + # @param services [Array<String>] list of services + # @return [Hash<String, Hash<String, Boolean>>] Returns in format + # `{service => { interface => supported_status }}` # # @example - # GetServicesInZones (["service:irc-server"]) -> $["service:irc-server":$["eth1":true]] - # // No such service "something" - # GetServicesInZones (["something"])) -> $["something":$["eth1":nil]] - # GetServicesInZones (["samba-server"]) -> $["samba-server":$["eth1":false]] + # GetServicesInZones (["service:irc-server"]) -> $["service:irc-server":$["eth1":true]] + # # No such service "something" + # GetServicesInZones (["something"])) -> $["something":$["eth1":nil]] + # GetServicesInZones (["samba-server"]) -> $["samba-server":$["eth1":false]] def GetServicesInZones(services) services = deep_copy(services) tmp_services = deep_copy(services) @@ -597,14 +593,14 @@ # Function sets status for several services in several firewall zones. # - # @param list <string> service ids - # @param list <string> firewall zones (EXT|INT|DMZ...) - # @param boolean new status of services + # @param services_ids [Array<String>] service ids + # @param firewall_zones [Array<String>] firewall zones (EXT|INT|DMZ...) + # @param new_status [true, false] new status of services # @return nil # # @example - # SetServicesForZones (["samba-server", "service:irc-server"], ["DMZ", "EXT"], false); - # SetServicesForZones (["samba-server", "service:irc-server"], ["EXT", "DMZ"], true); + # SetServicesForZones (["samba-server", "service:irc-server"], ["DMZ", "EXT"], false); + # SetServicesForZones (["samba-server", "service:irc-server"], ["EXT", "DMZ"], true); # # @see #GetServicesInZones() # @see #GetServices() @@ -711,7 +707,7 @@ # @return [Array<String>] special strings or unknown interfaces # # @example - # GetSpecialInterfacesInZone("EXT") -> ["any", "unknown-1", "wrong-3"] + # GetSpecialInterfacesInZone("EXT") -> ["any", "unknown-1", "wrong-3"] def GetSpecialInterfacesInZone(zone) known_interfaces_now = GetListOfKnownInterfaces() get_zone_attr(zone, :interfaces).reject { |i| known_interfaces_now.include?(i) } @@ -767,7 +763,7 @@ # Function sets state of logging. # @note Similar restrictions to GetLoggingSettings apply # @param [String] rule definition 'ACCEPT' or 'DROP' - # @param string new logging state 'ALL', 'CRIT', or 'NONE' + # @param [String] state new logging state 'ALL', 'CRIT', or 'NONE' def SetLoggingSettings(rule, state) return nil if rule == "ACCEPT" if rule == "DROP" @@ -792,12 +788,12 @@ # Function returns yes/no - ingoring broadcast for zone # - # @param [String] unused - # @return [String] "yes" or "no" + # @param _zone [String] unused + # @return [String] "yes" or "no" # # @example - # // Does not log ignored broadcast packets - # GetIgnoreLoggingBroadcast () -> "yes" + # # Does not log ignored broadcast packets + # GetIgnoreLoggingBroadcast () -> "yes" def GetIgnoreLoggingBroadcast(_zone) return "no" if @SETTINGS["logging"] == "broadcast" "yes" @@ -810,12 +806,12 @@ # @note use SetLoggingSettings afterwards to enable the type of logging you # @note want. # - # @param [String] unused - # @param string ignore 'yes' or 'no' + # @param _zone [String] unused + # @param bcast [String] ignore 'yes' or 'no' # # @example - # // Do not log broadcast packetes from DMZ - # SetIgnoreLoggingBroadcast ("DMZ", "yes") + # # Do not log broadcast packetes from DMZ + # SetIgnoreLoggingBroadcast ("DMZ", "yes") def SetIgnoreLoggingBroadcast(_zone, bcast) bcast = bcast.casecmp("no").zero? ? "broadcast" : "off" @@ -866,7 +862,7 @@ # @return [Array<String>] of additional (unassigned) services # # @example - # GetAdditionalServices("TCP", "EXT") -> ["53", "128"] + # GetAdditionalServices("TCP", "EXT") -> ["53", "128"] def GetAdditionalServices(protocol, zone) protocol = protocol.upcase @@ -891,7 +887,7 @@ # Function sets list of services as allowed ports for zone and protocol # - # @param list <string> of allowed ports/services + # @param [Array<string>] allowed_services list of allowed ports/services # @param [String] zone # @param [String] protocol def SetAllowedServicesForZoneProto(allowed_services, zone, protocol) @@ -923,7 +919,6 @@ # @param protocol [String] Protocol # @param zone [String] Zone # @param _check_for_aliases [Boolean] unused - # @param boolean check for port-aliases def RemoveAllowedPortsOrServices(remove_ports, protocol, zone, _check_for_aliases) remove_ports = deep_copy(remove_ports) if Ops.less_than(Builtins.size(remove_ports), 1) @@ -948,7 +943,7 @@ # Function sets if firewall should support routing. # - # @param boolean set to support route or not + # @param [Boolean] set_route set to support route or not # FirewallD does not have something similar to FW_ROUTE # so this API call is not applicable to FirewallD def SetSupportRoute(set_route) @@ -973,7 +968,7 @@ # was passed as argument since FirewallD always does a # full init on boot but we still need to be API compliant. # - # @param [Boolean] new state + # @param [Boolean] new_state # @return [Boolean] current state def full_init_on_boot(new_state) new_state @@ -981,7 +976,7 @@ # Local function allows ports for requested protocol and zone. # - # @param list <string> ports to be added + # @param [Array<String>] add_ports ports to be added # @param [String] protocol # @param [String] zone def AddAllowedPortsOrServices(add_ports, protocol, zone) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.2.27/package/yast2.changes new/yast2-3.2.28/package/yast2.changes --- old/yast2-3.2.27/package/yast2.changes 2017-04-12 10:35:57.126772663 +0200 +++ new/yast2-3.2.28/package/yast2.changes 2017-04-19 16:32:40.507807122 +0200 @@ -1,4 +1,10 @@ ------------------------------------------------------------------- +Wed Apr 19 14:16:33 UTC 2017 - [email protected] + +- Fixed parsing whitespace lines in /etc/fstab (bsc#1030425) +- 3.2.28 + +------------------------------------------------------------------- Mon Apr 10 15:23:06 UTC 2017 - [email protected] - Set correct title when wizard is supported (bsc#1033161#c4) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.2.27/package/yast2.spec new/yast2-3.2.28/package/yast2.spec --- old/yast2-3.2.27/package/yast2.spec 2017-04-12 10:35:57.130772663 +0200 +++ new/yast2-3.2.28/package/yast2.spec 2017-04-19 16:32:40.507807122 +0200 @@ -17,7 +17,7 @@ Name: yast2 -Version: 3.2.27 +Version: 3.2.28 Release: 0 Summary: YaST2 - Main Package License: GPL-2.0
