changeset 96:fb7500933a11 HEAD

0.97 released
author Timo Sirainen <tss@iki.fi>
date Thu, 29 Aug 2002 03:01:09 +0300
parents d0a9a516f00f
children 6f837354f2fe
files NEWS TODO configure.in
diffstat 3 files changed, 36 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Thu Aug 29 02:23:54 2002 +0300
+++ b/NEWS	Thu Aug 29 03:01:09 2002 +0300
@@ -1,3 +1,29 @@
+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
--- a/TODO	Thu Aug 29 02:23:54 2002 +0300
+++ b/TODO	Thu Aug 29 03:01:09 2002 +0300
@@ -1,10 +1,9 @@
+
 test:
  - make sure mmap()s work properly with NFS
- - make sure first_hole_records is updated properly
  - make sure locking is done properly when opening/switching modifylog 
  - make sure index->header->flags are updated at correct times
  - make sure SELECT rebuilds index properly when next_uid is near 32bit value
- - make sure io_buffer_send() handles huge inputs properly
  - make sure rfc822_parse_date() works properly
  - make sure imap_match functions work properly
  - make sure connection limits work
@@ -25,10 +24,14 @@
        yet. this way we don't need to read the messages fully just to find out
        that.
  - mbox:
-     - BUG: adding new mail after indexes are created doesn't work
      - update Status and X-Status headers when flags are changed.
        how? probably by just writing a new mbox file at close time.
      - EXPUNGE doesn't delete the mail from the mbox file
+     - if a file isn't valid mbox and it's tried to be opened, say it in one
+       line in error log, not 6..
+     - if we read-locked mbox file when we're accessing it, we could get it
+       pretty reliable.. do other MUAs do that? if yes, drop the dotlock
+       and only support flock() or fcntl() locking.
  - there's some race condition issues when opening mailboxes..
  - set_lock() is ugly and horrible and should really be done something.
    does the syncing really need to be there? maybe put it into separate
@@ -64,6 +67,8 @@
  - we should probably do some light checking that appended mails actually
    look like valid rfc822 mails..
  - SEARCH CHARSET support, iconv()?
+ - SEARCH could optionally support scanning inside file attachments and use
+   plugins to extract text out of them (word, excel, pdf, etc. etc.)
  - RENAME INBOX isn't atomic with Maildir. And in general, RENAME can't
    be moved to another storage. Maybe support doing also using COPY + delete
    once COPY is atomic?
@@ -125,6 +130,7 @@
  - HIGH: Make sure messages of size INT_MAX..UINT_MAX (and more) work
    correctly. virtual_size can also overflow making it less than physical_size
  - verify memory alignment is valid when reading from index files
+ - create env_put() and env_clean()
 
 optional optimizations:
  - provide some helper binary to save new mail into mailboxes with CR+LF
--- a/configure.in	Thu Aug 29 02:23:54 2002 +0300
+++ b/configure.in	Thu Aug 29 03:01:09 2002 +0300
@@ -1,7 +1,7 @@
 AC_INIT(src)
 
 AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(dovecot, 0.96)
+AM_INIT_AUTOMAKE(dovecot, 0.97)
 
 AM_MAINTAINER_MODE