mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-03-21 18:00:38 +01:00
2007-02-02 Dan Williams <dcbw@redhat.com>
* src/vpn-manager/nm-vpn-service.c - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS and NBNS server addresses git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2265 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
parent
bf0b6ee410
commit
06fe3cfed9
2 changed files with 43 additions and 25 deletions
|
|
@ -1,3 +1,9 @@
|
|||
2007-02-02 Dan Williams <dcbw@redhat.com>
|
||||
|
||||
* src/vpn-manager/nm-vpn-service.c
|
||||
- (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
|
||||
and NBNS server addresses
|
||||
|
||||
2007-02-02 Tambet Ingo <tambet@ximian.com>
|
||||
|
||||
* src/nm-dbus-manager.c:
|
||||
|
|
|
|||
|
|
@ -900,12 +900,16 @@ out:
|
|||
}
|
||||
|
||||
|
||||
#define HANDLE_DICT_ITEM(in_key, in_type, op) \
|
||||
#define HANDLE_DICT_ITEM(in_key, in_type, in_ary_type, op) \
|
||||
if (!strcmp (entry.key, in_key)) { \
|
||||
if (entry.type != in_type) { \
|
||||
nm_warning (in_key "had invalid type in VPN IP Config message."); \
|
||||
} else { \
|
||||
op \
|
||||
if (in_type == DBUS_TYPE_ARRAY && entry.array_type != in_ary_type) { \
|
||||
nm_warning (in_key "had invalid type in VPN IP Config message."); \
|
||||
} else { \
|
||||
op \
|
||||
} \
|
||||
} \
|
||||
goto next; \
|
||||
}
|
||||
|
|
@ -980,6 +984,8 @@ nm_vpn_service_stage4_ip4_config_get (NMVPNService *service,
|
|||
}
|
||||
|
||||
while (nmu_dbus_dict_has_dict_entry (&iter_dict)) {
|
||||
int i;
|
||||
|
||||
if (!nmu_dbus_dict_get_entry (&iter_dict, &entry)) {
|
||||
nm_warning ("Error: couldn't read dict entry"
|
||||
" from VPN IP Config message.");
|
||||
|
|
@ -987,33 +993,39 @@ nm_vpn_service_stage4_ip4_config_get (NMVPNService *service,
|
|||
}
|
||||
|
||||
/* IP specific options */
|
||||
HANDLE_DICT_ITEM("gateway", DBUS_TYPE_UINT32,
|
||||
{ nm_ip4_config_set_gateway (config, entry.uint32_value); });
|
||||
HANDLE_DICT_ITEM("local_addr", DBUS_TYPE_UINT32,
|
||||
{ nm_ip4_config_set_address (config, entry.uint32_value); });
|
||||
HANDLE_DICT_ITEM("ptp_addr", DBUS_TYPE_UINT32,
|
||||
{ nm_ip4_config_set_ptp_address (config, entry.uint32_value); });
|
||||
HANDLE_DICT_ITEM("gateway", DBUS_TYPE_UINT32, 0,
|
||||
{ nm_ip4_config_set_gateway (config, entry.uint32_value); });
|
||||
HANDLE_DICT_ITEM("local_addr", DBUS_TYPE_UINT32, 0,
|
||||
{ nm_ip4_config_set_address (config, entry.uint32_value); });
|
||||
HANDLE_DICT_ITEM("ptp_addr", DBUS_TYPE_UINT32, 0,
|
||||
{ nm_ip4_config_set_ptp_address (config, entry.uint32_value); });
|
||||
/* If no netmask, default to Class C address */
|
||||
HANDLE_DICT_ITEM("local_netmask", DBUS_TYPE_UINT32,
|
||||
{ nm_ip4_config_set_netmask (config, entry.uint32_value ? entry.uint32_value : 0x00FF); });
|
||||
HANDLE_DICT_ITEM("local_netmask", DBUS_TYPE_UINT32, 0,
|
||||
{ nm_ip4_config_set_netmask (config, entry.uint32_value ? entry.uint32_value : 0x00FF); });
|
||||
/* Multiple DNS servers are allowed */
|
||||
HANDLE_DICT_ITEM("dns_server", DBUS_TYPE_UINT32,
|
||||
{ nm_ip4_config_add_nameserver (config, entry.uint32_value); });
|
||||
HANDLE_DICT_ITEM("dns_server", DBUS_TYPE_ARRAY, DBUS_TYPE_UINT32,
|
||||
{
|
||||
for (i = 0; i < entry.array_len; i++)
|
||||
nm_ip4_config_add_nameserver (config, entry.uint32array_value[i]);
|
||||
});
|
||||
/* Multiple NBNS servers are allowed */
|
||||
HANDLE_DICT_ITEM("nbns_server", DBUS_TYPE_UINT32,
|
||||
{ /* We don't do anything with these yet */ ; });
|
||||
|
||||
HANDLE_DICT_ITEM("nbns_server", DBUS_TYPE_ARRAY, DBUS_TYPE_UINT32,
|
||||
{
|
||||
for (i = 0; i < entry.array_len; i++) {
|
||||
/* We don't do anything with these yet */
|
||||
}
|
||||
});
|
||||
/* Generic options */
|
||||
HANDLE_DICT_ITEM("mss", DBUS_TYPE_UINT32,
|
||||
{ nm_ip4_config_set_mss (config, entry.uint32_value); });
|
||||
HANDLE_DICT_ITEM("mtu", DBUS_TYPE_UINT32,
|
||||
{ nm_ip4_config_set_mtu (config, entry.uint32_value); });
|
||||
HANDLE_DICT_ITEM("tundev", DBUS_TYPE_STRING,
|
||||
{ if (strlen (entry.str_value)) tundev = g_strdup (entry.str_value); });
|
||||
HANDLE_DICT_ITEM("dns_domain", DBUS_TYPE_STRING,
|
||||
{ if (strlen (entry.str_value)) nm_ip4_config_add_domain (config, entry.str_value); });
|
||||
HANDLE_DICT_ITEM("login_banner", DBUS_TYPE_STRING,
|
||||
{ if (strlen (entry.str_value)) login_banner = g_strdup (entry.str_value); });
|
||||
HANDLE_DICT_ITEM("mss", DBUS_TYPE_UINT32, 0,
|
||||
{ nm_ip4_config_set_mss (config, entry.uint32_value); });
|
||||
HANDLE_DICT_ITEM("mtu", DBUS_TYPE_UINT32, 0,
|
||||
{ nm_ip4_config_set_mtu (config, entry.uint32_value); });
|
||||
HANDLE_DICT_ITEM("tundev", DBUS_TYPE_STRING, 0,
|
||||
{ if (strlen (entry.str_value)) tundev = g_strdup (entry.str_value); });
|
||||
HANDLE_DICT_ITEM("dns_domain", DBUS_TYPE_STRING, 0,
|
||||
{ if (strlen (entry.str_value)) nm_ip4_config_add_domain (config, entry.str_value); });
|
||||
HANDLE_DICT_ITEM("login_banner", DBUS_TYPE_STRING, 0,
|
||||
{ if (strlen (entry.str_value)) login_banner = g_strdup (entry.str_value); });
|
||||
|
||||
next:
|
||||
nmu_dbus_dict_entry_clear (&entry);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue