Commit graph

72 commits

Author SHA1 Message Date
Adam Weinberger
5137156c56 pick up github commit:
00651e607c

imapsieve plugin: Fixed assert failure occurring when used with virtual
mailboxes.

In that case a transaction (delayed sync) is perfromed outside of the
context of an IMAP command.

PR:		214302
Submitted by:	maintainer (Larry Rosenman)
2016-11-08 02:53:22 +00:00
Adam Weinberger
0f87aaf67e Pigeonhole 0.4.16 cannot work with dovecot2 releases older than
2.2.26. Up the registered dependency to force dovecot2 at least
2.2.26.0 (the latest version).

See also: http://www.dovecot.org/list/dovecot-news/2016-November/000331.html

PR:		213978
Submitted by:	maintainer (Larry Rosenman)
2016-11-01 15:54:19 +00:00
Adam Weinberger
edd16b4a17 Update to 0.4.16.
* Part of the Sieve extprograms implementation was moved to Dovecot,
  which means that this release depends on Dovecot v2.2.26+.
* ManageSieve: The PUTSCRIPT command now allows uploading empty Sieve
  scripts. There was really no good reason to disallow doing that.
+ Sieve vnd.dovecot.report extension:
  + Added a Dovecot-Reporting-User field to the report body, which
    contains the e-mail address of the user sending the report.
  + Added support for configuring the "From:" address used in the
    report.
+ LDA sieve plugin: Implemented support for a "discard script" that is
  run when the message is going to be discarded. This allows doing
  something other than throwing the message away for good.
+ Sieve vnd.dovecot.environment extension: Added vnd.dovecot.config.*
  environment items. These environment items map to sieve_env_*
  settings from the plugin {} section in the configuration. Such values
  can of course also  be returned from userdb.
+ Sieve vacation extension: Use the Microsoft X-Auto-Response-Suppress
  header to prevent unwanted responses from and to (older) Microsoft
  products.
+ ManageSieve: Added rawlog_dir setting to store ManageSieve traffic
  logs. This replaces at least partially the rawlog plugin (mimics
  similar IMAP/POP3 change).
- doveadm sieve plugin: synchronization: Prevent setting file
  timestamps to unix epoch time. This occurred when Dovecot passed the
  timestamp as 'unknown' during synchronization.
- Sieve exprograms plugin: Fixed spurious '+' sometimes returned at the
  end of socket-based program output.
- imapsieve plugin: Fixed crash occurring in specific situations.

PR:		213926
Submitted by:	maintainer (Larry Rosenman)
2016-10-30 23:04:34 +00:00
Adam Weinberger
5e705ff0d1 Update dovecot2 to 2.2.26, and bump PORTREVISION on pigeonhole and
antispam-plugin.

Changes for 2.2.26:
Mainly there are quite a lot of director fixes and improvements.

Here's the full list of changes:

 * master: Removed hardcoded 511 backlog limit for listen(). The kernel
   should limit this as needed.
 * doveadm import: Source user is now initialized the same as target
   user. Added -U parameter to override the source user.
 * Mailbox names are no longer limited to 16 hierarchy levels. We'll
   check another way to make sure mailbox names can't grow larger than
   4096 bytes.

 + Added a concept of "alternative usernames" by returning user_* extra
   field(s) in passdb. doveadm proxy list shows these alt usernames in
   "doveadm proxy list" output. "doveadm director&proxy kick" adds
   -f <passdb field> parameter. The alt usernames don't have to be
   unique, so this allows creation of user groups and kicking them in
   one command.
 + auth: passdb/userdb dict allows now %variables in key settings.
 + auth: If passdb returns noauthenticate=yes extra field, assume that
   it only set extra fields and authentication wasn't actually performed.
 + auth: passdb static now supports password={scheme} prefix.
 + auth, login_log_format_elements: Added %{local_name} variable, which
   expands to TLS SNI hostname if given.
 + imapc: Added imapc_max_line_length to limit maximum memory usage.
 + imap, pop3: Added rawlog_dir setting to store IMAP/POP3 traffic logs.
   This replaces at least partially the rawlog plugin.
 + dsync: Added dsync_features=empty-header-workaround setting. This
   makes incremental dsyncs work better for servers that randomly return
   empty headers for mails. When an empty header is seen for an existing
   mail, dsync assumes that it matches the local mail.
 + doveadm sync/backup: Added -I <max size> parameter to skip too
   large mails.
 + doveadm sync/backup: Fixed -t parameter and added -e for "end date".
 + doveadm mailbox metadata: Added -s parameter to allow accessing
   server metadata by using empty mailbox name.
 + Added "doveadm service status" and "doveadm process status" commands.
 + director: Added director_flush_socket. See
   http://wiki2.dovecot.org/Director#Flush_socket
 + doveadm director flush: Users are now moved only max 100 at a time to
   avoid load spikes. --max-parallel parameter overrides this.
 + Added FILE_LOCK_SLOW_WARNING_MSECS environment, which logs a warning
   if any lock is waited on or kept for this many milliseconds.

 - master process's listener socket was leaked to all child processes.
   This might have allowed untrusted processes to capture and prevent
   "doveadm service stop" comands from working.
 - login proxy: Fixed crash when outgoing SSL connections were hanging.
 - auth: userdb fields weren't passed to auth-workers, so %{userdb:*}
   from previous userdbs didn't work there.
 - auth: Each userdb lookup from cache reset its TTL.
 - auth: Fixed auth_bind=yes + sasl_bind=yes to work together
 - auth: Blocking userdb lookups reset extra fields set by previous
   userdbs.
 - auth: Cache keys didn't include %{passdb:*} and %{userdb:*}
 - auth-policy: Fixed crash due to using already-freed memory if policy
   lookup takes longer than auth request exists.
 - lib-auth: Unescape passdb/userdb extra fields. Mainly affected
   returning extra fields with LFs or TABs.
 - lmtp_user_concurrency_limit>0 setting was logging unnecessary
   anvil errors.
 - lmtp_user_concurrency_limit is now checked before quota check with
   lmtp_rcpt_check_quota=yes to avoid unnecessary quota work.
 - lmtp: %{userdb:*} variables didn't work in mail_log_prefix
 - autoexpunge settings for mailboxes with wildcards didn't work when
   namespace prefix was non-empty.
 - Fixed writing >2GB to iostream-temp files (used by fs-compress,
   fs-metawrap, doveadm-http)
 - director: Ignore duplicates in director_servers setting.
 - director: Many fixes related to connection handshaking, user moving
   and error handling.
 - director: Don't break with shutdown_clients=no
 - zlib, IMAP BINARY: Fixed internal caching when accessing multiple
   newly created mails. They all had UID=0 and the next mail could have
   wrongly used the previously cached mail.
 - doveadm stats reset wasn't reseting all the stats.
 - auth_stats=yes: Don't update num_logins, since it doubles them when
   using with mail stats.
 - quota count: Fixed deadlocks when updating vsize header.
 - dict-quota: Fixed crashes happening due to memory corruption.
 - dict proxy: Fixed various timeout-related bugs.
 - doveadm proxying: Fixed -A and -u wildcard handling.
 - doveadm proxying: Fixed hangs and bugs related to printing.
 - imap: Fixed wrongly triggering assert-crash in
   client_check_command_hangs.
 - imap proxy: Don't send ID command pipelined with nopipelining=yes
 - imap-hibernate: Don't execute quota_over_script or last_login after
   un-hibernation.
 - imap-hibernate: Don't un-hibernate if client sends DONE+IDLE in one
   IP packet.
 - imap-hibernate: Fixed various failures when un-hibernating.
 - fts: fts_autoindex=yes was broken in 2.2.25 unless
   fts_autoindex_exclude settings existed.
 - fts-solr: Fixed searching multiple mailboxes (patch by x16a0)
 - doveadm fetch body.snippet wasn't working in 2.2.25. Also fixed a
   crash with certain emails.
 - pop3-migration + dbox: Various fixes related to POP3 UIDL
   optimization in 2.2.25.
 - pop3-migration: Fixed "truncated email header" workaround.
