summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/dhcpcd/files/dhcpcd-6.3.1-fix-udev.patch')
-rw-r--r--net-misc/dhcpcd/files/dhcpcd-6.3.1-fix-udev.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/net-misc/dhcpcd/files/dhcpcd-6.3.1-fix-udev.patch b/net-misc/dhcpcd/files/dhcpcd-6.3.1-fix-udev.patch
new file mode 100644
index 000000000000..606ab11cf2dd
--- /dev/null
+++ b/net-misc/dhcpcd/files/dhcpcd-6.3.1-fix-udev.patch
@@ -0,0 +1,45 @@
+Index: dev/udev.c
+==================================================================
+--- dev/udev.c
++++ dev/udev.c
+@@ -42,11 +42,11 @@
+
+ static const char udev_name[]="udev";
+ static struct udev *udev;
+ static struct udev_monitor *monitor;
+
+-static const struct dev_dhcpcd *dhcpcd;
++static struct dev_dhcpcd dhcpcd;
+
+ static int
+ udev_listening(void)
+ {
+
+@@ -90,13 +90,13 @@
+
+ /* udev filter documentation says "usually" so double check */
+ if (strcmp(subsystem, "net") == 0) {
+ syslog(LOG_DEBUG, "%s: libudev: %s", ifname, action);
+ if (strcmp(action, "add") == 0 || strcmp(action, "move") == 0)
+- dhcpcd->handle_interface(ctx, 1, ifname);
++ dhcpcd.handle_interface(ctx, 1, ifname);
+ else if (strcmp(action, "remove") == 0)
+- dhcpcd->handle_interface(ctx, -1, ifname);
++ dhcpcd.handle_interface(ctx, -1, ifname);
+ }
+
+ udev_device_unref(device);
+ return 1;
+ }
+@@ -171,9 +171,9 @@
+ dev->listening = udev_listening;
+ dev->handle_device = udev_handle_device;
+ dev->stop = udev_stop;
+ dev->start = udev_start;
+
+- dhcpcd = dev_dhcpcd;
++ dhcpcd = *dev_dhcpcd;
+
+ return 0;
+ }
+