[Commits] r668 - in trunk/daemon: debian src

new-commit at lists.openvcp.org new-commit at lists.openvcp.org
Sun May 24 11:48:06 UTC 2009


Author: cryptronic
Date: 2009-05-24 11:48:05 +0000 (Sun, 24 May 2009)
New Revision: 668

Modified:
   trunk/daemon/debian/openvcpd.init
   trunk/daemon/src/traffic.c
   trunk/daemon/src/userbackup.c
Log:
little enhancements and bugfixes


Modified: trunk/daemon/debian/openvcpd.init
===================================================================
--- trunk/daemon/debian/openvcpd.init	2009-05-04 13:42:45 UTC (rev 667)
+++ trunk/daemon/debian/openvcpd.init	2009-05-24 11:48:05 UTC (rev 668)
@@ -50,7 +50,7 @@
 	#   2 if daemon could not be started
 	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
 		|| return 1
-	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
+	start-stop-daemon --start --quiet --background --pidfile $PIDFILE --exec $DAEMON -- \
 		$DAEMON_ARGS \
 		|| return 2
 	# Add code here, if necessary, that waits for the process to be ready

Modified: trunk/daemon/src/traffic.c
===================================================================
--- trunk/daemon/src/traffic.c	2009-05-04 13:42:45 UTC (rev 667)
+++ trunk/daemon/src/traffic.c	2009-05-24 11:48:05 UTC (rev 668)
@@ -234,6 +234,7 @@
 			c++;
 			ovcp_log(OVCP_DEBUG, "SQL QUERY[%i]: %s", c, sql_query);
 			ret = sqlite3_exec(openvcp_db, sql_query, NULL, 0, &sql_error);
+			ovcp_log(OVCP_DEBUG, "SQL return: %i, message: (%s)", ret, sql_error);
 			if(ret != SQLITE_OK)
 				sleep(2);
 		} while (c <= 10 && ret != SQLITE_OK);
@@ -266,6 +267,7 @@
 			c++;
 			ovcp_log(OVCP_DEBUG, "SQL QUERY[%i]: %s", c, sql_query);
 			ret = sqlite3_exec(openvcp_db, sql_query, NULL, 0, &sql_error);
+			ovcp_log(OVCP_DEBUG, "SQL return: %i, message: (%s)", ret, sql_error);
 			if(ret != SQLITE_OK)
 				sleep(2);
 		} while (c <= 10 && ret != SQLITE_OK);
@@ -451,10 +453,13 @@
 
 		free(name);
 
+		c = 0;
+
 		do {
 			c++;
 			ovcp_log(OVCP_DEBUG, "SQL QUERY[%i]: %s", c, sql_query);
 			ret = sqlite3_exec(openvcp_db, sql_query, NULL, 0, &sql_error);
+			ovcp_log(OVCP_DEBUG, "SQL return: %i, message: (%s)", ret, sql_error);
 			if(ret != SQLITE_OK)
 				sleep(2);
 		} while (c <= 10 && ret != SQLITE_OK);
@@ -631,6 +636,7 @@
 			c++;
 			ovcp_log(OVCP_DEBUG, "SQL QUERY[%i]: %s", c, sql_query);
 			ret = sqlite3_exec(openvcp_db, sql_query, NULL, 0, &sql_error);
+			ovcp_log(OVCP_DEBUG, "SQL return: %i, message: (%s)", ret, sql_error);
 			if(ret != SQLITE_OK)
 				sleep(2);
 		} while (c <= 10 && ret != SQLITE_OK);
@@ -666,6 +672,7 @@
 			c++;
 			ovcp_log(OVCP_DEBUG, "SQL QUERY[%i]: %s", c, sql_query);
 			ret = sqlite3_exec(openvcp_db, sql_query, NULL, 0, &sql_error);
+			ovcp_log(OVCP_DEBUG, "SQL return: %i, message: (%s)", ret, sql_error);
 			if(ret != SQLITE_OK)
 				sleep(2);
 		} while (c <= 10 && ret != SQLITE_OK);

Modified: trunk/daemon/src/userbackup.c
===================================================================
--- trunk/daemon/src/userbackup.c	2009-05-04 13:42:45 UTC (rev 667)
+++ trunk/daemon/src/userbackup.c	2009-05-24 11:48:05 UTC (rev 668)
@@ -39,7 +39,10 @@
 	struct ovcp_response_st *response;
 
 	char *name;
+	char filename[BUF_SIZE+1];
 
+	int fd;
+
 	arg0 = ovcp_request_get_arg(request, 0);
 	name = (char *)ovcp_data_get(arg0);
 
@@ -53,24 +56,36 @@
 
 	response = ovcp_response_new();
 
