This bug was fixed in the package ufw - 0.36-0ubuntu0.18.04.1 --------------- ufw (0.36-0ubuntu0.18.04.1) bionic-proposed; urgency=medium
* Backport to bionic addressing the following SRU bugs: - LP: #1811129 - master SRU bug - LP: #1664133 - before6.rules: echo-reply needs to be before INVALID - LP: #1719211 - improve interface name checks - LP: #1775043 - shell-completion/bash: adjust for modern bash - LP: #1204579 - support concurrent updates - LP: #1368411 - add 'prepend' command -- Jamie Strandboge <ja...@ubuntu.com> Mon, 25 Mar 2019 21:14:25 +0000 ** Changed in: ufw (Ubuntu Bionic) Status: Fix Committed => 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/1775043 Title: bash completion not working: uses deprecated have() Status in ufw: Fix Released Status in ufw package in Ubuntu: Fix Released Status in ufw source package in Bionic: Fix Released Status in ufw source package in Cosmic: Fix Released Status in ufw source package in Disco: Fix Released Bug description: [Impact] Tab completion is currently broken. [Test Case] $ ufw <tab><tab> allow delete --dry-run --help logging reset status app deny enable insert reject route version default disable --force limit reload show With an unpatched ufw, tab completion only shows the files in the current directory, which is meaningless for ufw. [Regression Potential] Risk of regression is considered very low since tab completion is totally broken and correct functionality is easily tested. = Original description = bash completion, defined in /usr/share/bash- completion/completions/ufw, doesn't work: the completion is not dynamically loaded, because it uses deprecated helper function have(). According to /usr/share/bash-completions/bash_completion, which defines the helper functions: # Backwards compatibility for compat completions that use have(). # @deprecated should no longer be used; generally not needed with dynamically # loaded completions, and _have is suitable for runtime use. and at the end of the file: unset -f have unset have which means: function have() is not available for usage. The bash completion for ufw conditionally defines _ufw and the comspec: have ufw && _ufw() ... [ "$have" ] && complete -F _ufw ufw These should be changed to: _have ufw && _ufw() ... _have ufw && complete -F _ufw ufw ProblemType: Bug DistroRelease: Ubuntu 18.04 Package: ufw 0.35-5 ProcVersionSignature: Ubuntu 4.15.0-22.24-generic 4.15.17 Uname: Linux 4.15.0-22-generic x86_64 ApportVersion: 2.20.9-0ubuntu7.1 Architecture: amd64 CurrentDesktop: XFCE Date: Mon Jun 4 14:34:11 2018 InstallationDate: Installed on 2018-04-28 (37 days ago) InstallationMedia: Xubuntu 18.04 LTS "Bionic Beaver" - Release amd64 (20180426) PackageArchitecture: all SourcePackage: ufw UpgradeStatus: No upgrade log present (probably fresh install) To manage notifications about this bug go to: https://bugs.launchpad.net/ufw/+bug/1775043/+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