This bug was fixed in the package ufw - 0.36.2-1

---------------
ufw (0.36.2-1) unstable; urgency=medium

  * New upstream release (LP: #1946804, LP: #1927737, LP: #1927734,
    LP: #2015645, LP: #1996636, LP: #1965462, LP: #1951018, Closes: 1034568,
    Closes: 1034119). Drop the following (included upstream):
    - 0002-fix-copyright.patch
    - 0003-python3-versions.patch
    - 0004-set-default-policy-after-load.patch
  * Remaining changes:
    - 0001-optimize-boot.patch
  * add new debian/po/ro.po. Thanks Remus-Gabriel Chelu (Closes: 1033758)
  * debian/control:
    - Breaks with iptables-persistent and netfilter-persistent. When ufw is
      installed, it is not enabled by default, so it doesn't interfere with
      other firewall software (until it is enabled). In contrast,
      iptables-persistent and netfilter-persistent install enabled, which
      interferes with ufw. Add a breaks on these to avoid them being
      co-installed with ufw (and causing problems for users).
    - use Python-Version instead of XB-Python-Version
    - remove Depends on obsolete lsb-base
  * ufw.lintian-overrides:
    - update for breaks-without-version iptables-persistent and
      netfilter-persistent
    - update for newer lintian

 -- Jamie Strandboge <jdstr...@ubuntu.com>  Thu, 18 May 2023 14:03:07
+0000

** Changed in: ufw (Ubuntu)
       Status: Triaged => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ufw in Ubuntu.
https://bugs.launchpad.net/bugs/1951018

Title:
  No ability to discern IPv4 vs IPv6 rules through Python

Status in ufw:
  Fix Released
Status in ufw package in Ubuntu:
  Fix Released

Bug description:
  Version: ufw 0.36
  Ubuntu Version: 20.04.3 LTS

  There doesn't appear to be a Python method for accessing IPv4 and IPv6
  rules in a distinguishable manner.

  In the source code (root/src/backend.py) there is an object that
  stores IPv4 and IPv6 rules in separate lists. Those lists are then
  accessed with the following method:

  def get_rules(self):
          '''Return list of all rules'''
          return self.rules + self.rules6

  The issue with this is that the returned list doesn't contain an
  indication of what IP version each item corresponds to and would
  display something like the following.

  1 allow 22/tcp
  2 allow 80
  3 allow 443
  4 allow 22/tcp
  5 allow 80
  6 allow 443

  I don't currently see a way to distinguish between IPv4 and IPv6 rules other 
than accessing the lists in the backend object directly (but I don't think this 
is best practice). E.g.:
  rules_ipv4 = backend.rules
  rules_ipv6 = backend.rules6

  One possible fix would be to add functions that return only the IPv4 or IPv6 
rules. E.g.:
  def get_rules_ipv4(self):
          '''Return list of all ipv4 rules'''
          return self.rules
  def get_rules_ipv6(self):
          '''Return list of all ipv6 rules'''
          return self.rules6

To manage notifications about this bug go to:
https://bugs.launchpad.net/ufw/+bug/1951018/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to