On Fri, 2009-01-09 at 10:31 -0800, Jonathan Petersson wrote: > Which repository am I supposed to check out to modify > nm-openvpn-service-openvpn-helper.c?
svn.gnome.org repo: network-manager-openvpn or add as a patch on top of your distros current openvpn source package and rebuild it. Dan > Thanks > > /Jonathan > > On Fri, Jan 9, 2009 at 9:45 AM, Dan Williams <[email protected]> wrote: > > On Fri, 2009-01-09 at 08:51 -0800, Jonathan Petersson wrote: > >> Please see first part och the log-file:, OpenVPN pushes it: > >> > >> Jan 8 22:59:39 jpetersson-desk1 nm-openvpn[14982]: TUN/TAP device tap0 > >> opened > >> Jan 8 22:59:39 jpetersson-desk1 nm-openvpn[14982]: /sbin/ifconfig > >> tap0 10.100.40.5 netmask 255.255.255.0 mtu 1500 broadcast > >> 10.100.40.255 > >> Jan 8 22:59:39 jpetersson-desk1 vmnetBridge: RTM_NEWLINK: name:tap0 > >> index:14 flags:0x00011043 > >> Jan 8 22:59:39 jpetersson-desk1 avahi-daemon[6615]: Joining mDNS > >> multicast group on interface tap0.IPv4 with address 10.100.40.5. > > > > Ok, it *does* send it for TAP devices, but not TUN devices (obviously, > > since TUN is point-to-point it uses 255.255.255.255). Can you try the > > patch below? > > > > Dan > > > > Index: src/nm-openvpn-service-openvpn-helper.c > > =================================================================== > > --- src/nm-openvpn-service-openvpn-helper.c (revision 11) > > +++ src/nm-openvpn-service-openvpn-helper.c (working copy) > > @@ -287,6 +287,7 @@ > > GValue *nbns_list = NULL; > > GValue *dns_domain = NULL; > > struct in_addr temp_addr; > > + gboolean tapdev = FALSE; > > > > g_type_init (); > > > > @@ -310,13 +311,17 @@ > > if (val) > > g_hash_table_insert (config, > > NM_VPN_PLUGIN_IP4_CONFIG_INT_GATEWAY, val); > > > > - /* Tunnel device */ > > - val = str_to_gvalue (getenv ("dev"), FALSE); > > + /* VPN device */ > > + tmp = getenv ("dev"); > > + val = str_to_gvalue (tmp, FALSE); > > if (val) > > g_hash_table_insert (config, > > NM_VPN_PLUGIN_IP4_CONFIG_TUNDEV, val); > > else > > helper_failed (connection, "Tunnel Device"); > > > > + if (strncmp (tmp, "tap", 3) == 0) > > + tapdev = TRUE; > > + > > /* IP address */ > > val = addr_to_gvalue (getenv ("ifconfig_local")); > > if (val) > > @@ -329,15 +334,28 @@ > > if (val) > > g_hash_table_insert (config, NM_VPN_PLUGIN_IP4_CONFIG_PTP, > > val); > > > > - /* Netmask */ > > - tmp = getenv ("route_netmask_1"); > > - if (tmp && inet_pton (AF_INET, tmp, &temp_addr) > 0) { > > + /* Netmask > > + * > > + * TAP devices pass back the netmask, while TUN devices always use > > /32 > > + * since they are point-to-point. > > + */ > > + if (tapdev) { > > + tmp = getenv ("ifconfig_netmask"); > > + if (tmp && inet_pton (AF_INET, tmp, &temp_addr) > 0) { > > + GValue *val; > > + > > + val = g_slice_new0 (GValue); > > + g_value_init (val, G_TYPE_UINT); > > + g_value_set_uint (val, > > nm_utils_ip4_netmask_to_prefix (temp_addr.s_addr)); > > + > > + g_hash_table_insert (config, > > NM_VPN_PLUGIN_IP4_CONFIG_PREFIX, val); > > + } > > + } else { > > GValue *val; > > > > val = g_slice_new0 (GValue); > > g_value_init (val, G_TYPE_UINT); > > - g_value_set_uint (val, nm_utils_ip4_netmask_to_prefix > > (temp_addr.s_addr)); > > - > > + g_value_set_uint (val, 32); > > g_hash_table_insert (config, > > NM_VPN_PLUGIN_IP4_CONFIG_PREFIX, val); > > } > > > > > > _______________________________________________ NetworkManager-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/networkmanager-list