2016-10-27 23:15:18 +00:00
Tijl Coosemans
48f4591035 - Update devel/icu to 57.1.
- Clean up the Makefile.
- Follow some upstream recommendations (--with-data-packaging=archive,
  --disable-renaming, -DICU_NO_USER_DATA_OVERRIDE).
- Patch makefiles to install static libraries with INSTALL_DATA so they
  aren't stripped.
- Patch config/mh-bsd-gcc to sync with config/mh-linux-gcc.
- Fix endianness detection in ICU.  The code wanted to use BYTE_ORDER
  defined in machine/endian.h, but this isn't visible because ICU is
  compiled with _XOPEN_SOURCE.  Patch the code to use _BYTE_ORDER instead.
- Compile ICU with C++11 compiler to enable move constructors.
- Patch ICU to fix a problem with atomics in the case of a C++11 compiler
  without C++11 header <atomic> (like Clang on FreeBSD 9).
- Bump all ports that depend on it due to library version change.
- Add USES=compiler:c++0x to some ports that pick up -std=c++0x from ICU
  pkgconfig files.
- Add USES=compiler:c++11-lib to graphics/libcdr01 because it also needs
  a C++11 runtime library now.  Add this to all ports that depend on it
  so their executables load the right libstdc++.so on FreeBSD 9.

PR:		205120
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2016-09-24 11:06:57 +00:00
Olli Hauer
5a45d99268 - bump PORTREVISION
PR:		212788
2016-09-18 16:46:56 +00:00
Adam Weinberger
1dd9c17db2 If base was built WITHOUT_KERBEROS and dovecot2 was built with kerberos
from ports, pigeonhole's build will fail because it can't find libkrb5.so.

To fix this, introduce the usual GSSAPI option block. Also, add a
BUILD_FAIL_MESSAGE asking you to make sure that the GSSAPI option here
matches the GSSAPI option from dovecot2.

PR:		211025
Submitted by:	dewayne heuristicsystems com au
Patch by:	maintainer (Larry Rosenman)
2016-07-15 14:31:18 +00:00
Adam Weinberger
622c49f9e5 Update to 0.4.15.
* vacation extension: The sieve_user_email setting is now used in the
  check for implicit delivery.
- imapsieve plugin: For any mail transaction, the mailbox was opened a
  second time, even if no mailbox rule matched. This was unintentional,
  useless and caused problems when the imapsieve plugin was used with
  other plugins like acl.
- extprograms plugin: Significantly improved error handling. No stream
  errors were logged.
- extprograms plugin: Fixed bug in handling of result code from remote
  program (script service).
- extprograms plugin: Connection to remote program service was not
  retried.
- Several small fixes based on static analysis.
- Fixed handling of quoted string localparts in email addresses.

PR:		210905
Submitted by:	maintainer (Larry Rosenman)
2016-07-07 22:50:23 +00:00
Adam Weinberger
b7a96c0717 Add USES=compiler:c11 to fix build on 9.x.
While altering USES, switch from USE_OPENSSL to USES=ssl.

Approved by:	maintainer (Larry Rosenman)
2016-07-07 19:12:11 +00:00
Adam Weinberger
9aecea45fe Update dovecot2 to 2.2.25 again, this time with a patch from upstream to
fix the kqueue crash. Bump PORTREVISION on pigeonhole and antispam-plugin
again.

Extra thanks to Larry Rosenman for being on top of the fix.

