On Tue, 2017-12-05 at 18:53 +0100, Michael Hirmke wrote:
> Hi *,

Hi,


> after one of the latest NetworkManager upgrades one of my perl
> scripts
> stopped working, obviously because listening to dbus' NetworkManager
> DeviceAdded/DeviceRemoved signals no longer covers my strongswan vpn
> connections.

And update of NM shouldn't change behavior for you. Can you detail what
causes the breaking?

> Using
>   dbus-monitor --system "interface='org.freedesktop.NetworkManager'"
> I see, that a PropertiesChanged signal is fired and a new entry
> appears in the list of active connections, as soon as the vpn
> connection
> is established.
> 
> So my question is: How do I handle this programmatically?
> Do I listen to PropertiesChanged signals in addition to
> DeviceAdded/DeviceRemoved signals? And if so, how do I know that
> PropertiesChanged means that a new connection appeared and what
> connection that is?


/org/freedesktop/NetworkManager/Devices/* is different from 
/org/freedesktop/NetworkManager/ActiveConnection/* is different from
/org/freedesktop/NetworkManager/Settings/*

An ActiveConnection connects the connection profile with the networking
device, while the profile is activated on a device..

DeviceAdded/DeviceRemove notifies you about devices. A PropertyChanged
signal for property ActiveConnections, notifies you about a change in
the list of all active connections (which is add or removal).

VPN connections for NetworkManager are a bit wired. VPN connections are
a subclass of active connections.
If you have a tun/tap based VPN (like OpenVPN), then the VPN's device
is not the tun/tap device, but instead the device with the default
route. As you see with `nmcli device`.

You don't say what you want to do, but usually you need to look at one
or more D-Bus objects and their state.
You would look at the presence and state of the active-connection (or
VPN connection), in addition to the state of the device. However, as
said, in case of VPNs, the device is not what you might expect it is.

See the D-Bus API documentation:
 https://developer.gnome.org/NetworkManager/stable/spec.html


best,
Thomas

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
networkmanager-list mailing list
networkmanager-list@gnome.org
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to