[Commits] r643 - trunk/daemon/src

new-commit at lists.openvcp.org new-commit at lists.openvcp.org
Tue Dec 30 00:29:10 UTC 2008


Author: ftx
Date: 2008-12-30 00:29:10 +0000 (Tue, 30 Dec 2008)
New Revision: 643

Modified:
   trunk/daemon/src/get.c
   trunk/daemon/src/misc.c
   trunk/daemon/src/misc.h
   trunk/daemon/src/trafficlimit.c
Log:
small fixes for traffic limits


Modified: trunk/daemon/src/get.c
===================================================================
--- trunk/daemon/src/get.c	2008-12-30 00:28:17 UTC (rev 642)
+++ trunk/daemon/src/get.c	2008-12-30 00:29:10 UTC (rev 643)
@@ -145,9 +145,7 @@
 {
 	struct ovcp_response_st *response;
 	struct ovcp_data_st *arg0;
-	char *name, *runfilelink, *rescuefile;
-	char runfile[BUF_SIZE];
-	int len;
+	char *name, *rescuefile;
         
 	arg0 = ovcp_request_get_arg(request, 0);
 	name = (char *)ovcp_data_get(arg0);
@@ -159,21 +157,10 @@
 
 
 	response = ovcp_response_new();
+		
 	
 	
-	
-        
-        
-	runfilelink = concat(global_settings.config_dir, "/", name, "/run", NULL);
-        
-	runfile[0] = 0;
-	if ((len = readlink(runfilelink, runfile, sizeof(runfile)-1)) != -1)
-		runfile[len] = 0;
-
-	free(runfilelink);
-	
-	
-	if(file_exist(runfile))
+	if(vserver_isrunning(name))
 		ovcp_response_add_string(response, "Online");
 	else
 		ovcp_response_add_string(response, "Offline");

Modified: trunk/daemon/src/misc.c
===================================================================
--- trunk/daemon/src/misc.c	2008-12-30 00:28:17 UTC (rev 642)
+++ trunk/daemon/src/misc.c	2008-12-30 00:29:10 UTC (rev 643)
@@ -223,6 +223,28 @@
         return name;
 }
 
+
+int vserver_isrunning(char *name)
+{
+	char *runfilelink;
+	char runfile[BUF_SIZE];
+	int len;
+	
+	runfilelink = concat(global_settings.config_dir, "/", name, "/run", NULL);
+        
+	runfile[0] = 0;
+	if ((len = readlink(runfilelink, runfile, sizeof(runfile)-1)) != -1)
+		runfile[len] = 0;
+
+	free(runfilelink);
+	
+	
+	if(file_exist(runfile))
+		return 1;
+	
+	return 0;
+}
+
 int vserver_exist(char *name)
 {
 
@@ -821,10 +843,12 @@
 
 int send_email(char *msg)
 {
-
+	
         int pipe_fds[2];
         int res, len = 0, ges = 0;
 
+	if(msg == NULL) return 0;
+
         pipe(pipe_fds);
 
         if(fork() == 0)

Modified: trunk/daemon/src/misc.h
===================================================================
--- trunk/daemon/src/misc.h	2008-12-30 00:28:17 UTC (rev 642)
+++ trunk/daemon/src/misc.h	2008-12-30 00:29:10 UTC (rev 643)
@@ -49,6 +49,7 @@
         int vserver_exist(char *name);
         int vserver_lock(char *name);
         int vserver_unlock(char *name);
+        int vserver_isrunning(char *name);
 
 	struct iface_entry *parse_ifaces(char *name);
 	int free_ifacelist(struct iface_entry *list);

Modified: trunk/daemon/src/trafficlimit.c
===================================================================
--- trunk/daemon/src/trafficlimit.c	2008-12-30 00:28:17 UTC (rev 642)
+++ trunk/daemon/src/trafficlimit.c	2008-12-30 00:29:10 UTC (rev 643)
@@ -193,9 +193,10 @@
 int ovcp_check_trafficlimits(sqlite3 *openvcp_db)
 {
 	char sql_query[BUF_SIZE];
-	char *sql_error, **sql_result, *runfile, *notified; 
+	char *sql_error, **sql_result, *notified; 
 	int i, total, curtotal, ret, nrow, ncolumn;
 	char msg[BUF_SIZE];
+	msg[0] = 0;
 	
 	char *name, *notify, *type;
 	time_t current_time;
@@ -247,8 +248,7 @@
 		if(total <= curtotal/1048576)
 		{
 			
-			runfile = concat(global_settings.run_dir, "/", name, NULL);
-			if(file_exist(runfile))
+			if(vserver_isrunning(name))
 			{
 				if(strcmp(type, "hard") == 0) execb_cmd("vserver", "vserver", name, "stop", NULL);
 			
@@ -259,6 +259,8 @@
 						snprintf(msg, BUF_SIZE, "To: %s\r\nFrom: %s\r\n"
 								"Subject: vServer reached hard traffic limit\r\n\r\ntraffic limit: %d MB traffic used: %d MB\n\n"
 								"vServer %s was shutdown.", notify, global_settings.adminemail, total, curtotal/1048576, name);
+					
+						send_email(msg);
 					}
 					else if (strcmp(type, "soft") == 0 && strcmp(notified, "1") != 0)
 					{
@@ -279,12 +281,13 @@
 							sqlite3_free(sql_error);
 							exit(-1);
 						}
+						send_email(msg);
 					}
 
-					send_email(msg);	
+						
 				}
 			}
-			free(runfile);	
+
 		}
 		
 		



More information about the Commits mailing list