1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896
|
v1.0.rc15 2006-11-19 Timo Sirainen <tss@iki.fi>
* Fixed an off-by-one buffer overflow in cache file handling. The
code is executed only with mmap_disable=yes and only if index files
are used (ie. INDEX=MEMORY is safe).
* passdb checkpassword: Handle vpopmail's non-standard exit codes.
- rc14 sometimes assert-crashed if .log.2 file existed in a mailbox
(earlier versions leaked memory and file descriptors)
- io_add() assert-crashfixes
- Potential SSL hang fix at the beginning of the connection
v1.0.rc14 2006-11-12 Timo Sirainen <tss@iki.fi>
* LDAP: Don't try to use ldap_bind() with empty passwords, since
Windows 2003 AD skips password checking with them and just returns
success.
* verbose_ssl=yes: Don't bother logging "syscall failed: EOF"
messages. No-one cares about them.
+ Dovecot sources should now compile without any warnings with gcc 3.2+
- rc13 crashed if client disconnected while IDLEing
- LDAP: auth_bind=yes fixes
- %variables: Fixed zero padding handling and documented it. %0.1n
shouldn't enable it, and it really shouldn't stay for the next
%variable. -sign also shouldn't stay for the next variable.
- Don't leak opened .log.2 transaction logs.
- Fixed a potential hang in IDLE command (probably really rare).
- Fixed potential problems with client disconnecting while master was
handling the login.
- quota plugin didn't work in Mac OS X
v1.0.rc13 2006-11-08 Timo Sirainen <tss@iki.fi>
+ deliver: If we're executing as a normal system user, get the HOME
environment from passwd if it's not set. This makes it possible to
run deliver from .forward.
- Older compilers caused LDAP authentication to crash
- Dying LDAP connections weren't handled exactly correctly in rc11,
although it seemed to work usually
- Fixed crashes and memory leaks with AUTHENTICATE command
- Fixed crashes and leaks with IMAP/POP3 proxying
- maildir: Changing a mailbox while another process was saving a
message there at the same may have caused the changes to not be made
into the maildir, which could have caused other problems later..
v1.0.rc12 2006-11-05 Timo Sirainen <tss@iki.fi>
- rc11 didn't compile with some compilers
- default_mail_env fallbacking was broken with --exec-mail
v1.0.rc11 2006-11-05 Timo Sirainen <tss@iki.fi>
* Renamed default_mail_env to mail_location. default_mail_env still
works for backwards compatibility.
* deliver: When sending rejects, don't include Content-Type in the
rejected mail's headers.
* LDAP changes:
* If auth binds are used, bind back to the default dn before doing
a search. Otherwise it could fail if a user gave an invalid
password.
* Initial binding at connect is now done asynchronously.
* Use pass_attrs even with auth_bind=yes since it may contain
useful non-password fields.
+ passdb checkpassword: Give TCPLOCALIP and TCPREMOTEIP and PROTO=TCP
environments to the checkpassword binary so we're UCSPI (and vchkpw)
compatible.
- mbox handling was a bit broken in rc10
- Using Dovecot via inetd kept crashing dovecot master
- deliver: Don't crash with -f "". Changed the default from envelope
to be "MAILER-DAEMON".
- INBOX wasn't shown with LSUB command if only prefixed namespaces
were used.
- passdb ldap: Reconnecting to LDAP server wasn't working with
auth binds.
- passdb sql: Non-plaintext authentication didn't work
- MySQL passdb ignored all non-password checks, such as allow_nets
- trash plugin was broken
v1.0.rc10 2006-10-16 Timo Sirainen <tss@iki.fi>
* When matching allowed_nets IPs, convert IPv6-mapped-IPv4 addresses
to actual IPv4 addresses first.
+ IMAP: Try to avoid sending duplicate/useless message flag updates
+ Added support for non-plaintext authentication for vpopmail if it
returns plaintext passwords. Based on patch by Remi Gacogne.
+ Added %D modified to return "sub.domain.org" as
"sub,dc=domain,dc=org" (for LDAP queries). Patch by Andrey Panin.
- rc9 broke cache files in 64bit systems
- deliver works now with mail_chroot
- auth cache didn't work properly with multiple passdbs
- Fixes to handling CRLF linefeeds in mboxes.
v1.0.rc9 2006-10-14 Timo Sirainen <tss@iki.fi>
* 64bit systems: dovecot.index.cache file will be rebuilt because
some time fields have been changed from 64bit fields to 32bit
fields. Now the same cache file can be used in both 32bit and
64bit systems without it being rebuilt.
* Added libmysqlclient workaround to conflicting sha1_result symbol,
which caused Dovecot to fail logging into MySQL.
+ dovecot.index.cache file opening is delayed until it's actually
needed. This reduces disk accesses a bit with eg. STATUS commands.
+ auth_cache: Try to handle changing passwords automatically: If
password verification fails, but the last one had succeeded, don't
use the cache. This works only with plaintext auth.
- dovecot.index.cache: We didn't properly detect if some fields were
different length than we expected, which caused assert crashes
- Lots of fixes to login/master process handling
- mbox: Fixed a bug causing "X-IMAPbase uid-last unexpectedly lost
in mbox file" errors, and possibly others.
v1.0.rc8 2006-10-09 Timo Sirainen <tss@iki.fi>
* GSSAPI: Changed POP3 service name to "pop", which is what the
standard says
* "mbox:/var/mail/%u" no longer works as the mail location. You'll
have to specify the mail root explicitly, just like the examples
always have: "mbox:~/mail:INBOX=/var/mail/%u"
+ SHA1, LDAP-MD5, PLAIN-MD5, PLAIN-MD4: The password can be now either
hex or base64 encoded. The encoding is detected automatically based
on the password string length.
+ Allow running only Dovecot master and dovecot-auth processes with
protocols=none setting
+ deliver: -f <envelope sender> parameter can be used to set mbox
From_-line's sender address
+ deliver: Log all mail saves and failures
+ Tru64 SIA passdb support. Patch by Simon L Jackson.
- INBOX was listed twice in mailbox list if namespace prefix was used
- INBOX-prefixed namespaces were a bit broken
- kqueue: Fix 100% CPU usage
- deliver: Duplicate storage was a bit broken
- dictionary code was broken (ie. dict quota)
- SIGHUP caused crashes sometimes
v1.0.rc7 2006-08-18 Timo Sirainen <tss@iki.fi>
* Require that Dovecot master process's version number matches the
child process's, unless version_ignore=yes. Usually it's an
accidental installation problem if the version numbers don't match.
* Maildir: Create maildirfolder file when creating new maildirs.
+ ldap+prefetch: Use global uid/gid settings if LDAP query doesn't
return them
+ %variables: Negative offsets count from the end of the string.
Patch by Johannes Berg.
- kqueue ioloop code rewrite
- notify=kqueue might have caused connection hangs sometimes
- deliver: If message body contained a valid mbox From_ line, it
and the rest of the message was skipped.
- mbox: We got into infinite loops if trying to open a 2 byte sized
file as mbox.
- Don't crash with ssl_disable=yes
- quota plugin caused compiling problems with some OSes
- mbox: After saving a mail to a synced mbox, we lost the sync which
caused worse performance
v1.0.rc6 2006-08-07 Timo Sirainen <tss@iki.fi>
* Removed login_max_logging_users setting since it was somewhat weird
in how it worked. Added login_max_connections to replace it with
login_process_per_connection=no, and with =yes its functionality
is now within login_max_processes_count.
+ Added --with-linux-quota configure option to specify which Linux
quota version to use, in case it's not correct in sys/quota.h.
Usually used as --with-linux-quota=2
+ acl plugins: If .DEFAULT file exists in global ACL root directory,
use it as the default ACLs for all mailboxes.
- Fixes to login process handling, especially with
login_process_per_connection=no.
- Back to the original SSL proxy code but with one small fix, which
hopefully fixes the occational hangs with it
- Several fixes to handling LIST command more correctly.
v1.0.rc5 2006-08-02 Timo Sirainen <tss@iki.fi>
- Saving to mboxes still caused assert-crashes
v1.0.rc4 2006-08-02 Timo Sirainen <tss@iki.fi>
- Saving to mboxes caused assert-crashes
v1.0.rc3 2006-08-02 Timo Sirainen <tss@iki.fi>
- SSL connections hanged sometimes, especially when saving messages.
- mbox: Mail bodies were saved with CR+LF linefeeds
- Mail forwarding was broken with deliver/Sieve
- dbox fixes. Might actually be usable now.
- Index file handling fixes with keywords
- Cache file was incorrectly used in some situations, which probably
caused problems sometimes.
- Maildir++ quota: Don't count "." and ".." directory sizes to quota.
After rewriting maildirsize file keep its fd open so that we can
later update it. Patch by Alexander Zagrebin
v1.0.rc2 2006-07-04 Timo Sirainen <tss@iki.fi>
* disable_plaintext_auth=yes: Removed hardcoded 127.* and ::1 IP
checks. Now we just assume that the connection is secure if the
local IP matches the remote IP address.
* SSL code rewrite which hopefully makes it work better than before.
Seems to work correctly, but if you suddently have trouble with SSL
connections this is likely the reason.
+ verbose_ssl=yes: Log also SSL alerts and BIO errors
- If namespace's location field wasn't set, the default location
was supposed to be used but it wasn't.
- When copying ssl-parameters.dat file from /var/lib to /var/run its
permissions went wrong if it couldn't be copied with hard linking.
- Fixed filesystem quota plugin to work with BSDs.
- Maildir: Saving mails didn't work if quota plugin was enabled (again)
- Maildir: Messages' received time wasn't saved properly when
saving/copying multiple messages at a time. Also if using quota
plugin the S= size was only set for the first saved file, and even
that was wrong.
- passdb passwd-file: Don't require valid uid/gid fields if file
isn't also being used as a userdb.
- PostgreSQL: Handle failures better so that there won't be
"invalid fd" errors in logs.
- Don't try to expunge messages if the mailbox is read-only. It'll
just cause our index files to go out of sync with the real
mailbox and cause errors.
- ANONYMOUS authentication mechanism couldn't work because
anonymous_username setting wasn't passed from master process.
v1.0.rc1 2006-06-28 Timo Sirainen <tss@iki.fi>
* PAM: If user's password is expired, give "Password expired" error
message to the user. Now actually working thanks to Vaidas Pilkauskas
* Relicensed dovecot-auth, lib-sql and lib-ntlm to MIT license. See
COPYING file for more information.
* Abuse prevention: When creating a mailbox, limit the number of
hierarchies (up to 20) and the length of the mailbox name within
a hierarchy (up to 200 characters).
* mbox: If saved mail doesn't end with LF, add it ourself so that the
mails always have one empty line before the next From-line.
+ Added --with-statedir configure option which defaults to
$localstatedir/lib/dovecot. ssl-parameters.dat is permanently
stored in that directory and is copied to login_dirs from there.
+ IMAP: Support SASL-IR extension (SASL initial response)
+ Support initial SASL response with LOGIN mechanism. Patch by Anders
Karlsson
+ Added PLAIN-MD4 password scheme. Patch by Andrey Panin.
+ Added support for XFS disk quotas. Patch by Pawel Jarosz
+ If another process deletes the opened mailbox, try to handle it
without writing errors to log file. Handles the most common cases.
+ Added TLS support for LDAP if the library supports it.
- SEARCH command was more or less broken with OR and NOT conditions
- Dovecot corrupted mbox files which had CR+LF linefeeds in headers
- MySQL code could have crashed while escaping strings
- MD4 code with NTLM authentication was broken with 64bit systems.
Patch by Andrey Panin
- Plugin loading was broken in some OSes (eg. FreeBSD)
- Several fixes to handling empty values in configuration file
- Several fixes to dictionary quota backend and dict server.
Also changed how they're configured.
- deliver: Fixed plugin handling settings
- mbox_min_index_size handling was somewhat broken
- passdb passwd-file: extra_args field wasn't read unless the file
was also used as userdb.
v1.0.beta9 2006-06-13 Timo Sirainen <tss@iki.fi>
* PAM: Don't call pam_setcred() unless setcred=yes PAM passdb
argument was given.
* Moved around settings in dovecot-example.conf to be in more logical
groups.
+ Local delivery agent (deliver binary) works again.
+ LDAP: Added support for SASL binding. Patch by Geert Jansen
+ ssl_verify_client_cert: Check CRLs. If auth_verbose=yes, log
invalid sent certificates. If verbose_ssl=yes, log even the valid
certificates. When using the username from the certificate, use
CommonName. Based on patch by HenkJan Wolthuis
+ PAM: Set PAM_TTY which is needed by some PAM plugins
+ dovecot --exec-mail ext <binary path> can now be used to start
binaries which want dovecot.conf to be read, for example the
convert-tool.
- Expunging needed to be done twice if client used STORE +FLAGS.SILENT
command to set the \Deleted flags
- Added sql_escape_string() to lib-sql API and use it instead of
normal \-escaping.
- ACL plugin fixes
- DIGEST-MD5: Trying to use subsequent authentication crashed
dovecot-auth.
- Fetching BODY when BODYSTRUCTURE was already cached caused the
reply to be broken in some cases
- Lots of fixes for index file handling
- dbox fixes and changes
- mbox syncing broke if some extraneous/broken headers were removed
(eg. extra X-IMAPbase headers in mails)
- Running Dovecot from inetd work now properly with POP3
- Quota plugin fixes for calculating the quota correctly
v1.0.beta8 2006-05-12 Timo Sirainen <tss@iki.fi>
* Fixed a security hole with mbox: "1 LIST .. *" command could
list all directories and files under the mbox root directory, so
if your mails were stored in eg. /var/mail/%u/ directory, the
command would list everything under /var/mail.
+ Unless nfs_check=no or mmap_disable=yes, check for the first login
if the user's index directory exists in NFS mount. If so, refuse to
run. This is done only on first login to avoid constant extra
overhead.
+ If we have plugins set and imap_capability unset, figure out the
IMAP capabilities automatically by running imap binary at startup.
The generated capability list isn't updated until Dovecot is
restarted completely, so if you add or remove IMAP plugins you
should restart. If you have problems related to this, set
imap_capabilities setting manually to work around it.
+ Added auth_username_format setting
- pop3_lock_session setting wasn't really working
- Lots of fixes related to quota handling. It's still not working
perfectly though.
- Lots of index handling fixes, especially with mmap_disable=yes
- Maildir: saving mails could have sometimes caused "Append with UID
n, but next_uid = m" errors
- flock() locking never timeouted because ignoring SIGALRM caused the
system call just to be restarted when SIGALRM occurred (probably not
with all OSes though?)
- kqueue: Fixed "Unrecognized event". Patch by Vaclav Haisman
v1.0.beta7 2006-04-12 Timo Sirainen <tss@iki.fi>
+ Added shutdown_clients setting to control if existing imap/pop3
processes should be killed when master is.
- Master login fixes, PLAIN authentication was still broken..
v1.0.beta6 2006-04-12 Timo Sirainen <tss@iki.fi>
* The login and master usernames were reversed when using
master_user_separator (now the order is UW-IMAP compatible).
* Killing dovecot master process now kills all IMAP and POP3
processes also.
+ -a parameter to dovecot prints now all settings that Dovecot uses.
-n prints all settings that are different from defaults.
+ Added pop3_lock_session setting
+ %M modifier returns string's MD5 sum. Patch by Ben Winslow
- PLAIN SASL authentication wasn't working properly, causing failed
logins with some clients (broken in beta4)
- Fixes to Maildir++ quota, should actually work now
- Don't crash if passwd-file has entries without passwords
(eg. deny=yes databases)
- Fixed prefetch userdb to work nicely with other userdbs
- If master process runs out of file descriptors, don't go to
infinite loop (unlikely to have happened unless the OS's default
fd limit was too low)
- Fixed non-plaintext password lookups from LDAP. Patch by Lior Okman
- %U modifier was actually lowercasing the string. Patch by Ben Winslow
v1.0.beta5 2006-04-04 Timo Sirainen <tss@iki.fi>
- Beta4's SSL proxying rewrite worked worse than I thought.
Reverted it back to original code.
v1.0.beta4 2006-04-02 Timo Sirainen <tss@iki.fi>
* Changed the default lock_method back to fcntl. Apparently flock
gives problems with some systems.
* mbox: mailboxes beginning with '.' are now also listed
* Replaced mail_use_modules and mail_modules settings with mail_plugins
and mail_plugin_dir. Now instead of loading all plugins from the
directory, you'll have to give a list of plugins to load. If the
plugin couldn't be loaded, the process exits instead of just
ignoring the problem (this is important with ACL plugin).
+ Added support for "master users" who can log in as other people.
The master username can be given either in authorization ID
string with SASL PLAIN mechanism or by setting
auth_master_user_separator and giving it within the normal username
string.
+ Added ACL plugin with ACL file backend. This however doesn't mean
that there yet exists a proper shared folder support. If master user
logged in as someone else, the ACLs are checked as the master user.
+ Added some Dovecot extensions to checkpassword passdb, see ChangeLog
+ Updated passwd-file format to allow specifying any key=value fields
+ Maildir++ quota support and several quota fixes
+ passdb supporting extra fields: Added "allow_nets" option which takes
a comma separated list of IPs/networks where to allow user to log in.
+ NFS: Handle ESTALE errors the best way we can
+ IMAP now writes to log when client disconnects
+ In shared mailboxes (if dovecot-shared file exists) \Seen flags are
now kept only in index files, so as long as each user has a separate
index file they have separate \Seen flags.
- Fixes to DIGEST-MD5 realm handling so it works with more clients
- BODYSTRUCTURE -> BODY conversion from cache file was broken with
mails containing message/rfc822 parts.
- Fixed several memory leaks
- We could have sent client FETCH notifications about messages before
telling about them with EXISTS
- Compiling fixes for Solaris and some other OSes
- Fixed problem with internal timeout handling code, which caused eg.
outlook-idle workaround to break.
- If /dev/urandom didn't exist, we didn't seed OpenSSL's random number
generator properly. Patch by Vilmos Nebehaj.
- Maildir: Recent flags weren't always immediately removed from mails
when mailbox was opened.
- Several changes to SSL proxying code, hopefully making it work
better.
v1.0.beta3 2006-02-08 Timo Sirainen <tss@iki.fi>
* Dotlock code changed to timeout faster in some situations when
the lock file is old.
+ Added support for loading SQL drivers dynamically (see INSTALL file
for how to build them)
+ Keywords are stored to dboxes, and other dbox improvements.
+ dict-sql could actually work now, making quota-in-sql-database
possibly working now (not fully tested)
+ Added mail storage conversion plugin to convert automatically from
one mailbox format to another while user logs in. Doesn't preserve
UIDVALIDITY/UIDs though.
+ Added plugin { .. } section to dovecot.conf for passing parameters
to plugins (see dovecot-example.conf).
+ Added ssl-build-param binary which is used to generate
ssl-parameters.dat. Main dovecot binary doesn't anymore link to
SSL libraries, and this also makes the process title be clearer
about why the process is eating all the CPU.
- Fix building without OpenSSL
- Fixed memory leak in MySQL driver
- Fixes to checkpassword
- Broken Content-Length header could have broken mbox opening
- Fixed potential hangs after APPEND command
- Fixed potential crashes in dovecot-auth and imap/pop3-login
- zlib plugin now links with -lz so it could actually work
- kqueue fixes by Vaclav Haisman
v1.0.beta2 2006-01-22 Timo Sirainen <tss@iki.fi>
+ Added SQLite support. Patch by Jakob Hirsch.
+ Added auth_debug_passwords setting. If it's not enabled, hide all
password strings from logs.
+ Added mail_cache_min_mail_count and mbox_min_index_size settings
which can be used to make Dovecot do less disk writes in small
mailboxes where they don't benefit that much.
+ Added --build-ssl-parameters parameter to dovecot binary
- SSL parameters were being regenerated every 10 minutes, although
not with all systems.
- Fixed dovecot-auth crashing at startup. Happened only with some
specific compilers.
- base_dir was supposed to be set world-readable, not world-writable
v1.0.beta1 2006-01-16 Timo Sirainen <tss@iki.fi>
* Almost a complete rewrite since 0.99.x, but some of the major
changes are:
+ Index file code rewritten to do less disk I/O, wait locks less and
in generate be smarter. They also support being in clustered
filesystems and NFS support is mostly working also.
+ Mail caching is smarter. Only the data that client requests is
cached. Before Dovecot opened and cached all mails when mailbox was
opened the first time, which was slow.
+ Mbox handling code rewritten to be much faster, safer and correct
+ New authentication mechanisms: APOP, GSSAPI, LOGIN, NTLM and RPA.
+ LDAP supports authentication binds
+ Authentication server can cache password database lookups
+ Support for multiple authentication databases
+ Namespace configuration
+ Dovecot works with shared
v0.99.10 2003-06-26 Timo Sirainen <tss@iki.fi>
* Default PAM service name changed to "dovecot". This means that
if you're using PAM, you most likely have to do
mv /etc/pam.d/imap /etc/pam.d/dovecot
If you wish to keep using imap, see doc/auth.txt.
* ~/rawlog directory changed to ~/dovecot.rawlog
+ Faster and better maildir synchronization. We support read-only
maildirs and out-of-quota conditions are handled a lot better.
dovecot-uidlist file still isn't out-of-quota-safe though, but you
can keep it in another location where quota isn't checked. For
example:
default_mail_env = Maildir:~/Maildir:
INDEX=/noquota/%u:CONTROL=/noquota/%u
+ Read-only mboxes are supported now.
+ Only NOOP and CHECK now always do a mailbox sync checking. Other
commands sync max. once in 5 seconds, plus always from indexes.
This should reduce I/O a bit.
+ All NUL characters are translated to ascii #128 before sending to
client. RFC prohibits sending NULs and this is how UW-IMAP handles
it as well.
+ Make ENVELOPE, BODY and BODYSTRUCTURE replies more compact by
removing multiple LWSPs and translating TABs to spaces. RFC doesn't
specifically require this, but this seems to be the wanted
behaviour..
+ Added ANONYMOUS SASL mechanism.
+ More flexible user chrooting configuration in home directories:
"<chroot>/./<homedir>"
+ Added support for dynamically loadable IMAP/POP3 modules. See
INSTALL file for more information.
- Partial fetches were broken if mails had CR+LF linefeeds
- SEARCH DELETED didn't return anything if all messages were deleted
- OpenSSL support was broken in many installations because we were
chrooted and it couldn't open /dev/urandom.
- PAM: Giving wrong password blocked the whole process for two
seconds. Now we create a new process for each check.
- Lots of other smaller bugfixes and better error handling
v0.99.9.1 2003-05-03 Timo Sirainen <tss@iki.fi>
- Messages having lines longer than 8192 bytes caused problems.
- There was some problems when opening a mbox first time that had been
empty for a while.
- Didn't compile with OpenBSD.
- POP3 server crashed sometimes instead of printing error message.
- If cached IMAP envelope contained literals, SEARCHing in it wrote
errors to log file. For example if subject contained highascii, '"'
or '\' characters this happened.
v0.99.9 2003-04-28 Timo Sirainen <tss@iki.fi>
* WARNING: mbox rewriting works now faster, but it's less likely to
notice external message flag changes (it wasn't perfect before
either). This also means that if you're not using index files,
Dovecot may not notice changes made by another Dovecot process.
This will be fixed later.
+ Message UIDs are now permanently stored outside index files.
Deleting indexes is now possible without any kind of data loss and
in-memory indexes are now usable.
+ mbox rewriting leaves extra space into X-Keywords header. It's
shrinked or grown when updating message flag headers to avoid
rewriting the rest of the file.
+ imap-login and pop3-login can now be started from inetd. Privilege
separation is still used, so it executes dovecot and dovecot-auth
processes which are left on the background.
+ PostgreSQL authentication support, patch by Alex Howansky
- Large multiline headers (over 8kB) broke Dovecot before. Now they're
parsed one line at a time and we try to avoid reading them fully into
memory.
- SEARCH OR was broken
- Partial BODY[] fetches were broken
- Timezones were still set wrong when parsing dates
- Using non-synchronized literals (LITERAL+) broke APPEND
- Renaming maildir subfolders inserted extra "." in the middle.
- Subfolders were a bit broken with maildir
- Invalid PLAIN auth request crashed auth process.
v0.99.8 2003-02-25 Timo Sirainen <tss@iki.fi>
* NOTE: Configuration file has changed a bit: auth_userinfo was
replaced by userdb and passdb. *_port were merged into *_listen.
Disabling listening in imaps port is now done by changing protocols
setting.
* Maildir: .customflags location has changed for INBOX. If you have
set any custom flags, move Maildir/.INBOX/.customflags into
Maildir/.customflags or they will be lost.
* mbox: Autodetect /var/mail/%u and /var/spool/mail/%u as INBOXes
if they're found and mail_default_env isn't set.
* passwd-file: File format changed a bit. If you used realm or mail
fields, you'll have to fix the file. See doc/auth.txt for description
of the format.
+ Fully featured POP3 server included. Disabled by default.
+ Support for LITERAL+, MULTIAPPEND, UNSELECT, IDLE, CHILDREN and
LISTEXT extensions.
+ LDAP authentication support.
+ Internal API cleanups made Dovecot faster and take less memory
+ auth_verbose logs now all authentication failures
+ Support for Solaris 9 sendfilev()
+ New setting: mail_full_filesystem_access allows clients to access the
whole filesystem by simply giving the path before the mailbox name
(eg. SELECT ~user/mail/box, LIST "" /tmp/%). While this allows users
to share mailboxes, it's not recommended since Dovecot's index files
can't be safely shared.
+ New setting: client_workarounds.
+ Dynamically loadable authentication modules. Binary package builders
should consider using it for at least LDAP.
+ mbox: Content-Length is saved now to each saved message, so it's
now safe to have lines beginning with "From ".
+ mbox: mail_read_mmaped = no works with it now
+ Indexes can be kept in memory by adding :INDEX=MEMORY to MAIL
environment. There's not much point to do this now though, since the
UIDs won't be saved.
- COPY now behaves as RFC2060 says: "If the COPY command is
unsuccessful for any reason, server implementations MUST restore the
destination mailbox to its state before the COPY attempt."
- LIST and LSUB rewrite, should fix several bugs in them
- maildir_copy_with_hardlinks = yes was broken.
- mboxes in subfolders weren't selectable.
- STORE didn't accept multiple flags without () around them
- PLAIN SASL-authentication was a bit broken.
- IMAP dates were parsed a few hours wrong
- STATUS command removed \Recent flags from messages
- Several bugfixes to SEARCH command, especially related to multiple
search conditions
- If auth/login process died unexpectedly at startup, the exit status
or killing signal wasn't logged.
- mbox parsing might have crashed sometimes
- mbox: when saving mails, internal headers were allowed in input,
sometimes causing problems (eg. duplicate headers) when appending
and copying messages
- mbox: X-Keywords headers were duplicated
- Some small fixes to how messages are saved to Maildir
- Next command after STARTTLS was ignored which left the connection
stuck sometimes
- Dovecot was pretty much broken with FreeBSD
v0.99.7 2003-01-14 Timo Sirainen <tss@iki.fi>
+ Rewrote doc/index.txt, small updates to doc/design.txt and
doc/multiaccess.txt
- New hash table code was broken with removing, which broke several
things. Fixed, but it's still a bit ugly code though..
v0.99.6 2003-01-13 Timo Sirainen <tss@iki.fi>
+ THREAD=REFERENCES extension support. ORDEREDSUBJECT would be easy to
add, but I think it's pretty useless.
+ SORT is much faster now.
+ mbox: If ~/mail directory isn't found, create it.
+ Log login usernames
* Some coding style changes (less typedefs)
- Mails with nested MIME parts might have caused incorrect BODY and
BODYSTRUCTURE fetches and sometimes might have crashed dovecot
(assert at imap-bodystructure.c). If client had already successfully
done the BODY fetching a couple of times, the bug couldn't happen
anymore since Dovecot then began caching the BODY data. So, this
mostly happened with new users.
- non-UID SEARCH might gave wrong replies in certain conditions.
- SORT replied always with UIDs instead of sequences.
- If authentication was aborted by client ("*" reply to AUTHENTICATE),
the login process crashed later.
- STATUS command gave invalid reply for mailboxes with spaces in name
- Timezones were parsed wrong with message dates
- Digest-MD5: We used "qop-options" instead of "qop", which was
incompatible with at least Cyrus SASL.
- Realms in passwd-file were buggy
- Literals didn't work when logging in
- Crashed if it had to wait for mbox lock
- With invalid configuration auth and login processes were just dying
and master filling log files infinitely.
- We didn't work with some 64bit systems
v0.99.5 2003-01-02 Timo Sirainen <tss@iki.fi>
* This release includes a lot of code cleanups, especially related to
security. Direct buffer modifying was replaced in several places
with a new buffer API, which provides a safe way to do it. Code that
looks unsafe contains @UNSAFE tag to make auditing easier.
+ Support for SORT extension. Originally I thought about not
implementing any extensions before 1.0, but too many people want
webmails which want SORT. THREAD is another extension which they
want, but we don't support it yet.
+ imap_listen and imaps_listen settings now accept "*" and "::" to
specify if we want to listen in IPv4 or IPv6 addresses. "::" may
also listen in all IPv4 addresses depending on the OS (Linux does,
BSD doesn't)
+ New setting: default_mail_env can be used to specify where to find
users mailbox. Default is still to use autodetection.
+ New setting: imap_log_path to log logins etc. informational messages
to different file.
+ We support now separate mbox file for INBOX folder, no need for
symlink kludging anymore.
+ Support for keeping index files in different location than actual
mailboxes.
? Disabled mailbox_check_interval setting by default, it breaks
Evolution.
- SEARCH was still somewhat buggy, especially with laggy networks.
Also body/header searches might have crashed or at least used
memory too much
- Deleting messages in the middle of mbox caused dovecot to reindex
the following messages as new messages (ie. change UIDs and set
\Recent flag).
- Digest-MD5 auth: Initial server challenge packet was missing a comma,
which might have made it incompatible with some implementations.
- Some more fixes to unnecessarily high memory usage
- SELECT and EXAMINE often printed UNSEEN reply or maybe complained
about corrupted indexes. Happened usually only with mbox.
- FETCH BODYSTRUCTURE gave incorrect reply, breaking pine
- LIST was pretty buggy with mbox subfolders
- CHECK command returned just "missing parameters" error
- DELETE didn't work with mbox folders
- CREATE mailbox<hierarchy separator> failed always.
- CREATE and RENAME didn't create required hierarchies with mbox
- RFC822 date parser didn't handle single digit days correctly.
- login_process_per_connection = yes didn't work with imaps port
connections which is exactly where it was mostly wanted.
- ssl_disabled = yes didn't disable listening in imaps port
- process limiting code didn't compile everywhere (eg. FreeBSD).
- Linux sendfile() was never detected
- We didn't work at all with gcc/PowerPC
v0.99.4 2002-12-01 Timo Sirainen <tss@iki.fi>
- Command parser had several bugs when it didn't have enough data to
parse the full command in one call, ie. network lags etc. triggered
those bugs sometimes. This was the last "weird bug" I know of.
- Mbox indexes got broken when updating cached fields
- Fixed a few memory leaks and unneededly high memory usage while
caching envelopes
- Fixes to searching from message body and header
- --with-ssldir didn't do anything and the default was empty
v0.99.3 2002-11-26 Timo Sirainen <tss@iki.fi>
- mail_read_mmaped = no (default) caused mbox corruption with EXPUNGE.
mmap()ing is forced for now.
v0.99.2 2002-11-26 Timo Sirainen <tss@iki.fi>
+ If we have to wait for a lock longer, the client is now notified
about it every 30 seconds.
- Default settings still pointed to lib directory instead of the
libexec directory where the binaries were actually installed
- vpopmail support had to be kludged to fix a bug in vpopmail library
which sometimes left extra character after the user name.
- Login process crashed if master process didn't let some user login.
Normally this couldn't happen without error in configuration.
- select() based I/O loop wasn't working so Dovecot didn't work in
eg. OSX. Also PAM authentication wasn't detected with OSX.
- Didn't compile with NetBSD-current
v0.99.1 2002-11-25 Timo Sirainen <tss@iki.fi>
+ Added doc/mkcert.sh script to easily generate yourself a self-signed
certificate. Modify doc/dovecot-openssl.cnf before running it.
+ --with-ssldir configure option to specify default path for /etc/ssl
+ Added ssl_disable setting to config file
- OpenSSL wasn't checked properly by configure
- vpopmail authentication module didn't compile
- We should install the binaries into libexec dir, not lib
- doc/configuration.txt and doc/mail-storages.txt were missing
v0.99.0 2002-11-24 Timo Sirainen <tss@iki.fi>
+ Replaced hash file with binary tree file which makes Dovecot stay
fast with large mailboxes after expunging multiple mails.
+ Several speed improvements with SEARCH
+ SEARCH CHARSET support using iconv(), although case-insensitive
searching is currently supported only for ASCII characters.
+ OpenSSL support.
+ Support for regenerating Diffie Hellman and RSA parameters with
specified intervals. NOTE: currently doesn't work with OpenSSL.
+ Support for each login connection being handled in it's own process.
This is the default as it's more safe especially with SSL.
+ mbox locking is now safe, other processes can't modify the mbox file
while we're reading it.
+ Notify clients with "EXISTS" almost immediately after new mail is
received.
+ Rawlog: Support for saving user connections into files - useful for
debugging.
+ Content-Language is finally parsed correctly
+ Lots of smaller speed optimizations
- Partial BODY[] fetches weren't working properly
- BODY[section] was buggy with message/rfc822 MIME parts
- STARTTLS wasn't working
- \* flag was missing from PERMANENTFLAGS.
- Comments inside <> mail addresses crashed.
- imap-login printed UTC timestamps to logfiles
- passwd-file wasn't reread the the file changed
- PAM authentication was implemented wrong, which caused it to break
with some PAM plugins.
- Lots of smaller fixes, mostly to do with reliability
v0.98.4 2002-10-06 Timo Sirainen <tss@iki.fi>
* Just a final release before replacing hash file with a binary tree.
- When fetching messages larger than 256k, sometimes Dovecot missed
to send CR causing corrupted data at end of message and possibly
complete failure depending on IMAP client.
- Fetching BODY or BODYSTRUCTURE for message having content-type of
message/rfc822 didn't correctly add () around the envelope data.
- Several fixes to make it compile with HP/UX ANSI C compiler.
Also fixed several warnings it showed up.
v0.98.3 2002-10-01 Timo Sirainen <tss@iki.fi>
* Sorry, just noticed a very stupid bug which caused evolution 1.2
beta to crash. I always thought it was just evolution's fault :)
- Several fields in BODY / BODYSTRUCTURE replies weren't quoted
v0.98.2 2002-09-30 Timo Sirainen <tss@iki.fi>
+ --with-file-offset-size=32 can now be used to select 32bit file
offsets. Using them should be a bit faster and take a bit less
disk and memory (also needed to compile Dovecot successfully with
TinyCC).
+ maildir_copy_with_hardlinks option works now
+ Check new mail and notify about it to client also after
commands which don't allow full syncing (FETCH, STORE, SEARCH).
Also always send RECENT after EXISTS notify.
+ If we're out of disk space while opening mailbox, notify about it
with ALERT.
- STORE and SEARCH didn't handle properly message sequence numbers
when some in the middle were externally deleted
- SEARCH: Only first search condition was checked.
- mbox: Message flags given to APPEND were ignored.
- mbox: index was corrupted when changing flags for multipart MIME
messages
- Out of disk space-handling wasn't working properly with .customflags
file
- if auth processes were killed, login processes weren't reconnecting
to them
v0.98.1 2002-09-24 Timo Sirainen <tss@iki.fi>
+ Faster and safer mbox rewriting when flags are updated
- Didn't save messages larger then 8192 bytes
- Several mbox breakages
v0.98 2002-09-23 Timo Sirainen <tss@iki.fi>
+ mbox support is finally working. There's still some reliability
fixes left but overall it should be quite usable.
+ vpopmail authentication support
+ We should be able to deal with "out of diskspace/quota" conditions
properly, by keeping the indexes in memory and allowing user to
delete mails to get more space.
+ Several speed enhancements
+ New configuration file option: overwrite_incompatible_index to force
using ".imap.index" file, overwriting it if it isn't compatible
- Handle invalid message headers reliably
- Tons of bugfixes and code cleanups everywhere
v0.97 2002-08-29 Timo Sirainen <tss@iki.fi>
+ Large mails are handled in 256kB blocks, so mail size no longer
has hardly any effect on memory usage
+ 64bit file offsets are used if supported by system. This means
Dovecot is fully capable of handling >2G mails in those systems.
With 32bit offsets >2G mails may not behave too well, but should
not crash either.
+ I fixed lots of potential integer overflows. This should make us
fully crash-free no matter what happens (index file corruption
mostly). I didn't verify everything too carefully yet, so more
auditing is still needed before we fully reach that goal.
+ Implemented several missing tasks / optimizations to index handling.
It should now stay fast after longer usage periods.
+ New configuration file options: log_path, log_timestamp, imaps_listen
+ "Critical errors" are now hidden from users, ie. any error message
that is not a direct reply to user error is written into log file
and user gets only "Internal error [timestamp]".
+ Nonblocking SSL handshaking
+ Lots of code cleanups
- Lots of mbox fixes, it seems to be somewhat reliable now
- Year in Date-field was parsed wrong
- Appending mail to mbox didn't work right
- Always verify that mailbox names are valid (especially they shouldn't
contain "../")
v0.96 2002-08-08 Timo Sirainen <tss@iki.fi>
* Changed to LGPL v2.1 license
+ STARTTLS support and optional disabling of plaintext authentication
(LOGINDISABLED capability)
+ Support for custom message flags, each folder can have 26 different.
+ New configuration file options: imap_listen, max_logging_users,
max_imap_processes
+ You can specify config file location to imap-master with -c <path>
+ All IMAP processes can now write to specified log file instead of
syslog. Either do this by setting IMAP_LOGFILE environment, or
give -l <path> parameter to imap-master.
+ Some cleanups to remove warnings with BSDs
+ Changed all %s .. strerror(errno) -> %m
+ Rewritten memory pool code
- imap-master didn't close all the fds for executed processes
- iobuffer code was buggy and caused the connection to terminate
sometimes
- make install overwrote the existing dovecot.conf file, so it's now
named as dovecot-example.conf
v0.95 2002-07-31 Timo Sirainen <tss@iki.fi>
+ Initial SSL support using GNU TLS, tested with v0.5.1.
TLS support is still missing.
+ Digest-MD5 authentication method
+ passwd-file authentication backend
+ Code cleanups
- Found several bugs from mempool and ioloop code, now we should
be stable? :)
- A few corrections for long header field handling
v0.94 2002-07-29 Timo Sirainen <tss@iki.fi>
* Supports running completely non-root now. imap-auth however is a
bit problematic as we don't support passwd-file yet.
- Memory alignment fixes mostly
- Other misc. bugfixes
|