Hello community,

here is the log from the commit of package yast2 for openSUSE:Factory checked 
in at 2019-02-11 21:17:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2 (Old)
 and      /work/SRC/openSUSE:Factory/.yast2.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2"

Mon Feb 11 21:17:49 2019 rev:442 rq:672409 version:4.1.54

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2/yast2.changes      2019-01-24 
14:00:59.108217751 +0100
+++ /work/SRC/openSUSE:Factory/.yast2.new.28833/yast2.changes   2019-02-11 
21:17:50.775322595 +0100
@@ -1,0 +2,7 @@
+Thu Feb  7 10:01:59 UTC 2019 - [email protected]
+
+- Firewall: added some help methods for moving interfaces between
+  zones in a safe way (fate#324662).
+- 4.1.54
+
+-------------------------------------------------------------------

Old:
----
  yast2-4.1.53.tar.bz2

New:
----
  yast2-4.1.54.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ yast2.spec ++++++
--- /var/tmp/diff_new_pack.eFJr38/_old  2019-02-11 21:17:51.359322284 +0100
+++ /var/tmp/diff_new_pack.eFJr38/_new  2019-02-11 21:17:51.363322283 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           yast2
-Version:        4.1.53
+Version:        4.1.54
 Release:        0
 Summary:        YaST2 - Main Package
 License:        GPL-2.0-only

++++++ yast2-4.1.53.tar.bz2 -> yast2-4.1.54.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-4.1.53/library/network/src/lib/y2firewall/firewalld/interface.rb 
new/yast2-4.1.54/library/network/src/lib/y2firewall/firewalld/interface.rb
--- old/yast2-4.1.53/library/network/src/lib/y2firewall/firewalld/interface.rb  
2019-01-18 09:50:21.000000000 +0100
+++ new/yast2-4.1.54/library/network/src/lib/y2firewall/firewalld/interface.rb  
2019-02-07 11:49:53.000000000 +0100
@@ -96,6 +96,15 @@
         fw.zones.find { |z| z.interfaces.include?(name) }
       end
 
+      # Assign the interface to the given zone
+      #
+      # @param zone_name [String] the name of the zone to be assigned to
+      def zone=(zone_name)
+        fw.zones.each { |z| z.remove_interface(name) if 
z.interfaces.include?(name) }
+        z = fw.find_zone(zone_name)
+        z && z.add_interface(name)
+      end
+
     private
 
       # Return an instance of Y2Firewall::Firewalld
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-4.1.53/library/network/src/lib/y2firewall/firewalld/zone.rb 
new/yast2-4.1.54/library/network/src/lib/y2firewall/firewalld/zone.rb
--- old/yast2-4.1.53/library/network/src/lib/y2firewall/firewalld/zone.rb       
2019-01-18 09:50:21.000000000 +0100
+++ new/yast2-4.1.54/library/network/src/lib/y2firewall/firewalld/zone.rb       
2019-02-07 11:49:53.000000000 +0100
@@ -136,6 +136,15 @@
         api.change_interface(name, interface)
       end
 
+      # Assign the interface to the zone removing it previously from any other
+      # zone that was including it.
+      #
+      # @param interface [String] interface name
+      def change_interface(interface)
+        firewalld.zones.each { |z| z.remove_interface(interface) }
+        add_interface(interface)
+      end
+
     private
 
       # Convenience method which return an instance of Y2Firewall::Firewalld
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-4.1.53/library/network/src/modules/NetworkInterfaces.rb 
new/yast2-4.1.54/library/network/src/modules/NetworkInterfaces.rb
--- old/yast2-4.1.53/library/network/src/modules/NetworkInterfaces.rb   
2019-01-18 09:50:21.000000000 +0100
+++ new/yast2-4.1.54/library/network/src/modules/NetworkInterfaces.rb   
2019-02-07 11:49:53.000000000 +0100
@@ -865,7 +865,6 @@
               # TODO : delete PREFIXLEN from config file
             end
           end
-          devmap["ZONE"] = nil if devmap["ZONE"] && devmap["ZONE"].empty?
           # write all keys to config
           Builtins.maplist(
             Convert.convert(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-4.1.53/library/network/test/y2firewall/firewalld/interface_test.rb 
new/yast2-4.1.54/library/network/test/y2firewall/firewalld/interface_test.rb
--- 
old/yast2-4.1.53/library/network/test/y2firewall/firewalld/interface_test.rb    
    2019-01-18 09:50:21.000000000 +0100
+++ 
new/yast2-4.1.54/library/network/test/y2firewall/firewalld/interface_test.rb    
    2019-02-07 11:49:53.000000000 +0100
@@ -123,4 +123,27 @@
       end
     end
   end
+
+  describe "#zone=" do
+    let(:public_zone) { Y2Firewall::Firewalld::Zone.new(name: "public") }
+    let(:dmz_zone) { Y2Firewall::Firewalld::Zone.new(name: "dmz") }
+
+    before do
+      allow(Y2Firewall::Firewalld.instance).to receive(:zones)
+        .and_return([public_zone, dmz_zone])
+      public_zone.interfaces = ["eth1"]
+      dmz_zone.interfaces = ["eth0"]
+    end
+
+    it "removes the interface from the zones that include the interface" do
+      iface.zone = "public"
+      expect(dmz_zone.interfaces).to be_empty
+    end
+
+    it "adds the interface to the given zone" do
+      expect(public_zone.interfaces).to_not include("eth0")
+      iface.zone = "public"
+      expect(public_zone.interfaces).to include("eth0")
+    end
+  end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-4.1.53/library/network/test/y2firewall/firewalld/zone_test.rb 
new/yast2-4.1.54/library/network/test/y2firewall/firewalld/zone_test.rb
--- old/yast2-4.1.53/library/network/test/y2firewall/firewalld/zone_test.rb     
2019-01-18 09:50:21.000000000 +0100
+++ new/yast2-4.1.54/library/network/test/y2firewall/firewalld/zone_test.rb     
2019-02-07 11:49:53.000000000 +0100
@@ -178,4 +178,26 @@
       end
     end
   end
+
+  describe "#change_interface" do
+    subject { described_class.new(name: "test") }
+    let(:public_zone) { Y2Firewall::Firewalld::Zone.new(name: "public") }
+    let(:dmz_zone) { Y2Firewall::Firewalld::Zone.new(name: "dmz") }
+
+    before do
+      allow(firewalld).to receive(:zones).and_return([public_zone, dmz_zone, 
subject])
+      public_zone.interfaces = ["eth1 bond0"]
+      dmz_zone.interfaces = ["eth0"]
+    end
+
+    it "removes the given interface from other zones" do
+      subject.change_interface("eth0")
+      expect(dmz_zone.interfaces).to be_empty
+    end
+
+    it "adds the given interface to this zone" do
+      subject.change_interface("eth0")
+      expect(subject.interfaces).to include("eth0")
+    end
+  end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-4.1.53/package/yast2.changes 
new/yast2-4.1.54/package/yast2.changes
--- old/yast2-4.1.53/package/yast2.changes      2019-01-18 09:50:21.000000000 
+0100
+++ new/yast2-4.1.54/package/yast2.changes      2019-02-07 11:49:53.000000000 
+0100
@@ -1,4 +1,11 @@
 -------------------------------------------------------------------
+Thu Feb  7 10:01:59 UTC 2019 - [email protected]
+
+- Firewall: added some help methods for moving interfaces between
+  zones in a safe way (fate#324662).
+- 4.1.54
+
+-------------------------------------------------------------------
 Thu Jan 17 00:55:03 UTC 2019 - [email protected]
 
 - CWM: Added date field and time field widgets (fate#322722)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-4.1.53/package/yast2.spec 
new/yast2-4.1.54/package/yast2.spec
--- old/yast2-4.1.53/package/yast2.spec 2019-01-18 09:50:21.000000000 +0100
+++ new/yast2-4.1.54/package/yast2.spec 2019-02-07 11:49:53.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           yast2
-Version:        4.1.53
+Version:        4.1.54
 Release:        0
 Summary:        YaST2 - Main Package
 License:        GPL-2.0-only


Reply via email to