bincimap.spec.in (62973B)
1 # This program is free software; you can redistribute it and/or modify 2 # it under the terms of the GNU General Public License as published by 3 # the Free Software Foundation; either version 2 of the License, or 4 # (at your option) any later version. 5 6 # You should have received a copy of the GNU General Public License 7 # along with this program; if not, write to the Free Software 8 # Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, 9 # USA. 10 11 #----------------------------------------------------------------------- 12 # package parameters 13 14 # version and release can be overridden on the rpmbuild command-line 15 # with --define 'release 2', etc. 16 17 %{!?version:%define version @VERSION@} 18 %{!?release:%define release 1} 19 20 # --without ssl -- build without SSL support (default is --with ssl) 21 # --with inusr -- install into /usr instead of /opt 22 23 #%{!?_without_ssl:%define _without_ssl --without-ssl} 24 %{!?_with_inusr:%define inopt 1} 25 26 #----------------------------------------------------------------------- 27 Summary: Binc IMAP server 28 Name: @PACKAGE@ 29 Version: %{version} 30 Release: %{release} 31 URL: http://www.bincimap.org/ 32 Source0: %{name}-%{version}.tar.gz 33 License: GPL 34 Group: System Environment/Daemons 35 BuildRoot: %{_tmppath}/%{name}-%{version}-root 36 Packager: Andreas Aardal Hanssen <andreas-binc@bincimap.org> 37 Vendor: Andreas Aardal Hanssen <andreas-binc@bincimap.org> 38 %{?_with_ssl:BuildRequires: openssl-devel} 39 %{?_with_ssl:Requires: openssl} 40 %{!?inopt:Prefix: /usr} 41 42 # Path settings for /opt installation (for /usr installation 43 # the default RedHat macros work as is) 44 %{?inopt:%define _prefix /opt/@PACKAGE@} 45 %{?inopt:Prefix: %{_prefix}} 46 %{?inopt:%define _sysconfdir /etc/opt} 47 %{?inopt:%define _localstatedir /var/opt} 48 %{?inopt:%define _docdir %{_prefix}/doc} 49 %{?inopt:%define _mandir %{_prefix}/man} 50 %{?inopt:%define _sbindir %{_prefix}/bin} 51 52 #----------------------------------------------------------------------- 53 %description 54 55 Binc IMAP is an IMAP server, written in C++ for the Linux platform. It 56 supports Dan J. Bernstein's Maildir format and checkpassword 57 authentication. 58 59 As an alternative to existing similar IMAP servers, Binc IMAP strives 60 to be 61 62 * very easy to install and use, but robust, stable and secure 63 * absolutely compliant with the IMAP4rev1 protocol 64 * simple and modular in design, making it very easy for 65 third parties to utilize the source code and enhance the 66 product. 67 68 Binc IMAP is released under the GNU General Public License. 69 70 #----------------------------------------------------------------------- 71 %prep 72 %setup -q 73 74 #----------------------------------------------------------------------- 75 %build 76 77 STATIC= 78 79 CXXFLAGS="-O2 -s -I/usr/kerberos/include" 80 %configure $STATIC --prefix=/opt/@PACKAGE@ --sysconfdir=/etc/opt/@PACKAGE@ --localstatedir=/var/opt 81 82 make 83 84 #----------------------------------------------------------------------- 85 %install 86 rm -rf $RPM_BUILD_ROOT 87 88 # shouldn't we be using a 'make install' target for all this? 89 90 PRE=$RPM_BUILD_ROOT%{_prefix} 91 BIN=$RPM_BUILD_ROOT%{_sbindir} 92 ETC=$RPM_BUILD_ROOT%{_sysconfdir}/@PACKAGE@ 93 SCR=$RPM_BUILD_ROOT%{_sysconfdir}/@PACKAGE@/scripts 94 VAR=$RPM_BUILD_ROOT%{_localstatedir} 95 MAN=$RPM_BUILD_ROOT%{_mandir} 96 97 # Directory structure 98 install -d $BIN 99 install -d $ETC/xinetd 100 install -d $SCR 101 install -d $ETC/service/imap/log 102 install -d $ETC/service/imaps/log 103 install -d $MAN/man1 104 install -d $MAN/man5 105 install -d $VAR/log/@PACKAGE@ 106 install -d $VAR/log/@PACKAGE@-ssl 107 108 # Binaries 109 install src/bincimapd $BIN 110 install src/bincimap-up $BIN 111 112 # Config files 113 install conf/bincimap.conf $ETC 114 install conf/xinetd-bincimap $ETC/xinetd/imap 115 install conf/xinetd-bincimaps $ETC/xinetd/imaps 116 117 install conf/checkpassword.pl $SCR 118 install conf/toimapdir $SCR 119 #install conf/tomaildir++ $SCR 120 install conf/xinetd-bincimaps $ETC/xinetd/imaps 121 install conf/xinetd-bincimaps $ETC/xinetd/imaps 122 123 install service/run $ETC/service/imap/run 124 install service/log/run $ETC/service/imap/log/run 125 install service/run-ssl $ETC/service/imaps/run 126 install service/log/run-ssl $ETC/service/imaps/log/run 127 128 # Documentation 129 # (the non-man doc files are taken care of with the %doc macro) 130 install man/bincimapd.1 $MAN/man1 131 install man/bincimap-up.1 $MAN/man1 132 install man/bincimap.conf.5 $MAN/man5 133 134 #----------------------------------------------------------------------- 135 %clean 136 #rm -rf $RPM_BUILD_ROOT 137 138 #----------------------------------------------------------------------- 139 %files 140 %defattr(755,root,root) 141 142 # Documentation files (other than man pages) 143 %doc README README.SSL COPYING COPYING.OpenSSL ChangeLog 144 %doc doc/bincimap.css doc/bincimap-*.html 145 %doc doc/manual/bincimap-manual.{dvi,ps} 146 %doc doc/rfc2060.txt doc/rfc2683.txt 147 148 # These dirs belong to the package only if in /opt 149 %{?inopt:%dir %{_prefix}} 150 %{?inopt:%dir %{_bindir}} 151 %{?inopt:%dir %{_mandir}} 152 %{?inopt:%dir %{_mandir}/*} 153 154 # Directories 155 %dir %{_sysconfdir}/@PACKAGE@ 156 %dir %{_sysconfdir}/@PACKAGE@/service 157 %dir %{_sysconfdir}/@PACKAGE@/service/imap 158 %dir %{_sysconfdir}/@PACKAGE@/service/imap/log 159 %dir %{_sysconfdir}/@PACKAGE@/service/imaps 160 %dir %{_sysconfdir}/@PACKAGE@/service/imaps/log 161 %dir %{_sysconfdir}/@PACKAGE@/xinetd 162 %dir %{_localstatedir}/log/@PACKAGE@ 163 %dir %{_localstatedir}/log/@PACKAGE@-ssl 164 165 # Binaries 166 %defattr(755,root,root) 167 %{_sbindir}/bincimapd 168 %{_sbindir}/bincimap-up 169 #%{_sysconfdir}/@PACKAGE@/scripts/tomaildir++ 170 %{_sysconfdir}/@PACKAGE@/scripts/toimapdir 171 %{_sysconfdir}/@PACKAGE@/scripts/checkpassword.pl 172 173 # Config files 174 %config %{_sysconfdir}/@PACKAGE@/service/imap/run 175 %config %{_sysconfdir}/@PACKAGE@/service/imap/log/run 176 %config %{_sysconfdir}/@PACKAGE@/service/imaps/run 177 %config %{_sysconfdir}/@PACKAGE@/service/imaps/log/run 178 %defattr(644,root,root) 179 %config %{_sysconfdir}/@PACKAGE@/bincimap.conf 180 %config %{_sysconfdir}/@PACKAGE@/xinetd/imap 181 %config %{_sysconfdir}/@PACKAGE@/xinetd/imaps 182 183 # Man pages 184 %{_mandir}/man1/bincimapd.1* 185 %{_mandir}/man1/bincimap-up.1* 186 %{_mandir}/man5/bincimap.conf.5* 187 188 #----------------------------------------------------------------------- 189 %changelog 190 191 * Sun Mar 06 2005 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 192 - Added quoting in the configure script to make it more cross platform. 193 - Updated Copyright notices to include 2005 194 - Remove the log messages about a possible crash when Binc IMAP was 195 unable to grab the mailbox lock. 196 - Maildir fix: Always add :2, to files that are moved to cur/. 197 - Made sure the state of the STARTTLS capability is correct, also when 198 in STARTTLS mode. 199 - The time zone is now removed from the greeting if strftime fails (if 200 the time zone is not set, for example). %Z is used instead of %z, to 201 avoid text time zones ("GMT" becomes "+0100"). 202 - Fixed the BODY response, so if no longer includes any extensions. 203 - The -p short option for --auth-penalty has been removed; it was a 204 conflicting short option. 205 - The LIST reference can now end with the delimiter character. 206 - EINVAL is caught in fsync(), which allows Binc IMAP to work better on 207 an NFS share. 208 - Released 1.2.12final 209 210 * Mon Dec 13 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 211 - Fixed a lockup due to dangling symlinks in the Maildir 212 - Replaced opendir()/dirfd() with open(), and Binc doesn't 213 use O_DIRECTORY anymore. 214 - Fixed a bug with FIELDS in a BODY fetch being empty. 215 - Fixed so EXAMINE no longer writes the cache file. Ensure that 216 the read-only flag is always set correctly. 217 - Fixed so the \Recent flag is always remembered when the flags 218 are reset. 219 - When in read-only mode, all messages earlier marked as 220 expunged are replaced properly in the internal message map. 221 - Fixed a missing space in the response from RFC822.TEXT. 222 - Fixed two bugs when saving the subscribed list on a full 223 file system. 224 - Some compile fixes 225 - Released 1.2.11final 226 227 * Sun Sep 19 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 228 - Released 1.2.10final 229 230 * Mon Sep 13 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 231 - For proper crash safety also on Linux systems, sync the directories 232 as well as the files. 233 - In the MIME parser, count the number of lines and bytes in 234 the parent multiparts correctly. 235 - When committing flags changes, restart the filename scan if the 236 rename fails because the file name suddenly changed. 237 - Treat INBOX as case-insensitive when using wildcards in LIST and 238 LSUB. 239 - Replaced '%i' with '%d' in convert.h to avoid strange problems with 240 sprintf generating wrong Maildir file names. 241 - Binc no longer checks invalid mailbox paths like ".." and "". 242 - Released 1.2.10beta1 243 244 * Mon Jul 26 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 245 - Fixed a bug which made all mailboxes read-only if an EXAMINE had 246 been used throughout the session. 247 248 * Tue Jul 20 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 249 - Made the README paths correspond to the ones generated by configure. 250 - Released 1.2.9final 251 252 * Mon Jul 12 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 253 - Fixed a few bugs where session.setLastError() was used instead of 254 session.setResponseCode(). 255 - Fixed a charset detection bug in SEARCH. 256 - Set Binc to ignore the SIGPIPE signal. 257 - Released 1.2.9beta2 258 - Fixed a compile error. 259 - Released 1.2.9beta3 260 261 * Sun Jul 04 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 262 - Fixed a bug with concurrent access when both clients issued 263 EXPUNGE requests on messages that had arrived within the same 264 session. 265 - Released 1.2.9beta1 266 267 * Wed Jun 09 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 268 - Binc IMAP now treats all other checkpassword exit codes than 0, 2 269 and 111 as "authentication failed". 270 271 * Sun Jun 06 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 272 - Instead of keeping silent about a failed pending update check, the 273 server will not explicitly close the connection, as it was intended 274 for it to do. 275 - The cause of an error caused by failures to read the cache or 276 uidvalidity files is properly reported now. 277 - If no umask is passed via the conf files, the umask is not set 278 (inherited by the parent process instead). 279 - Released 1.2.8beta1 280 281 * Thu Jun 03 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 282 - Fixed a bug with Session::loadSubscribe trimming entries read from 283 .bincimap-subscribed, reported by Seth LaForge. 284 - Fix a bug with subscribing to mailboxes. Now, mailboxes can only be 285 subscribed to once. 286 - Allow FETCH to give FLAGS, EXISTS and RECENT notifications for 287 tighter synchronization with the depot. 288 289 * Sun May 31 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 290 - Compile fix for FreeBSD (pid_t) 291 292 * Sun May 30 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 293 - A compile fix in configure.in by removing unnecessary quoting. 294 295 * Tue May 25 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 296 - Added Henry Baragar's patches to fix the untagged NO responses 297 for unsupported commands. The responses are now tagged. 298 299 * Sun May 23 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 300 - UID STORE now responds with a UID data member as part of the 301 untagged FETCH responses. 302 - When copying, the message is now rewound before data is read. This 303 fixes partial copies of messages that have recently been parsed. 304 - bincimapd now takes the mailbox path as an option unqualified 305 argument to bincimapd, which overrides the mailbox path inherited 306 from bincimap-up or set through command line options. This fixes 307 a problem with vmailmgr. 308 - Added Daniel James' patch for fixing fetching of RFC822.TEXT, 309 which should be equivalent to BODY[TEXT] but included the header 310 in the response. 311 312 * Fri May 21 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 313 - Fixed problem with the sequence set '*'. Binc IMAP claimed no 314 messages matched this set, but now the highest UID or sequence 315 number matches. 316 317 * Sun Apr 18 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 318 - Released 1.2.7final 319 320 * Mon Apr 12 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 321 - Added Gerrit's patch to compile on certain 64bit architectures. 322 323 * Sun Apr 03 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 324 - No longer wastes time in configure step checking for features that 325 we don't check defines for in the sources. 326 - No longer checks for sstream/ostream - we don't use them anyway. 327 - Updated man pages to be slightly more accurate. 328 - From now of, Binc IMAP's tarballs by default install under 329 /usr/local, and setting --prefix will change this path. All Binc 330 IMAP files will be contained inside this directory. The RPM packages 331 are completely unchanged from before, and still use /opt/bincimap, 332 and so on. 333 - Updated README to reflect this new packaging style. 334 - Binc now generates maildir message names that conform to DjB's 335 suggestions for modern delivery agents. 336 - Released 1.2.7beta6-1 337 338 * Sun Mar 07 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 339 - Fixed a mistake with handling the new command line parser. The 340 precedence of global config, command line arguments and local config 341 are now identical to that in 1.2.6. 342 - Released 1.2.7beta5-1 343 344 * Thu Mar 04 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 345 - configure.in now also searches correctly for the OpenSSL include 346 path. 347 - Updated info on default locations for service files in README.in. 348 - Removed down files from supervise directories. 349 - Added option to force scanning when doing a pendingUpdates(). 350 This will also force all messages in new/ to be moved to cur/ 351 regardless of how the messages were stored there. 352 - Refined the algorithm for moving messages from new/ a tad; messages 353 created by Binc IMAP now get the string BincIMAP in their name. 354 Messages with BincIMAP in their name are always moved from new/ 355 immediately, otherwise the timestamp is checked. 356 - Released 1.2.7beta3-1 357 - Typo in operator-append.cc fixed. 358 - Released 1.2.7beta4-1 359 360 * Tue Mar 02 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 361 - COPY now uses the canonical form of the destination mailbox, so copying 362 to "Inbox/go" is interpreted as "INBOX/go". 363 - Released 1.2.7beta2-1 364 365 * Sun Feb 21 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 366 - SELECT also reports RECENT and EXISTS on empty mailboxes. 367 - Fixes to the prioritization of default args over command line options. 368 - Fixes to configure.in allow correct handling of --with-openssl-libs 369 option. 370 - The magic "." mailbox with IMAPdir is now skipped. 371 - Added configure.in autocheck for -lsocket. 372 - Default values of --localstatedir, --sysconfdir and --datadir fixed. 373 - Fixed errors in README and README.SSL. 374 - Released 1.2.7beta1-1 375 - Fixed more errors in configure.in with detection of SSL libs. 376 377 * Tue Feb 10 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 378 - Replaced command line parser, as a first step towards completely 379 eliminating all mysterious problems related to the ordering of 380 command line arguments. 381 382 * Thu Feb 05 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 383 - Released 1.2.6-1 384 385 * Tue Feb 03 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 386 - Obfuscated email addresses in AUTHORS and sources files. 387 - Removed tests directory from distribution 388 - Moved xinetd and service scripts to localstatedir, which defaults 389 to /var/opt/bincimap. This has not yet been enabled in the RPM 390 files. 391 - Fixed the checks for the OpenSSL libraries. It now also attempts to 392 link OpenSSL, and searches several standard locations. 393 - The configure script now treats --enable-static and --disable-static 394 properly. 395 - Cleaned up configure.in somewhat 396 - Added "ca path" to bincimap.conf and command line options. 397 - The new "ca path" and "ca file" options are now used to read CA 398 certificates. This did not work properly before. 399 - Updated man pages with these new changes. 400 - Added proper handling for systems that use <sys/wait.h> instead of 401 <wait.h>. 402 - Increased internal transfer buffer size from 1024 bytes to 8192 bytes. 403 - Added a fix in io-ssl.cc which only does a select on stdin if 404 SSL_pending() returns 0. This prevents a lockup in APPEND, among 405 others. 406 - A fix in maildir-readcache.cc handles empty mailboxes properly, 407 also when the cache files are missing. 408 - The cache files are always generated on first select, unless the 409 mailbox is selected in read-only mode (EXAMINE). 410 - Improved documentation and logging in maildir-scan.cc. 411 - Speedup in copying of files. We no longer wait 1 second for each 412 copy, but only as many microseconds as necessary for ensuring that our 413 own file names do not collide. We still wait one second before moving 414 external new/ messages into cur/. 415 - Bumped cache file format because of a regression introduced in 1.2.4 416 which miscalculated message sizes, causing lockups. 417 - Fixed the bug that miscalculated message sizes. 418 - Fixed mime-printheader.cc. The merge of the output of BODY[TEXT] 419 and BODY[HEADER] is now exactly the output of BODY[], and its size 420 is the same as RFC822.SIZE. 421 - Fixed a bug in APPEND where months were stored off-by-one. 422 - APPEND now reads chunks of 8192 bytes instead of 1024. 423 - Improved algorithm in APPEND make the code easier to read and 424 maintain. 425 - Added --depot=[Maildir++|IMAPdir] command line option. 426 - 1.2.6beta5-1 427 428 * Tue Jan 20 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 429 - Removed time_t <-> int implicit conversion and overload ambiguity. 430 - Rewrote the flow of the APPEND command, and the readStr command 431 in io.cc. 432 - Fixed behavior of fetching TEXT attribute. 433 - 1.2.6beta3-1 434 435 * Fri Jan 16 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 436 - Fixed a bug where FETCH sometimes claimed that mime parts had 437 the wrong size. 438 - Reverted an erroneous change from 1.2.3 to 1.2.4 in io.cc, where 439 readStr() no longer initialized the input buffer to "". 440 - AppendOperator now stores the correct date on saved messages. 441 - 1.2.6beta2-1 442 443 * Wed Jan 14 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 444 - Two bugs were fixed that prevented a message that was saved to a 445 mailbox from getting the requested internaldate. 446 - A bug in the unfolding of MIME headers erroneously removed what was 447 believed to be comments from within quoted text. This messed up 448 parsing multipart messages with parenthesis in their boundary 449 strings. 450 - 1.2.6beta1-1 451 - Removed folder prefixes from header comments in all files. The 452 comments now only mention the base name of the file. 453 454 * Mon Jan 12 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 455 - LIST and LSUB now return X if X/* is queried for, as recommended 456 by Marc Crispin on the IMAP protocol list. 457 - AUTHENTICATE PLAIN now writes "+ \r\n" instead of "+\r\n" as an 458 initial response. KMail got confused by only the "+", while pine 459 got confused by "+ OK". This compromise makes AUTHENTICATE PLAIN 460 work for both clients, while still being completely IMAP compliant. 461 - Added Daniel James' patch which fixes HEADER.FIELDS.NOT behavior. 462 463 * Fri Jan 09 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 464 - Fixed problem with APPEND locking up 465 - Fixed bug where clients were not informed when messages were 466 expunged. 467 - 1.2.5-1 468 469 * Thu Jan 08 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 470 - Headers now display 2002-2004 in copyright notice. 471 - 1.2.4-1 472 473 * Wed Jan 07 2004 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 474 - Removed mime-printstruct.cc - it caused compile problems, and is 475 not in use. 476 - Added Zak Johnson's patch to fix TRYCREATE 477 - Added Jason Parson's patch to fix a problem with creating lock files. 478 The open function didn't get the mode argument, and the lock was 479 created with random mode bits set. 480 481 * Thu Dec 18 2003 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 482 - Removed lex/yacc storage parser and replaced it and the whole 483 Storage class with a new approach. This uses less memory and is 484 faster. Refactoring of units depending on Storage was required. 485 - Binc no longer requires the SSL cipher list to be set. If left 486 empty or not set, the default ciphers in OpenSSL are used. 487 488 * Mon Dec 15 2003 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 489 - Removed memory bloat. Binc IMAP no longer reads entire fetch 490 responses into memory before outputting them, with the exception 491 of header fetch responses. 492 493 * Mon Dec 08 2003 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 494 - Fixed two bugs in FETCH that messed up the fetch attributes and 495 gave the full header when fetching only selected fields. 496 - Fixed a bug in the MIME parser. We now successfully parse 497 Mark Crispin's torture tests completely. 498 499 * Fri Dec 05 2003 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 500 - Server now correctly displays BAD response if the stub is not 501 parsed correctly. 502 503 * Thu Dec 04 2003 Andreas Aardal Hanssen <andreas-binc@bincimap.org> 504 - Added README.SSL 505 - README and README.SSL now mention the LifeWithBincIMAP.org site. 506 507 * Tue Dec 02 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 508 - The version number in the IMAP greeting can now be switched off with 509 the "version in greeting" option in Security in bincimap.conf. 510 - The conf files now accept the '#' character as the start of a comment, 511 except when quoted. 512 - Log now reports correct number of (unencrypted) bytes read or written. 513 514 * Fri Nov 28 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 515 - Implemented support for fetch attributes ALL, FULL and FAST, which 516 for some reason had no implementation yet. 517 - Fixed two bugs in operator-authenticate.cc in reading input to the 518 AUTHENTICATE command. Basically the server would loop forever if 519 the client suddenly disconnected while Binc was reading the 520 arguments. 521 - Leaving the jail settings in Security{} in bincimap.conf empty 522 will prevent bincimap-up from entering the chroot jail and becoming 523 the jail user/group, but will no longer issue any warnings about it. 524 - Greeting now uses (C) after Copyright instead of (c) before it. 525 - Removed almost all time(), alarm() and signal() use. Use of this 526 technique for detecting timeouts is very error prone. We now use 527 select() instead. 528 - Major changes to parser allow better detection of timeouts, and more 529 proper error reporting. 530 531 * Tue Nov 25 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 532 - Applied Zak Johnson's patch for fixing a typo in using the 533 "environment ip variable" setting in bincimap.conf. 534 535 * Tue Nov 17 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 536 - Fixed problem in maildir.cc where messages that are created with a 537 given internaldate always got time(0) instead. 538 539 * Tue Oct 28 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 540 - Fixed typos in README 541 542 * Tue Oct 04 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 543 - Added Gerrit's patch to solve operator<< ambiguous overload. 544 545 * Tue Sep 29 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 546 - Added doxygen docs. 547 548 * Fri Sep 26 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 549 - Added Jeremy Rossi's patch, which allows plain text authentication 550 if the environment variable ALLOWPLAIN is set. This can be used by 551 tcpserver to allow plain text authentication for clients connecting 552 from certain IP addresses. 553 554 * Tue Sep 23 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 555 - Added cache to LIST requests - speeds up consecutive LIST requests 556 significantly. 557 558 * Sun Sep 21 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 559 - Added new scripts to files section in spec file. The scripts were not 560 installed with the earlier rpm packages. 561 562 * Sat Sep 20 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 563 - Added scripts: "toimapdir", "tomaildir++" and "checkpassword.pl" 564 - Fixed two bugs in the MIME parser. 565 - Improved error reporting when creating mailboxes with invalid names. 566 - 1.2.3-1 567 568 * Thu Sep 18 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 569 - Fixed STATUS to more properly report recent and uidnext. 570 - Fixed maildir-scan.cc to correctly parse unique part of messages that 571 erroneously contain more than one ':'. Specifically, the former parser 572 assumed the ':' was always followed by ",2". 573 574 * Wed Sep 17 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 575 - Fixed problem with some mailboxes being marked as \Noselect when 576 selectable. Not related to Mozilla mailbox error. 577 - Removed some useless log output. 578 579 * Sun Sep 14 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 580 - Fixed memory leak in bincimapd by adding reference counting. 581 - LSUB sets \Noselect again 582 - bincimap-subscribed is now called .bincimap-subscribed. The format is 583 greatly simplified. Existing subscribe-files are automatically 584 converted to the new format. 585 586 * Wed Sep 10 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 587 - "make cert" no longer uses absolute paths for mktemp and openssl. 588 - LSUB always reads subscribed entries from bincimap-subscribed. 589 - LSUB does not set the \NoSelect flag. 590 - 1.2.2-1 591 592 * Tue Sep 09 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 593 - Fixed bug in MIME parser where message sizes were mixed up, causing 594 some bodies to be reported as empty. Pine reacted to this bug by 595 reporting an unexpected message size. 596 597 * Sat Sep 06 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 598 - Fixed bug in fillInputBuffer when converting CRLF files. 599 600 * Fri Sep 05 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 601 - Greeting now displays time in 24h style instead of 12h style 602 with missing AM/PM. 603 - Fixed bug in MIME parser where mozilla did not display attachments 604 correctly. 605 - MIME parser speedup for partial content fetches 606 - MIME parser now uses unsigned ints everywhere. 607 - Artifact off-by-two error in mime parser is now gone. 608 - BODY response now correctly terminates with a matching ')'. 609 610 * Fri Sep 04 2003 Jurgen Botz <jurgen@botz.org> 611 - parameterized rpm for '--without ssl' and '--with inusr' 612 - parameterized version and release (use with --define) 613 - use configure macro so all the paths are passed to configure 614 (this might help in future if more paths get used) 615 - fixed the install and files sections to allow installing into 616 either /usr or /opt while conforming to FHS 617 - shared directories shouldn't be owned by the package (i.e. /opt, 618 /etc, etc.) 619 - use the doc macro to install doc files 620 621 * Tue Sep 02 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 622 - COPY now correctly reports errors with [TRYCREATE] if the destination 623 mailbox does not exist. 624 - supervise files are now in service/ and not supervise/. 625 - 1.2.1-1 626 627 * Sun Aug 31 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 628 - Fixed so supervise/imaps/run and log/run are copied from the correct 629 source for "make install" 630 - Fixed bug in STATUS with Maildir where only messages whose file names 631 started with a digit were counted. 632 - bincimapd man page now has an ENVIRONMENT section. 633 634 * Fri Aug 29 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 635 - Removed '-v' option from all 'rm'. This option is not defined on 636 OpenBSD. 637 638 * Thu Aug 28 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 639 - Fixed problem with hanging bincimapd 640 - Known bug: STATUS does not report correct UIDNEXT when there are recent 641 messages. A temporary fix has been added, which has a non serious race 642 condition. 643 - 1.2.0-1 644 645 * Sat Aug 23 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 646 - BincStream is now a subclass of ostream again, after reports about 647 hanging processes. 648 - Added "make cert" for creating an SSL certificate. 649 - Changed default certificate location in bincimap.conf to the same 650 directory as bincimap.conf. 651 - Passing --localstatedir to configure now sets the prefix for the log 652 dirs for multilog. 653 - The log/run files now log to the localstate set directory. 654 - Added version to README file. 655 - "make install" no longer overwrites existing conf/run/xinetd files. 656 - Added notice to end of "make install" output. 657 - Now reports argument (hasn't done this for a while). 658 659 * Fri Aug 22 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 660 - RENAME now renames hierarchies of mailboxes correctly also when the 661 destination name is longer than the original name. 662 663 * Sun Aug 17 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 664 - Fixes to mime-utils.h make it compile on more platforms. 665 - TestBincStream binary is no longer installed 666 - Depot code removed from bincimap-up, it doesn't belong there. 667 - operator-logout doesn't have mailbox code in bincimap-up. 668 - 1.2.0b1-1 669 670 * Sat Aug 16 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 671 - Replaced fgetcCRLF with a buffering much simpler alternative. Also 672 with support for Mac files (so \r, \r\n and \n are all converted to 673 proper \r\n before processing). 20% speed increase on parser because 674 of this. 675 - Fixed memory leak problem with fopen and open used on same file 676 descriptor. 677 678 * Fri Aug 15 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 679 - Fixed bug where UID COPY treated sequence set as sequence numbers and 680 not UIDs. 681 682 * Thu Aug 14 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 683 - Fixed link copying. Messages are now sorted by internaldate on first 684 select. Then it is sorted by arrival. This allows copying while keeping 685 internaldate. Note that we now keep both flags and internaldate when 686 copying or appending messages. 687 - 1.1.9-1 688 689 * Tue Aug 12 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 690 - Fixed issues with cache and losing file descriptors. 691 692 * Mon Aug 11 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 693 - Decided to bump the cache version number because the new message 694 sorting algorithm gives a different order of arrival than before. This 695 forces all new clients to resync their mailboxes. 696 697 * Thu Aug 07 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 698 - Any files in cur/ and new/ are treated as messages. 699 - Internaldate of messages is now acquired by stating files and not 700 by simply inspecting the filename. 701 702 * Thu Jul 31 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 703 - Replaced all use of exceptions with return values, or sometimes by 704 ignoring errors that are not worth reporting. 705 - Size of binaries is down by 35% when Binc IMAP now compiles with 706 -fno-exceptions. Those 35% extra were in the data segment, 707 and they were actually not shared among processes. No thanks to the 708 gcc team for bloating g++ binaries that use exceptions. :-) 709 - Implemented full buffering of input and output. Earlier versions 710 read and wrote data byte by byte, all is now buffered. 711 - COPY and APPEND operations now keep message flags. 712 - Depot -> Mailbox -> Message API is greatly improved. There is now 713 no MIME or Maildir specific code in operators. Approaching point 714 where we can introduce more backends. 715 - Mailbox iterator design is much better than before. Depot and Mailbox 716 iterators are implemented as proxy objects. 717 - Improved processing of messages makes parser single-pass. Measurements 718 have shown a performance increase of over 40%. 719 - Memory footprint of messages is smaller. 720 - Maildir message cacheing is greatly improved, and controlled 721 completely by the MaildirMessageCache singleton. The File class is 722 gone. 723 - Unsigned ints everywhere allow UID, UIDVALIDITY, sequence numbers 724 and sizes to be in the full range 0-4294967295. 725 - Largefile support (O_LARGEFILE). 726 - Renamed Command to Request (which is more accurate). 727 - Renamed BincImapParserSet to SequenceSet. 728 - Improved log output and error reporting. 729 - Fixed a bug with subscribing to mailboxes. If you subscribed to a 730 mailbox that didn't exist (which is ok), it wasn't listed in the 731 output of LSUB. Now it is, but with \NoSelect. 732 - Added openlog patch, which fixes a problem with trash log output 733 when using syslog. 734 - Added the subfolders patch, which fixes the bug where Binc IMAP 735 would claim that no subfolder creation was allowed, although it 736 was. 737 - Switched main development platform to SuSe Linux, so now we have 738 SuSe packages (for 8.2) in addition to the RedHat packages. 739 740 * Sat May 31 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 741 - Fixed bug in operator-capability.cc that did not advertise STARTTLS 742 correctly. 743 744 * Fri May 30 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 745 - All NULL replaced with 0. 746 - Cosmetics on .h files, removed lots of whitespace. 747 748 * Sun May 25 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 749 - More work on the manual 750 - Added manual to distro 751 - 1.1.8-1 752 753 * Fri May 23 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 754 - FETCH ENVELOPE now correctly defaults sender and reply-to fields to 755 the from-field. 756 757 * Thu May 22 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 758 - Applied Gerrit's patch to allow compile with gcc-3.3 759 - Fixed a bug for strstream users in BincStream that assumed a 760 stream was 0-terminated after a clear() even though that wasn't 761 always true. 762 - Fixed typo in operator-login.cc that disallowed plain text auth 763 in ssl connection. 764 - Removed extensive logging from operator-append.cc 765 - Added more contributors to AUTHORS file 766 - Added Sergei's patch to install-exec-hook and uninstall-hook 767 768 * Tue May 20 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 769 - Minor change to mailbox/mailbox.h allows linking of bincimap-up without 770 adding the mailbox library. 771 - 1.1.7-1 772 773 * Mon May 19 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 774 - Added short options support for the new argument parser. Now has 775 more logical short option characters than before. 776 - Updated man pages with new short options 777 - Removed the --debug argument completely. Use --ssl instead. 778 - Added workaround for compiler bug using FreeBSD and gcc 2.95.x. 779 - Wrote more on Binc manual. 780 781 * Sun May 18 2003 Eivind Kvedalen <bincimap@eivind.kvedalen.name> 782 - addCapability added to BrokerFactory 783 - Default capabilities moved to CapabilityOperator::CapabilityOperator. 784 - Old argument parser removed 785 - New argumentparser implemented 786 - Storage::hasKey added 787 - Storage::get added 788 - Command::extra is now public 789 - Session::parseCommandLine added 790 791 * Sun May 18 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 792 - Added first draft of the Binc IMAP manual. 793 - Removed redundant getcwd() from bincimapd.cc. 794 - Removed gnugetopt / getopt_long requirement. 795 - Updated html documentation 796 - Fixed a bug in FETCH with multipart extension data. 797 - 1.1.6-1 798 799 * Tue May 13 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 800 - Added basic statistics to log output when client logs off 801 - A temporary hack in the mime parser was added to prevent empty mime 802 parts to have a negative size. 803 - Added uninstall hooks. 804 805 * Mon May 12 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 806 - manpages are now installed correctly from the tarball. 807 - log prefix is now fixed and enabled for multilog type logging only 808 - getpid is only grabbed once in the IO constructor 809 - Session now properly supports importing and exported data to environment 810 - bincimapd no longer reads command line arguments or globalconfig, 811 but inherits them from the environment. 812 - man pages for bincimap-up and bincimapd were updated with new command 813 line options (all are passed to bincimap-up) 814 - service and xinetd files no longer pass configuration details to 815 bincimapd. 816 - CAPABILITY no longer reports auth or starttls capabilities in 817 authenticated state 818 - Removed excessive logging from LIST output. 819 - Fixed "auto create inbox" functionality for both empty and non-empty 820 Mailbox paths, and for both IMAPdir and Maildir++. 821 - Removed intercomerr tunnel from authenticate.cc 822 - authenticate.cc exports state to environment before invoking 823 authenticator. 824 - Added install hooks for service/ and service/log/ files 825 - Added install hooks for xinetd and conf files. 826 827 * Sat May 10 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 828 - bincimapd now interprets command line args before anything else (allows 829 --version etc..) 830 831 * Thu May 08 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 832 - Updated man pages to point to the bincimap.org site 833 834 * Mon May 05 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 835 - Added Gerrit's be-nice patch "diff" to convert.h, replacing a switch 836 with a series of if-tests, working around a compiler bug on the Alpha 837 platform for FreeBSD and Debian ports. 838 - LSUB now always sorts subscription list before showing it to the 839 client. 840 - Removed log output from LOGIN - authenticate.cc logs enough already. 841 - In authenticate.cc, jail is entered after first chunk of data (the 842 ok response) is written from bincimapd. Fixes bug where retrying a failed 843 password would always fail. 844 - Improved log output in authenticate.cc. 845 - Removed the kill(...) calls in authenticate.cc, they could lead to some 846 unintended behavior if pids cycle. 847 - Improved log output in bincimap-up and bincimapd. 848 - In INSTALL, inserted one line at top referring to README. 849 - In README, cleaned up examples, added notes about securing the service. 850 - Updated FAQ with notes on configuring mailboxes and submailboxes. 851 - Fixed "make install" - added hooks that create the sysconfdir directories 852 and copy conf files to right places. 853 - configure --prefix and --sysconfdir now have default values and are no 854 longer required arguments. 855 856 * Wed Apr 23 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 857 - Moved addressToParenlist into Address class 858 - Removed some switches from inline convert.h functions 859 - Added Tools singleton class, meant to take over for convert.h, 860 regex.h etc. 861 - Started working on exporting and importing whole session object 862 to/from environment. 863 - Made some very minor improvements to log output in authenticate.cc 864 - For Maildir, messages in new/ are now also counted as unseen. This 865 bug caused several clients to report the wrong number of unseen 866 messages. 867 - Added some ostream and ostream.h includes to io.cc and added std:: 868 prefixes. 869 - SUBSCRIBE no longer checks if what you wish to subscribe to is a 870 valid mailbox. 871 - COPY and SEARCH use dynamic arrays instead of stack allocated 872 arrays. This is to satisfy ISO C++ restrictions. 873 - Removed some unused variables 874 - umask is now read as an unsigned int 875 - Cleaner exit in authenticate.cc after adding breaks 876 - Fixed bug in LSUB output. Folders with dots and backslashes are 877 now properly supported. 878 - 1.1.5-1 879 880 * Thu Apr 10 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 881 - Removed optimization in LIST, as it turned out to give wrong 882 interpretation of leaf nodes. Improved algorithm is on its way. 883 - Changes to BincStream's dummyclass for cross-platform compatibility 884 - Project now compiles with "-Wall -ansi -pedantic". On some platforms, 885 only if SSL support is not included (OpenSSL headers do not always 886 compile under these restrictions). Only one warning is given in 887 greeting.cc where '%z' is not ISO C++. 888 889 * Mon Apr 07 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 890 - Renamed BincImapParserCommand to Command 891 - Fixed FETCH BODY, acted like BODY[] 892 - Removed tunneling of log data, bincimapd and bincimap-up now log 893 seperately. 894 - Fixed bug in APPEND parser which disallowed empty flag list. 895 - 1.1.4-1 896 897 * Sun Apr 06 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 898 - LIST now first checks with the wildcard, then does a test for wether 899 or not it's a mailbox. Speed-up. 900 901 * Fri Apr 04 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 902 - Fixed flags in LIST 903 - LIST now uses Depot::iterator to find entries 904 - LIST does not include elements that are not mailboxes unless they 905 qualify as superiors of mailboxes. 906 - Minor fixes in Storage::save method now may be a bit faster. 907 - Removed SSL comment in bincimap-up 908 - Fixed wording in error message when running an undefined/disallowed 909 command 910 - Removed some unused variables 911 - Removed trailing CR from error when a syntax error is discovered in 912 storage files. 913 - Minor change to storage grammar action might speed up parsing of storage 914 files a tad. 915 - Fixes to BincStream allow it to work fine with iomanip/ostream 916 operators. Old strstream does not work. 917 918 * Thu Apr 03 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 919 - Added Ben Schumacher's regex patch which fixes a regex problem under 920 FreeBSD. 921 - Replaced all sstream/stringstream with BincStream, cleaning up the 922 code a bit. 923 - Made delimiter in toRegex configurable. 924 925 * Wed Apr 02 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 926 - 1.1.3-1 927 - Removed Local variables from everywhere 928 929 * Tue Apr 01 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 930 - Created Status class, and added getStatus and getStatusID to Mailbox. 931 - Moved much of StatusOperator process code into Depot. 932 - In bincimap-up, IP from environment is now inserted into Session. 933 - When unable to translate mailbox name to filename, Depot now gives 934 more comprehensible error message. 935 - Removed some unused com/logger variables 936 - Improved feedback from parser for some operators. 937 - Added --with-ssl and --without-ssl to configure. 938 939 * Mon Mar 31 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 940 - Added includes, fixing compile problems with FreeBSD. 941 - Removed log info about operator exception 942 943 * Sun Mar 30 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 944 - Fixed so STARTTLS starts an SSL negotiation. This broke in 1.1.2-1. 945 946 * Sat Mar 29 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 947 - Added jail-path, jail-user and jail-group to argument list. 948 - Updated man pages. 949 - Added timeout to select in authenticate.cc 950 - 1.1.2-1 951 952 * Fri Mar 28 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 953 - Fixed segfault when calling bincimapd directly with invalid contents 954 of BINCIMAP_LOGIN in environment. 955 - Added default umask 0777 if none is provided. 956 957 * Thu Mar 27 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 958 - Moved create, delete and rename logics into Depot and out of Operators. 959 I'd like to enforce that only the Depot knows anything about the 960 map between file names and mailbox names. 961 - Fixed a bug in rename that disallowed renaming a/b/c/d to e/b/c/d 962 unless a, a/b, a/b/c and a/b/c/d all existed. 963 - Added bumpUidValidity method to Mailbox and Maildir 964 - Moved compareNodes in search operator into SearchNodes class. 965 - Added chroot, setgroups, setuid and setgid to bincimap-up stub. Added 966 configuration options to conf file in new "Security" section. 967 - Created IOFactory singleton, which now handles IO objects correctly. 968 - Seperated regular IO from SSL enabled IO. bincimapd does no longer link 969 against the ssl libraries and has no ssl code in it. 970 - Stripped down libraries in bincimap-up, reducing code size. 971 - Added NoopPendingOperator and removed pendingUpdates from regular NOOP 972 operator. bincimap-up uses only the stripped NOOPoperator. This allows 973 us to remove the pendingupdates code from bincimap-up. 974 975 * Wed Mar 26 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 976 - Fixed a bug in the mime parser where the byte offset was used to seek 977 using fgetcCRLF. Replaced that with fseek and now fetching headers/mime 978 of sub-mimeparts is working fine again. 979 - Fixed similar problem in mime-printbody, which now seeks using fseek. 980 - bincimap-up now pipes log data from child. 981 - Removed support from anything other than stderr logging from 982 authenticated daemon. 983 - Cleaned up the logics in FETCH when fetching different types of BODY 984 data. Now supports fetch att MIME correctly. 985 - 1.1.1-1 986 987 * Tue Mar 25 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 988 - Added iterator to Depot class for stepping through depot entries 989 - Added hierarchical rename 990 - Fixed problem with some clients not allowing users to subscribe to 991 subfolders 992 - APPEND now uses Depot to acquire file names 993 - LIST and LSUB removes leading and trailing hierarchy delimiters 994 - Added examine operator (missing in 1.1.0) 995 - Set default "verify peer" to "no". 996 997 * Mon Mar 24 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 998 - Updated README 999 - Added technical documentation draft 1000 - Added IMAPdir spec draft 1001 - Removed usage.cc. Replaced with a pointer to man pages. 1002 - Added bincimap-up binary 1003 - authenticate.{cc,h} now sets up a tunnel between the client and the 1004 authenticated daemon. SSL is managed by the unauthenticated stub. 1005 - Started enforcing conventions for formatting the source files. Document 1006 is under progress. 1007 - bincimapd, now the authenticated daemon, can no longer do any SSL 1008 related activity. 1009 - bincimapd now reads BINCIMAP_LOGIN from the environment to determine 1010 what the response to the stub's authenticate or login commands should be. 1011 - To meet with checkpassword's conventions, bincimapd now exits with code 1012 111 on internal errors. 1013 - Removed quite a lot of debugging info 1014 - const-ified more functions. 1015 - Added IMAPdir and MaildirPP classes 1016 - Removed greeting.h 1017 - showGreeting is now self declared. 1018 - Removed most of the hungarian notation in the main classes 1019 - Added Session instance where needed 1020 - LIST and LSUB now use Depot to identify mailbox types 1021 - Added access to argc and argv to Session 1022 - Added pending() method to IO, to check for pending data. Always 0 if not 1023 MODE_SSL. 1024 - readChar can now return -2, meaning that in SSL mode the read call must 1025 be repeated. 1026 - DELETE in maildir.cc can not delete mailbox (which was actually allowed 1027 before) 1028 - Maildir now does not care about IMAP mailbox names, only file names. 1029 - Removed "singular" concept from args parser. 1030 - Updated xinetd and supervise run files to match new invocation method. 1031 - Added goals doc 1032 - LIST no longer sets \Marked 1033 - 1.1.0-1 1034 1035 * Mon Mar 24 2003 Eivind Kvedalen <eivind@kvedalen.name> 1036 - Examine command added 1037 - SelectOperator now contains code for Examine command 1038 - SearchOperator now contains SearchNode class 1039 - Operator::parse is now an abtract method 1040 1041 * Fri Mar 21 2003 Eivind Kvedalen <eivind@kvedalen.name> 1042 - select function call added to IO class 1043 - IO::readChar now takes a timeout argument 1044 - TimeoutException class added 1045 - ModuleException class added 1046 1047 * Thu Mar 20 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1048 - Removed bincimap-auth-checkpassword and bincimap-uidpwd completely 1049 from the project 1050 - Added privilege seperation. Unauthenticated daemon is bincimap-up. 1051 Authenticated daemon is bincimapd. Only checkpassword compatible 1052 authenticators are supported. 1053 - Enabled local config settings. Users can now choose path, default 1054 Mailbox type and depot type (IMAPdir/Maildir++). Default is Maildir++. 1055 - Added full support for IMAPdir and Maildir++ via pluggable Depot 1056 objects in DepotFactory. 1057 - Made DepotFactory and BrokerFactory singletons. 1058 - Made delimiter character a variable in depot. 1059 - Cleaned up some code. bincimap-up.cc and bincimapd.cc still look very 1060 bad. 1061 - Added technical documentation draft to docs 1062 - Added updated FAQ to docs 1063 - Added IMAPdir spec draft to docs 1064 1065 * Tue Mar 18 2003 Eivind Kvedalen <eivind@kvedalen.name> 1066 - Fixed error messages in the various implementations of 1067 the Operator::parse method. 1068 1069 * Tue Mar 18 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1070 - Improved Storage::save algorithm 1071 - Improved Storage::load algorithm 1072 - Removed excessive logging 1073 - Changed pendingUpdates to optionally rescan for changes 1074 - Added speedup to SEARCH 1075 - Added minor speedup to fgetcCRLF functions 1076 - Storage now saves in PRETTIFY mode instead of MINIMIZE. Adds speed. 1077 The MINIMIZE algorithm is undergoing maintenance. 1078 - Moved subscribed, cmdargs, globalconfig, localconfig, userid, ip 1079 and state into new singlton called Session. 1080 - Added session.cc and session.h 1081 - Moved RETURN enum into Operator 1082 - Moved STATE enum into Session 1083 - Removed bincimapd-config.{cc,h}, bincimapd.h, bincimapd-commands.{cc,h} 1084 - Added initconfig.cc with most of bincimapd-config.cc's old content. 1085 1086 * Mon Mar 17 2003 Eivind Kvedalen <eivind@kvedalen.name> 1087 - Clean-up in depot.h 1088 - getOperator added to Broker 1089 - parse() method added to Operator classes 1090 - parse() method implemented in operators. Code moved from 1091 recursivedescent.cc 1092 - BincImapParserData added to BincImapParserCommand class 1093 1094 * Mon Mar 17 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1095 - Fixed a silly bug in SEARCH UID which caused a segfault. 1096 - authenticate() now takes a Depot as input. 1097 - Initial mailbox create (INBOX) is done with default mailbox from 1098 Depot 1099 - pendingupdates() now takes a Mailbox as input 1100 - Removed global mailbox pointer from bincimapd-config.{cc,h} 1101 - Changed error when expecting set instead of string in recursivedescent.cc 1102 - Weaved in Depot support in all operators 1103 - Removed references to global mailbox pointer. 1104 - Added rollback to UID operator parsers. 1105 1106 * Sun Mar 16 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1107 - Constified loads of variables in Operators 1108 - Added BincException. All Exceptions now inherit BincException. 1109 - Added Depot. Broker now processes the Depot with the Operator 1110 - Made Operators' process method const. 1111 1112 * Sat Mar 15 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1113 - First stage of new design incorporated. Brokers and Operators are 1114 introduced. 1115 - Converted all functions to operators that work properly. 1116 - Added support for IMAPdir schema. 1117 - Maildir::imapCreate no longer adds the "maildirfolder" file to the 1118 depository. 1119 1120 * Fri Mar 14 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1121 - Removed all other namespaces than Binc. We are moving to a more 1122 object oriented approach. 1123 1124 * Thu Mar 13 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1125 - Renamed MessageDepot to Mailbox 1126 1127 * Tue Mar 11 2003 Eivind Kvedalen <eivind@kvedalen.name> 1128 - Plain authentication bug fixed 1129 - New iterator has been added to MessageDepot class 1130 - Caching of previous messages moved to MessageDepot class. 1131 1132 * Tue Mar 11 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1133 - Auth method no longer uses environment. Uses netstrings. 1134 - Support for gnugetopt (FreeBSD) - untested. Removed support for regular 1135 getopt. getopt_long is now required. 1136 - Updated FAQ 1137 - Improvements in "auto create inbox". 1138 - 1.0.25-2 1139 1140 * Fri Mar 07 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1141 - Added function toCanonMaildir to util 1142 - Fixed a bug in mime-parseheader.cc that didn't set the header length. 1143 - Fixed a bug in imapparser.cc that prevented "FETCH *" requests. 1144 - Moved imap close, select, delete, create, expunge, functionality to 1145 maildir class 1146 - Some cleanups in message depot 1147 - Several functions now use toCanonMailbox 1148 - Cleaned up bincimapd-select.cc 1149 - SEARCH now does not parse header if whole message has already been parsed. 1150 - Better error reporting in most imap functions 1151 - Big speedup in LIST by eliminating unnecessary stats 1152 - Fixed a problem with parsing content type header 1153 - FETCH now only parses header if only header is fetched. (bugfix) 1154 - In authenticate(), depot object is created and lives throughout the 1155 life of the imap session. 1156 1157 * Tue Mar 04 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1158 - Removed inlining from recursivedescent.cc - if the user wants these 1159 inlined, he can compile the source with -O3. 1160 - Cleaned up all Makefile.am files. Removed tab indentation and threw 1161 all files on one line. This hopefully removes automake's funny "seperator 1162 missing" complaints. 1163 - Fixed a bug that prevented a user from fetching only '*'. 1164 - Removed stray blank (0x20) character that was printed as part of the 1165 bodystructure response. 1166 1167 * Mon Mar 03 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1168 - Added exception to COPYING for linking against OpenSSL 1169 - Added COPYING.OpenSSL 1170 - Added GPL note to README 1171 - Some cleanup in getopt code 1172 - Added Caskey Dickson's setuid/setgid patch 1173 - Added Caskey's copy patch 1174 - Cleaned up the IO code 1175 - Removed repr() and syntaxexception code from imapparser 1176 - Moved DELETE into Maildir code 1177 - Cleaned up create and delete code 1178 - Added create and delete properly to MessageDepot 1179 - Added Syntax exception code to exceptions.cc 1180 - Added stderr as a logtype option. It's equivalent to multilog. 1181 - Moved case converted mailbox name out as seperate function 1182 1183 * Sat Feb 22 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1184 - 1.0.24-1 1185 - Added GPL notices to all files 1186 - Gathered all exceptions into one global exceptions file 1187 - Storage class creates shorter aliases than before 1188 - Removed lex/yacc code from argument parser - replaced with getopt 1189 - Fixed Maildir++ complaince in maildir-create.cc 1190 - Fixed message size cacheing 1191 - IO class is no longer a subclass of ostream 1192 - bincimap-uidpwd uses getcwd and not get_current_working_dir 1193 - Added --disable-starttls functionality, and added it to config, usage 1194 and man pages. 1195 - Cleaned up man pages more - added copyright notice 1196 - Added FAQ to docs 1197 - Added contrib area, all contribs are now bundled. 1198 - Some bincimap.conf settings have changed. Defaul for allow plain auth 1199 is "no". 1200 - Minor updates to README 1201 - Moved usage function to seperate file, out of bincimapd.cc 1202 - Moved some configuration details into bincimapd-config.cc 1203 - Now alternatively reads environment variable set in configuration 1204 - All conf file settings can be properly overrun with command line options, 1205 except authenticators. 1206 - In authenticate.cc, proper handling of nonexistant root Maildir 1207 - Append sleeps for a second before returning to ensure IMAP integrity 1208 rules with APPEND. 1209 - Removed comments about Outlook ;) 1210 - CAPABILITY does not advertise STARTTLS if --disable-starttls is passed 1211 - COPY moves chunks of 8k at a time instead of only one byte 1212 - FETCH only full-parses a message at an RFC822.SIZE request if the 1213 size is not already cached. 1214 - LOGOUT no longer cares what's happened to the subscription list 1215 - RENAME says that renaming inbox is not supported, and it properly 1216 explains that you can't rename a folder _to_ INBOX. 1217 - SEARCH parses messages if LARGER or SMALLER is queried for, and if the 1218 size is not already cached. 1219 - STARTTLS will not run if --disable-starttls is passed 1220 - Restructured the RPM file. 1221 1222 * Sun Feb 16 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1223 - 1.0.23-1 1224 - Fixes to the man pages 1225 - Running bincimapd with --version shows version 1226 - Running bincimapd with --help shows complete command line option list 1227 - All conf settings are also command line settings 1228 - Removed option to set CA search path - use the CA file instead 1229 - Fixed problem with LSUB requiring user to quote wildcards 1230 - Auth timeout must be larger than 30 1231 - 1.0.23-2 1232 - Fixed a problem with CREATE which prevented users from creating 1233 new folders. The new/ and tmp/ folders could also be removed by 1234 mistake in this release. 1235 1236 * Sat Feb 15 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1237 - It's no longer allowed to create folders called INBOXsomething, without 1238 the dot. 1239 - Added buffers to IO class to allow logging SSL errors. 1240 - updateFlags in Maildir:: no longer tries to update flags where no updates 1241 have been made. 1242 - All auth modules are now pure C++ 1243 - APPEND, COPY, CREATE, DELETE, RENAME, STATUS checks for valid 1244 Maildir through toMaildir function 1245 - APPEND now fsyncs correct directory 1246 - Fixed the problem with server rejecting "syslog" as logtype in conf file. 1247 - Fixed putenv support in authenticate 1248 - Fixed log output in authenticate 1249 - conf files now use only --prefix 1250 - package is now prefixed 1251 - Split up maildir implementation and mime parser into smaller files 1252 - Added Ivan F. Martinez' teapop authenticator to contrib/authenticators 1253 1254 * Tue Feb 11 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1255 - Removed all the C debug code (for SSL) from the IO class 1256 - Made SSL cipher list configurable 1257 - General clean up in IO class, better error messages. 1258 - SSL peer verification is now optional 1259 - Make install problems are now solved, and conf files are generated 1260 correctly. Only one prefix needed to build the package. 1261 - Man pages! ^_^ 1262 1263 * Mon Feb 10 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1264 - Fixed problem with input parser "lock-up". The error was that the 1265 output wasn't flushed. 1266 - IO class doesn't run openlog twice if both command line args and 1267 conf file say to use syslog. 1268 1269 * Sun Feb 09 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1270 - 1.0.22-1 1271 - Fixed myisprint, allowing Storage class to save correctly. 1272 - Inserted prefix in spec file, as a first attempt to make the 1273 package relocatable. 1274 - Replaced setenv with putenv, allowing compile on Solaris 1275 - LIST now shows nonexisting inferior mailboxes, with the NoSelect 1276 flag set. 1277 - COPY now uses time(NULL) instead of passed timestamp when storing 1278 messages in destination folder. 1279 - No longer creates .bincimap if none exists. 1280 1281 * Sat Feb 08 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1282 - 1.0.21-1 1283 - Minor changes to README 1284 - Added Log section with log type in config 1285 - Added "auto create inbox" to config - valid are "yes" or not "yes" 1286 - Added "auto subscribe mailboxes" for when no subscribed file is found 1287 - Added "umask" to Mailbox section - decides umask for whole session 1288 - Transfer timeout is now used correctly 1289 - Renamed regex files to 'regmatch' to avoid collision with posix regex 1290 - PCRE was removed - in goes posix regex library 1291 - Fixed toMaildir function to return relate rather than absolute path 1292 - Removed PCRE dependencies everywhere 1293 - Added fsync patch for file systems that don't support it - thanks 1294 to Caskey Dickson for spotting this. 1295 - Removed debug logging from Storage implementation. 1296 - Moved mailbox creating into messagedepot and maildir classes. 1297 - Added mode, owner and group settings when creating mailboxes. 1298 - Added syslog support to IO class - somewhat messy, prefixed 1299 - Changed <wait.h> to <sys/wait.h> everywhere 1300 - Removed artifact from checkpassword auth stub, allowing use of non-passwd 1301 based authenticators 1302 - Removed debug logging from pendingUpdates 1303 - All config settings are now read from global config file and used. 1304 - Added command line option --logtype to override log type settings 1305 - Subscription changes are now immediately saved to disk 1306 - STATUS now reports all recent for mailboxes with no cache file 1307 - LOGIN now correctly checks if plain text auth is allowed 1308 - LIST now search relative to cwd, instead of from / 1309 - Un-inlined some functions in FETCH do reduce memory exhaustion during 1310 compile. The inlines are unnecessary. 1311 - CREATE now uses messagedepot::create 1312 - CAPABILITY now reports correctly whether or not plain text auth is 1313 allowed. 1314 - AUTHENTICATE now interprets config correctly wrt plain text auth 1315 - authenticate function now always chdir's into Maildir. 1316 - non chroot should work properly now 1317 - All elements in "auto subscribe mailboxes" are inserted into the 1318 subscribed list if there is no subscribed list. The list is then 1319 saved to disk. 1320 - Subscribed list is saved to current directory instead of / 1321 - Checks for libdl, provides smooth compile under FreeBSD 1322 - Added logtype to service and xinetd files 1323 - xinetd files are now equal for ssl and non-ssl, except for the --ssl 1324 option. 1325 - cleaned up configure.in a bit. 1326 1327 * Tue Feb 04 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1328 - 1.0.19-1 1329 - When a new cache file is created, all messages are not marked as recent 1330 as before 1331 - Fixed big bug with expunged messages. 1332 - Bumped cache & uidvalidity file version to avoid problems with messed 1333 up cache files from expunge bug. 1334 - SSL settings from conf file are now used in IO class 1335 - 1.0.20-1 1336 - Fixed bug: subscription folders are now read as the user authenticates 1337 - Fixed potential buffer overflow with improper use of sprintf 1338 - Fixed service file "xinetd-bincimaps" with relocatable files 1339 - Added README which describes installation procedure with tarball. 1340 1341 * Sun Feb 02 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1342 - 1.0.18-1 1343 - Added config.h support 1344 - Removed -j 2 from spec file 1345 - Removed Config class, replaced all uses with Storage 1346 - Compatibility: prefixed all namespace std-includes with ::. 1347 - Added more GPL headers to source 1348 - Added BEFORE, BODY, KEYWORD, ON, SINCE, UNKEYWORD, SENTBEFORE, 1349 SENTON, SENTSINCE to SEARCH 1350 - More compatibility for lacking sstream support (untested) 1351 - Now allows STORE operations with empty flag list () 1352 - Removed "fromhex" binary from distro 1353 - Fixed autoconf/automake problems with defining correct variables 1354 on all known platforms. 1355 - Removed traces of per-ip-subscription 1356 - Almost all configurable settings can now be set through config file 1357 - time and flags are ignored in APPEND, because the former implementation 1358 and any implementation doing otherwise stands in risk of losing mails 1359 in the depository. 1360 - lex/yacc files are now not processed unless by explicitly performing 1361 a "make grammar" in the args/ and storage/ directories. 1362 - Fixed bug in STATUS which reported negative number of RECENT messages 1363 - COPY no longer stores time stamp or flags 1364 - Now correctly shows LOGINDISABLED in non-SSL mode if plain auth is 1365 not supported. 1366 - Support for AUTH=PLAIN - required by the protocol. 1367 - supervise and xinetd files are now generated and follow configure 1368 prefices, except the log files. 1369 - Fixed bug with expunge and flag updates not getting reported properly 1370 1371 * Sat Jan 25 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1372 - Added special case for not cacheing status folders with 1373 messages in new/ less than one second old 1374 1375 * Tue Jan 21 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1376 - Added support for RENAME. Does not yet support hierarchical rename. 1377 - Fixed a race condition with not detecting folder changes. 1378 - Added compatibility settings in build process (sstream->strstream for 1379 old compilers, untested) 1380 1381 * Mon Jan 20 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1382 - Added workaround for Outlook's broken "Inbox" prefix. If the uppercased 1383 mailbox name is "INBOX", then it is set to "INBOX". If the uppercased 1384 prefix of the mailbox is "INBOX.", then the prefix is replaced with 1385 "INBOX.". This allows Outlook's "Inbox.subfolder" behavior. 1386 1387 * Sun Jan 19 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1388 - Fixed bug with lock file when selecting invalid maildir 1389 - Now only moves files from new/ to cur/ if time_t part shows file is 1390 older than one second. 1391 - Never uses rename - always uses link() to prevent files from getting 1392 lost. 1393 - Fixed fetch problem because of case sensitive matching on mime headers 1394 - Added --enable-static option to configure 1395 - STATUS now returns correct number of RECENT messages. 1396 - Added EXAMINE 1397 - Speed up in scan() first checks for folder chance using stat 1398 - Only 5 log files are kept, and they are rotated at 1MB. 1399 - Fixed problem with gcc2 interpreting setw and setfill different from 1400 gcc3, causing Binc IMAP compiled with gcc2 to sort messages wrongly. 1401 1402 * Mon Jan 13 2003 Andreas Aardal Hanssen <bincimap@andreas.hanssen.name> 1403 - AUTHENTICATE no longer requires first argument to be upper case 1404 - Removed some debug info from the log files 1405 - Fixed problem with getting kicked off when the uidvalidity bounces 1406 at first select. 1407 1408 #----------------------------------------------------------------------- 1409 # Local variables: 1410 # mode: rpm-spec 1411 # End: