Project

General

Profile

Bug #7145 » patch-dhcp6c.c

Martin Wasley, 01/25/2017 01:46 AM

 
1
--- dhcp6c.c.orig	2017-01-25 07:09:23 UTC
2
+++ dhcp6c.c
3
@@ -1751,23 +1751,23 @@ client6_recvreply(ifp, dh6, len, optinfo
4
 
5
 	switch (state) {
6
 	case DHCP6S_INFOREQ:
7
-		d_printf(LOG_INFO, FNAME, "dhcp6c Received INFOREQ");
8
-		break;  
9
-	case DHCP6S_REQUEST:
10
-		d_printf(LOG_INFO, FNAME, "dhcp6c Received REQUEST");
11
-		break;
12
-	case DHCP6S_RENEW:
13
-		d_printf(LOG_INFO, FNAME, "dhcp6c Received INFO");
14
-		break;
15
-	case DHCP6S_REBIND:
16
-		d_printf(LOG_INFO, FNAME, "dhcp6c Received REBIND");
17
-		break;
18
-	case DHCP6S_RELEASE:
19
-		d_printf(LOG_INFO, FNAME, "dhcp6c Received RELEASE");
20
-		break;
21
-	case DHCP6S_SOLICIT:
22
-		d_printf(LOG_INFO, FNAME, "dhcp6c Received SOLICIT");
23
-		break;          
24
+		d_printf(LOG_INFO, FNAME, "dhcp6c Received Info Reply");
25
+ 		break;  
26
+ 	case DHCP6S_REQUEST:
27
+		d_printf(LOG_INFO, FNAME, "dhcp6c Received Reply");
28
+ 		break;
29
+ 	case DHCP6S_RENEW:
30
+		d_printf(LOG_INFO, FNAME, "dhcp6c Received Renew");
31
+ 		break;
32
+ 	case DHCP6S_REBIND:
33
+		d_printf(LOG_INFO, FNAME, "dhcp6c Received Rebind");
34
+ 		break;
35
+ 	case DHCP6S_RELEASE:
36
+		d_printf(LOG_INFO, FNAME, "dhcp6c Received Release");
37
+ 		break;
38
+ 	case DHCP6S_SOLICIT:
39
+		d_printf(LOG_INFO, FNAME, "dhcp6c Received Solicit");
40
+ 		break;             
41
 	}
42
 
43
 	/* A Reply message must contain a Server ID option */
44
@@ -1932,9 +1932,12 @@ client6_recvreply(ifp, dh6, len, optinfo
45
 	 * configuration parameters.
46
 	 */
47
 	if (ifp->scriptpath != NULL && strlen(ifp->scriptpath) != 0) {
48
-		d_printf(LOG_DEBUG, FNAME, "executes %s", ifp->scriptpath);
49
-		client6_script(ifp->scriptpath, state, optinfo);
50
-	}
51
+	/* Do not call script if the no_scrip option is set and this is the response to a request. Let RTSOLD call the script */
52
+ 		d_printf(LOG_DEBUG, FNAME, "executes %s", ifp->scriptpath);
53
+ 		client6_script(ifp->scriptpath, state, optinfo);
54
+	} else {
55
+	  d_printf(LOG_DEBUG, FNAME, "Option no-script active, Script execution bypassed", ifp->scriptpath);
56
+ 	}
57
 
58
 	dhcp6_remove_event(ev);
59
 
(3-3/11)