Obtained from:	ffd8dc9325
2016-07-05 17:06:52 +00:00
Adam Weinberger
7ace5b732d Update dovecot2 to 2.2.25, and bump PORTREVISION on pigeonhole and
antispam-plugin.

  * lmtp: Start tracking lmtp_user_concurrency_limit and reject already
    at RCPT TO stage. This avoids MTA unnecessarily completing DATA only
    to get an error.
  * doveadm: Previously only mail settings were read from protocol
    doveadm { .. } section. Now all settings are.

  + quota: Added quota_over_flag_lazy_check setting. It avoids checking
    quota_over_flag always at startup. Instead it's checked only when
    quota is being read for some other purpose.
  + auth: Added a new auth policy service:
    http://wiki2.dovecot.org/Authentication/Policy
  + auth: Added PBKDF2 password scheme
  + auth: Added %{auth_user}, %{auth_username} and %{auth_domain}
  + auth: Added ":remove" suffix to extra field names to remove them.
  + auth: Added "delay_until=<timestamp>[+<max random secs>]" passdb
    extra field. The auth will wait until <timestamp> and optionally some
    randomness and then return success.
  + dict proxy: Added idle_msecs=<n> parameter. Support async operations.
  + Performance improvements for handling large mailboxes.
  + Added lib-dcrypt API for providing cryptographic functions.
  + Added "doveadm mailbox update" command
  + imap commands' output now includes timing spent on the "syncing"
    stage if it's larger than 0.
  + cassandra: Added metrics=<path> to connect setting to output internal
    statistics in JSON format every second to <path>.
  + doveadm mailbox delete: Added -e parameter to delete only empty
    mailboxes. Added --unsafe option to quickly delete a mailbox,
    bypassing lazy_expunge and quota plugins.
  + doveadm user & auth cache flush are now available via doveadm-server.
  + doveadm service stop <services> will stop specified services while
    leaving the rest of Dovecot running.
  + quota optimization: Avoid reading mail sizes for backends which
    don't need them (count, fs, dirsize)
  + Added mailbox { autoexpunge_max_mails=<n> } setting.
  + Added welcome plugin: http://wiki2.dovecot.org/Plugins/Welcome
  + fts: Added fts_autoindex_exclude setting.
  - v2.2.24's MIME parser was assert-crashing on mails having truncated
    MIME headers.
  - auth: With multiple userdbs the final success/failure result wasn't
    always correct. The last userdb's result was always used.
  - doveadm backup was sometimes deleting entire mailboxes unnecessarily.
  - doveadm: Command -parameters weren't being sent to doveadm-server.
  - If dovecot.index read failed e.g. because mmap() reached VSZ limit,
    an empty index could have been opened instead, corrupting the
    mailbox state.
  - imapc: Fixed EXPUNGE handling when imapc_features didn't have modseq.
  - lazy-expunge: Fixed a crash when copying failed. Various other fixes.
  - fts-lucene: Fixed crash on index rescan.
  - auth_stats=yes produced broken output
  - dict-ldap: Various fixes
  - dict-sql: NULL values crashed. Now they're treated as "not found".
2016-07-01 15:55:11 +00:00
Adam Weinberger
fd01536344 Add an LDAP option.
PR:		210733
Submitted by:	jhujhiti at adjectivism dot org
Approved by:	maintainer (Larry Rosenman)
2016-07-01 02:46:19 +00:00
Adam Weinberger
f377d70c2b Update to 0.4.14.
The most important feature that this new release adds is the IMAPSIEVE
capability, which allows executing Sieve scripts at IMAP events. It also
adds the ability to obtain trace logs from Sieve execution at actual
delivery (or from IMAP), rather than only using the sieve-test command
line tool.

This release also fixes a bug in the Sieve extprograms plugin that has
been bothering a few people for a while now.

Changelog v0.4.14:

* The address test now allows specifying the X-Original-To header.
+ Implemented the Sieve imapsieve extension and its IMAP counterpart
  (RFC 6785) as a set of plugins. This allows running Sieve scripts at
  IMAP activity, rather than at delivery. There are also facilities for
  the familiar sieve_before/sieve_after administrator scripts. A user
  script is defined for a mailbox using an IMAP METADATA entry, whereas
  administrator scripts are configured using mailbox matching rules
  defined in the plugin settings.
+ Adjusted the Sieve ihave extension to allow capability tests to be
  performed at runtime. This way, scripts can be written that work both
  at delivery and from IMAP.
+ Implemented support for runtime trace debugging. This means that
  detailed information about which commands, actions and tests are
  performed is written to a file. That file is created in the
  configured directory, but only if that directory exists. This way, a
  particular user can be easily singled out for debugging. This works
  much like the Dovecot rawlog facility. The trace output is identical
  to what is produced using sieve-test with its "-t" command line
  option.
+ Added a "sieve_user_email" setting that configures the user's primary
  email address. This is mainly useful to have a user email address
  available in IMAP, where envelope data is unavailable.
+ Implemented the dovecot-specific "vnd.dovecot.report" extension. This
  allows sending report messages in the Message Abuse Reporting Format
  (RFC 5965).
- extprograms plugin: Fixed epoll() panic caused by closing the output
  FD before the output stream.
- Made sure that the local part of a mail address is encoded properly
  using quoted string syntax when it is not a dot-atom.

PR:		209084
Submitted by:	maintainer (Larry Rosenman)
2016-04-27 15:42:50 +00:00
Adam Weinberger
98a2e07866 Update dovecot2 to 2.2.24, and bump PORTREVISION on antispam-plugin and
pigeonhole.

* doveconf now warns if it sees a global setting being changed when
  the same setting was already set inside some filters. (A common
  mistake has been adding more plugins to a global mail_plugins
  setting after it was already set inside protocol { .. }, which
  caused the global setting to be ignored for that protocol.)
* LMTP proxy: Increased default timeout 30s -> 125s. This makes it
  less likely to reach the timeout and cause duplicate deliveries.
* LMTP and indexer now append ":suffix" to session IDs to make it
  unique for the specific user's delivery. (Fixes duplicate session
  ID warnings in stats process.)

