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
