mirror of
https://abf.rosa.ru/djam/dhcp.git
synced 2025-02-23 13:32:48 +00:00
39 lines
1.6 KiB
Diff
39 lines
1.6 KiB
Diff
diff -p -up dhcp-4.1.1/client/scripts/linux.prevent_wireless dhcp-4.1.1/client/scripts/linux
|
|
--- dhcp-4.1.1/client/scripts/linux.prevent_wireless 2010-02-25 11:37:31.000000000 -0300
|
|
+++ dhcp-4.1.1/client/scripts/linux 2010-02-25 11:37:37.000000000 -0300
|
|
@@ -13,6 +13,8 @@
|
|
|
|
# 1. ifconfig down apparently deletes all relevant routes and flushes
|
|
# the arp cache, so this doesn't need to be done explicitly.
|
|
+# 1.1. ifconfig $interface inet 0 is enough, and prevents unneeded
|
|
+# deassociation on wireless interfaces
|
|
|
|
# 2. The alias address handling here has not been tested AT ALL.
|
|
# I'm just going by the doc of modern Linux ip aliasing, which uses
|
|
@@ -170,7 +172,7 @@ if [ x$reason = xBOUND ] || [ x$reason =
|
|
if [ x$old_ip_address != x ] && [ x$old_ip_address != x$new_ip_address ]; then
|
|
# IP address changed. Bringing down the interface will delete all routes,
|
|
# and clear the ARP cache.
|
|
- ifconfig $interface inet 0 down
|
|
+ ifconfig $interface inet 0
|
|
|
|
fi
|
|
if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \
|
|
@@ -224,7 +226,7 @@ if [ x$reason = xEXPIRE ] || [ x$reason
|
|
fi
|
|
if [ x$old_ip_address != x ]; then
|
|
# Shut down interface, which will delete routes and clear arp cache.
|
|
- ifconfig $interface inet 0 down
|
|
+ ifconfig $interface inet 0
|
|
fi
|
|
if [ x$alias_ip_address != x ]; then
|
|
ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
|
|
@@ -259,7 +261,7 @@ if [ x$reason = xTIMEOUT ]; then
|
|
fi
|
|
exit_with_hooks 0
|
|
fi
|
|
- ifconfig $interface inet 0 down
|
|
+ ifconfig $interface inet 0
|
|
exit_with_hooks 1
|
|
fi
|
|
|