+ Added dict-ldap for performing read-only LDAP dict lookups.
+ lazy-expunge: All mails can be saved to a single specified mailbox.
+ mailbox { autoexpunge } supports now wildcards in mailbox names.
+ doveadm HTTP API: Added support for proxy commands
+ imapc: Reconnect when getting disconnected in non-selected state.
+ imapc: Added imapc_features=modseq to access MODSEQs/HIGHESTMODSEQ.
  This is especially useful for incremental dsync.
+ doveadm auth/user: Auth lookup performs debug logging if
  -o auth_debug=yes is given to doveadm.
+ Added passdb/userdb { auth_verbose=yes|no } setting.
+ Cassandra: Added user, password, num_threads, connect_timeout and
  request_timeout settings.
+ doveadm user -e <value>: Print <value> with %variables expanded.
- Huge header lines could have caused Dovecot to use too much memory
  (depending on config and used IMAP commands). (Typically this would
  result in only the single user's process dying with out of memory
  due to reaching service { vsz_limit } - not a global DoS).
- dsync: Detect and handle invalid/stale -s state string better.
- dsync: Fixed crash caused by specific mailbox renames
- auth: Auth cache is now disabled passwd-file. It was unnecessary and
  it broke %variables in extra fields.
- fts-tika: Don't crash if it returns 500 error
- dict-redis: Fixed timeout handling
- SEARCH INTHREAD was crashing
- stats: Only a single fifo_listeners was supported, making it
  impossible to use both auth_stats=yes and mail stats plugin.
- SSL errors were logged in separate "Stacked error" log lines
  instead of as part of the disconnection reason.
- MIME body parser didn't handle properly when a child MIME part's
  --boundary had the same prefix as the parent.
2016-04-26 16:03:44 +00:00
Adam Weinberger
b1632df377 Add a MANAGESIEVE option, to choose whether to install the ManageSieve
subsystem.

PR:		208859
Approved by:	maintainer (Larry Rosenman)
2016-04-17 16:38:10 +00:00
Adam Weinberger
952af03f4d Update dovecot2 to 2.2.23, and bump PORTREVISION on dovecot2-pigeonhole
and dovecot2-antispam-plugin.

From the 2.2.23 release notes:

This is a bugfix-only release with various important fixes on top of v2.2.22.

 - Various fixes to doveadm. Especially running commands via
   doveadm-server was broken.
 - director: Fixed user weakness getting stuck in some situations
 - director: Fixed a situation where directors keep re-sending
   different states to each others and never becoming synced.
 - director: Fixed assert-crash related to a slow "user killed" reply
 - Fixed assert-crash related to istream-concat, which could have
   been triggered at least by a Sieve script.
2016-04-02 16:59:22 +00:00
Mathieu Arnold
8d6597e0bb Remove ${PORTSDIR}/ from dependencies, categories m, n, o, and p.
With hat:	portmgr
Sponsored by:	Absolight
2016-04-01 14:16:16 +00:00
Kurt Jaeger
c17a6e607f mail/dovecot2-pigeonhole: 0.4.12 -> 0.4.13
* redirect action: Added the list-id header to the duplicate ID for
  mail loop prevention. This means that the message sent directly to
  the user and the message coming through the mailing list itself are
  treated as different messages by the loop detection of the redirect
  command, even though their Message-ID may be identical.
* Changed the Sieve number type to uint64_t, which means that Sieve
  numbers can now technically range up to 2^64. Some other Sieve
  implementation allowed this, making this change necessary for
  successful migration.
+ Implemented the sieve_implicit_extensions setting. The extensions
  listed in this setting do not need to be enabled explicitly using the
  Sieve "require" command. This behavior directkly violates the
  standard, but can be necessary for compatibility with some existing
  implementations of Sieve. Do not use this setting unless you really
  need to!
- redirect action: Made mail loop detection more robust by forcibly
  adding a Message-ID header if it is missing.
- Prevent logging a useless "script not found" error message for LDAP
  scripts for which the entry exists but no attribute containing a
  script. This is not necessarily an error.
- extprograms plugin: Changed the communication channel between parent
  and child process for a directly forked program from a socketpair to
  a double pipe. Linux does not support /dev/stdin, /dev/stdout and
  friends for sockets. For some shell program authors this may be
  confusing, so that is why it is changed. When using the script
  service, these device nodes are still not usable though.

PR:		208108
Submitted by:	Larry Rosenman <ler@lerctr.org> (maintainer)
2016-03-18 19:48:48 +00:00
Adam Weinberger
027a531279 Update mail/dovecot2 to 2.2.22, and bump PORTREVISION on dovecot2-pigeonhole
and dovecot2-antispam-plugin.

Changes for 2.2.22:
 + Added doveadm HTTP API: See
   http://wiki2.dovecot.org/Design/DoveadmProtocol/HTTP
 + virtual plugin: Mailbox filtering can now be done based on the
   mailbox metadata. See http://wiki2.dovecot.org/Plugins/Virtual
 + stats: Added doveadm stats reset to reset global stats.
 + stats: Added authentication statistics if auth_stats=yes.
 + dsync, imapc, pop3c & pop3-migration: Many optimizations,
   improvements and error handling fixes.
 + doveadm: Most commands now stop soon after SIGINT/SIGTERM.
 - auth: Auth caching was done too aggressively when %variables were
   used in default_fields, override_fields or LDAP pass/user_attrs.
   userdb result_* were also ignored when user was found from cache.
 - imap: Fixed various assert-crashes caused v2.2.20+. Some of them
   caught actual hangs or otherwise unwanted behavior towards IMAP
   clients.
 - Expunges were forgotten in some situations, for example when
   pipelining multiple IMAP MOVE commands.
 - quota: Per-namespaces quota were broken for dict and count backends
   in v2.2.20+
 - fts-solr: Search queries were using OR instead of AND as the
   separator for multi-token search queries in v2.2.20+.
 - Single instance storage support wasn't really working in v2.2.16+
 - dbox: POP3 message ordering wasn't working correctly.
 - virtual plugin: Fixed crashes related to backend mailbox deletions.
