Plinth can't update ejabberd app

I updated ejabberd from 23.10 to 24.12. Now, in Plinth, the app can’t be updated. Instead the following error message is returned:

Error loading page. [Details](https://thisis.fbx.one/plinth/apps/#)

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/plinth/modules/firewall/__init__.py", line 186, in get_port_details
    return _port_details[service_port]
           ~~~~~~~~~~~~~^^^^^^^^^^^^^^
KeyError: 'xmpp-client'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/django/views/generic/base.py", line 70, in view
    return self.dispatch(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/plinth/views.py", line 351, in dispatch
    return super().dispatch(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/django/views/generic/base.py", line 98, in dispatch
    return handler(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/django/views/generic/edit.py", line 133, in get
    return self.render_to_response(self.get_context_data())
                                   ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/plinth/modules/ejabberd/views.py", line 35, in get_context_data
    context = super().get_context_data(*args, **kwargs)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/plinth/views.py", line 449, in get_context_data
    context['port_forwarding_info'] = get_port_forwarding_info(self.app)
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/plinth/modules/firewall/components.py", line 239, in get_port_forwarding_info
    for port in component.ports_details:
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/plinth/modules/firewall/components.py", line 47, in ports_details
    'details': firewall.get_port_details(port),
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/plinth/modules/firewall/__init__.py", line 188, in get_port_details
    config = _get_dbus_proxy(_CONFIG_OBJECT, _CONFIG_INTERFACE)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/plinth/modules/firewall/__init__.py", line 112, in _get_dbus_proxy
    connection = gio.bus_get_sync(gio.BusType.SYSTEM)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gi.repository.GLib.GError: g-io-error-quark: Could not connect: No such file or directory (1)

That error appears when clicking on ejabberd in the Apps page like so:

Freedombox 25.7

  • Hardware: VPS
  • How did you install FreedomBox?: ‘apt install freedombox’

Any suggestions on how to get passed this?

Thank you

It looks like firewalld is not running. This could be because firewalld package was also upgraded during your changes. Please try to rerun setup on the firewalld app and see if that can fix the issue. Otherwise, please collect the following data:

dpkg -l firewalld
apt -f install
systemctl status firewalld
journalctl -u firewalld -n 100

We have some difficulties with firewalld during distribution upgrade to Trixie. Several careful tweaks were made to ensure that FreedomBox can upgrade firewalld properly.

:face_with_monocle: /me runs systemctl status firewalld

Indeed, :hushed_face: status: inactive.

I restarted firewalld and plinth can now load the ejabberd page under Apps. So, thank you, @sunil.

But, OMG, I’ve been running several hours exposed on the Internet without a firewall!!! Any suggestions on how to start checking to see if I’ve been pwned during this time? I guess I’ll scan the logs to start, but I’m not even sure what to look for. (I’m almost too scared to check after being nekked on the 'Net for so long.)