Christian Felsing ha scritto:
dovecot-1.2-managesieve-0.11.8 fails to compile with dovecot 1.2.4 and sieve 0.1.11, following versions were used:

drwxrwxrwx  4 root root     4096 18. Aug 07:31 dovecot-1.2.4
drwxrwxrwx 4 root root 4096 18. Aug 07:34 dovecot-1.2-managesieve-0.11.8
drwxrwxrwx  6 root root     4096 18. Aug 07:33 dovecot-1.2-sieve-0.1.11

Attached you can found a patch to managesieve to make it working.

Marco

--
---------------------------------------------------------------------
|    Marco Nenciarini    | Debian/GNU Linux Developer - Plug Member |
| mnen...@prato.linux.it | http://www.prato.linux.it/~mnencia       |
---------------------------------------------------------------------
Key fingerprint = FED9 69C7 9E67 21F5 7D95  5270 6864 730D F095 E5E4

diff -burN dovecot-1.2-managesieve-0.11.8.orig/src/managesieve-login/client-authenticate.c dovecot-1.2-managesieve-0.11.8/src/managesieve-login/client-authenticate.c
--- dovecot-1.2-managesieve-0.11.8.orig/src/managesieve-login/client-authenticate.c	2009-08-08 02:00:45.000000000 +0200
+++ dovecot-1.2-managesieve-0.11.8/src/managesieve-login/client-authenticate.c	2009-08-19 18:28:42.000000000 +0200
@@ -167,6 +167,7 @@
 	const char *key, *value, *p;
 	enum login_proxy_ssl_flags ssl_flags = 0;
 	unsigned int port = 2000;
+	unsigned int proxy_timeout_msecs = 0;
 	bool proxy = FALSE, temp = FALSE, nologin = !success;
 	bool authz_failure = FALSE;
 
@@ -200,6 +201,8 @@
 			destuser = value;
 		else if (strcmp(key, "pass") == 0)
 			pass = value;
+		else if (strcmp(key, "proxy_timeout") == 0)
+			proxy_timeout_msecs = 1000*atoi(value); 
 		else if (strcmp(key, "master") == 0)
 			master_user = value;
 		else if (strcmp(key, "ssl") == 0) {
@@ -230,7 +233,7 @@
 		if (!success)
 			return FALSE;
 		if (managesieve_proxy_new(client, host, port, destuser, master_user,
-			pass, ssl_flags) < 0)
+					  pass, ssl_flags, proxy_timeout_msecs) < 0)
 			client_auth_failed(client, TRUE);
 		return TRUE;
 	}
diff -burN dovecot-1.2-managesieve-0.11.8.orig/src/managesieve-login/managesieve-proxy.c dovecot-1.2-managesieve-0.11.8/src/managesieve-login/managesieve-proxy.c
--- dovecot-1.2-managesieve-0.11.8.orig/src/managesieve-login/managesieve-proxy.c	2009-08-08 02:00:45.000000000 +0200
+++ dovecot-1.2-managesieve-0.11.8/src/managesieve-login/managesieve-proxy.c	2009-08-19 18:28:42.000000000 +0200
@@ -454,7 +454,8 @@
 
 int managesieve_proxy_new(struct managesieve_client *client, const char *host,
            unsigned int port, const char *user, const char *master_user,
-           const char *password, enum login_proxy_ssl_flags ssl_flags)
+           const char *password, enum login_proxy_ssl_flags ssl_flags,
+           unsigned int connect_timeout_msecs)
 {
 	i_assert(user != NULL);
 	i_assert(!client->destroyed);
@@ -489,6 +490,7 @@
     }
 
 	client->proxy = login_proxy_new(&client->common, host, port, ssl_flags,
+		    connect_timeout_msecs,
                     proxy_input, client);
     if (client->proxy == NULL) {
 		client_send_noresp(client, "TRYLATER", AUTH_TEMP_FAILED_MSG);
diff -burN dovecot-1.2-managesieve-0.11.8.orig/src/managesieve-login/managesieve-proxy.h dovecot-1.2-managesieve-0.11.8/src/managesieve-login/managesieve-proxy.h
--- dovecot-1.2-managesieve-0.11.8.orig/src/managesieve-login/managesieve-proxy.h	2009-05-17 19:33:23.000000000 +0200
+++ dovecot-1.2-managesieve-0.11.8/src/managesieve-login/managesieve-proxy.h	2009-08-19 18:28:42.000000000 +0200
@@ -8,6 +8,7 @@
 
 int managesieve_proxy_new(struct managesieve_client *client, const char *hosts,
            unsigned int port, const char *user, const char *master_user,
-           const char *password, enum login_proxy_ssl_flags ssl_flags);
+           const char *password, enum login_proxy_ssl_flags ssl_flags,
+           unsigned int connect_timeout_msecs);
 
 #endif

Reply via email to