2016-03-16 17:29:33 +00:00
Kurt Jaeger
1ec9be811c mail/dovecot2-pigeonhole: 0.4.11 -> 0.4.12
+ Implemented the Sieve extracttext extension (RFC 5703; Section 7). It
  is now possible to extract body text from a message into a variable.
* Increased ABI version due to changes in the Sieve interpreter's object
  definitions.
- multiscript: Fixed bug in handling of (implicit) keep; final keep
  action was always executed as though there was a failure. This caused
  the keep action to revert back to the initial message, causing
  editheader actions to be ignored.
- managesieve-login: Fixed proxy to allow SASL mechanisms other than
  PLAIN. Before, the proxy would fail if the server did not support the
  PLAIN mechanism.
- ldap storage: Prevent segfault occurring when assigning certain
  (global) configuration options.

PR:		207000
Submitted by:	Larry Rosenman <ler@lerctr.org> (maintainer)
2016-02-09 03:43:13 +00:00
Martin Wilke
90cab65391 - Update to 0.4.11
PR:		206042
Submitted by:	maintainer
2016-01-09 12:51:56 +00:00
Martin Wilke
bca8d1d581 - Update to 0.4.10
PR:		205303
Submitted by:	maintainer
Approved by:	mat (mentor)
Differential Revision:	D4567
2015-12-15 14:57:14 +00:00
Adam Weinberger
937e42438a Update dovecot2 to 2.2.21, and bump PORTREVISION in consumers.
While here, fix up some paths in the decode2text plugin, and add a note
to pkg-message about how to make it work. [1]

Changes:
 - doveadm mailbox list (and some others) were broken in v2.2.20
 - director: Fixed making backend changes when running with only a
   single director server.
 - virtual plugin: Fixed crash when trying to open nonexistent
   autocreated backend mailbox.

PR:		205231 [1]
Submitted by:	andrej@ebert.su
2015-12-12 16:47:12 +00:00
Adam Weinberger
b0d3addb56 Update dovecot2 to 2.2.20, and bump PORTREVISION on antispam-plugin and
pigeonhole.

Also, remove the GC option from dovecot2. As reported in bug #205035,
reported by sebastian@wolfgarten.com, all it does it cause leaks and
spam the logs about it.

Changes:
 + Added mailbox { autoexpunge=<time> } setting. See
   http://wiki2.dovecot.org/MailboxSettings for details.
 + ssl_options: Added support for no_ticket
 + imap/pop3/managesieve-login: Added postlogin_socket=path passdb extra
   field. This allows replacing the default service
   imap/pop3/managesieve {} settings for specific users (e.g. running
   their imap process via valgrind or strace).
 + doveadm fetch: Added date.sent/received/saved.unixtime
 + fs-posix: Added mode=auto parameter to set the created files' and
   directories' mode based on the parent dir if it has setgid-bit.
 + director: Support backends having hostnames, which makes it possible
   to verify their SSL certificates.
 - director: Directors' state became desynchronized if doveadm director
   commands were used to modify the same backend in multiple directors
   at the same time with conflicting changes. This fix includes some
   extra checks, which makes sure that if such a conflict still happens
   it's automatically fixed. In some situations such an automatic fix
   may now be unnecessarily triggered and an error logged.
 - director: Backend tags weren't working correctly.
 - ldap: tls_* settings weren't used for ldaps URIs.
 - ldap, mysql: Fixed setting connect timeout.
 - auth: userdb lookups via auth-worker couldn't change username
 - dsync: Fixed handling deleted directories. Make sure we don't go to
   infinite mailbox renaming loop.
 - imap: Fixed crash in NOTIFY when there were watched namespaces that
   didn't support NOTIFY.
 - imap: After SETMETADATA was used, various commands (especially FETCH)
   could have started hanging when their output was large.
 - stats: Idle sessions weren't refreshed often enough, causing stats
   process to forget them and log errors about unknown sessions when
   they were updated later.
 - stats: Fixed "Duplicate session ID" errors when LMTP delivered to
   multiple recipients and fts_autoindex=yes.
 - zlib plugin: Fixed copying causing cache corruption when zlib_save
   wasn't set, but the source message was compressed.
 - fts-solr: Fixed escaping Solr query parameters.
 - lmtp: quota_full_tempfail=yes was ignored with
   lmtp_rcpt_check_quota=yes
2015-12-09 15:39:21 +00:00
Kurt Jaeger
18716da045 mail/dovecot2-pigeonhole: 0.4.8 -> 0.4.9
upgrade to follow mail/dovecot2

* Properly implemented checking of ABI version for Sieve interpreter
  plugins, much like Dovecot itself does for plugins. This will prevent
  plugin ABI mismatches.
+ Implemented a vnd.dovecot.environment extension. This builds upon the
  standard environment extension and adds a few more environment items,
  such as username and default mailbox. It also creates a variables
  namespace so that environment items can be accessed directly. I am
  still thinking about more environment items that can be added.
+ Sieve extprograms plugin: Made line endings of the input passed to the
  external programs configurable. This can be configured separately for
  each of the three extensions.
+ ManageSieve: Implemented proxy XCLIENT support. This allows the proxy
  to pass client information to the back-end.
- ManageSieve: Fixed an assert failure occurring when a client
  disconnects during the GETSCRIPT command.
- doveadm sieve plugin: Fixed incorrect initialization of mail user.
  This caused a few memory leaks.
- sieve-filter command line tool: Fixed handling of failure-related
  implicit keep when there is an explicit default destination folder.
  This caused message duplication.
- lib-sieve: Fixed bug in RFC5322 header folding. Words longer than the
  optimal line length caused empty lines in the output, which would
  break the resulting message header. This surfaced in References:
  headers with very long message IDs.

