$Log$
- Revision 573.100 2001/02/24 17:23:21 ajc
- * More of IMAP STORE. Works for \Deleted now, but we don't have EXPUNGE yet
-
- Revision 573.99 2001/02/24 06:06:28 ajc
- * Wrote a bit of the IMAP STORE command
-
- Revision 573.98 2001/02/24 04:43:13 brian
- * Fixed my listing in developers.txt (finally! :)
-
- Revision 573.97 2001/02/22 18:22:38 nixo
- Mostly made changes to allow client_gets to handle reading a buffer
- larger than SIZ. This required changes all over the place.
- Most of the changes in source were just putting an i in front of the
- cmdbuf variable name for the purpose of having the compiler point out
- to me everything that I had to fix. Sorry if this is bothersome, but
- I know I fixed every last one of them.
- I tried to follow functionality to see where the bigger buffer might
- cause a problem dealing with a smaller buffer. In most cases this was
- in the extract function and lprintf.
- extract is now limited to one token being of max size SIZ. Lprintf now
- does a pre-printf to size the buffer it's going to need to print. If
- this is a performance problem then we'll have to rewrite lprintf.
- Also added getmem, freemem, reallocmem to the debugging version of
- the mallok/phree reallok functions. They basically just check for
- memory overruns upon freeing the memory. I figured it couldn't hurt
- and I thought you might find it useful.
- added 2 vars to the citsession to hold the dynamic buffer for input
- per session. gets freed on session close, so their should be no
- memory leak.
- there's a couple of places where I left source in with that are
- commented out. This is just for reference so you can see what I did.
- remove them if you find them annoying (ex: oldclient_gets())
- fiddled with the control file reader to use the new buffer thing too
- had to change to make it read right.
- for example, clients_gets used to read into the buffer, now
- it gets string copies out.
- hmmm.. there may be overruns there, let me check that.
-
- One thing I'd like to say is that I couldnt' test everything because
- I don't know how to get everything to run, but I changed everything
- in the same manner and I tested some of it, so I think the other
- changes should be fine. Let me know if you see a problem.
-
- Revision 573.96 2001/02/21 05:44:44 ajc
- * Wrote the "citlogin" wrapper, so Citadel client can run directly without
- having to login as bbs first.
-
- Revision 573.95 2001/02/21 05:15:41 ajc
- * Repaired buggy "ALL" macro in IMAP FETCH.
+ Revision 580.47 2001/09/24 18:55:13 ajc
+ * Completed migrating the "netpoll" utility into the serv_network module.
+ Removed this utility.
+
+ Revision 580.46 2001/09/21 20:58:25 nbryant
+ support different log_archive prototype in DB versions prior to 3.3
+
+ Revision 580.45 2001/09/20 04:17:10 ajc
+ * Inbound network authentication working. Fixed a bug in the split-horizon
+ algorithm. Still need to move the 'netpoll' command into the server.
+
+ Revision 580.44 2001/09/18 04:05:04 ajc
+ * Added host/IP and port to node config (client side only)
+
+ Revision 580.43 2001/09/17 23:55:45 ajc
+ * Support for IGnet routing (not tested)
+
+ Revision 580.42 2001/09/16 05:44:51 ajc
+ * serv_smtp.c: instead of doubling delivery retry times unbounded, set a
+ maximum retry time of SMTP_RETRY_MAX (currently set to 12 hours)
+
+ Revision 580.41 2001/09/09 16:19:29 error
+ * Updated PAM configuration file citadel.pam for Red Hat 7.x.
+
+ Revision 580.40 2001/09/09 03:19:38 ajc
+ * cdb_cull_logs() now removes log files as soon as the log_archive() function
+ says it's ok to do so.
+
+ Revision 580.39 2001/09/08 18:58:38 ajc
+ * More changes to the new networker. Added client command for room sharing.
+
+ Revision 580.38 2001/09/07 04:05:27 ajc
+ * You guessed it: still more code for the new networker.
+
+ Revision 580.37 2001/09/06 05:47:29 nbryant
+ check for /usr/include/db3 (for RedHat 6.2; others?)
+
+ Revision 580.36 2001/09/06 05:23:14 nbryant
+ #include fix for glibc 2.1.3
+
+ Revision 580.35 2001/09/06 04:02:34 ajc
+ * A few more updates to the networker
+
+ Revision 580.34 2001/09/06 03:32:41 nbryant
+ build fix for sparc-sun-solaris2.8; i think the dependencies should be
+ set up properly for all platforms now.
+
+ Revision 580.33 2001/09/06 02:55:27 nbryant
+ build fix for Linux
+
+ Revision 580.32 2001/09/06 02:49:22 ajc
+ * Fixed paste-post mode (<.E>nter <A>scii) to append instead of replace when
+ the user hits <C>ontinue (bug reported by Stu Mark)
+
+ Revision 580.31 2001/09/06 01:26:39 nbryant
+ - port to Cygwin (DLL support, etc.)
+ - don't build SMTP module if there's no resolver library (eg on Windows)
+
+ Revision 580.30 2001/09/06 00:54:01 nbryant
+ updated to libtool 1.4.1 and automake 1.5
+
+ Revision 580.29 2001/08/29 02:51:25 ajc
+ * More work on the new networker.
+
+ Revision 580.28 2001/08/25 05:04:57 ajc
+ * Worked a little more on the in-server replacement for netproc
+
+ Revision 580.27 2001/08/22 04:18:17 ajc
+ * Realized that there was lots of similarly broken code in
+ process_rfc822_addr(). Wrote two new utility functions in tools.c
+ stripout() and stripallbut() and used them where appropriate. This should
+ take care of all possible infinite loops.
+
+ Revision 580.26 2001/08/22 03:43:11 ajc
+ * internet_addressing.c: fixed a bug in process_rfc822_addr() that caused the
+ server to jump into an endless loop when an e-mail address contained
+ unbalanced angle brackets.
+
+ Revision 580.25 2001/08/15 04:26:02 ajc
+ * Added split horizon and delete-after-spool to the new networker
+
+ Revision 580.24 2001/08/14 02:41:57 ajc
+ * Began the migration of netproc into part of the serv_network.c module instead
+ of a standalone program.
+
+ Revision 580.23 2001/08/11 22:35:40 nbryant
+ updated citadel-with-berkeley-db.txt.
+ - updated build instructions
+ - improved backup procedures to be safer and more space-efficient.
+
+ Revision 580.22 2001/08/11 19:18:41 ajc
+ * Realized that I am stupid and started implementing server commands to load
+ and save network configurations, when I had already lovingly implemented the
+ CONF GETSYS and CONF PUTSYS commands to store arbitrary configuration sets
+ in the Local System Configuration> room. Ripped the newer crap out.
+ * Implemented a skeleton of <.A>ide <S>ysconfig <N>etwork on the client side.
+
+ Revision 580.21 2001/08/11 03:51:56 ajc
+ * Removed the idle timer from the client. Dialup is dead.
+
+ Revision 580.20 2001/08/06 21:33:29 nbryant
+ made the client fall back on port 504 if there's no /etc/services entry
+
+ Revision 580.19 2001/08/05 23:54:14 ajc
+ * prep for new network node infrastructure
+
+ Revision 580.18 2001/08/03 16:53:21 ajc
+ * Added some more "break" statements to the main switch..case loop in
+ citadel.c where they were needed.
+
+ Revision 580.17 2001/08/03 16:43:53 ajc
+ * database_sleepycat.c: when running txn_checkpoint(), handle DB_INCOMPLETE
+ return code as a warning instead of an error worthy of aborting the server.
+ See http://www.sleepycat.com/docs/api_c/txn_checkpoint.html for explanation.
+
+ Revision 580.16 2001/07/30 03:46:14 nbryant
+ made ForEachUser use a read-only cursor, too. there is now only one piece of
+ code in Citadel proper (not the database driver) that needs transactions.
+ that's check_ref_counts; in other words it's the only thing standing in the way
+ of a clean implementation of retryable transactions.
+
+ Revision 580.15 2001/07/29 22:24:04 nbryant
+ - added a new function to the database interface, cdb_close_cursor(). always
+ call this when you're finished with a traversal but didn't bother reading all
+ the way to the end.
+
+ - removed several cdb_begin_transaction()/cdb_end_transaction() calls that are
+ no longer needed because of the read-only cursor support.
+
+ Revision 580.14 2001/07/29 20:56:09 nbryant
+ change ForEachRoom to use read-only cursors by default. it can be overridden to
+ still use read/write cursors by doing:
+
+ cdb_begin_transaction();
+ ForEachRoom(...);
+ cdb_end_transaction();
+
+ the only place I found where it appears necessary to do so is check_ref_counts,
+ so this checkin affects that function too.
+
+ Revision 580.13 2001/07/29 20:06:33 nbryant
+ generate symlinks to .libs in modules directory
+
+ Revision 580.12 2001/07/28 00:02:50 nbryant
+ implemented read-only cursors. one of the advantages to these is that
+ transactions can be avoided; a cursor operation that occurs within a
+ transaction will often acquire a read lock on every single database page. in
+ general, the Sleepycat documentation recommends avoiding transaction-protected
+ read-only operations where practical. read/modify/write operations can still
+ be transaction protected, of course.
+
+ to use a read-only cursor, call cdb_rewind without a previous call to
+ cdb_begin_transaction. the DB driver will notice this and prevent the current
+ thread from modifying data or starting a transaction until the cursor is
+ closed.
+
+ Revision 580.11 2001/07/27 20:45:44 nbryant
+ libtool has matured a lot since the last time i looked at it (years ago)
+ so we now use it to handle the details of building shared libraries and
+ the linker flags for the main executable.
+
+ in theory this should bring a lot more portability to the dynloader
+ subsystem and enable us to do things like transparently detect GNU vs Sun
+ linkers on solaris, for example
+
+ Revision 580.10 2001/07/27 03:29:04 nbryant
+ missed one thing in the autoconf move
+
+ Revision 580.9 2001/07/27 02:57:43 nbryant
+ support one cursor per database rather than one global cursor
+
+ Revision 580.8 2001/07/27 01:32:07 nbryant
+ remove the automatic transaction demarcation on singleton read operations
+
+ Revision 580.7 2001/07/26 21:43:46 nbryant
+ - move to autoconf 2.52
+ - random warning fix
+ - check for db 3.3
+
+ Revision 580.6 2001/07/24 13:17:54 ajc
+ * New UI for mailing list setup
+ * rooms.c: code cleanup
+ * docs update
+
+ Revision 580.5 2001/07/20 23:48:23 nbryant
+ fix build on solaris, check default install location for db 3.2, and silence
+ gcc 3.0
+
+ Revision 580.4 2001/07/16 14:24:30 ajc
+ * Silly cosmetic change to keep the wholist ordered by ascending session number
+
+ Revision 580.3 2001/07/13 00:01:36 ajc
+ * Shuffled around some of the housekeeping loop code
+
+ Revision 580.2 2001/07/11 17:01:10 ajc
+ * database_sleepycat.c: small changes to log messages
+
+ Revision 580.1 2001/07/11 04:35:40 nbryant
+ moved dret initialization in cdb_fetch, just in case
+
+ Revision 580.0 2001/07/03 03:07:06 ajc
+ * THIS IS 5.80
+
+ Revision 573.143 2001/07/03 03:06:50 ajc
+ * Last minute doco update for 5.80
+
+ Revision 573.142 2001/07/01 15:44:32 nbryant
+ configure.in: check for Berkeley DB first.
+
+ Revision 573.141 2001/06/27 23:34:30 ajc
+ * Added some verbage to messages/roomaccess to placate a user who keeps
+ bitching about privacy policy.
+
+ Revision 573.140 2001/06/19 03:41:04 ajc
+ * Ooops... last_cull needs to be declared static
+
+ Revision 573.139 2001/06/19 03:33:19 ajc
+ * imap_fetch.c: download MIME parts without decoding first. We like that.
+ * database_sleepycat.c: added automatic culling of log files which have not
+ been written to in five days.
+
+ Revision 573.138 2001/06/17 19:42:23 nbryant
+ fix all the <time.h> vs. <sys/time.h> issues, hopefully
+
+ Revision 573.137 2001/06/07 03:28:37 ajc
+ * More tweaks to the MIME parser
+
+ Revision 573.136 2001/06/06 15:44:37 ajc
+ * msgbase.c: output extra newline at end of RFC822 message if necessary to
+ ensure that 000 termination string appears on a line by itself.
+
+ Revision 573.135 2001/06/06 04:22:25 ajc
+ * Moved memreadline() to tools.c
+ * internet_addressing.c: fixed conversion of fields to (hopefully) never get
+ into an active loop when encountering badly formed headers
+
+ Revision 573.134 2001/05/27 05:23:03 ajc
+ * Added a "no new messages" response in the client, displayed when a read
+ command turns up a zero message count.
+
+ Revision 573.133 2001/05/18 20:12:09 ajc
+ * Fixed bug in mime_parser.c that caused parts to be dropped when the last
+ boundary was the very last line of the message.
+ * serv_smtp.c: toned down some of the command response verbage.
+
+ Revision 573.132 2001/04/28 04:42:55 ajc
+ * Updated some of the docs. Bumped version number to 5.80 in anticipation
+ of going into a release cycle soon.
+
+ Revision 573.130 2001/04/26 03:31:00 ajc
+ * Finished the implementation of per-message seen/unseen logic, both in the
+ server proper and in IMAP. Citadel protocol uses new "seen" command.
+
+ Revision 573.129 2001/04/21 04:55:51 ajc
+ * Began implementation of per-message seen/unseen attribute
+
+ Revision 573.128 2001/04/20 03:39:54 ajc
+ * IMAP LIST/LSUB: made it case insensitive. Also minor IMAP code cleanup.
+
+ Revision 573.127 2001/04/17 00:35:19 cough
+ * Modified rooms.c in the client so that it would allow inviting into
+ public rooms. This is important since there is now a V_LOCKOUT
+ flag which prevents users who have been kicked from rejoining
+ a room unless/until you invite them back in.
+
+ Revision 573.126 2001/04/16 19:21:14 cough
+ * Fixed bug in room_ops.c that wasn't allowing aides to goto passworded
+ rooms without knowing the password.
+
+ Revision 573.125 2001/04/14 04:26:44 ajc
+ * Fixed an unterminated string bug in IMAP APPEND. Storing messages should
+ work now.
+
+ Revision 573.124 2001/04/10 01:04:10 ajc
+ * Finished coding IMAP APPEND. It works, but there's a bug in it somewhere
+ that is corrupting the memory.
+
+ Revision 573.123 2001/04/03 00:47:23 ajc
+ * Began implementing IMAP APPEND
+
+ Revision 573.122 2001/04/01 22:05:44 cough
+ * *Actually* fixed a botched ChangeLog entry.
+
+ Revision 573.121 2001/04/01 22:04:28 cough
+ * Fixed a botched ChangeLog entry.
+
+ Revision 573.120 2001/04/01 22:03:10 cough
+ * Changed two fclose()s to pclose()s.
+
+ Revision 573.119 2001/03/25 11:52:36 error
+ * serv_pop3.c: Fixed APOP. Now logs in properly. Also cleaned up some non-
+ RFC-compliant error messages.
+
+ Revision 573.118 2001/03/21 05:47:49 ajc
+ * Added the new IMAP mailbox string compare submitted by Daniel Malament.
+
+ Revision 573.117 2001/03/20 01:33:55 ajc
+ * Added the (\NoInferiors) tag to all rooms listed in IMAP. This made Mozilla
+ behave very nicely.
+
+ Revision 573.116 2001/03/13 17:19:33 ajc
+ * support (BODY[HEADER.FIELDS(BLAH BLAH BLAH)]) and HEADER.FIELDS.NOT
+
+ Revision 573.115 2001/03/12 01:27:42 ajc
+ * Implemented SUBSCRIBE and UNSUBSCRIBE commands
+
+ Revision 573.114 2001/03/11 23:00:29 ajc
+ * Mega sexy hack to deliver express messages THROUGH IMAP! uber coolness!!
+
+ Revision 573.113 2001/03/11 22:09:20 ajc
+ * Replaced the "citlogin" binary wrapper with the "loginwrapper.sh" script.
+
+ Revision 573.112 2001/03/11 20:06:53 ajc
+ * Fixed bug that created incorrect roomnames when sending pages
+
+ Revision 573.111 2001/03/11 19:23:32 ajc
+ * IMAP DELETE command ... also split up access control for room delete cmds
+
+ Revision 573.110 2001/03/10 17:29:07 ajc
+ * Implement proper access control for deleting messages from IMAP
+
+ Revision 573.109 2001/03/07 04:02:27 ajc
+ * Fixed some small IMAP bugs
+
+ Revision 573.108 2001/03/06 04:44:00 ajc
+ * Probable completion of STATUS, COPY, STORE, and EXPUNGE commands in IMAP
+
+ Revision 573.107 2001/03/06 03:31:58 nbryant
+ database-related cleanups and paranoia tests;
+ fixed a transaction-leak/deadlock problem in cdb_delete;
+ solved the SIGPIPE mystery (GDB stops on SIGPIPE is all it was)
+
+ Revision 573.106 2001/03/05 04:59:31 ajc
+ * IMAP COPY
+
+ Revision 573.105 2001/03/04 23:49:41 ajc
+ * IMAP EXPUNGE responses -should- be correct now
Revision 573.94 2001/02/20 00:02:56 ajc
* IMAP: implemented the STATUS command (sort of).
Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
* Initial CVS import
-