Public bug reported:

Ubuntu release:
Ubuntu 26.04 LTS (Resolute Raccoon), amd64
Kernel: 7.0.0-29-generic

Affected packages:
network-manager-sstp 1.3.2-1build6
network-manager-sstp-gnome 1.3.2-1build6
network-manager 1.54.3-2ubuntu3
gnome-control-center 1:50.3-0ubuntu0.1
libnma-gtk4-0 1.10.6-7

Steps to reproduce:
1. Install sstp-client, network-manager-sstp and network-manager-sstp-gnome 
from the official Resolute repositories.
2. Open GNOME Settings -> Network -> VPN -> Add VPN.
3. Select SSTP.

Expected result:
The SSTP editor displays Gateway, User name, Password, CA certificate and PPP 
options.

Actual result:
The dialog displays only the generic connection name field. The SSTP-specific 
editor content is missing.

The journal logs these messages when the editor is opened:
gnome-control-center: invalid (NULL) pointer instance
gnome-control-center: g_signal_handlers_disconnect_matched: assertion 
'G_TYPE_CHECK_INSTANCE (instance)' failed

Root cause:
The GTK4 editor library embeds an invalid property on GtkCenterBox. This can be 
verified on the unmodified Ubuntu package with:

plugin=/usr/lib/x86_64-linux-gnu/NetworkManager/libnm-gtk4-vpn-plugin-sstp-editor.so
gresource extract "$plugin" 
/org/freedesktop/network-manager-sstp/nm-sstp-dialog.ui

The extracted resource contains:

<object class="GtkCenterBox" id="sstp-vbox">
  <property name="orientation">vertical</property>
  <property name="spacing">16</property>

GtkCenterBox does not provide a spacing property in GTK4, so GtkBuilder
cannot construct the SSTP editor.

Minimal fix:
Filter obsolete spacing properties only while generating the GTK4 UI. The 
original GTK3 UI remains unchanged.

--- a/Makefile.am
+++ b/Makefile.am
@@ -145,7 +145,7 @@
 gtk4/%.ui: properties/%.ui
        @mkdir -p $(builddir)/gtk4
-       gtk4-builder-tool simplify --3to4 $< |grep -v can-default >$@
+       gtk4-builder-tool simplify --3to4 $< | grep -v can-default | grep -v 
'name="spacing"' >$@

Verification:
I rebuilt the official Ubuntu source package as 1.3.2-1build6+gtk4fix1 and 
installed only network-manager-sstp and network-manager-sstp-gnome. The 
generated GtkCenterBox no longer contains the invalid spacing property, all 
shared-library dependencies resolve, GNOME Settings starts without the previous 
SSTP/GTK4 error, and the existing network connection remains unaffected.

A similar downstream fix has also been used when packaging network-manager-sstp 
1.3.2 with GTK4 support:
https://github.com/void-linux/void-packages/pull/59016

** Affects: network-manager-sstp (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2163435

Title:
  SSTP VPN editor in GNOME Settings shows only connection name due to
  invalid GtkCenterBox spacing property

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/network-manager-sstp/+bug/2163435/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to