Update patches for 2.4.17+caldav~beta10 release
Ondřej Surý
9 years ago
30 | 30 | |
31 | 31 | --- cyrus-imapd-2.4.orig/lib/imapoptions |
32 | 32 | +++ cyrus-imapd-2.4/lib/imapoptions |
33 | @@ -300,7 +300,11 @@ Blank lines and lines beginning with ``# | |
33 | @@ -307,7 +307,11 @@ Blank lines and lines beginning with ``# | |
34 | 34 | mailbox that does not have a parent mailbox. */ |
35 | 35 | |
36 | 36 | { "defaultdomain", NULL, STRING } |
43 | 43 | |
44 | 44 | { "defaultpartition", NULL, STRING } |
45 | 45 | /* The partition name used by default for new mailboxes. If not |
46 | @@ -744,7 +748,10 @@ Blank lines and lines beginning with ``# | |
46 | @@ -751,7 +755,10 @@ Blank lines and lines beginning with ``# | |
47 | 47 | /* The list of remote realms whose users may authenticate using cross-realm |
48 | 48 | authentication identifiers. Separate each realm name by a space. (A |
49 | 49 | cross-realm identity is considered any identity returned by SASL |
29 | 29 | |
30 | 30 | --- cyrus-imapd-2.4.orig/imap/reconstruct.c |
31 | 31 | +++ cyrus-imapd-2.4/imap/reconstruct.c |
32 | @@ -401,8 +401,8 @@ int main(int argc, char **argv) | |
32 | @@ -409,8 +409,8 @@ int main(int argc, char **argv) | |
33 | 33 | void usage(void) |
34 | 34 | { |
35 | 35 | fprintf(stderr, |
35 | 35 | |
36 | 36 | --- cyrus-imapd-2.4.orig/imap/imapd.c |
37 | 37 | +++ cyrus-imapd-2.4/imap/imapd.c |
38 | @@ -1061,6 +1061,10 @@ void shut_down(int code) | |
38 | @@ -1078,6 +1078,10 @@ void shut_down(int code) | |
39 | 39 | #ifdef HAVE_SSL |
40 | 40 | tls_shutdown_serverengine(); |
41 | 41 | #endif |
48 | 48 | |
49 | 49 | --- cyrus-imapd-2.4.orig/imap/lmtpd.c |
50 | 50 | +++ cyrus-imapd-2.4/imap/lmtpd.c |
51 | @@ -981,6 +981,9 @@ void shut_down(int code) | |
51 | @@ -990,6 +990,9 @@ void shut_down(int code) | |
52 | 52 | |
53 | 53 | cyrus_done(); |
54 | 54 |
9 | 9 | @DPATCH@ |
10 | 10 | --- cyrus-imapd-2.4.orig/imtest/imtest.c |
11 | 11 | +++ cyrus-imapd-2.4/imtest/imtest.c |
12 | @@ -1242,7 +1242,7 @@ static void interactive(struct protocol_ | |
12 | @@ -1256,7 +1256,7 @@ static void interactive(struct protocol_ | |
13 | 13 | |
14 | 14 | /* can't have this and a file for input */ |
15 | 15 | sunsock.sun_family = AF_UNIX; |
13 | 13 | |
14 | 14 | --- cyrus-imapd-2.4.orig/configure.in |
15 | 15 | +++ cyrus-imapd-2.4/configure.in |
16 | @@ -1571,7 +1571,11 @@ enum { | |
16 | @@ -1592,7 +1592,11 @@ enum { | |
17 | 17 | SQUAT_ENGINE = 1, |
18 | 18 | |
19 | 19 | /* should we have long LMTP error messages? */ |
15 | 15 | { |
16 | 16 | char *str; |
17 | 17 | int w; |
18 | @@ -752,7 +752,7 @@ int tls_init_serverengine(const char | |
18 | @@ -705,7 +705,7 @@ int tls_init_serverengine(const char | |
19 | 19 | s_key_file = config_getstring(IMAPOPT_TLS_KEY_FILE); |
20 | 20 | |
21 | 21 | if (!set_cert_stuff(s_ctx, s_cert_file, s_key_file)) { |
0 | 0 | --- cyrus-imapd-2.4.orig/lib/imapoptions |
1 | 1 | +++ cyrus-imapd-2.4/lib/imapoptions |
2 | @@ -1051,12 +1051,13 @@ And the notification message will be ava | |
2 | @@ -1058,12 +1058,13 @@ And the notification message will be ava | |
3 | 3 | in minutes. The minimum value is 10, the default. */ |
4 | 4 | |
5 | 5 | { "popuseacl", 0, SWITCH } |
0 | --- cyrus-imapd-2.4.orig/imtest/imtest.c | |
1 | +++ cyrus-imapd-2.4/imtest/imtest.c | |
2 | @@ -1206,6 +1206,24 @@ static void sigint_handler(int sig __att | |
3 | gotsigint = 1; | |
4 | } | |
5 | ||
6 | +/* If SSL_read() reads a record with more than PROT_BUFSIZE plaintext | |
7 | + * bytes, s->cnt can reach 0 even though more data is available. | |
8 | + * Check SSL_pending() in that case, otherwise more data might be | |
9 | + * available to SSL_read() but the read state could still be cleared | |
10 | + * on the file descriptor. */ | |
11 | +static int remaining(struct protstream *s) | |
12 | +{ | |
13 | +#ifdef HAVE_SSL | |
14 | + if (s->cnt == 0 && s->tls_conn != NULL) { | |
15 | + int n = SSL_pending(s->tls_conn); | |
16 | + if (verbose) | |
17 | + printf("SSL_pending=%d\n", n); | |
18 | + return n; | |
19 | + } | |
20 | +#endif | |
21 | + return s->cnt; | |
22 | +} | |
23 | + | |
24 | /* This needs to support 3 modes: | |
25 | * | |
26 | * 1. Terminal Interface Only | |
27 | @@ -1370,7 +1388,7 @@ static void interactive(struct protocol_ | |
28 | buf[count] = '\0'; | |
29 | printf("%s", buf); | |
30 | } | |
31 | - } while (pin->cnt > 0); | |
32 | + } while (remaining(pin) > 0); | |
33 | } else if ((FD_ISSET(fd, &rset)) && (FD_ISSET(sock, &wset)) | |
34 | && (donewritingfile == 0)) { | |
35 | /* This does input for both socket and file modes */ |
0 | Index: cyrus-imapd-2.4/cmulocal/ucdsnmp.m4 | |
1 | =================================================================== | |
2 | --- cyrus-imapd-2.4.orig/cmulocal/ucdsnmp.m4 2013-07-02 06:39:05.000000000 +0000 | |
3 | +++ cyrus-imapd-2.4/cmulocal/ucdsnmp.m4 2014-05-15 07:44:51.317606720 +0000 | |
4 | @@ -27,7 +27,7 @@ | |
0 | --- cyrus-imapd-2.4.orig/cmulocal/ucdsnmp.m4 | |
1 | +++ cyrus-imapd-2.4/cmulocal/ucdsnmp.m4 | |
2 | @@ -27,7 +27,7 @@ if test "$with_snmp" != "no"; then | |
5 | 3 | if test -x "$SNMP_CONFIG"; then |
6 | 4 | AC_MSG_CHECKING(NET SNMP libraries) |
7 | 5 |
65 | 65 | |
66 | 66 | --- cyrus-imapd-2.4.orig/lib/imapoptions |
67 | 67 | +++ cyrus-imapd-2.4/lib/imapoptions |
68 | @@ -1579,6 +1579,11 @@ product version in the capabilities */ | |
68 | @@ -1592,6 +1592,11 @@ product version in the capabilities */ | |
69 | 69 | /* The absolute path to the zoneinfo db file. If not specified, |
70 | 70 | will be confdir/zoneinfo.db */ |
71 | 71 |
0 | From 5631334b6f33b734cc2d0d4e8acde558188b53bb Mon Sep 17 00:00:00 2001 | |
1 | From: Ken Murchison <murch@andrew.cmu.edu> | |
2 | Date: Mon, 06 Jan 2014 23:30:29 +0000 | |
3 | Subject: Revert "Bug #3415 - fix nntp access" | |
4 | ||
5 | This reverts commit 5fe468b7acf5bcb614c2a359df125b3e2bf6e075. | |
6 | --- | |
7 | --- cyrus-imapd-2.4.orig/imap/nntpd.c | |
8 | +++ cyrus-imapd-2.4/imap/nntpd.c | |
9 | @@ -1061,13 +1061,12 @@ static void cmdloop(void) | |
10 | ||
11 | be = backend_current; | |
12 | if (arg1.len && | |
13 | - (!is_newsgroup(arg1.s) || | |
14 | - (r = open_group(arg1.s, 1, &be, NULL)))) goto nogroup; | |
15 | + (r = open_group(arg1.s, 0, &be, NULL))) goto nogroup; | |
16 | else if (be) { | |
17 | prot_printf(be->out, "%s", cmd.s); | |
18 | if (arg1.len) { | |
19 | prot_printf(be->out, " %s", arg1.s); | |
20 | - if (LISTGROUP) prot_printf(be->out, " %s", arg2.s); | |
21 | + if (LISTGROUP) prot_printf(be->out, " %s", arg2.s); | |
22 | } | |
23 | prot_printf(be->out, "\r\n"); | |
24 | ||
25 | @@ -1777,6 +1776,8 @@ static int open_group(char *name, int ha | |
26 | if (!has_prefix) { | |
27 | snprintf(mailboxname, sizeof(mailboxname), "%s%s", newsprefix, name); | |
28 | name = mailboxname; | |
29 | + | |
30 | + if (!is_newsgroup(name)) return IMAP_MAILBOX_NONEXISTENT; | |
31 | } | |
32 | ||
33 | if (!r) r = mlookup(name, &newserver, &acl, NULL); | |
34 | @@ -2541,7 +2542,7 @@ int do_active(char *name, void *rock) | |
35 | } | |
36 | } | |
37 | else { | |
38 | - prot_printf(nntp_out, "%s %u %u %c\r\n", name, | |
39 | + prot_printf(nntp_out, "%s %u %u %c\r\n", name+strlen(newsprefix), | |
40 | group_state->exists ? index_getuid(group_state, group_state->exists) : | |
41 | group_state->mailbox->i.last_uid, | |
42 | group_state->exists ? index_getuid(group_state, 1) : | |
43 | @@ -2999,7 +3000,7 @@ static int parse_groups(const char *grou | |
44 | if (!rcpt) return -1; | |
45 | ||
46 | /* construct the mailbox name */ | |
47 | - sprintf(rcpt, "%.*s", (int) n, p); | |
48 | + sprintf(rcpt, "%s%.*s", newsprefix, (int) n, p); | |
49 | ||
50 | /* skip mailboxes that we don't serve as newsgroups */ | |
51 | if (!is_newsgroup(rcpt)) continue; |