Projects
Kolab:3.4
cyrus-imapd
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 72
View file
cyrus-imapd.spec
Changed
@@ -68,6 +68,8 @@ Patch0001: cyrus-imapd-2.5-default-twoskip.patch +#Patch9999: cyrus-imapd-2.5-tls.patch + BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) ## @@ -252,6 +254,8 @@ #%patch0001 -p1 +#%patch9999 -p1 + # only to update config.* files aclocal -I cmulocal libtoolize --install
View file
cyrus-imapd-2.5.tar.gz/imap/ctl_mboxlist.c
Changed
@@ -196,32 +196,36 @@ struct dlist *dl_acl = dlist_getchild(dl, "A"); struct dlist *dl_ace; - for (dl_ace = dl_acl->head; dl_ace; dl_ace = dl_ace->next) { - const char *tmp; - r = dlist_getatom(dl_acl, dl_ace->name, &tmp); - - if (!r) { - syslog( - LOG_ERR, - "Failed to dlist_getatom for (A)CL " - "dlist_kvlist key '%s' (%s:%d)", - dl_ace->name, - __FILE__, - __LINE__ - ); - - continue; - } // if (r = dlist_getatom()) - - if (dl_ace->name && tmp) { - const char *ace = strconcat(xstrdup(dl_ace->name), "\t", xstrdup(tmp)); - - if (acl) { - acl = strconcat(xstrdup(acl), "\t", ace); - } else { - acl = xstrdup(ace); + if (dl_acl) { + for (dl_ace = dl_acl->head; dl_ace; dl_ace = dl_ace->next) { + const char *tmp; + r = dlist_getatom(dl_acl, dl_ace->name, &tmp); + + if (!r) { + syslog( + LOG_ERR, + "Failed to dlist_getatom for (A)CL " + "dlist_kvlist key '%s' (%s:%d)", + dl_ace->name, + __FILE__, + __LINE__ + ); + + continue; + } // if (r = dlist_getatom()) + + if (dl_ace->name && tmp) { + const char *ace = strconcat(xstrdup(dl_ace->name), "\t", xstrdup(tmp)); + + if (acl) { + acl = strconcat(xstrdup(acl), "\t", ace); + } else { + acl = xstrdup(ace); + } } } + } else { // (dl_acl) + syslog(LOG_NOTICE, "Mailbox without an ACL: '%s'", name); } // The partition is always there... @@ -230,12 +234,11 @@ if (!r) { syslog( LOG_ERR, - "Failed to obtain (P)artition from dlist " - "(%s:%d)", - __FILE__, - __LINE__ + "No partition for mailbox '%s'", + name ); + part = NULL; } // The mailbox type is always there too... as a string @@ -326,6 +329,9 @@ break; case M_POPULATE: { + if (mbtype & MBTYPE_DELETED) + return 0; + char *realpart = xmalloc(strlen(config_servername) + 1 + strlen(part) + 1); int skip_flag;
View file
cyrus-imapd-2.5.tar.gz/imap/imap_proxy.c
Changed
@@ -1317,7 +1317,7 @@ char *find_free_server(void) { const char *servers = config_getstring(IMAPOPT_SERVERLIST); - unsigned long max_avail = 0; + unsigned long long int max_avail = 0; char *server = NULL; if (servers) { @@ -1346,7 +1346,8 @@ proxy_userid, &backend_cached, &backend_current, &backend_inbox, imapd_in); if (be) { - unsigned avail = 0; + unsigned long long int avail = 0; + static struct buf avail_buf; int c; /* fetch annotation from remote */ @@ -1367,31 +1368,41 @@ c = chomp(be->in, "ANNOTATION \"\" " "\"/vendor/cmu/cyrus-imapd/freespace\" " - "(\"value.shared\" \""); + "(\"value.shared\" "); + if (c == EOF) { /* we don't care about this response */ eatline(be->in, c); continue; } - /* read uidvalidity */ - c = getuint32(be->in, &avail); - if (c != '\"') { c = EOF; break; } + /* read amount of free space */ + c = getastring(be->in, be->out, &avail_buf); + + if (c != '"') { c = EOF; break; } eatline(be->in, c); /* we don't care about the rest of the line */ } + if (c != EOF) { prot_ungetc(c, be->in); /* we should be looking at the tag now */ eatline(be->in, c); } + if (c == EOF) { /* uh oh, we're not happy */ fatal("Lost connection to backend", EC_UNAVAILABLE); } + + avail = strtoull(avail_buf.s, NULL, 10); + if (avail > max_avail) { + syslog(LOG_DEBUG, "freespace on %s (%llu) greater than current maximum on %s (%llu)", cur_server, avail, server, max_avail); server = cur_server; max_avail = avail; + } else { + syslog(LOG_DEBUG, "freespace on %s (%llu) still the current maximum (not %s (%llu))", server, max_avail, cur_server, avail); } }
View file
cyrus-imapd-2.5.tar.gz/imap/quota.c
Changed
@@ -360,7 +360,7 @@ */ int buildquotalist(char *domain, char **roots, int nroots) { - int i, r; + int i, r = 0; char buf[MAX_MAILBOX_BUFFER], *tail; size_t domainlen = 0; @@ -611,7 +611,7 @@ int fixquota_dopass(char *domain, char **roots, int nroots, foreach_cb *cb) { - int i, r; + int i, r = 0; char buf[MAX_MAILBOX_BUFFER], *tail; size_t domainlen = 0;
View file
cyrus-imapd-2.5.tar.gz/perl/imap/IMAP.pm
Changed
@@ -200,7 +200,7 @@ if (defined $first && $first =~ /^-\w+|Mechanism|Service|Authz|User|Minssf|Maxssf|Password|Tlskey|Notls|CAfile|CApath$/) { (undef, %opts) = @_; - foreach (qw(mechanism service authz user minssf maxssf password tlskey notls)) { + foreach (qw(mechanism service authz user minssf maxssf password tlskey notls cafile capath)) { $opts{'-' . $_} = $opts{ucfirst($_)} if !defined($opts{'-' . $_}); } } else { @@ -209,6 +209,8 @@ $opts{-tlskey}, $opts{-notls}, $opts{-cafile}, $opts{-capath}) = @_; } + $opts{-cafile} = "" if !defined($opts{-cafile}); + $opts{-capath} = "" if !defined($opts{-capath}); $opts{-service} = "imap" if !defined($opts{-service}); $opts{-minssf} = 0 if !defined($opts{-minssf}); $opts{-maxssf} = 10000 if !defined($opts{-maxssf}); @@ -281,7 +283,7 @@ } if (!$rc && $logindisabled) { - $self->_starttls('', '', '', '') || return undef; + $self->_starttls('', '', $opts{-cafile}, $opts{-capath}) || return undef; # Refetch all relevent capabilities ($starttls, $logindisabled, $availmechs) = (0, 0, "");
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
.