Initial work for 3.0.6.
I'm committing the initial work to get 3.0.6 built. Note that this will build, but one cassandane test will fail. I'm tracking that down now but I may have to disable that test until the issue is understood. O# Please enter the commit message for your changes. Lines starting
This commit is contained in:
parent
5afdd3d3b2
commit
2bab9a965e
@ -1,240 +0,0 @@
|
|||||||
From 1966c22fc4249a1157a4d4c1224138ce78653514 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ken Murchison <murch@andrew.cmu.edu>
|
|
||||||
Date: Sat, 21 Oct 2017 19:04:08 -0400
|
|
||||||
Subject: [PATCH] Account for the removal of icaltimetype.is_utc field in
|
|
||||||
upcoming libical
|
|
||||||
|
|
||||||
---
|
|
||||||
configure.ac | 5 +++++
|
|
||||||
imap/http_caldav.c | 2 +-
|
|
||||||
imap/http_caldav_sched.c | 4 ++--
|
|
||||||
imap/http_tzdist.c | 22 +++++++++++-----------
|
|
||||||
imap/ical_support.c | 9 +++++++++
|
|
||||||
imap/ical_support.h | 2 ++
|
|
||||||
imap/jmap_ical.c | 4 ++--
|
|
||||||
imap/xcal.c | 4 ++--
|
|
||||||
8 files changed, 34 insertions(+), 18 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index b7f2d0da9..8eb11966d 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -1492,6 +1492,11 @@ dnl
|
|
||||||
icalrecur_freq_to_string, icalrecur_weekday_to_string],
|
|
||||||
[], [], [[#include <libical/ical.h>]])
|
|
||||||
|
|
||||||
+ AC_CHECK_MEMBER(icaltimetype.is_utc,
|
|
||||||
+ AC_DEFINE(ICALTIME_HAS_IS_UTC,[],
|
|
||||||
+ [Does icaltimetype have is_utc field?]),
|
|
||||||
+ [], [#include <libical/ical.h>])
|
|
||||||
+
|
|
||||||
AC_CHECK_LIB(ical, icalproperty_new_acknowledged,
|
|
||||||
AC_DEFINE(HAVE_VALARM_EXT_PROPS,[],
|
|
||||||
[Do we have built-in support for VALARM extensions props?]))
|
|
||||||
diff --git a/imap/http_caldav.c b/imap/http_caldav.c
|
|
||||||
index eb9d4add1..4cb11d228 100644
|
|
||||||
--- a/imap/http_caldav.c
|
|
||||||
+++ b/imap/http_caldav.c
|
|
||||||
@@ -2391,7 +2391,7 @@ static struct icaltimetype icaltime_from_rfc3339_string(const char *str)
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
|
|
||||||
- tt.is_utc = 1;
|
|
||||||
+ icaltime_set_utc(&tt, 1);
|
|
||||||
return tt;
|
|
||||||
|
|
||||||
fail:
|
|
||||||
diff --git a/imap/http_caldav_sched.c b/imap/http_caldav_sched.c
|
|
||||||
index 1dc97a501..b896d871a 100644
|
|
||||||
--- a/imap/http_caldav_sched.c
|
|
||||||
+++ b/imap/http_caldav_sched.c
|
|
||||||
@@ -355,7 +355,7 @@ static int imip_send_sendmail(icalcomponent *ical,
|
|
||||||
cp += sprintf(cp, "%s, %02u %s %04u",
|
|
||||||
day_of_week[icaltime_day_of_week(start)-1],
|
|
||||||
start.day, month_of_year[start.month-1], start.year);
|
|
||||||
- if (!start.is_date) {
|
|
||||||
+ if (!icaltime_is_date(start)) {
|
|
||||||
cp += sprintf(cp, " %02u:%02u", start.hour, start.minute);
|
|
||||||
if (start.second) cp += sprintf(cp, ":%02u", start.second);
|
|
||||||
strcpy(cp, " UTC");
|
|
||||||
@@ -370,7 +370,7 @@ static int imip_send_sendmail(icalcomponent *ical,
|
|
||||||
day_of_week[icaltime_day_of_week(end)-1],
|
|
||||||
end.day, month_of_year[end.month-1], end.year);
|
|
||||||
}
|
|
||||||
- if (!end.is_date) {
|
|
||||||
+ if (!icaltime_is_date(end)) {
|
|
||||||
cp += sprintf(cp, " %02u:%02u", end.hour, end.minute);
|
|
||||||
if (end.second) cp += sprintf(cp, ":%02u", end.second);
|
|
||||||
strcpy(cp, " UTC");
|
|
||||||
diff --git a/imap/http_tzdist.c b/imap/http_tzdist.c
|
|
||||||
index 258440ce9..a88e8bf68 100644
|
|
||||||
--- a/imap/http_tzdist.c
|
|
||||||
+++ b/imap/http_tzdist.c
|
|
||||||
@@ -1376,7 +1376,7 @@ static void truncate_vtimezone(icalcomponent *vtz,
|
|
||||||
|
|
||||||
/* Adjust DTSTART observance to UTC */
|
|
||||||
icaltime_adjust(&obs.onset, 0, 0, 0, -obs.offset_from);
|
|
||||||
- obs.onset.is_utc = 1;
|
|
||||||
+ icaltime_set_utc(&obs.onset, 1);
|
|
||||||
|
|
||||||
/* Check DTSTART vs window close */
|
|
||||||
if (!icaltime_is_null_time(end) &&
|
|
||||||
@@ -1451,7 +1451,7 @@ static void truncate_vtimezone(icalcomponent *vtz,
|
|
||||||
if (!eternal) {
|
|
||||||
/* Adjust UNTIL to local time (for iterator) */
|
|
||||||
icaltime_adjust(&rrule.until, 0, 0, 0, obs.offset_from);
|
|
||||||
- rrule.until.is_utc = 0;
|
|
||||||
+ icaltime_set_utc(&rrule.until, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (trunc_dtstart) {
|
|
||||||
@@ -1475,7 +1475,7 @@ static void truncate_vtimezone(icalcomponent *vtz,
|
|
||||||
|
|
||||||
/* Adjust observance to UTC */
|
|
||||||
icaltime_adjust(&obs.onset, 0, 0, 0, -obs.offset_from);
|
|
||||||
- obs.onset.is_utc = 1;
|
|
||||||
+ icaltime_set_utc(&obs.onset, 1);
|
|
||||||
|
|
||||||
if (trunc_until && icaltime_compare(obs.onset, end) >= 0) {
|
|
||||||
/* Observance is on/after window close */
|
|
||||||
@@ -1580,7 +1580,7 @@ static void truncate_vtimezone(icalcomponent *vtz,
|
|
||||||
|
|
||||||
/* Adjust observance to UTC */
|
|
||||||
icaltime_adjust(&obs.onset, 0, 0, 0, -obs.offset_from);
|
|
||||||
- obs.onset.is_utc = 1;
|
|
||||||
+ icaltime_set_utc(&obs.onset, 1);
|
|
||||||
|
|
||||||
if (!icaltime_is_null_time(end) &&
|
|
||||||
icaltime_compare(obs.onset, end) >= 0) {
|
|
||||||
@@ -1691,7 +1691,7 @@ static void truncate_vtimezone(icalcomponent *vtz,
|
|
||||||
case ICAL_DTSTART_PROPERTY:
|
|
||||||
/* Adjust window open to local time */
|
|
||||||
icaltime_adjust(&start, 0, 0, 0, tombstone.offset_from);
|
|
||||||
- start.is_utc = 0;
|
|
||||||
+ icaltime_set_utc(&start, 0);
|
|
||||||
|
|
||||||
icalproperty_set_dtstart(prop, start);
|
|
||||||
break;
|
|
||||||
@@ -1775,14 +1775,14 @@ static int action_get(struct transaction_t *txn)
|
|
||||||
/* Sanity check the parameters */
|
|
||||||
if ((param = hash_lookup("start", &txn->req_qparams))) {
|
|
||||||
start = icaltime_from_string(param->s);
|
|
||||||
- if (param->next || !start.is_utc) { /* once only, UTC */
|
|
||||||
+ if (param->next || !icaltime_is_utc(start)) { /* once only, UTC */
|
|
||||||
return json_error_response(txn, TZ_INVALID_START, param, &start);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((param = hash_lookup("end", &txn->req_qparams))) {
|
|
||||||
end = icaltime_from_string(param->s);
|
|
||||||
- if (param->next || !end.is_utc /* once only, UTC */
|
|
||||||
+ if (param->next || !icaltime_is_utc(end) /* once only, UTC */
|
|
||||||
|| icaltime_compare(end, start) <= 0) { /* end MUST be > start */
|
|
||||||
return json_error_response(txn, TZ_INVALID_END, param, &end);
|
|
||||||
}
|
|
||||||
@@ -1956,7 +1956,7 @@ static int action_expand(struct transaction_t *txn)
|
|
||||||
return json_error_response(txn, TZ_INVALID_START, param, NULL);
|
|
||||||
|
|
||||||
start = icaltime_from_string(param->s);
|
|
||||||
- if (!start.is_utc) /* MUST be UTC */
|
|
||||||
+ if (!icaltime_is_utc(start)) /* MUST be UTC */
|
|
||||||
return json_error_response(txn, TZ_INVALID_START, param, &start);
|
|
||||||
|
|
||||||
param = hash_lookup("end", &txn->req_qparams);
|
|
||||||
@@ -1964,7 +1964,7 @@ static int action_expand(struct transaction_t *txn)
|
|
||||||
return json_error_response(txn, TZ_INVALID_END, param, NULL);
|
|
||||||
|
|
||||||
end = icaltime_from_string(param->s);
|
|
||||||
- if (!end.is_utc /* MUST be UTC */
|
|
||||||
+ if (!icaltime_is_utc(end) /* MUST be UTC */
|
|
||||||
|| icaltime_compare(end, start) <= 0) { /* end MUST be > start */
|
|
||||||
return json_error_response(txn, TZ_INVALID_END, param, &end);
|
|
||||||
}
|
|
||||||
@@ -2237,7 +2237,7 @@ static int json_error_response(struct transaction_t *txn, long tz_code,
|
|
||||||
else if (param->next) fmt = "Multiple %s parameters";
|
|
||||||
else if (!param->s || !param->s[0]) fmt = "Missing %s value";
|
|
||||||
else if (!time) fmt = "Invalid %s value";
|
|
||||||
- else if (!time->is_utc) fmt = "Invalid %s UTC value";
|
|
||||||
+ else if (!icaltime_is_utc(*time)) fmt = "Invalid %s UTC value";
|
|
||||||
else fmt = "End date-time <= start date-time";
|
|
||||||
|
|
||||||
assert(!buf_len(&txn->buf));
|
|
||||||
@@ -2500,7 +2500,7 @@ static struct buf *_icaltimezone_as_tzfile(icalcomponent* ical,
|
|
||||||
for (n = 0; n < obsarray->num_elements; n++) {
|
|
||||||
long long int t;
|
|
||||||
unsigned typeidx;
|
|
||||||
- icaltimetype tt_1601 = { 1601, 1, 1, 0, 0, 0, 1, 0, 0, NULL };
|
|
||||||
+ icaltimetype tt_1601 = icaltime_from_string("1601-01-01T00:00:00Z");
|
|
||||||
|
|
||||||
obs = icalarray_element_at(obsarray, n);
|
|
||||||
t = icaltime_to_gmtime64(obs->onset);
|
|
||||||
diff --git a/imap/ical_support.c b/imap/ical_support.c
|
|
||||||
index 3deb649b1..13861b25a 100644
|
|
||||||
--- a/imap/ical_support.c
|
|
||||||
+++ b/imap/ical_support.c
|
|
||||||
@@ -833,6 +833,15 @@ icalrecurrenceset_get_utc_timespan(icalcomponent *ical,
|
|
||||||
return span;
|
|
||||||
}
|
|
||||||
|
|
||||||
+EXPORTED void icaltime_set_utc(struct icaltimetype *t, int set)
|
|
||||||
+{
|
|
||||||
+#ifdef ICALTIME_HAS_IS_UTC
|
|
||||||
+ t->is_utc = set;
|
|
||||||
+#else
|
|
||||||
+ icaltime_set_timezone(t, set ? icaltimezone_get_utc_timezone() : NULL);
|
|
||||||
+#endif
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
|
|
||||||
#ifndef HAVE_TZDIST_PROPS
|
|
||||||
|
|
||||||
diff --git a/imap/ical_support.h b/imap/ical_support.h
|
|
||||||
index 8db35ed1f..0336d59e1 100644
|
|
||||||
--- a/imap/ical_support.h
|
|
||||||
+++ b/imap/ical_support.h
|
|
||||||
@@ -100,6 +100,8 @@ extern struct icalperiodtype icalrecurrenceset_get_utc_timespan(icalcomponent *i
|
|
||||||
void*),
|
|
||||||
void *cb_rock);
|
|
||||||
|
|
||||||
+extern void icaltime_set_utc(struct icaltimetype *t, int set);
|
|
||||||
+
|
|
||||||
|
|
||||||
/* Functions not declared in in libical < v2.0 */
|
|
||||||
|
|
||||||
diff --git a/imap/jmap_ical.c b/imap/jmap_ical.c
|
|
||||||
index c0d4910f5..dd8460f36 100644
|
|
||||||
--- a/imap/jmap_ical.c
|
|
||||||
+++ b/imap/jmap_ical.c
|
|
||||||
@@ -737,7 +737,7 @@ static const char *tzid_from_icalprop(icalproperty *prop, int guess) {
|
|
||||||
} else {
|
|
||||||
icalvalue *val = icalproperty_get_value(prop);
|
|
||||||
icaltimetype dt = icalvalue_get_datetime(val);
|
|
||||||
- if (icaltime_is_valid_time(dt) && dt.is_utc) {
|
|
||||||
+ if (icaltime_is_valid_time(dt) && icaltime_is_utc(dt)) {
|
|
||||||
tzid = "Etc/UTC";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -2615,7 +2615,7 @@ static icalproperty *dtprop_to_ical(icalcomponent *comp,
|
|
||||||
/* Set the new property. */
|
|
||||||
prop = icalproperty_new(kind);
|
|
||||||
icalproperty_set_value(prop, val);
|
|
||||||
- if (tz && !dt.is_utc) {
|
|
||||||
+ if (tz && !icaltime_is_utc(dt)) {
|
|
||||||
icalparameter *param = icalproperty_get_first_parameter(prop, ICAL_TZID_PARAMETER);
|
|
||||||
const char *tzid = icaltimezone_get_location(tz);
|
|
||||||
if (param) {
|
|
||||||
diff --git a/imap/xcal.c b/imap/xcal.c
|
|
||||||
index 27a32d96b..36129fdcc 100644
|
|
||||||
--- a/imap/xcal.c
|
|
||||||
+++ b/imap/xcal.c
|
|
||||||
@@ -115,8 +115,8 @@ const char *icaltime_as_iso_string(const struct icaltimetype tt)
|
|
||||||
static char str[21];
|
|
||||||
const char *fmt;
|
|
||||||
|
|
||||||
- if (tt.is_date) fmt = "%04d-%02d-%02d";
|
|
||||||
- else if (tt.is_utc) fmt = "%04d-%02d-%02dT%02d:%02d:%02dZ";
|
|
||||||
+ if (icaltime_is_date(tt)) fmt = "%04d-%02d-%02d";
|
|
||||||
+ else if (icaltime_is_utc(tt)) fmt = "%04d-%02d-%02dT%02d:%02d:%02dZ";
|
|
||||||
else fmt = "%04d-%02d-%02dT%02d:%02d:%02d";
|
|
||||||
|
|
||||||
snprintf(str, sizeof(str), fmt, tt.year, tt.month, tt.day,
|
|
@ -1,23 +0,0 @@
|
|||||||
From 24af24aa77144e0c1ab976657833b470502be7a8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Robert Stepanek <rsto@fastmail.com>
|
|
||||||
Date: Mon, 26 Feb 2018 22:00:34 +0100
|
|
||||||
Subject: [PATCH] xapian_wrap.cpp: change set_stem_version signature to return
|
|
||||||
void
|
|
||||||
|
|
||||||
---
|
|
||||||
imap/xapian_wrap.cpp | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/imap/xapian_wrap.cpp b/imap/xapian_wrap.cpp
|
|
||||||
index 0afb73674..ce07cdcf6 100644
|
|
||||||
--- a/imap/xapian_wrap.cpp
|
|
||||||
+++ b/imap/xapian_wrap.cpp
|
|
||||||
@@ -259,7 +259,7 @@ static int stem_version_get(Xapian::Database *database)
|
|
||||||
return version;
|
|
||||||
}
|
|
||||||
|
|
||||||
-static int stem_version_set(Xapian::WritableDatabase *database, int version)
|
|
||||||
+static void stem_version_set(Xapian::WritableDatabase *database, int version)
|
|
||||||
{
|
|
||||||
std::ostringstream convert;
|
|
||||||
convert << version;
|
|
@ -1,29 +0,0 @@
|
|||||||
From 7214a7e3a60c628575a73dab0437e065b9e9a32a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Pavel Zhukov <pzhukov@redhat.com>
|
|
||||||
Date: Tue, 27 Feb 2018 09:48:13 +0100
|
|
||||||
Subject: [PATCH] Check if mechlist buffer is not empty
|
|
||||||
|
|
||||||
Check if mechlist is null is redundant because it's initialized in
|
|
||||||
ask_capabilities flow. As the result some capabilities may be lost and
|
|
||||||
reported as not advertised
|
|
||||||
Keeping (now reduntant) null check to avoid regressions in the future
|
|
||||||
This is regression in 9fd201ba2b4ab58eda3372fb6765e1d5d8f027b4
|
|
||||||
|
|
||||||
Bug-Url: https://bugzilla.redhat.com/1543481
|
|
||||||
---
|
|
||||||
imtest/imtest.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/imtest/imtest.c b/imtest/imtest.c
|
|
||||||
index 716e2b252..85f4cc5ce 100644
|
|
||||||
--- a/imtest/imtest.c
|
|
||||||
+++ b/imtest/imtest.c
|
|
||||||
@@ -3084,7 +3084,7 @@ int main(int argc, char **argv)
|
|
||||||
/* try to get the capabilities from the banner */
|
|
||||||
mechlist = ask_capability(protocol, servername,
|
|
||||||
&capabilities, AUTO_BANNER);
|
|
||||||
- if (!mechlist && !(capabilities & CAPA_STARTTLS)) {
|
|
||||||
+ if ((!mechlist || !buf_len(mechlist)) && !(capabilities & CAPA_STARTTLS)) {
|
|
||||||
/* found no capabilities in banner -> get them explicitly */
|
|
||||||
protocol->banner.is_capa = 0;
|
|
||||||
}
|
|
@ -1,40 +0,0 @@
|
|||||||
From 73af8e19546f235f6286cc9147a3ea74bde19ebb Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ken Murchison <murch@fastmail.com>
|
|
||||||
Date: Mon, 5 Mar 2018 15:46:01 -0500
|
|
||||||
Subject: [PATCH] lmtp_sieve.c: sieve scripts are stores WITHOUT '.' -> '^'
|
|
||||||
translation
|
|
||||||
|
|
||||||
---
|
|
||||||
imap/lmtp_sieve.c | 12 +-----------
|
|
||||||
1 file changed, 1 insertion(+), 11 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/imap/lmtp_sieve.c b/imap/lmtp_sieve.c
|
|
||||||
index f09ddcefa..af1b3feb8 100644
|
|
||||||
--- a/imap/lmtp_sieve.c
|
|
||||||
+++ b/imap/lmtp_sieve.c
|
|
||||||
@@ -1586,13 +1586,6 @@ sieve_interp_t *setup_sieve(struct sieve_interp_ctx *ctx)
|
|
||||||
return interp;
|
|
||||||
}
|
|
||||||
|
|
||||||
-static void _rm_dots(char *p)
|
|
||||||
-{
|
|
||||||
- for (; *p; p++) {
|
|
||||||
- if (*p == '.') *p = '^';
|
|
||||||
- }
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
static int sieve_find_script(const char *user, const char *domain,
|
|
||||||
const char *script, char *fname, size_t size)
|
|
||||||
{
|
|
||||||
@@ -1629,10 +1622,7 @@ static int sieve_find_script(const char *user, const char *domain,
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
char hash = (char) dir_hash_c(user, config_fulldirhash);
|
|
||||||
- char *usercopy = xstrdup(user); // stupid hashing of names, we SHOULD just allow dots on disk
|
|
||||||
- _rm_dots(usercopy);
|
|
||||||
- len += snprintf(fname+len, size-len, "/%c/%s/", hash, usercopy);
|
|
||||||
- free(usercopy);
|
|
||||||
+ len += snprintf(fname+len, size-len, "/%c/%s/", hash, user);
|
|
||||||
|
|
||||||
if (!script) { /* default script */
|
|
||||||
char *bc_fname;
|
|
@ -1,43 +0,0 @@
|
|||||||
From 79244173353d95149ad1944f61cc6bd2e43bd7d4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: ellie timoney <ellie@fastmail.com>
|
|
||||||
Date: Tue, 20 Feb 2018 13:17:39 +1100
|
|
||||||
Subject: [PATCH] master: reject unix domain listen paths that are too long
|
|
||||||
|
|
||||||
Fixes #2253
|
|
||||||
---
|
|
||||||
master/master.c | 15 ++++++++++++++-
|
|
||||||
1 file changed, 14 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/master/master.c b/master/master.c
|
|
||||||
index 325afd42f..a28731fd0 100644
|
|
||||||
--- a/master/master.c
|
|
||||||
+++ b/master/master.c
|
|
||||||
@@ -496,6 +496,12 @@ static void service_create(struct service *s)
|
|
||||||
EX_SOFTWARE);
|
|
||||||
|
|
||||||
if (s->listen[0] == '/') { /* unix socket */
|
|
||||||
+ if (strlen(s->listen) >= sizeof(sunsock.sun_path)) {
|
|
||||||
+ syslog(LOG_ERR, "invalid listen '%s' (too long), disabling %s",
|
|
||||||
+ s->listen, s->name);
|
|
||||||
+ service_forget_exec(s);
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
res0_is_local = 1;
|
|
||||||
res0 = (struct addrinfo *)xzmalloc(sizeof(struct addrinfo));
|
|
||||||
res0->ai_flags = AI_PASSIVE;
|
|
||||||
@@ -513,7 +519,14 @@ static void service_create(struct service *s)
|
|
||||||
sunsock.sun_len = res0->ai_addrlen;
|
|
||||||
#endif
|
|
||||||
sunsock.sun_family = AF_UNIX;
|
|
||||||
- strcpy(sunsock.sun_path, s->listen);
|
|
||||||
+
|
|
||||||
+ int r = snprintf(sunsock.sun_path, sizeof(sunsock.sun_path), "%s", s->listen);
|
|
||||||
+ if (r < 0 || (size_t) r >= sizeof(sunsock.sun_path)) {
|
|
||||||
+ /* belt and suspenders */
|
|
||||||
+ fatal("Serious software bug found: "
|
|
||||||
+ "over-long listen path not detected earlier!",
|
|
||||||
+ EX_SOFTWARE);
|
|
||||||
+ }
|
|
||||||
unlink(s->listen);
|
|
||||||
} else { /* inet socket */
|
|
||||||
char *port;
|
|
@ -10,8 +10,8 @@
|
|||||||
%bcond_without cassandane
|
%bcond_without cassandane
|
||||||
|
|
||||||
Name: cyrus-imapd
|
Name: cyrus-imapd
|
||||||
Version: 3.0.5
|
Version: 3.0.6
|
||||||
Release: 15%{?dist}
|
Release: 1%{?dist}
|
||||||
|
|
||||||
%define ssl_pem_file /etc/pki/%name/%name.pem
|
%define ssl_pem_file /etc/pki/%name/%name.pem
|
||||||
|
|
||||||
@ -35,28 +35,10 @@ Patch0: patch-cyrus-testsuite-timeout
|
|||||||
Patch1: patch-cyrus-managesieve-linking
|
Patch1: patch-cyrus-managesieve-linking
|
||||||
|
|
||||||
# Fedora-specific patch for the default configuration file
|
# Fedora-specific patch for the default configuration file
|
||||||
Patch3: patch-cyrus-default-configs
|
Patch2: patch-cyrus-default-configs
|
||||||
|
|
||||||
# Upstream commit which adds libical3 support, picked back from the devel
|
|
||||||
# branch
|
|
||||||
Patch4: https://github.com/cyrusimap/cyrus-imapd/commit/1966c22fc4249a1157a4d4c1224138ce78653514.patch
|
|
||||||
|
|
||||||
# gcc8 detects a strcpy overflow in master.
|
|
||||||
Patch5: https://github.com/elliefm/cyrus-imapd/commit/79244173353d95149ad1944f61cc6bd2e43bd7d4.patch
|
|
||||||
|
|
||||||
# Fix squatter segfaults seen on rawhide.
|
|
||||||
Patch6: https://github.com/cyrusimap/cyrus-imapd/commit/24af24aa77144e0c1ab976657833b470502be7a8.patch
|
|
||||||
|
|
||||||
# Fix imtest -m gssapi on some servers.
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1543481
|
|
||||||
# https://github.com/cyrusimap/cyrus-imapd/pull/2268
|
|
||||||
Patch7: https://github.com/cyrusimap/cyrus-imapd/commit/7214a7e3a60c628575a73dab0437e065b9e9a32a.patch
|
|
||||||
|
|
||||||
# vzic uses an old makefile that needs hacks to use the proper flags
|
# vzic uses an old makefile that needs hacks to use the proper flags
|
||||||
Patch8: patch-vzic-proper-cflags
|
Patch3: patch-vzic-proper-cflags
|
||||||
|
|
||||||
# Fix issue with seive scripts for usernames containing dots
|
|
||||||
Patch9: https://github.com/cyrusimap/cyrus-imapd/commit/73af8e19546f235f6286cc9147a3ea74bde19ebb.patch
|
|
||||||
|
|
||||||
Source10: cyrus-imapd.logrotate
|
Source10: cyrus-imapd.logrotate
|
||||||
Source11: cyrus-imapd.pam-config
|
Source11: cyrus-imapd.pam-config
|
||||||
@ -631,6 +613,10 @@ getent passwd cyrus >/dev/null || /usr/sbin/useradd -c "Cyrus IMAP Server" -d /v
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Apr 30 2018 Jason L Tibbitts III <tibbs@math.uh.edu> - 3.0.6-1
|
||||||
|
- Update to 3.0.6.
|
||||||
|
- Remove upstreamed patches and renumber the rest.
|
||||||
|
|
||||||
* Mon Apr 30 2018 Pete Walter <pwalter@fedoraproject.org> - 3.0.5-15
|
* Mon Apr 30 2018 Pete Walter <pwalter@fedoraproject.org> - 3.0.5-15
|
||||||
- Rebuild for ICU 61.1
|
- Rebuild for ICU 61.1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user