Plasma Firewall

Nate Graham nate at kde.org
Sun Oct 4 16:32:07 BST 2020


I've got firewalld installed, yet I see an error asking me to install it 
upon opening the KCM: https://i.imgur.com/qQzYLwH.jpg

Nate


On 9/17/20 5:20 AM, Tomaz Canabrava wrote:
> People, I have spend a great deal of time fine tuning the Firewall, I 
> hope it's ready for a release.
> 
> On Wed, Jun 3, 2020 at 6:33 PM Tomaz Canabrava <tcanabrava at kde.org 
> <mailto:tcanabrava at kde.org>> wrote:
> 
>     Lots of nitpicks fixed, still missing some, I'll finish the rest today.
> 
> 
>     On Fri, May 22, 2020 at 6:10 PM Ivan Čukić <ivan.cukic at kde.org
>     <mailto:ivan.cukic at kde.org>> wrote:
> 
>         Hi Kai,
> 
> 
>         This is something that Plasma has been missing for a long time.
>         Thanks to
>         everyone involved!
> 
> 
>         A few comments from a quick run-through over kcm/core:
> 
>         # Style issues
> 
>         - Some enums use MACRO_STYLE, some NormalStyle
> 
>         - Some one-line if bodies in the same file have {}, some do not
> 
>         - Double plural interfaces_names
>         https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/firewallclient.cpp#L56
> 
>         - Personal preference - error handling in the if instead of out.
>         This:
>            if (!m_currentBackend) { return nullptr; }
>            return proper;
>         instead of this:
>            if (m_currentBackend) { return proper; }
>            return nullptr;
> 
>         - Missing m_ prefix for member variables:
>         https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/
>         profile.h#L108
>         <https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/profile.h#L108>
> 
>         - s/getRule/ruleAt/ - we don't usually have 'get' in the API if
>         we can avoid
>         it:
>         https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/
>         ifirewallclientbackend.h#L50
>         <https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/ifirewallclientbackend.h#L50>
> 
>         - Could use a pipe through clang-format
> 
> 
>         # Non-style issues:
> 
>         - Should be ||, not && in:
>         https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/
>         rulelistmodel.cpp#L37
>         <https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/rulelistmodel.cpp#L37>
> 
>         - Can be a const or a ref-to-const, no need for qAsConst after:
>         https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/
>         firewallclient.cpp#L58
>         <https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/firewallclient.cpp#L58>
> 
>         - Should add m_currentBackend = nullptr; after delete
>         https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/
>         firewallclient.cpp#L248
>         <https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/firewallclient.cpp#L248>
>         (otherwise you get UB on 270 if no plugins have been found)
> 
>         - Logic-wise - it would be better to redesign (if possible) not
>         to allow
>         m_currentBackend == nullptr instead of asserting and checking in
>         each function
>         (for example, to show a UI that can not call anything in the
>         backend is no
>         backend is loaded)
> 
>         - Wrong order - sort m_profiles and then replace it with a new
>         contents?
>         https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/
>         ifirewallclientbackend.cpp#L36
>         <https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/ifirewallclientbackend.cpp#L36>
> 
>         - cbegin/cend instead of begin/end:
>         https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/
>         ifirewallclientbackend.cpp#L42
>         <https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/ifirewallclientbackend.cpp#L42>
> 
> 
>         - [&name] instead of [name]
>         https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/
>         ifirewallclientbackend.cpp#L43
>         <https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/ifirewallclientbackend.cpp#L43>
> 
>         - mark member functions that can be const as const
>         https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/
>         ifirewallclientbackend.h#L89
>         <https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/ifirewallclientbackend.h#L89>
> 
>         - else if for chained checks of reader.name
>         <http://reader.name>() == something
>         https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/
>         profile.cpp#L163
>         <https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/profile.cpp#L163>
> 
>         - !...isEmpty is not needed - adds.contains(":") covers !...isEmpty
>         https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/
>         rule.cpp#L46
>         <https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/core/rule.cpp#L46>
> 
>         - Assigning long-lived parents is naughty:
>         https://invent.kde.org/tcanabrava/
>         plasma-firewall/-/blob/master/kcm/backends/ufw/ufwclient.cpp#L318 <https://invent.kde.org/tcanabrava/plasma-firewall/-/blob/master/kcm/backends/ufw/ufwclient.cpp#L318>
> 
> 
> 
>         So much from me at this point.
> 
>         Cheers,
>         Ivan
> 
> 
> 
>         -- 
>         dr Ivan Čukić
>         ivan at cukic.co <mailto:ivan at cukic.co>, https://cukic.co/
>         gpg key fingerprint: 8FE4 D32F 7061 EA9C 8232  07AE 01C6 CE2B
>         FF04 1C12
> 
> 



More information about the Plasma-devel mailing list