summaryrefslogtreecommitdiffstats
path: root/networkmanager/discover_mac_address.patch
diff options
context:
space:
mode:
Diffstat (limited to 'networkmanager/discover_mac_address.patch')
-rw-r--r--networkmanager/discover_mac_address.patch72
1 files changed, 0 insertions, 72 deletions
diff --git a/networkmanager/discover_mac_address.patch b/networkmanager/discover_mac_address.patch
deleted file mode 100644
index c73921f..0000000
--- a/networkmanager/discover_mac_address.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-diff -up NetworkManager-0.8.9997/src/settings/plugins/ifcfg-rh/reader.c.hwaddr NetworkManager-0.8.9997/src/settings/plugins/ifcfg-rh/reader.c
---- NetworkManager-0.8.9997/src/settings/plugins/ifcfg-rh/reader.c.hwaddr 2011-05-27 16:38:29.000000000 +0200
-+++ NetworkManager-0.8.9997/src/settings/plugins/ifcfg-rh/reader.c 2011-07-31 20:40:11.459089519 +0200
-@@ -157,6 +157,46 @@ make_connection_setting (const char *fil
- }
-
- static gboolean
-+discover_mac_address(shvarFile *ifcfg, GByteArray **array, GError **error)
-+{
-+ int fd, ret;
-+ struct ifreq ifr;
-+ char *device;
-+
-+ device = svGetValue (ifcfg, "DEVICE", FALSE);
-+
-+ g_return_val_if_fail (device != NULL, FALSE);
-+ g_return_val_if_fail (array != NULL, FALSE);
-+ g_return_val_if_fail (*array == NULL, FALSE);
-+ g_return_val_if_fail (error != NULL, FALSE);
-+ g_return_val_if_fail (*error == NULL, FALSE);
-+
-+ fd = socket(AF_INET, SOCK_DGRAM, 0);
-+ if (fd < 0) {
-+ g_set_error(error, IFCFG_PLUGIN_ERROR, errno,
-+ "Unable to discover MAC address: socket error");
-+ g_free (device);
-+ return FALSE;
-+ }
-+
-+ ifr.ifr_addr.sa_family = AF_INET;
-+ strncpy(ifr.ifr_name, device, IFNAMSIZ-1);
-+
-+ ret = ioctl(fd, SIOCGIFHWADDR, &ifr);
-+ g_free (device);
-+ if (ret < 0) {
-+ g_set_error(error, IFCFG_PLUGIN_ERROR, errno,
-+ "Unable to discover MAC address: ioctl error");
-+ return FALSE;
-+ }
-+ close(fd);
-+
-+ *array = g_byte_array_sized_new (ETH_ALEN);
-+ g_byte_array_append (*array, (guint8 *) ifr.ifr_hwaddr.sa_data, ETH_ALEN);
-+ return TRUE;
-+}
-+
-+static gboolean
- read_mac_address (shvarFile *ifcfg, const char *key, GByteArray **array, GError **error)
- {
- char *value = NULL;
-@@ -2750,6 +2790,10 @@ make_wireless_setting (shvarFile *ifcfg,
- s_wireless = NM_SETTING_WIRELESS (nm_setting_wireless_new ());
-
- if (read_mac_address (ifcfg, "HWADDR", &array, error)) {
-+ /* if we don't have a HWADDR saved in ifcfg file, try to discover it manually */
-+ if (!array) {
-+ discover_mac_address(ifcfg, &array, error);
-+ }
- if (array) {
- g_object_set (s_wireless, NM_SETTING_WIRELESS_MAC_ADDRESS, array, NULL);
-
-@@ -3083,6 +3127,10 @@ make_wired_setting (shvarFile *ifcfg,
- }
-
- if (read_mac_address (ifcfg, "HWADDR", &mac, error)) {
-+ /* if we don't have a HWADDR saved in ifcfg file, try to discover it manually */
-+ if (!mac) {
-+ discover_mac_address(ifcfg, &mac, error);
-+ }
- if (mac) {
- g_object_set (s_wired, NM_SETTING_WIRED_MAC_ADDRESS, mac, NULL);
-