wmppp.app: Stampfile handling.
This patch adds support for "stampfile" in config file, as described in manual page. Based on the patch by Juan Cespedes <cespedes@debian.org>. See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=97509.
This commit is contained in:
		
							parent
							
								
									b47834fe0b
								
							
						
					
					
						commit
						e81a5eb522
					
				
					 1 changed files with 9 additions and 2 deletions
				
			
		| 
						 | 
					@ -192,7 +192,7 @@
 | 
				
			||||||
#define SPEED_ACTION (NULL)
 | 
					#define SPEED_ACTION (NULL)
 | 
				
			||||||
#define IFDOWN_ACTION (NULL)
 | 
					#define IFDOWN_ACTION (NULL)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define STAMP_FILE "/var/run/ppp0.pid"
 | 
					#define STAMP_FILE_PRE "/var/run/wmppp."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Defines voor alle coordinate */
 | 
					/* Defines voor alle coordinate */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -362,6 +362,7 @@ char	*start_action = NULL;
 | 
				
			||||||
char	*stop_action = NULL;
 | 
					char	*stop_action = NULL;
 | 
				
			||||||
char	*speed_action = NULL;
 | 
					char	*speed_action = NULL;
 | 
				
			||||||
char	*ifdown_action = NULL;
 | 
					char	*ifdown_action = NULL;
 | 
				
			||||||
 | 
					char    *stamp_file = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void wmppp_routine(int argc, char **argv) {
 | 
					void wmppp_routine(int argc, char **argv) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -370,6 +371,7 @@ void wmppp_routine(int argc, char **argv) {
 | 
				
			||||||
		{ "stop", &stop_action },
 | 
							{ "stop", &stop_action },
 | 
				
			||||||
		{ "speed", &speed_action },
 | 
							{ "speed", &speed_action },
 | 
				
			||||||
		{ "ifdown", &ifdown_action },
 | 
							{ "ifdown", &ifdown_action },
 | 
				
			||||||
 | 
							{ "stampfile", &stamp_file },
 | 
				
			||||||
		{ NULL, NULL }
 | 
							{ NULL, NULL }
 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -411,6 +413,11 @@ void wmppp_routine(int argc, char **argv) {
 | 
				
			||||||
	if (STOP_ACTION) stop_action = strdup(STOP_ACTION);
 | 
						if (STOP_ACTION) stop_action = strdup(STOP_ACTION);
 | 
				
			||||||
	if (SPEED_ACTION) speed_action = strdup(SPEED_ACTION);
 | 
						if (SPEED_ACTION) speed_action = strdup(SPEED_ACTION);
 | 
				
			||||||
	if (IFDOWN_ACTION) ifdown_action = strdup(IFDOWN_ACTION);
 | 
						if (IFDOWN_ACTION) ifdown_action = strdup(IFDOWN_ACTION);
 | 
				
			||||||
 | 
						if (STAMP_FILE_PRE) {
 | 
				
			||||||
 | 
					           sprintf (temp, "%s%s", STAMP_FILE_PRE, active_interface);
 | 
				
			||||||
 | 
					           stamp_file = strdup (temp);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strcpy(temp, "/etc/wmppprc");
 | 
						strcpy(temp, "/etc/wmppprc");
 | 
				
			||||||
	parse_rcfile(temp, wmppp_keys);
 | 
						parse_rcfile(temp, wmppp_keys);
 | 
				
			||||||
| 
						 | 
					@ -483,7 +490,7 @@ void wmppp_routine(int argc, char **argv) {
 | 
				
			||||||
				if (!starttime) {
 | 
									if (!starttime) {
 | 
				
			||||||
					starttime = currenttime;
 | 
										starttime = currenttime;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					if (stat(STAMP_FILE, &st) == 0)
 | 
										if (stat(stamp_file, &st) == 0)
 | 
				
			||||||
						starttime = st.st_mtime;
 | 
											starttime = st.st_mtime;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					SetOnLED(LED_PPP_POWER);
 | 
										SetOnLED(LED_PPP_POWER);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue