Bug #7145 » patch-dhcp6c__script.c
| 1 |
--- dhcp6c_script.c.orig 2016-12-19 08:16:42 UTC |
|---|---|
| 2 |
+++ dhcp6c_script.c |
| 3 |
@@ -167,10 +167,35 @@ client6_script(scriptpath, state, optinf |
| 4 |
*/
|
| 5 |
i = 0; |
| 6 |
/* reason */
|
| 7 |
+
|
| 8 |
+ switch (state) { |
| 9 |
+ case DHCP6S_INFOREQ: |
| 10 |
+ sprintf(reason,"REASON=INF"); |
| 11 |
+ break; |
| 12 |
+ case DHCP6S_REQUEST: |
| 13 |
+ sprintf(reason,"REASON=REP"); |
| 14 |
+ break; |
| 15 |
+ case DHCP6S_RENEW: |
| 16 |
+ sprintf(reason,"REASON=REN"); |
| 17 |
+ break; |
| 18 |
+ case DHCP6S_REBIND: |
| 19 |
+ sprintf(reason,"REASON=REB"); |
| 20 |
+ break; |
| 21 |
+ case DHCP6S_RELEASE: |
| 22 |
+ sprintf(reason,"REASON=REL"); |
| 23 |
+ break; |
| 24 |
+ case DHCP6S_SOLICIT: |
| 25 |
+ sprintf(reason,"REASON=OFR"); |
| 26 |
+ break; |
| 27 |
+ default: |
| 28 |
+ sprintf(reason,"REASON=NBI"); |
| 29 |
+ } |
| 30 |
+
|
| 31 |
+
|
| 32 |
if ((envp[i++] = strdup(reason)) == NULL) { |
| 33 |
d_printf(LOG_NOTICE, FNAME, |
| 34 |
"failed to allocate reason strings"); |
| 35 |
- ret = -1; |
| 36 |
+ ret = -1; |
| 37 |
goto clean; |
| 38 |
}
|
| 39 |
/* "var=addr1 addr2 ... addrN" + null char for termination */
|