summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch')
-rw-r--r--meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch102
1 files changed, 23 insertions, 79 deletions
diff --git a/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch b/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
index 35e981d6a2..948932a3e8 100644
--- a/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
+++ b/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch
@@ -31,11 +31,11 @@ Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
31 networking/udhcp/dhcpc.c | 29 ++++++++++++++++------ 31 networking/udhcp/dhcpc.c | 29 ++++++++++++++++------
32 1 file changed, 21 insertions(+), 8 deletions(-) 32 1 file changed, 21 insertions(+), 8 deletions(-)
33 33
34Index: busybox-1.32.0/networking/udhcp/dhcpc.c 34Index: busybox-1.34.0/networking/udhcp/dhcpc.c
35=================================================================== 35===================================================================
36--- busybox-1.32.0.orig/networking/udhcp/dhcpc.c 36--- busybox-1.34.0.orig/networking/udhcp/dhcpc.c
37+++ busybox-1.32.0/networking/udhcp/dhcpc.c 37+++ busybox-1.34.0/networking/udhcp/dhcpc.c
38@@ -48,6 +48,8 @@ struct tpacket_auxdata { 38@@ -48,6 +48,8 @@
39 }; 39 };
40 #endif 40 #endif
41 41
@@ -44,47 +44,37 @@ Index: busybox-1.32.0/networking/udhcp/dhcpc.c
44 44
45 /* "struct client_data_t client_data" is in bb_common_bufsiz1 */ 45 /* "struct client_data_t client_data" is in bb_common_bufsiz1 */
46 46
47@@ -103,8 +105,10 @@ 47@@ -100,8 +102,10 @@
48 OPT_x = 1 << 18, 48 OPT_x = 1 << 16,
49 OPT_f = 1 << 19, 49 OPT_f = 1 << 17,
50 OPT_B = 1 << 20, 50 OPT_B = 1 << 18,
51+ OPT_D = 1 << 21, 51+ OPT_D = 1 << 19,
52 /* The rest has variable bit positions, need to be clever */ 52 /* The rest has variable bit positions, need to be clever */
53 OPTBIT_B = 20, 53 OPTBIT_B = 18,
54+ OPTBIT_D = 21, 54+ OPTBIT_D = 19,
55 USE_FOR_MMU( OPTBIT_b,) 55 USE_FOR_MMU( OPTBIT_b,)
56 IF_FEATURE_UDHCPC_ARPING(OPTBIT_a,) 56 IF_FEATURE_UDHCPC_ARPING(OPTBIT_a,)
57 IF_FEATURE_UDHCP_PORT( OPTBIT_P,) 57 IF_FEATURE_UDHCP_PORT( OPTBIT_P,)
58@@ -1084,7 +1088,8 @@ 58@@ -587,7 +591,8 @@
59 client_data.state = RENEW_REQUESTED; 59
60 break; 60 static void d4_run_script_deconfig(void)
61 case RENEW_REQUESTED: /* impatient are we? fine, square 1 */ 61 {
62- udhcp_run_script(NULL, "deconfig"); 62- d4_run_script(NULL, "deconfig");
63+ if (allow_deconfig)
64+ udhcp_run_script(NULL, "deconfig");
65 case REQUESTING:
66 case RELEASED:
67 change_listen_mode(LISTEN_RAW);
68@@ -1120,7 +1125,8 @@ static void perform_release(uint32_t server_addr, uint32_t requested_ip)
69 * Users requested to be notified in all cases, even if not in one
70 * of the states above.
71 */
72- udhcp_run_script(NULL, "deconfig");
73+ if (allow_deconfig) 63+ if (allow_deconfig)
74+ udhcp_run_script(NULL, "deconfig"); 64+ d4_run_script(NULL, "deconfig");
65 }
75 66
76 change_listen_mode(LISTEN_NONE); 67 /*** Sending/receiving packets ***/
77 client_data.state = RELEASED; 68@@ -1244,7 +1249,7 @@
78@@ -1238,7 +1244,7 @@
79 /* Parse command line */ 69 /* Parse command line */
80 opt = getopt32long(argv, "^" 70 opt = getopt32long(argv, "^"
81 /* O,x: list; -T,-t,-A take numeric param */ 71 /* O,x: list; -T,-t,-A take numeric param */
82- "CV:H:h:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fB" 72- "CV:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fB"
83+ "CV:H:h:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fBD" 73+ "CV:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fBD"
84 USE_FOR_MMU("b") 74 USE_FOR_MMU("b")
85 IF_FEATURE_UDHCPC_ARPING("a::") 75 IF_FEATURE_UDHCPC_ARPING("a::")
86 IF_FEATURE_UDHCP_PORT("P:") 76 IF_FEATURE_UDHCP_PORT("P:")
87@@ -1349,6 +1355,10 @@ 77@@ -1361,6 +1366,10 @@
88 logmode |= LOGMODE_SYSLOG; 78 logmode |= LOGMODE_SYSLOG;
89 } 79 }
90 80
@@ -95,49 +85,3 @@ Index: busybox-1.32.0/networking/udhcp/dhcpc.c
95 /* Create pidfile */ 85 /* Create pidfile */
96 write_pidfile(client_data.pidfile); 86 write_pidfile(client_data.pidfile);
97 /* Goes to stdout (unless NOMMU) and possibly syslog */ 87 /* Goes to stdout (unless NOMMU) and possibly syslog */
98@@ -1357,7 +1367,8 @@
99 srand(monotonic_us());
100
101 client_data.state = INIT_SELECTING;
102- udhcp_run_script(NULL, "deconfig");
103+ if (allow_deconfig)
104+ udhcp_run_script(NULL, "deconfig");
105 change_listen_mode(LISTEN_RAW);
106 packet_num = 0;
107 timeout = 0;
108@@ -1530,7 +1541,8 @@
109 }
110 /* Timed out, enter init state */
111 bb_simple_info_msg("lease lost, entering init state");
112- udhcp_run_script(NULL, "deconfig");
113+ if (allow_deconfig)
114+ udhcp_run_script(NULL, "deconfig");
115 client_data.state = INIT_SELECTING;
116 client_data.first_secs = 0; /* make secs field count from 0 */
117 /*timeout = 0; - already is */
118@@ -1722,8 +1734,10 @@
119 "(got ARP reply), declining");
120 send_decline(/*xid,*/ server_addr, packet.yiaddr);
121
122- if (client_data.state != REQUESTING)
123- udhcp_run_script(NULL, "deconfig");
124+ if (client_data.state != REQUESTING) {
125+ if (allow_deconfig)
126+ udhcp_run_script(NULL, "deconfig");
127+ }
128 change_listen_mode(LISTEN_RAW);
129 client_data.state = INIT_SELECTING;
130 client_data.first_secs = 0; /* make secs field count from 0 */
131@@ -1792,8 +1806,10 @@
132 /* return to init state */
133 bb_info_msg("received %s", "DHCP NAK");
134 udhcp_run_script(&packet, "nak");
135- if (client_data.state != REQUESTING)
136- udhcp_run_script(NULL, "deconfig");
137+ if (client_data.state != REQUESTING) {
138+ if (allow_deconfig)
139+ udhcp_run_script(NULL, "deconfig");
140+ }
141 change_listen_mode(LISTEN_RAW);
142 sleep(3); /* avoid excessive network traffic */
143 client_data.state = INIT_SELECTING;