Projects
Kolab:Winterfell
cyrus-imapd
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 42
View file
cyrus-imapd.spec
Changed
@@ -18,9 +18,9 @@ %global _cyrusgroup mail %global _cyrexecdir %{_exec_prefix}/lib/%{name} -%global tag_version 2.5.11 -%global revision 41 -%global git_hash gd53406f3f +%global tag_version 2.5.12.25 +##%global revision 41 +##%global git_hash gd53406f3f ## ## Options @@ -37,12 +37,12 @@ Name: cyrus-imapd Summary: A high-performance mail server with IMAP, POP3, NNTP and SIEVE support Version: %{tag_version} -Release: 0.%{revision}.%{git_hash}%{?dist} +Release: 1%{?dist} License: BSD Group: System Environment/Daemons URL: http://www.cyrusimap.org -Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus/%{name}-%{tag_version}-%{revision}-%{git_hash}.tar.gz +Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus/%{name}-%{tag_version}.tar.gz Source1: cyrus-imapd.imap-2.3.x-conf Source2: cyrus-imapd.cvt_cyrusdb_all Source3: cyrus-imapd.magic @@ -756,6 +756,9 @@ %{_libdir}/*.la %changelog +* Wed Jan 2 2019 Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com> - 2.5.12.25-1 +- Rebase on to upstream 2.5.12 + * Tue Oct 17 2017 Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> - 2.5.11-4 - Fix potentially non-readable, non-writeable /dev/null
View file
cyrus-imapd-2.5.11-41-gd53406f3f.tar.gz/xversion
Deleted
View file
cyrus-imapd-2.5.11-41-gd53406f3f.tar.gz/xversion.h
Deleted
@@ -1,3 +0,0 @@ -/* cyrus-imapd 2.5.11-41-gd53406f3f */ -#define _CYRUS_VERSION "2.5.11-41-gd53406f3f" -#define CYRUS_GITVERSION "d53406f3 2017-07-24"
View file
cyrus-imapd-2.5.11-41-gd53406f3f.tar.gz/.gitignore -> cyrus-imapd-2.5.12.25.tar.gz/.gitignore
Changed
@@ -58,6 +58,7 @@ imap/ctl_zoneinfo imap/cvt_cyrusdb imap/cyr_charset +imap/cyr_buildinfo imap/cyr_dbtool imap/cyr_deny imap/cyr_df
View file
cyrus-imapd-2.5.11-41-gd53406f3f.tar.gz/Makefile.am -> cyrus-imapd-2.5.12.25.tar.gz/Makefile.am
Changed
@@ -150,6 +150,7 @@ imap/ctl_deliver \ imap/ctl_mboxlist \ imap/cvt_cyrusdb \ + imap/cyr_buildinfo \ imap/cyr_df \ imap/cyrdump \ imap/cyr_dbtool \ @@ -757,6 +758,9 @@ imap_cyrdump_SOURCES = imap/cli_fatal.c imap/cyrdump.c imap/mutex_fake.c imap_cyrdump_LDADD = $(LD_UTILITY_ADD) +imap_cyr_buildinfo_SOURCES = imap/cli_fatal.c imap/cyr_buildinfo.c imap/mutex_fake.c +imap_cyr_buildinfo_LDADD = $(LD_UTILITY_ADD) + imap_cyr_dbtool_SOURCES = imap/cli_fatal.c imap/cyr_dbtool.c imap/mutex_fake.c imap_cyr_dbtool_LDADD = $(LD_UTILITY_ADD)
View file
cyrus-imapd-2.5.11-41-gd53406f3f.tar.gz/docsrc/conf.py -> cyrus-imapd-2.5.12.25.tar.gz/docsrc/conf.py
Changed
@@ -71,9 +71,9 @@ # built documents. # # The short X.Y version. -version = '2.5.11' +version = '2.5.12' # The full version, including alpha/beta/rc tags. -release = '2.5.11' +release = '2.5.12' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -1063,13 +1063,13 @@ #epub_use_index = True rst_prolog = """ -.. |imap_last_stable_version| replace:: 2.5.11 +.. |imap_last_stable_version| replace:: 2.5.12 .. |imap_last_stable_branch| replace:: `cyrus-imapd-2.5` -.. |imap_last_stable_next_version| replace:: 2.5.11 + patches -.. |imap_current_stable_version| replace:: 3.0.1 -.. |imap_current_stable_next_version| replace:: 3.0.0 + patches +.. |imap_last_stable_next_version| replace:: 2.5.12 + patches +.. |imap_current_stable_version| replace:: 3.0.8 +.. |imap_current_stable_next_version| replace:: 3.0.8 + patches .. |imap_current_stable_branch| replace:: `cyrus-imapd-3.0` -.. |imap_latest_development_version| replace:: 3.1.0 +.. |imap_latest_development_version| replace:: 3.1.5 .. |imap_latest_development_branch| replace:: master .. |imap_tikanga_stock_version| replace:: 2.3.7 .. |imap_santiago_stock_version| replace:: 2.3.16 @@ -1079,7 +1079,7 @@ .. |imap_utopic_stock_version| replace:: 2.4.17+caldav~beta10-5 .. |imap_vivid_stock_version| replace:: 2.4.17+caldav~beta10-17 .. |imap_wily_stock_version| replace:: 2.4.17+caldav~beta10-17 -.. |sasl_current_stable_version| replace:: 2.1.26 +.. |sasl_current_stable_version| replace:: 2.1.27 .. |imap_stable_release_notes| raw:: html <a href="3.0/x/3.0.0.html">3.0.0</a>
View file
cyrus-imapd-2.5.11-41-gd53406f3f.tar.gz/docsrc/imap/admin/configs/cyrus.conf.rst -> cyrus-imapd-2.5.12.25.tar.gz/docsrc/imap/admin/configs/cyrus.conf.rst
Changed
@@ -110,6 +110,9 @@ interface, and *port* is either a port number or service name (as listed in ``/etc/services``). + Note that on most systems UNIX socket paths are limited to around + 100 characters. See your system documentation for specifics. + .. parsed-literal:: **proto=**\ tcp
View file
cyrus-imapd-2.5.12.25.tar.gz/docsrc/imap/release-notes/2.5/x/2.5.12.rst
Added
@@ -0,0 +1,73 @@ +:tocdepth: 3 + +=============================== +Cyrus IMAP 2.5.12 Release Notes +=============================== + +.. IMPORTANT:: + + This is a bug-fix release in the `stable 2.5 series <http://www.cyrusimap.org/stable>`_. + + Refer to the Cyrus IMAP 2.5.0 Release Notes for important information + about the 2.5 series, including upgrading instructions. + +Download via HTTPS: + + * https://github.com/cyrusimap/cyrus-imapd/releases/download/cyrus-imapd-2.5.12/cyrus-imapd-2.5.12.tar.gz + * https://github.com/cyrusimap/cyrus-imapd/releases/download/cyrus-imapd-2.5.12/cyrus-imapd-2.5.12.tar.gz.sig + +.. _relnotes-2.5.12-changes: + +Changes Since 2.5.11 +==================== + +Release changes +--------------- + +We’re trialing using the Github Releases feature. If you have trouble +downloading this release, please report this to the mailing lists. Thanks! + +Dependency changes +------------------ + +ClamAV now configures and builds correctly, using pkg-config for detection. +You can use the ``--without-clamav`` option to configure if you have ClamAV +installed but do *not* want to build Cyrus with support for it. The old +``--with-clamav=DIR`` variant no longer works (but it also didn't work before!) + +Cyrus should now build cleanly with LibreSSL 2.7 (thanks Bernard Spil). + +Other changes +------------- + +* Cyrus release version is now preserved across autoreconf runs. This means + it is now safe to run autoreconf on a release tarball source tree. + +Bug fixes +--------- + +* Fixed: cyr_virusscan now integrates with event notifications properly +* Fixed: mailbox expunge event notifications no longer cause a crash +* Fixed :issue:`2378`: ACLs containing spaces no longer break mailboxes.db +* Fixed :issue:`2253`: master now rejects unix domain listen paths that are too + long +* Fixed: smilint warnings for CYRUS-MASTER.mib fixed (thanks Fabrice Bacchella) +* Fixed :issue:`2177`: backend connections no longer ignore STARTTLS failures + (thanks Wolfgang Breyha) +* Fixed :issue:`2222`: dav_reconstruct no longer crashes on expunged entries +* Fixed :issue:`2221`: dav_reconstruct no longer crashes given bad user id + (thanks Wolfgang Breyha) +* Fixed: tls_prune memory leak +* Fixed: tls_prune doesn't fail when tls_sessions.db is missing +* Fixed :issue:`2199`: recovery from mupdate failure now in correct order + (thanks Michael Menge) +* Fixed: backend connections no longer crash if no banner found +* Fixed: backend connections no longer return success on certain types of failure +* Fixed :issue:`2185`: squatter no longer tries to index non-IMAP mailboxes + (thanks Wolfgang Breyha) +* Fixed: special-use proxying in murder (thanks Wolfgang Breyha) +* Fixed :issue:`1090`: send OK NIL to subsequent ID commands +* Fixed :issue:`1434`: auth_pts will now error when given a too-long socket file name +* Fixed :issue:`1964`: correctly detect when librt is needed +* Fixed :issue:`1967`: tell EXISTS count earlier when needed +* Fixed: memory leak in httpd DAV support
View file
cyrus-imapd-2.5.11-41-gd53406f3f.tar.gz/imap/backend.c -> cyrus-imapd-2.5.12.25.tar.gz/imap/backend.c
Changed
@@ -732,7 +732,7 @@ if (mechlist) free(mechlist); - return SASL_OK; + return r; } static int backend_login(struct backend *ret, const char *userid, @@ -1018,7 +1018,10 @@ prot_setisclient(ret->out, 1); /* Start TLS if required */ - if (do_tls) r = backend_starttls(ret, NULL, NULL, NULL); + if (do_tls) { + r = backend_starttls(ret, NULL, NULL, NULL); + if (r) goto error; + } /* Login to the server */ if (prot->type == TYPE_SPEC)
View file
cyrus-imapd-2.5.11-41-gd53406f3f.tar.gz/imap/caldav_db.c -> cyrus-imapd-2.5.12.25.tar.gz/imap/caldav_db.c
Changed
@@ -932,6 +932,7 @@ EXPORTED void caldav_data_fini(struct caldav_data *cdata) { + if (!cdata) return; /* not currently anything malloced */ memset(cdata, 0, sizeof *cdata); }
View file
cyrus-imapd-2.5.12.25.tar.gz/imap/cyr_buildinfo.c
Added
@@ -0,0 +1,272 @@ +/* cyr_buildinfo.c -- report cyrus configured components + * + * Copyright (c) 2018 Carnegie Mellon University. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. The name "Carnegie Mellon University" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For permission or any legal + * details, please contact + * Carnegie Mellon University + * Center for Technology Transfer and Enterprise Creation + * 4615 Forbes Avenue + * Suite 302 + * Pittsburgh, PA 15213 + * (412) 268-7393, fax: (412) 268-7395 + * innovation@andrew.cmu.edu + * + * 4. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by Computing Services + * at Carnegie Mellon University (http://www.cmu.edu/computing/)." + * + * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE + * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING + * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include <config.h> + +#include <stdio.h> + +static int have_sections = 0; +static int have_keys = 0; + +static void start_section(const char *name) +{ + if (have_sections) + putchar(','); + printf("\n \"%s\": {", name); + have_sections++; +} + +static void end_section(void) +{ + have_keys = 0; + printf("\n }"); +} + +static void key_true(const char *key) +{ + if (have_keys) + putchar(','); + printf("\n \"%s\": true", key); + have_keys++; +} + +static void key_false(const char *key) +{ + if (have_keys) + putchar(','); + printf("\n \"%s\": false", key); + have_keys++; +} + +int main (int argc __attribute__((unused)), + char **argv __attribute__((unused))) +{ + putchar('{'); + + start_section("component"); +#ifdef ENABLE_MBOXEVENT + key_true("event_notification"); +#else + key_false("event_notification"); +#endif +#ifdef HAVE_GSSAPI_H + key_true("gssapi"); +#else + key_false("gssapi"); +#endif +#ifdef USE_AUTOCREATE + key_true("autocreate"); +#else + key_false("autocreate"); +#endif +#ifdef USE_IDLED + key_true("idled"); +#else + key_false("idled"); +#endif +#ifdef USE_HTTPD + key_true("httpd"); +#else + key_false("httpd"); +#endif +#ifdef HAVE_KRB + key_true("kerberos_v4"); +#else + key_false("kerberos_v4"); +#endif +#ifdef USE_MURDER + key_true("murder"); +#else + key_false("murder"); +#endif +#ifdef USE_NNTPD + key_true("nntpd"); +#else + key_false("nntpd"); +#endif +#ifdef USE_REPLICATION + key_true("replication"); +#else + key_false("replication"); +#endif +#ifdef USE_SIEVE + key_true("sieve"); +#else + key_false("sieve"); +#endif +#ifdef USE_CALALARMD + key_true("calalarmd"); +#else + key_false("calalarmd"); +#endif +#ifdef WITH_JMAP + key_true("jmap"); +#else + key_false("jmap"); +#endif +#ifdef ENABLE_OBJECTSTORE + key_true("objectstore"); +#else + key_false("objectstore"); +#endif +#ifdef ENABLE_BACKUP + key_true("backup"); +#else + key_false("backup"); +#endif +#if defined(HAVE_UCDSNMP) || defined(HAVE_NETSNMP) + key_true("snmp"); +#else + key_false("snmp"); +#endif + end_section(); + + start_section("dependency"); +#ifdef HAVE_LDAP + key_true("ldap"); +#else + key_false("ldap"); +#endif +#ifdef HAVE_SSL + key_true("openssl"); +#else + key_false("openssl"); +#endif +#ifdef HAVE_ZLIB + key_true("zlib"); +#else + key_false("zlib"); +#endif +#if defined(ENABLE_REGEX) && defined(HAVE_PCREPOSIX_H) + key_true("pcre"); +#else + key_false("pcre"); +#endif +#ifdef HAVE_CLAMAV + key_true("clamav"); +#else + key_false("clamav"); +#endif +#ifdef HAVE_UCDSNMP + key_true("ucdsnmp"); +#else + key_false("ucdsnmp"); +#endif +#ifdef HAVE_NETSNMP + key_true("netsnmp"); +#else + key_false("netsnmp"); +#endif +#ifdef WITH_OPENIO + key_true("openio"); +#else + key_false("openio"); +#endif +#ifdef HAVE_NGHTTP2 + key_true("nghttp2"); +#else + key_false("nghttp2"); +#endif +#ifdef HAVE_BROTLI + key_true("brotli"); +#else + key_false("brotli"); +#endif +#ifdef USE_HTTPD + key_true("xml2"); +#else + key_false("xml2"); +#endif +#ifdef HAVE_ICAL + key_true("ical"); +#else + key_false("ical"); +#endif +#ifdef HAVE_ICU + key_true("icu4c"); +#else + key_false("icu4c"); +#endif +#ifdef HAVE_SHAPELIB + key_true("shapelib"); +#else + key_false("shapelib"); +#endif + end_section(); + + start_section("database"); +#ifdef HAVE_MYSQL + key_true("mysql"); +#else + key_false("mysql"); +#endif +#ifdef HAVE_PGSQL + key_true("pgsql"); +#else + key_false("pgsql"); +#endif +#ifdef HAVE_SQLITE + key_true("sqlite"); +#else + key_false("sqlite"); +#endif + end_section(); + + start_section("search"); +#ifdef USE_SQUAT + key_true("squat"); +#else + key_false("squat"); +#endif + end_section(); + + start_section("hardware"); +#ifdef HAVE_SSE42 + key_true("sse42"); +#else + key_false("sse42"); +#endif + end_section(); + + puts("\n}"); + return 0; +}
View file
cyrus-imapd-2.5.11-41-gd53406f3f.tar.gz/imap/cyr_virusscan.c -> cyrus-imapd-2.5.12.25.tar.gz/imap/cyr_virusscan.c
Changed
@@ -91,10 +91,13 @@ /* globals for callback functions */ int disinfect = 0; -int notify = 0; +int email_notification = 0; struct infected_mbox *public = NULL; struct infected_mbox *user = NULL; +/* current namespace */ +static struct namespace virusscan_namespace; + int verbose = 1; /* abstract definition of a virus scan engine */ @@ -228,6 +231,7 @@ int main (int argc, char *argv[]) { int option; /* getopt() returns an int */ char *alt_config = NULL; + int r; if ((geteuid()) == 0 && (become_cyrus(/*is_master*/0) != 0)) { fatal("must run as the Cyrus user", EC_USAGE); @@ -244,7 +248,7 @@ break; case 'n': - notify = 1; + email_notification = 1; break; case 'h': @@ -274,6 +278,15 @@ /* setup for mailbox event notifications */ mboxevent_init(); + /* Set namespace -- force standard (internal) */ + if ((r = mboxname_init_namespace(&virusscan_namespace, 1)) != 0) { + syslog(LOG_ERR, "%s", error_message(r)); + fatal(error_message(r), EC_CONFIG); + } + + mboxevent_setnamespace(&virusscan_namespace); + + if (optind == argc) { /* do the whole partition */ mboxlist_findall(NULL, "*", 1, 0, 0, scan_me, NULL); } else { @@ -282,7 +295,7 @@ } } - if (notify) append_notifications(); + if (email_notification) append_notifications(); sync_log_done(); @@ -314,7 +327,7 @@ int maycreate __attribute__((unused)), void *rock __attribute__((unused))) { - struct mailbox *mailbox; + struct mailbox *mailbox = NULL; int r; struct infected_mbox *i_mbox = NULL; @@ -328,7 +341,7 @@ return 0; } - if (notify) { + if (email_notification) { const char *owner = mboxname_to_userid(name); if (owner) { if (!strcmp(owner, user->owner)) { @@ -395,7 +408,7 @@ printf("Virus detected in message %u: %s\n", record->uid, virname); } if (disinfect) { - if (notify && i_mbox) { + if (email_notification && i_mbox) { create_digest(i_mbox, mailbox, record, virname); } }
View file
cyrus-imapd-2.5.11-41-gd53406f3f.tar.gz/imap/dlist.c -> cyrus-imapd-2.5.12.25.tar.gz/imap/dlist.c
Changed
@@ -570,8 +570,10 @@ { struct dlist *di; - if (printkeys) - prot_printf(out, "%s ", dl->name); + if (printkeys) { + prot_printastring(out, dl->name); + prot_putc(' ', out); + } switch (dl->type) { case DL_NIL: @@ -847,7 +849,7 @@ /* handle the key if wanted */ if (parsekey) { - c = getword(in, &kbuf); + c = getastring(in, NULL, &kbuf); c = next_nonspace(in, c); } else {
View file
cyrus-imapd-2.5.11-41-gd53406f3f.tar.gz/imap/imapd.c -> cyrus-imapd-2.5.12.25.tar.gz/imap/imapd.c
Changed
@@ -5575,7 +5575,7 @@ // special use needs extended support, so pass through extargs if (specialuse.len) { - prot_printf(s_conn->out, "(USE (%s)", buf_cstring(&specialuse)); + prot_printf(s_conn->out, " (USE (%s)", buf_cstring(&specialuse)); if (partition) { prot_printf(s_conn->out, " PARTITION "); @@ -6686,9 +6686,12 @@ /* special case: query top-level hierarchy separator */ prot_printf(imapd_out, "* XLIST (\\Noselect) \"%c\" \"\"\r\n", imapd_namespace.hier_sep); + /* } else if (((listargs->sel & LIST_SEL_SUBSCRIBED) || (listargs->ret & LIST_RET_SUBSCRIBED)) && (backend_inbox || (backend_inbox = proxy_findinboxserver(imapd_userid)))) { + */ + } else if (backend_inbox || (backend_inbox = proxy_findinboxserver(imapd_userid))) { /* remote inbox */ /* XXX If we are in a standard Murder, and are given
View file
cyrus-imapd-2.5.11-41-gd53406f3f.tar.gz/imap/mailbox.c -> cyrus-imapd-2.5.12.25.tar.gz/imap/mailbox.c
Changed
@@ -3447,6 +3447,7 @@ /* send the MessageExpunge or MessageExpire event notification */ mboxevent_extract_mailbox(mboxevent, mailbox); + mboxevent_set_access(mboxevent, NULL, NULL, "", mailbox->name, 0); mboxevent_set_numunseen(mboxevent, mailbox, -1); mboxevent_notify(mboxevent); }
View file
cyrus-imapd-2.5.11-41-gd53406f3f.tar.gz/imap/mboxlist.c -> cyrus-imapd-2.5.12.25.tar.gz/imap/mboxlist.c
Changed
@@ -1550,14 +1550,14 @@ if (mupdatecommiterror) { r = 0; - /* recreate an old entry */ + /* delete the new entry */ if (!isusermbox) - r = cyrusdb_store(mbdb, oldname, strlen(oldname), - mboxent, strlen(mboxent), &tid); + r = cyrusdb_delete(mbdb, newname, strlen(newname), &tid, 0); - /* delete the new entry */ + /* recreate an old entry */ if (!r) - r = cyrusdb_delete(mbdb, newname, strlen(newname), &tid, 0); + r = cyrusdb_store(mbdb, oldname, strlen(oldname), + mboxent, strlen(mboxent), &tid); /* Commit transaction */ if (!r) @@ -2375,6 +2375,7 @@ void *rock, int incdel) { char *inbox = mboxname_user_mbox(userid, 0); + if (!inbox) return CYRUSDB_NOTFOUND; size_t inboxlen = strlen(inbox); char *search = strconcat(inbox, ".", (char *)NULL); const char *data = NULL;
View file
cyrus-imapd-2.5.11-41-gd53406f3f.tar.gz/imap/squatter.c -> cyrus-imapd-2.5.12.25.tar.gz/imap/squatter.c
Changed
@@ -552,7 +552,8 @@ return 1; } - if (mbentry->mbtype & MBTYPE_REMOTE) { + if ((mbentry->mbtype & MBTYPE_REMOTE) || + (mbentry->mbtype & MBTYPES_NONIMAP )) { mboxlist_entry_free(&mbentry); return 0; }
View file
cyrus-imapd-2.5.11-41-gd53406f3f.tar.gz/imap/tls.c -> cyrus-imapd-2.5.12.25.tar.gz/imap/tls.c
Changed
@@ -222,7 +222,7 @@ } #endif -#if OPENSSL_VERSION_NUMBER < 0x10100000L +#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) /* replacements for new 1.1 API accessors */ /* XXX probably put these somewhere central */ static int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) @@ -1373,12 +1373,7 @@ } ret = cyrusdb_open(DB, fname, 0, &sessdb); - if (ret != CYRUSDB_OK) { - syslog(LOG_ERR, "DBERROR: opening %s: %s", - fname, cyrusdb_strerror(ret)); - return 1; - } - else { + if (ret == CYRUSDB_OK) { /* check each session in our database */ sess_dbopen = 1; prock.count = prock.deletions = 0; @@ -1390,10 +1385,19 @@ syslog(LOG_NOTICE, "tls_prune: purged %d out of %d entries", prock.deletions, prock.count); } + else if (ret == CYRUSDB_NOTFOUND) { + syslog(LOG_NOTICE, "tls_prune: %s not found, nothing to do", fname); + ret = 0; + } + else { + syslog(LOG_ERR, "DBERROR: opening %s: %s", + fname, cyrusdb_strerror(ret)); + } - free(tofree); + if (tofree) + free(tofree); - return 0; + return ret; } /* fill string buffer with info about tls connection */
View file
cyrus-imapd-2.5.11-41-gd53406f3f.tar.gz/master/CYRUS-MASTER.mib -> cyrus-imapd-2.5.12.25.tar.gz/master/CYRUS-MASTER.mib
Changed
@@ -1,7 +1,7 @@ CYRUS-MASTER-MIB DEFINITIONS ::= BEGIN IMPORTS - MODULE-IDENTITY, OBJECT-TYPE, Counter32 + MODULE-IDENTITY, OBJECT-TYPE, Counter32, TimeTicks, Gauge32 FROM SNMPv2-SMI DisplayString FROM SNMPv2-TC @@ -9,20 +9,22 @@ FROM CMU-MIB; cyrusMasterMIB MODULE-IDENTITY - LAST-UPDATED "1704070437Z" -- 2017 April 7 + LAST-UPDATED "201801090840Z" -- 2018 January 9 ORGANIZATION "CMU Project Cyrus" CONTACT-INFO " WWW: https://github.com/cyrusimap/cyrus-imapd/ - Project Cyrus + Project Cyrus Computing Services Carnegie Mellon University Pittsburgh PA. 15213 " DESCRIPTION "A simple MIB for application status of the Cyrus - master process. - " - ::= { cmuCyrus 1 } + master process. + " + REVISION "201801090840Z" + DESCRIPTION "Running smilint on the module" + ::= { cmuCyrus 1 } -- cmuCyrus = .1.3.6.1.4.1.3.6 -- cyrusMasterMIB = .1.3.6.1.4.1.3.6.1 @@ -32,161 +34,161 @@ -- version information - cyrusMasterInfoDescr OBJECT-TYPE + cyrusMasterInfoDescr OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..255)) + SYNTAX DisplayString (SIZE (0..255)) - ACCESS read-only + MAX-ACCESS read-only - STATUS mandatory + STATUS current - DESCRIPTION "A general textual description + DESCRIPTION "A general textual description - of the Cyrus server." + of the Cyrus server." ::= { cyrusMasterInfo 1 } - cyrusMasterInfoVers OBJECT-TYPE + cyrusMasterInfoVers OBJECT-TYPE - SYNTAX DisplayString (SIZE (0..255)) + SYNTAX DisplayString (SIZE (0..255)) - ACCESS read-only + MAX-ACCESS read-only - STATUS mandatory + STATUS current DESCRIPTION "The version of the Cyrus server." - ::= { cyrusMasterInfo 2 } + ::= { cyrusMasterInfo 2 } cyrusMasterInfoUptime OBJECT-TYPE - SYNTAX TimeTicks + SYNTAX TimeTicks - ACCESS read-only - - STATUS current + MAX-ACCESS read-only - DESCRIPTION "The amount of time since the master - process was last started." + STATUS current - ::= { cyrusMasterInfo 3 } + DESCRIPTION "The amount of time since the master + process was last started." + + ::= { cyrusMasterInfo 3 } -- service table - serviceTable OBJECT-TYPE + serviceTable OBJECT-TYPE - SYNTAX SEQUENCE OF serviceEntry + SYNTAX SEQUENCE OF ServiceEntry - ACCESS not-accessible + MAX-ACCESS not-accessible - STATUS mandatory + STATUS current ::= { cyrusMasterMIB 2 } - serviceEntry OBJECT-TYPE + serviceEntry OBJECT-TYPE - SYNTAX ServiceEntry + SYNTAX ServiceEntry - ACCESS not-accessible + MAX-ACCESS not-accessible - STATUS mandatory + STATUS current - INDEX { serviceId } + INDEX { serviceId } - ::= { serviceTable 1 } + ::= { serviceTable 1 } - ServiceEntry ::= SEQUENCE { + ServiceEntry ::= SEQUENCE { - serviceForks Counter32, + serviceForks Counter32, - serviceActive Gauge32, + serviceActive Gauge32, - serviceName DisplayString (SIZE (0..255)), + serviceName DisplayString (SIZE (0..255)), - serviceId INTEGER, + serviceId INTEGER, serviceConnections Counter32 - } + } -- forks since startup - serviceForks OBJECT-TYPE + serviceForks OBJECT-TYPE + + SYNTAX Counter32 - SYNTAX Counter32 + MAX-ACCESS read-only - ACCESS read-only + STATUS current - STATUS mandatory + DESCRIPTION "The total number of forks for this + service since initialization." - DESCRIPTION "The total number of forks for this - service since initialization." + ::= { serviceEntry 1 } - ::= { serviceEntry 1 } - -- active children - serviceActive OBJECT-TYPE + serviceActive OBJECT-TYPE - SYNTAX Gauge32 + SYNTAX Gauge32 - ACCESS read-only + MAX-ACCESS read-only - STATUS mandatory + STATUS current - DESCRIPTION "The total number of children currently + DESCRIPTION "The total number of children currently - active." + active." - ::= { serviceEntry 2 } + ::= { serviceEntry 2 } - serviceName OBJECT-TYPE + serviceName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) - ACCESS read-only + MAX-ACCESS read-only - STATUS mandatory + STATUS current DESCRIPTION "The name of this service." - ::= { serviceEntry 3 } + ::= { serviceEntry 3 } - serviceId OBJECT-TYPE + serviceId OBJECT-TYPE - SYNTAX INTEGER + SYNTAX INTEGER - ACCESS not-accessible + MAX-ACCESS not-accessible - STATUS mandatory + STATUS current - DESCRIPTION "The id of the service as configured." + DESCRIPTION "The id of the service as configured." ::= { serviceEntry 4 } -- connections since startup - serviceConnections OBJECT-TYPE + serviceConnections OBJECT-TYPE - SYNTAX Counter32 + SYNTAX Counter32 - ACCESS read-only + MAX-ACCESS read-only - STATUS mandatory + STATUS current - DESCRIPTION "The total number of connections for this - service since initialization." + DESCRIPTION "The total number of connections for this + service since initialization." - ::= { serviceEntry 5 } + ::= { serviceEntry 5 } -- event table --- eventTable OBJECT-TYPE +-- eventTable OBJECT-TYPE -- SYNTAX SEQUENCE OF eventEntry --- ACCESS not-accessible --- STATUS mandatory +-- ACCESS not-accessible +-- STATUS mandatory -- ::= { cyrusMasterMIB 3 } END
View file
cyrus-imapd-2.5.11-41-gd53406f3f.tar.gz/master/master.c -> cyrus-imapd-2.5.12.25.tar.gz/master/master.c
Changed
@@ -472,6 +472,12 @@ 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; @@ -489,7 +495,14 @@ 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;
View file
cyrus-imapd.dsc
Changed
@@ -2,7 +2,7 @@ Source: cyrus-imapd Binary: cyrus-imapd Architecture: any -Version: 2.5.11.41-0~kolab2 +Version: 2.5.12.25-0~kolab1 Maintainer: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com> Uploaders: Paul Klos <kolab@klos2day.nl> Homepage: http://www.cyrusimap.org/ @@ -43,5 +43,5 @@ Package-List: cyrus-imapd deb mail extra Files: - 00000000000000000000000000000000 0 cyrus-imapd-2.5.11-41-gd53406f3f.tar.gz + 00000000000000000000000000000000 0 cyrus-imapd-2.5.12.25.tar.gz 00000000000000000000000000000000 0 debian.tar.gz
View file
debian.changelog
Changed
@@ -1,3 +1,9 @@ +cyrus-imapd (2.5.12.25-0~kolab1) unstable; urgency=low + + * Rebase on to upstream 2.5.12 + + -- Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com> Wed, 2 Jan 2019 11:30:13 +0100 + cyrus-imapd (2.5.11.41-0~kolab2) unstable; urgency=low * Fix potential non-writeable /dev/null and consequences
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.