[evolution-patches] evo 1.5.1: mail/em-junk-filter.c



http://bugzilla.ximian.com/show_bug.cgi?id=52732

Updated patch, missed out on em_sa_check_junk(), but it still seems that
command strings not being executed after my patches.

So my quick patch isn't fixing the problem. Most likely something wrong
with my patch, if anybody can come up with a better patch/fix, I'd be
glad to test it.

Thanks.

--- mail/em-junk-filter.c.orig	Thu Nov 13 19:33:26 2003
+++ mail/em-junk-filter.c	Mon Jan 12 07:32:17 2004
@@ -174,7 +174,7 @@
 	int retval;
 
 	d(fprintf (stderr, "test if spamd is running (port %d)\n", port);)
-	sac_args [2] = port > 0  ? g_strdup_printf ("spamc -x -p %d", port) :
g_strdup_printf ("spamc -x");
+	sac_args [2] = port > 0  ? g_strdup_printf ("'spamc -x -p %d'",
port) : g_strdup_printf ("spamc -x");
 
 	retval = pipe_to_sa (NULL, "From test 127 0 0 1", 3, sac_args) == 0;
 	g_free (sac_args [2]);
@@ -189,7 +189,7 @@
 	static gchar *args [3] = {
 		"/bin/sh",
 		"-c",
-		"spamassassin --version"
+		"'spamassassin --version'" /* quoted command string */
 	};
 
 	if (pipe_to_sa (NULL, NULL, 3, args))
@@ -225,7 +225,7 @@
 				for (i = 0; i < NPORTS; i ++) {
 					d(fprintf (stderr, "trying to run spamd at port %d\n", port));
 
-					sad_args [2] = g_strdup_printf ("spamd --port %d --local --
daemonize", port);
+					sad_args [2] = g_strdup_printf ("'spamd --port %d --local --
daemonize'", port); /* quote command string */
 					if (!pipe_to_sa (NULL, NULL, 3, sad_args)) {
 						g_free (sad_args [2]);
 						em_junk_sa_use_spamc = TRUE;
@@ -272,17 +272,19 @@
 
 	args [2] = em_junk_sa_use_spamc
 		? (em_junk_sa_spamd_port == -1
-		   ? g_strdup ("spamc -c")         /* Exit with a non-zero exit code
if the
+		   ? g_strdup ("'spamc -c'")         /* Exit with a non-zero exit
code if the
 						      tested message was junk */
-		   : g_strdup_printf ("spamc"
+		   : g_strdup_printf ("'"
+                      "spamc"
 				      " -c"        /* Exit with a non-zero exit code if the
 						      tested message was junk */
-				      " -p %d", em_junk_sa_spamd_port))
-		: g_strdup ("spamassassin"
+				      " -p %d'", em_junk_sa_spamd_port))
+		: g_strdup ("'spamassassin"
 			    " --exit-code"         /* Exit with a non-zero exit code if the
 						      tested message was junk */
-			    " --local");           /* Local tests only (no online tests) */
-
+			    " --local"  /* Local tests only (no online tests) */
+                "'" 
+                );           
 	retval = pipe_to_sa (msg, NULL, 3, args);
 
 	g_free (args [2]);
@@ -296,11 +298,13 @@
 	static gchar *args [3] = {
 		"/bin/sh",
 		"-c",
+        "'"                    /* begin quote */
 		"sa-learn"
 		" --no-rebuild"        /* do not rebuild db */
 		" --spam"              /* report junk */
 		" --single"            /* single message */
 		" --local"             /* local only */
+        "'"                    /* end quote */
 	};
 
 	d(fprintf (stderr, "em_junk_sa_report_junk\n"));
@@ -315,11 +319,13 @@
 	static gchar *args [3] = {
 		"/bin/sh",
 		"-c",
+        "'"                    /* begin quote */
 		"sa-learn"
 		" --no-rebuild"        /* do not rebuild db */
 		" --ham"               /* report notjunk */
 		" --single"            /* single message */
 		" --local"             /* local only */
+        "'"                    /* end quote */
 	};
 
 	d(fprintf (stderr, "em_junk_sa_report_notjunk\n"));
@@ -334,9 +340,11 @@
 	static gchar *args [3] = {
 		"/bin/sh",
 		"-c",
+        "'"                    /* begin quote */
 		"sa-learn"
 		" --rebuild"           /* do not rebuild db */
 		" --local"             /* local only */
+        "'"                    /* end quote */
 	};
 
 	d(fprintf (stderr, "em_junk_sa_commit_reports\n");)

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]