PR:		203526
Submitted by:	Larry Rosenman <ler@lerctr.org> (maintainer)
2015-10-05 03:52:14 +00:00
Adam Weinberger
990c270907 Update dovecot2 to 2.2.19, and bump PORTREVISION on antispam-plugin
and pigeonhole.

Changes:

* pop3_deleted_flag has been broken since v2.2.10. Using it would
  cause buffer overflows, which could be exploitable. However, this
  bug would have become visible quite soon after users had deleted
  some POP3 mails, because the pop3 processes would have started
  crashing all the time even in normal use.
* "doveadm director flush" command has a changed meaning now:
  It safely moves users to their wanted backends, instead of simply
  forgetting the mapping entirely and leaving the existing connections
  untouched. Use -F parameter to get the original unsafe behavior.

+ Added imap-hibernate processes (see imap_hibernate_timeout setting).
  IDLEing IMAP connections can be hibernated, which saves memory.
+ Optimized tracking mailboxes' vsizes (= sum of all messages' sizes).
  If mailbox_list_index=yes, it's also stored in there. This makes it
  very efficient to look up vsizes for all mailboxes.
+ Added a quota "count" backend, which uses the mailbox vsizes to get
  the current quota usage. It requires using the new quota_vsizes=yes
  setting, which tracks the messages' "virtual sizes" rather than
  "physical sizes". Their distiction is minor and mostly irrelevant
  nowadays (if mail sizes should be counted with LF or CRLF newlines).
+ "doveadm director up/down" commands added. The monitoring script
  should be using these commands instead of changing the vhost count.
  This allows admin to manually disable a server by changing the vhost
  count to 0 without the monitoring script changing it back.
+ Added support for HAProxy protocol: http://wiki2.dovecot.org/HAProxy
+ Added push-notification plugin framework, which can be used to
  easily implement push notifications to various backends. Implemented
  "ox" backend for notifying Open-Xchange via HTTP/json.
+ imap_logout_format supports more variables now, e.g. number of
  deleted messages.
+ pop3: Added pop3_delete_type setting (related to pop3_deleted_flag).
+ plugin { fts_enforced=yes } setting now fails body searches unless
  it can be done via the full text search engine.
+ Added %{passdb:*} and %{userdb:*} variables to various places
+ auth: Added ":protected" suffix for passdb and userdb fields. If
  used, the field doesn't overwrite an existing field.
+ IMAP/POP3 proxy: If a backend server dies, avoid client reconnection
  spikes by slowly disconnecting clients over time. This is enabled by
  setting login_proxy_max_disconnect_delay=secs passdb extra field.
+ imap: Added new read-only METADATA entries: /private/specialuse,
  /shared/comment, /shared/admin
+ imap: If client disconnects in the middle of a command, log how long
  the command had been running.
- mdbox: Rebuilding could have caused message's reference count to
  overflow the 16bit number in some situations, causing problems when
  trying to expunge the duplicates.
- Various search fixes (fts, solr, tika, lib-charset, indexer)
- Various virtual plugin fixes
- Various fixes and optimizations to dsync, imapc and pop3-migration
- imap: Various RFC compliancy and crash fixes to NOTIFY
2015-10-02 22:44:19 +00:00
Muhammad Moinur Rahman
2b5a9480c9 mail/dovecot2-pigeonhole: Update version 0.4.7=>0.4.8
- Add OPTIONS for DOCS

PR:		200226
Submitted by:	ler@lerctr.org
2015-05-17 07:25:49 +00:00
Adam Weinberger
86150bb805 Update dovecot2 to 2.2.18. This is a bugfix release to address issues
identified in 2.2.17.

Changes:
- director: Login UNIX sockets were normally detected as doveadm or
  director ring sockets, causing it to break in existing installations.
- sdbox: When copying a mail in alt storage, place the destination to
  alt storage as well.

Bump PORTREVISION on antispam-plugin and pigeonhole, like I should have
done last time.
2015-05-15 15:02:07 +00:00
Baptiste Daroussin
119be06626 Bump portrevision after dovecot2 update 2015-05-15 10:40:15 +00:00
Kurt Jaeger
1856f765e5 mail/dovecot2-pigeonhole: 0.4.6 -> 0.4.7
Changelog v0.4.7:

* editheader extension: Made protection against addition and deletion of
  headers configurable separately. Also, the `Received' and
  `Auto-Submitted' headers are no longer protected against addition by
  default.
* Turned message envelope address parse errors into warnings.
* The interpreter now accepts non-standard domain names, e.g.
  containing '_'.
+ Implemented the Sieve index extension (RFC 5260).
+ Implemented support for the mboxmetadata and servermetadata extensions
  (RFC 5490).
+ Implemented new sieve commands for the doveadm command line utility.
  These commands are currently limited to ManageSieve operations, but
  the other current sieve tools will be migrated to doveadm in the near
  future as well.
+ Added more debug output about binary up-to-date checking.
+ Added script metadata to binary dump output.
- Fixed Sieve script binary up-to-date checking by normalizing the
  script location.
- The Sieve interpreter now flushes the duplicate database during start
  phase of result execution rather than commit phase. This makes sure
  locks on the duplicate database are released as soon as possible,
  preventing contention.
