[patch] fix openvpn port saving



Here is a patch to fix nm not saving the openvpn gateway port.
I just switched the type from uint to int.
Alternatively you could patch the applet to know how to write uints to gconf.

Rob


Index: openvpn/src/nm-openvpn-service.c
===================================================================
--- openvpn/src/nm-openvpn-service.c    (revision 3261)
+++ openvpn/src/nm-openvpn-service.c    (working copy)
@@ -91,7 +91,7 @@
        { NM_OPENVPN_KEY_TAP_DEV,         G_TYPE_BOOLEAN },
        { NM_OPENVPN_KEY_KEY,             G_TYPE_STRING },
        { NM_OPENVPN_KEY_LOCAL_IP,        G_TYPE_STRING },
-       { NM_OPENVPN_KEY_PORT,            G_TYPE_UINT },
+       { NM_OPENVPN_KEY_PORT,            G_TYPE_INT },
        { NM_OPENVPN_KEY_PROTO_TCP,       G_TYPE_BOOLEAN },
        { NM_OPENVPN_KEY_REMOTE,          G_TYPE_STRING },
        { NM_OPENVPN_KEY_REMOTE_IP,       G_TYPE_STRING },
@@ -419,7 +419,7 @@
        tmp = g_hash_table_lookup (properties, NM_OPENVPN_KEY_PORT);
        if (tmp)
                /* The string here is leaked, big deal. */
-               g_ptr_array_add (openvpn_argv, g_strdup_printf ("%u", g_value_get_uint ((GValue *) tmp)));
+               g_ptr_array_add (openvpn_argv, g_strdup_printf ("%i", g_value_get_int ((GValue *) tmp)));
        else
                /* Default to IANA assigned port 1194 */
                g_ptr_array_add (openvpn_argv, (GValue *) "1194");

Index: openvpn/properties/nm-openvpn.c
===================================================================
--- openvpn/properties/nm-openvpn.c     (revision 3261)
+++ openvpn/properties/nm-openvpn.c     (working copy)
@@ -224,18 +224,6 @@
        return value;
 }

-static GValue *
-uint_to_gvalue (guint u)
-{
-       GValue *value;
-
-       value = g_slice_new0 (GValue);
-       g_value_init (value, G_TYPE_UINT);
-       g_value_set_uint (value, u);
-
-       return value;
-}
-
 static void
 impl_fill_connection (NetworkManagerVpnUI *self, NMConnection *connection)
 {
@@ -302,7 +290,7 @@

        g_hash_table_insert (properties, g_strdup(NM_OPENVPN_KEY_TAP_DEV), bool_to_gvalue (use_tap));
        g_hash_table_insert (properties, g_strdup(NM_OPENVPN_KEY_REMOTE), str_to_gvalue (remote));
-       g_hash_table_insert (properties, g_strdup(NM_OPENVPN_KEY_PORT), uint_to_gvalue ((guint) atoi (port)));
+       g_hash_table_insert (properties, g_strdup(NM_OPENVPN_KEY_PORT), int_to_gvalue (atoi (port)));
        g_hash_table_insert (properties, g_strdup(NM_OPENVPN_KEY_PROTO_TCP), bool_to_gvalue (use_tcp));
        g_hash_table_insert (properties, g_strdup(NM_OPENVPN_KEY_CA), str_to_gvalue (ca));
        g_hash_table_insert (properties, g_strdup(NM_OPENVPN_KEY_CERT), str_to_gvalue (cert));
@@ -373,7 +361,7 @@
        if (!strcmp (name, NM_OPENVPN_KEY_REMOTE))
                gtk_entry_set_text (impl->w_remote, g_value_get_string (value));
        else if (!strcmp (name, NM_OPENVPN_KEY_PORT)) {
-               char *port = g_strdup_printf ("%u", g_value_get_uint (value));
+               char *port = g_strdup_printf ("%i", g_value_get_int (value));
                gtk_entry_set_text (impl->w_port, port);
                g_free (port);
        } else if (!strcmp (name, NM_OPENVPN_KEY_CA))
@@ -1337,7 +1325,7 @@
        FILE *f;
        const char *connection_type = "";
        const char *remote = "";
-       guint port = 1194;
+       int port = 1194;
        gboolean tap_dev = FALSE;
        gboolean proto_tcp = FALSE;
        const char *ca = "";
@@ -1369,7 +1357,7 @@

        val = (GValue *) g_hash_table_lookup (s_vpn_props->data, NM_OPENVPN_KEY_PORT);
        if (val)
-               port = g_value_get_uint (val);
+               port = g_value_get_int (val);

        val = (GValue *) g_hash_table_lookup (s_vpn_props->data, NM_OPENVPN_KEY_TAP_DEV);
        if (val)
@@ -1468,7 +1456,7 @@
                            "description=%s\n"
                            "connection-type=%s\n"
                            "remote=%s\n"
-                           "port=%u\n"
+                           "port=%i\n"
                            "dev=%s\n"
                            "proto=%s\n"
                            "ca=%s\n"




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]