Patch from Alexander Sack <asac@canonical.com>
Fix "ppp connections don't honour ip4 connection settings"
* src/nm-device-ethernet.c
- (real_act_stage4_get_ip4_config): merge ip4config settings
with results from ppp manager
* src/nm-serial-device.c
- (real_act_stage4_get_ip4_config): merge ip4config settings
with results from ppp manager
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4234
4912f4e0-d625-0410-9fb7-
b9a5a253dbdc
+2008-10-30 Dan Williams <dcbw@redhat.com>
+
+ Patch from Alexander Sack <asac@canonical.com>
+
+ Fix "ppp connections don't honour ip4 connection settings"
+
+ * src/nm-device-ethernet.c
+ - (real_act_stage4_get_ip4_config): merge ip4config settings
+ with results from ppp manager
+
+ * src/nm-serial-device.c
+ - (real_act_stage4_get_ip4_config): merge ip4config settings
+ with results from ppp manager
+
2008-10-29 Dan Williams <dcbw@redhat.com>
* libnm-util/libnm-util.ver
g_return_val_if_fail (config != NULL, NM_ACT_STAGE_RETURN_FAILURE);
g_return_val_if_fail (*config == NULL, NM_ACT_STAGE_RETURN_FAILURE);
+ g_return_val_if_fail (reason != NULL, NM_ACT_STAGE_RETURN_FAILURE);
if (!priv->ppp_manager) {
/* Regular ethernet connection. */
nm_ip4_config_set_mtu (*config, mtu);
}
} else {
+ NMConnection *connection;
+ NMSettingIP4Config *s_ip4;
+
+ connection = nm_act_request_get_connection (nm_device_get_act_request (device));
+ g_assert (connection);
+ s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
+
/* PPPoE */
*config = priv->pending_ip4_config;
priv->pending_ip4_config = NULL;
+ nm_utils_merge_ip4_config (*config, s_ip4);
ret = NM_ACT_STAGE_RETURN_SUCCESS;
}
#include "nm-marshal.h"
#include "nm-utils.h"
#include "nm-serial-device-glue.h"
+#include "NetworkManagerUtils.h"
static gboolean serial_debug = FALSE;
NMDeviceStateReason *reason)
{
NMSerialDevicePrivate *priv = NM_SERIAL_DEVICE_GET_PRIVATE (device);
+ NMConnection *connection;
+ NMSettingIP4Config *s_ip4;
+
+ g_return_val_if_fail (config != NULL, NM_ACT_STAGE_RETURN_FAILURE);
+ g_return_val_if_fail (*config == NULL, NM_ACT_STAGE_RETURN_FAILURE);
+ g_return_val_if_fail (reason != NULL, NM_ACT_STAGE_RETURN_FAILURE);
+
+ connection = nm_act_request_get_connection (nm_device_get_act_request (device));
+ g_assert (connection);
+
+ s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
*config = priv->pending_ip4_config;
priv->pending_ip4_config = NULL;
+ nm_utils_merge_ip4_config (*config, s_ip4);
return NM_ACT_STAGE_RETURN_SUCCESS;
}