- Performed a few optimizations in the lexical scanner of the language.
- Fixed bug in `:matches' match-type that made a pattern without
  wildcards match as if there were a '*' at the beginning.
- Fixed crash in validation of the string parameter of the comparator
  tag.
- extprograms extension: Made sure supplemental group privileges are
  also dropped. This was a problem reported by Debian lintian.
- Fixed bug in handling of binary errors for action side-effects and
  message overrides.
- file script storage: Restructured storage initialization to address
  backwards compatibility issues.
- dict script storage: Fixed small memory allocation bug.

PR:		198747
Submitted by:	Larry Rosenman <ler@lerctr.org> (maintainer)
2015-03-22 18:16:41 +00:00
Adam Weinberger
6bf1052d04 Bump PORTREVISION on pigeonhole and antispam-plugin, which should have
happened yesterday.
2015-03-13 14:59:56 +00:00
Kurt Jaeger
0e2e9b910b mail/dovecot2-pigeonhole: register the dependency on OpenSSL
PR:		196448
Submitted by:	Bernard Spil <spil.oss@gmail.com>
Approved by:	Larry Rosenman <ler@lerctr.org> (maintainer)
2015-01-04 09:52:41 +00:00
Kurt Jaeger
e3b1a128a8 mail/dovecot2-pigeonhole: 0.4.3 -> 0.4.6
- submitter takes maintainership

Changes:

0.4.4:
- Added support for Japanese mail addresses with dots at non-standard
  places in localpart.
- Changed handling of ENOSPACE into a normal temporary failure and added
  handling of ENOQUOTA as a user error.
- Restructured result execution, so that all actions which involve mail
  storage are always committed before all others.
- Implemented support for generic Sieve storages. Using alternative
  storages now also possible for sieve_before/sieve_after.
- Implemented storage driver for retrieving Sieve scripts from LDAP.
  This currently cannot be used with ManageSieve.
- Implemented sieve_redirect_envelope_from setting, which allows
  configuring the envelope sender of redirected messages.
- Fixed handling of mail storage errors occurring while evaluating the
  input message.
- managesieve-login:
   - Removed bogus ALERT response code returned for AUTHENTICATE
     command.
   - Fixed handling of invalid initial response argument to AUTHENTICATE
     command.
- Fixed handling of stream errors in lexical scanner.
- Fixed handling of SMTP errors. Permanent and temporary errors were
  mixed up.
- Fixed several problems reported by CLang 3.4.
- duplicate extension: Fixed erroneous compile error about conflicting
  tags when `:handle' argument was used last.
- relational extension: Fixed error handling of `:value' match.
- editheader extension: Fixed header unfolding and header iteration.
- mailbox extension: Fixed the `:create' tag, which erroneously
  subscribed an existing folder.
- extprograms plugin: Fixed handling of error codes.
- doveadm-sieve plugin: Fixed several bugs. Synchronization of symbolic
  link in the file storage should now also work properly.

0.4.5:
- Added a Pigeonhole version banner to doveconf output. This way, future
  bug reports will also include Pigeonhole version information.
- Fixed handling of implicit keep. Last version erroneously reported
  that implicit keep succeeded after an earlier failure, while it in
  fact had failed. Particularly occurred for mailbox quota errors.
- Fixed segfault occurring on SunOS systems when there is no active
  script.

0.4.6:
- ports-related change integrated upstream

PR:		194645
Submitted by:	Larry Rosenman <ler@lerctr.org>
Approved by:	maintainer (timeout)
2014-11-13 18:58:42 +00:00
Adam Weinberger
1beb35f1e7 Update dovecot2 to 2.2.15, and add an LZ4 option that uses liblz4.
ChangeLog:

Some small fixes and changes to v2.2.14. This release is mainly in the hope
that it could still make it into the next Debian stable instead of v2.2.14 -
mainly because of a couple of new assert crashes that started happening in
v2.2.14 and should be fixed now.

	* Plugins can now print a banner comment in doveconf output
	  (typically the plugin version)
	* Replication plugin now triggers low (instead of high) priority for
	  mail copying operations.
	* IMAP/POP3/ManageSieve proxy: If destination server can't be
	  connected to, retry connecting once per second up to the value of
	  proxy_timeout. This allows quick restarts/upgrades on the backend
	  server without returning login failures.
	* Internal passdb lookups (e.g. done by lmtp/doveadm proxy) wasn't
	  returning failure in some situations where it should have (e.g.
	  allow_nets mismatch)
	* LMTP uses mail_log_prefix now for logging mail deliveries instead of
	  a hardcoded prefix. The non-delivery log prefix is still hardcoded
	  though.

	+ passdb allow_nets=local matches lookups that don't contain an IP
	  address (internally done by Dovecot services)
	+ Various debug logging and error logging improvements
	- Various race condition fixes to LAYOUT=index
	- v2.2.14 virtual plugin crashed in some situations
2014-10-26 00:15:42 +00:00
Adam Weinberger
3d2a3256c4 Update dovecot2 to 2.2.14. PORTREVISION bumps for dovecot2-pigeonhole and
dovecot2-antispam-plugin.

Changes in 2.2.14:

	* lmtp: Delivered-To: header no longer contains <> around the email
	  address. Other MDAs don't have it either.
	* "Out of disk space" errors are now treated as temporary errors
	  (not the same as "Out of disk quota").
	* replication plugin: Use replication only for users who have a
	  non-empty mail_replica setting.

	+ lmtp proxy: Log a line about each mail delivery.
	+ Added login_source_ips setting. This can be used to set the source IP
	  address round-robin from a pool of IPs (in case you run out of TCP
	  ports).
	+ Rawlog settings can use tcp:<host>:<port> as the path.
	+ virtual plugin: Don't keep more than virtual_max_open_mailboxes
	  (default 64) number of backend mailboxes open.
	+ SSL/TLS compression can be disabled with ssl_options=no_compression
	+ acl: Global ACL file now supports "quotes" around patterns.
	+ Added last-login plugin to set user's last-login timestamp on login.
	+ LDAP auth: Allow passdb credentials lookup also with auth_bind=yes
	- IMAP: MODSEQ was sent in FETCH reply even if CONDSTORE/QRESYNC wasn't
	  enabled. This broke at least old Outlooks.
	- passdb static treated missing password field the same as an empty
	  password field.
	- mdbox: Fixed potential infinite looping when scanning a broken
	  mdbox file.
	- imap-login, pop3-login: Fixed potential crashes when client
	  disconnected unexpectedly.
	- imap proxy: The connection was hanging in some usage patterns. This
	  mainly affected older Outlooks.
	- lmtp proxy: The proxy sometimes delivered empty mails in error
	  situations or potentially delivered truncated mails.
	- fts-lucene: If whitespace_chars was set, we may have ended up
	  indexing some garbage words, growing the index size unnecessarily.
	- -c and -i parameters for dovecot/doveadm commands were ignored if
	  the config socket was readable.
	- quota: Quota recalculation didn't include INBOX in some setups.
	- Mail headers were sometimes added to dovecot.index.cache in wrong
	  order. The main problem this caused was with dsync+imapc incremental
	  syncing when the second sync thought the local mailbox had changed.
	- doveadm backup didn't notice if emails were missing from the middle
	  of the destination mailbox. Now it deletes and resyncs the mailbox.
