[dovecot-cvs] dovecot/src/deliver deliver.c,1.20.2.28,1.20.2.29

tss at dovecot.org tss at dovecot.org
Mon Feb 19 14:27:16 UTC 2007


Update of /var/lib/cvs/dovecot/src/deliver
In directory talvi:/tmp/cvs-serv4989

Modified Files:
      Tag: branch_1_0
	deliver.c 
Log Message:
Get pop3_uidl_format even if it's inside protocol pop3 {}



Index: deliver.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/deliver/deliver.c,v
retrieving revision 1.20.2.28
retrieving revision 1.20.2.29
diff -u -d -r1.20.2.28 -r1.20.2.29
--- deliver.c	16 Feb 2007 13:12:02 -0000	1.20.2.28
+++ deliver.c	19 Feb 2007 14:27:14 -0000	1.20.2.29
@@ -191,7 +191,7 @@
 	struct istream *input;
 	const char *key, *value;
 	char *line, *p, quote;
-	int fd, sections = 0, lda_section = FALSE;
+	int fd, sections = 0, lda_section = FALSE, pop3_section = FALSE;
 	size_t len;
 
 	fd = open(path, O_RDONLY);
@@ -239,21 +239,27 @@
 				if (strcmp(line, "protocol lda {") == 0 ||
 				    strcmp(line, "plugin {") == 0)
 					lda_section = TRUE;
+				if (strcmp(line, "protocol pop3 {") == 0)
+					pop3_section = TRUE;
 				sections++;
 			}
 			if (*line == '}') {
 				sections--;
 				lda_section = FALSE;
+				pop3_section = FALSE;
 			}
 			continue;
 		}
 
-		if (sections > 0 && !lda_section)
-			continue;
-
 		while (p > line && p[-1] == ' ') p--;
 		key = t_strdup_until(line, p);
 
+		if (sections > 0 && !lda_section) {
+			if (!pop3_section ||
+			    strcmp(key, "pop3_uidl_format") != 0)
+				continue;
+		}
+
 		do {
 			value++;
 		} while (*value == ' ');



More information about the dovecot-cvs mailing list