On Tue, 2014-05-06 at 21:58 +0100, Pete Biggs wrote:
> Presumably because Evo holds open the TCP socket connection and when you
> start the VPN it all gets confused.  I suppose the correct thing that
> Evo should do is listen for DBUS (or whatever) network events and drop
> and reform the connection when necessary.

Pete's right.  The problem was prior to 3.12, Evolution had no concept
of VPNs.  There was either a network available or there wasn't, and it
applied that globally.

GLib these days provides network monitoring functionality driven by a
Netlink socket [1], and can inform applications of whether a route is
(potentially) available for a particular host name.

Evolution 3.12 utilizes this feature in such a way that each account
reacts independently to network state changes.  If the host name for an
account is found to be unreachable after a network state change, the
account automatically closes its TCP socket (if connected) and remains
in an "offline" state until a route to the remote host is (potentially)
available again.

This should help Evolution behave better for accounts behind VPNs and
also recover more gracefully from suspend/resume events.

Matthew Barnes


[1] http://en.wikipedia.org/wiki/Netlink

_______________________________________________
evolution-list mailing list
[email protected]
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-list

Reply via email to