mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-10-15 12:34:55 +00:00
2008-04-17 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-pppoe.c - (verify): require a PPP setting too * src/ppp-manager/nm-ppp-manager.c - (nm_ppp_manager_start): fail if no PPP setting is present instead of segfaulting git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3574 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
parent
208864fcf5
commit
d37629c6ca
|
@ -1,3 +1,12 @@
|
|||
2008-04-17 Dan Williams <dcbw@redhat.com>
|
||||
|
||||
* libnm-util/nm-setting-pppoe.c
|
||||
- (verify): require a PPP setting too
|
||||
|
||||
* src/ppp-manager/nm-ppp-manager.c
|
||||
- (nm_ppp_manager_start): fail if no PPP setting is present instead of
|
||||
segfaulting
|
||||
|
||||
2008-04-17 Dan Williams <dcbw@redhat.com>
|
||||
|
||||
* src/nm-device.c
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include <string.h>
|
||||
#include "nm-setting-pppoe.h"
|
||||
#include "nm-setting-ppp.h"
|
||||
|
||||
G_DEFINE_TYPE (NMSettingPPPOE, nm_setting_pppoe, NM_TYPE_SETTING)
|
||||
|
||||
|
@ -20,6 +21,15 @@ nm_setting_pppoe_new (void)
|
|||
return (NMSetting *) g_object_new (NM_TYPE_SETTING_PPPOE, NULL);
|
||||
}
|
||||
|
||||
static gint
|
||||
find_setting_by_name (gconstpointer a, gconstpointer b)
|
||||
{
|
||||
NMSetting *setting = NM_SETTING (a);
|
||||
const char *str = (const char *) b;
|
||||
|
||||
return strcmp (nm_setting_get_name (setting), str);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
verify (NMSetting *setting, GSList *all_settings)
|
||||
{
|
||||
|
@ -35,6 +45,11 @@ verify (NMSetting *setting, GSList *all_settings)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!g_slist_find_custom (all_settings, NM_SETTING_PPP_SETTING_NAME, find_setting_by_name)) {
|
||||
g_warning ("Invalid or missing PPP setting");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
|
@ -634,8 +634,9 @@ nm_ppp_manager_start (NMPPPManager *manager,
|
|||
|
||||
connection = nm_act_request_get_connection (req);
|
||||
ppp_setting = NM_SETTING_PPP (nm_connection_get_setting (connection, NM_TYPE_SETTING_PPP));
|
||||
g_return_val_if_fail (ppp_setting != NULL, FALSE);
|
||||
|
||||
pppoe_setting = (NMSettingPPPOE *) nm_connection_get_setting (connection, NM_TYPE_SETTING_PPPOE);
|
||||
|
||||
if (pppoe_setting)
|
||||
pppoe_fill_defaults (ppp_setting);
|
||||
|
||||
|
|
Loading…
Reference in a new issue