diff --git a/vpn-daemons/pptp/ChangeLog b/vpn-daemons/pptp/ChangeLog index 69a0d5cea..9026e1679 100644 --- a/vpn-daemons/pptp/ChangeLog +++ b/vpn-daemons/pptp/ChangeLog @@ -1,3 +1,10 @@ +2008-10-24 Dan Williams + + * src/nm-pptp-service.c + - (construct_pppd_args): pppd always parses /etc/ppp/options, so always + add really important stuff to the command line to ensure that NM + overrides /etc/ppp/options (bgo #556781) + 2008-10-14 Dan Williams * src/nm-pptp-pppd-plugin.c diff --git a/vpn-daemons/pptp/src/nm-pptp-service.c b/vpn-daemons/pptp/src/nm-pptp-service.c index a03b8fccc..1ffb0c7bd 100644 --- a/vpn-daemons/pptp/src/nm-pptp-service.c +++ b/vpn-daemons/pptp/src/nm-pptp-service.c @@ -650,6 +650,7 @@ construct_pppd_args (NMPptpPlugin *plugin, GPtrArray *args = NULL; const char *value, *pptp_binary; char *ipparam, *tmp; + gboolean set = FALSE; pptp_binary = nm_find_pptp (); if (!pptp_binary) { @@ -689,6 +690,7 @@ construct_pppd_args (NMPptpPlugin *plugin, g_ptr_array_add (args, (gpointer) g_strdup ("lock")); g_ptr_array_add (args, (gpointer) g_strdup ("usepeerdns")); g_ptr_array_add (args, (gpointer) g_strdup ("noipdefault")); + g_ptr_array_add (args, (gpointer) g_strdup ("nodefaultroute")); value = g_hash_table_lookup (s_vpn->data, NM_PPTP_KEY_REFUSE_EAP); if (value && !strcmp (value, "yes")) @@ -750,7 +752,12 @@ construct_pppd_args (NMPptpPlugin *plugin, if (errno == 0) { g_ptr_array_add (args, (gpointer) g_strdup ("lcp-echo-failure")); g_ptr_array_add (args, (gpointer) g_strdup_printf ("%ld", tmp_int)); + } else { + nm_warning ("failed to convert lcp-echo-failure value '%s'", value); } + } else { + g_ptr_array_add (args, (gpointer) g_strdup ("lcp-echo-failure")); + g_ptr_array_add (args, (gpointer) g_strdup ("0")); } value = g_hash_table_lookup (s_vpn->data, NM_PPTP_KEY_LCP_ECHO_INTERVAL); @@ -765,7 +772,12 @@ construct_pppd_args (NMPptpPlugin *plugin, if (errno == 0) { g_ptr_array_add (args, (gpointer) g_strdup ("lcp-echo-interval")); g_ptr_array_add (args, (gpointer) g_strdup_printf ("%ld", tmp_int)); + } else { + nm_warning ("failed to convert lcp-echo-interval value '%s'", value); } + } else { + g_ptr_array_add (args, (gpointer) g_strdup ("lcp-echo-interval")); + g_ptr_array_add (args, (gpointer) g_strdup ("0")); } g_ptr_array_add (args, (gpointer) g_strdup ("plugin"));