-
 	if((dir_ptr = opendir(global_settings.userbackup_dir)) != NULL)
 	{
 
 		while((dir_entry = readdir(dir_ptr)) != NULL)
 		{
 
-			if(dir_entry->d_name[0] != '.')
+			if(dir_entry->d_name[0] != '.' && dir_entry->d_name[(strlen(dir_entry->d_name)-6)] == '.')
 			{
+				ovcp_response_struct_new(response);
 
 				if(strstr(dir_entry->d_name, name) != NULL)
-					ovcp_response_add_string(response, dir_entry->d_name);
+					ovcp_response_struct_add_string(response, "name", entry->d_name);
 
+				//check whether file size file exists
+				sconcat(filename, BUF_SIZE, global_settings.userbackup_dir, "/", dir_entry->d_name, ".conf", NULL);
+				if(!file_exist(filename) && (fd = open(filename, O_RDONLY)) != -1)
+				{
+					line = file_readline(fd);
+					if (line != NULL)
+					{
+						trim_string(line);
+						ovcp_response_struct_add_string(response, "size", line);
+						free(line);
+					}
+				}
+
 			}
 
 		}
 
-
 		closedir(dir_ptr);
 	}
 
@@ -83,8 +98,10 @@
 	struct ovcp_response_st *response;
 
 	char *name, *homedir, *userbackupdir, *backupname;
-	char *min, *hour, *day, *month, *year;
+	char *min, *hour, *day, *month, *year, *output;
 
+	char filename[BUF_SIZE+1];
+
 	struct tm *currentdate;
 	time_t timestamp = time(0);
 	currentdate = localtime(&timestamp);
@@ -144,6 +161,17 @@
 		return ovcp_response_error(OVCP_ERROR_BACKUPFAIL, OVCP_ERROR_BACKUPFAIL_DESC);
 	}
 
+	sconcat(filename, BUF_SIZE, userbackupdir, ".conf", NULL);
+	output = exec_cmd("du", 900, "du", "-s", userbackupdir, NULL);
+
+	if(output != NULL)
+	{
+		trim_string(output);
+		file_write_many(filename, output, "\n", NULL);
+	}
+	else
+		file_write_many(filename, "unknown", "\n", NULL);
+
 	free(min);
 	free(hour);
 	free(day);
@@ -152,6 +180,7 @@
 	free(backupname);
 	free(userbackupdir);
 	free(homedir);
+	free(output);
 
 	return response;
 }
@@ -175,6 +204,18 @@
 	homedir = concat(global_settings.root_dir, "/", name, NULL);
 	backupdir = concat(global_settings.backup_dir, "/_", name, NULL);
 
+	//clear cache
+	sconcat(path, BUF_SIZE, global_settings.config_dir, "/", name, "/cache", NULL);
+	ret = readlink(path, cachepath, BUF_SIZE);
+	if(ret > 0)
+	{
+		cachepath[ret] = 0;
+		if(dir_exist(cachepath))
+		{
+			dir_remove(cachepath);
+		}
+	}
+
 	response = ovcp_response_new();
 
 	if(dir_exist(homedir) && dir_exist(userbackupdir))
@@ -227,7 +268,11 @@
 	struct ovcp_data_st *arg0, *arg1;
 	struct ovcp_response_st *response;
 
-	char *name, *homedir, *userbackupdir, *backupname, *backupnamenew, *userbackupdirnew;
+	char *name, *homedir, *userbackupdir, *backupname;
+	char *backupnamenew, *userbackupdirnew, *output;
+
+	char filename[BUF_SIZE+1];
+
 	int ret=0;
 
 	arg0 = ovcp_request_get_arg(request, 0);
@@ -247,7 +292,7 @@
 		if(!dir_exist(userbackupdir))
 			return ovcp_response_error(OVCP_ERROR_BACKUPFAIL, OVCP_ERROR_BACKUPFAIL_DESC);
 
-		ret = execb_cmd("rsync", "rsync", "-a", homedir, userbackupdir, NULL);
+		ret = execb_cmd("rsync", "rsync", "-a", "--delete", homedir, userbackupdir, NULL);
 
 		if(ret != 0)
 		{
@@ -301,6 +346,18 @@
 
 	ret = execb_cmd("mv", "mv", userbackupdir, userbackupdirnew, NULL);
 
+	filename = concat(userbackupdirnew, ".conf", NULL);
+	output = exec_cmd("du", 900, "du", "-s", userbackupdirnew, NULL);
+
+	if(output != NULL)
+	{
+		trim_string(output);
+		file_write_many(filename, output, "\n", NULL);
+	}
+	else
+		file_write_many(filename, "unknown", "\n", NULL);
+
+
 	free(min);
 	free(hour);
 	free(day);
@@ -310,6 +367,7 @@
 	free(userbackupdirnew);
 	free(backupnamenew);
 	free(homedir);
+	free(output);
 	return response;
 
 }



More information about the Commits mailing list