Blame pidgin-NOT-UPSTREAM-2.5.3-reread-resolvconf.patch
|
|
4c3b590 |
This forces resolv.conf to be re-read every time a connection is made instead of only if NetworkManager establishes a new connection.
|
|
|
4c3b590 |
This prevents some error cases for roving clients, especially if they do not use NetworkManager.
|
|
|
4c3b590 |
|
|
|
4c3b590 |
diff -urN pidgin-2.5.3.orig/libpurple/connection.c pidgin-2.5.3/libpurple/connection.c
|
|
|
4c3b590 |
--- pidgin-2.5.3.orig/libpurple/connection.c 2008-12-20 19:38:16.000000000 -0500
|
|
|
4c3b590 |
+++ pidgin-2.5.3/libpurple/connection.c 2008-12-26 16:55:32.000000000 -0500
|
|
|
4c3b590 |
@@ -42,6 +42,10 @@
|
|
|
6d9a832 |
|
|
|
6d9a832 |
#define KEEPALIVE_INTERVAL 30
|
|
|
6d9a832 |
|
|
|
6d9a832 |
+#include <netinet/in.h>
|
|
|
6d9a832 |
+#include <arpa/nameser.h>
|
|
|
6d9a832 |
+#include <resolv.h>
|
|
|
6d9a832 |
+
|
|
|
6d9a832 |
static GList *connections = NULL;
|
|
|
6d9a832 |
static GList *connections_connecting = NULL;
|
|
|
6d9a832 |
static PurpleConnectionUiOps *connection_ui_ops = NULL;
|
|
|
4c3b590 |
@@ -161,6 +165,9 @@
|
|
|
6d9a832 |
|
|
|
6d9a832 |
purple_signal_emit(purple_connections_get_handle(), "signing-on", gc);
|
|
|
6d9a832 |
|
|
|
6d9a832 |
+ /* Re-read resolv.conf and friends in case DNS servers have changed */
|
|
|
6d9a832 |
+ res_init();
|
|
|
6d9a832 |
+
|
|
|
6d9a832 |
if (regist)
|
|
|
6d9a832 |
{
|
|
|
6d9a832 |
purple_debug_info("connection", "Registering. gc = %p\n", gc);
|
|
|
4c3b590 |
diff -urN pidgin-2.5.3.orig/libpurple/network.c pidgin-2.5.3/libpurple/network.c
|
|
|
4c3b590 |
--- pidgin-2.5.3.orig/libpurple/network.c 2008-12-20 19:38:16.000000000 -0500
|
|
|
4c3b590 |
+++ pidgin-2.5.3/libpurple/network.c 2008-12-26 16:55:32.000000000 -0500
|
|
|
4c3b590 |
@@ -633,8 +633,6 @@
|
|
|
6d9a832 |
switch(state)
|
|
|
6d9a832 |
{
|
|
|
6d9a832 |
case NM_STATE_CONNECTED:
|
|
|
6d9a832 |
- /* Call res_init in case DNS servers have changed */
|
|
|
6d9a832 |
- res_init();
|
|
|
6d9a832 |
if (ui_ops != NULL && ui_ops->network_connected != NULL)
|
|
|
6d9a832 |
ui_ops->network_connected();
|
|
|
4c3b590 |
break;
|