2014-10-14 17:34:59 +00:00
Tijl Coosemans
37f54e0f66 net/openldap24-*:
- Convert to USES=libtool and bump dependent ports
- Avoid USE_AUTOTOOLS
- Don't use PTHREAD_LIBS
- Use MAKE_CMD

databases/glom:
- Drop :keepla
- Add INSTALL_TARGET=install-strip

databases/libgda4* databases/libgda5*:
- Convert to USES=libtool and bump dependent ports
- USES=tar:xz
- Use INSTALL_TARGET=install-strip
- Use @sample

databases/libgdamm:
- Drop :keepla
- USES=tar:bzip2
- Use INSTALL_TARGET=install-strip

databases/libgdamm5:
- Add INSTALL_TARGET=install-strip
- Drop --enable-static (inherited from old repocopy)

devel/anjuta x11-toolkits/py-gnome-extras:
- Drop :keepla

dns/powerdns dns/powerdns-devel:
- Convert to USES=libtool
- Add INSTALL_TARGET=install-strip
- Disable static modules
- Stop creating library symlinks with .0 suffix, not needed for dynamically
  opened modules

mail/dovecot2:
- Add USES=libtool

mail/dovecot2-pigeonhole:
- Drop CONFIGURE_TARGET (incorrect for Dragonfly)
- Add USES=libtool and INSTALL_TARGET=install-strip

math/gnumeric:
- USES=libtool tar:xz

Approved by:	portmgr (implicit, bump unstaged ports)
2014-07-24 18:34:16 +00:00
Jimmy Olgeni
81d5afa690 Use STRIP_CMD.
- MASTER_SITES from PR 189700 was already fixed in r354504.

PR:		189700
Submitted by:	meta+ports@vmeta.jp
Approved by:	maintainer timeout
2014-06-08 11:20:13 +00:00
Jimmy Olgeni
69502d8487 Upgrade to version 0.4.3.
PR:		190180
Submitted by:	Larry Rosenman
Approved by:	maintainer timeout (14 days)
2014-06-07 17:12:40 +00:00
Olli Hauer
7f57d5a90d - update MASTER_SITE, distfiles are now hosted by dovecot
See: http://www.dovecot.org/list/dovecot-news/2014-May/000274.html
2014-05-19 07:45:14 +00:00
Olli Hauer
0390e1e3dd - bump PORTREVISION as reqested in the dovcot2 Makefile
- strip
2014-04-28 13:30:24 +00:00
Pawel Pekala
d211628467 - Update mail/dovecot2 to version 2.2.10
- Bump affected plugin ports

PR:		ports/185904
Submitted by:	maintainer
2014-01-31 15:07:46 +00:00
Jimmy Olgeni
d773d1c25c Chase dovecot2 rename in RUN_ and BUILD_DEPENDS. 2014-01-10 11:45:11 +00:00
Danilo Egea Gondolfo
d0b583057c - Update from 2.2.6 to 2.2.9
- And, following the instructions in Makefile, bump PORTREVISION of mail/dovecot2-antispam-plugin and mail/dovecot-pigeonhole

PR:		ports/184273
Submitted by:	Attila Nagy <bra@fsn.hu> (maintainer)
2013-11-25 19:03:16 +00:00
William Grzybowski
89b77d9964 mail/dovecot2-pigeonhole: update to 0.4.2
- Update to 0.4.2 [1]
- Allow staging

PR:		ports/182543 [1]
Submitted by:	Attila Nagy <bra fsn.hu> (maintainer) [1]
2013-10-01 23:24:09 +00:00
Baptiste Daroussin
fd61959c15 Add NO_STAGE all over the place in preparation for the staging support (cat: mail) 2013-09-20 19:59:12 +00:00
William Grzybowski
1368c39c3a mail/dovecot2-pigeonhole: update to 0.4.1
- Update to 0.4.1

Changes: http://hg.rename-it.nl/dovecot-2.2-pigeonhole/raw-file/0.4.1/NEWS

PR:		ports/181085
Submitted by:	Attila Nagy <bra fsn.hu> (maintainer)
2013-08-06 11:59:10 +00:00
Mark Felder
f552f11557 - Fix conflict with mail/dovecot2
PR:		ports/175523
Approved by:	crees (mentor)
2013-07-16 17:51:12 +00:00
William Grzybowski
44bc15ee49 mail/dovecot2: update to 2.2.4
- Update to 2.2.4 [1]
- Bump plugins PORTREVISION
- Add LICENSE (LGPL21 MIT)

PR:		ports/179953
Submitted by:	Attila Nagy <bra@fsn.hu> [1] (maintainer)
2013-06-25 12:36:58 +00:00
Martin Wilke
a3fc9d889f - Fix build
Reported by:	pkg (DEVELOPER_MODE)
2013-06-11 14:48:38 +00:00
Martin Wilke
7d6d4bd5b2 - Update dovecot2 to 2.2.2
- Update dovecot2-pigeonhole to 0.4.0

PR:		178832
Submitted by:	maintainer
2013-05-23 17:58:48 +00:00