Nathan Bryant [Tue, 6 Mar 2001 03:31:58 +0000 (03:31 +0000)]
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)
Art Cancro [Mon, 5 Mar 2001 15:57:36 +0000 (15:57 +0000)]
*** empty log message ***
Art Cancro [Mon, 5 Mar 2001 04:59:32 +0000 (04:59 +0000)]
* IMAP COPY
Art Cancro [Sun, 4 Mar 2001 23:49:44 +0000 (23:49 +0000)]
* IMAP EXPUNGE responses -should- be correct now
Art Cancro [Sat, 3 Mar 2001 06:29:15 +0000 (06:29 +0000)]
* dunno
Art Cancro [Fri, 2 Mar 2001 03:18:35 +0000 (03:18 +0000)]
* client: the "Page who?" prompt now defaults to the last user who paged
you or the last user you sent a page to, whichever is more recent.
Art Cancro [Wed, 28 Feb 2001 05:49:04 +0000 (05:49 +0000)]
* Removed the moderation questions.
* Added extra ignores of SIGPIPE to the code (before every client socket
write, because DB screws it up somehow)
Art Cancro [Wed, 28 Feb 2001 05:45:05 +0000 (05:45 +0000)]
* Backed out the variable-length string changes.
Nathan Bryant [Tue, 27 Feb 2001 19:56:23 +0000 (19:56 +0000)]
pass DB_THREAD to DB->open()
Nathan Bryant [Tue, 27 Feb 2001 15:33:09 +0000 (15:33 +0000)]
abort on errors
Nathan Bryant [Mon, 26 Feb 2001 19:56:13 +0000 (19:56 +0000)]
modified lprintf strings to begin with "cdb_" to simplify grepping for
sleepycat-related errors.
Art Cancro [Sat, 24 Feb 2001 17:23:22 +0000 (17:23 +0000)]
* More of IMAP STORE. Works for \Deleted now, but we don't have EXPUNGE yet
Art Cancro [Sat, 24 Feb 2001 06:06:28 +0000 (06:06 +0000)]
* Wrote a bit of the IMAP STORE command
Art Cancro [Sat, 24 Feb 2001 04:47:36 +0000 (04:47 +0000)]
* imap
Brian [Sat, 24 Feb 2001 04:43:13 +0000 (04:43 +0000)]
* Fixed my listing in developers.txt (finally! :)
Stu Mark [Thu, 22 Feb 2001 18:38:14 +0000 (18:38 +0000)]
put some obsurd limit on client_gets() input. So somebody can't blow you
out of memeory.
Stu Mark [Thu, 22 Feb 2001 18:22:39 +0000 (18:22 +0000)]
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.
Brian [Thu, 22 Feb 2001 17:14:12 +0000 (17:14 +0000)]
* Added MSGS_* flags to make using the new CxMsList() api easier to code for.
Brian [Thu, 22 Feb 2001 17:05:19 +0000 (17:05 +0000)]
* Updated CxMsList() API to allow users to select only NEW messages, or only
the LAST x messages (<-skel). THIS WILL REQUIRE CLIENT-SIDE CHANGES IN ORDER
FOR YOUR CLIENT TO WORK!
Art Cancro [Wed, 21 Feb 2001 05:44:46 +0000 (05:44 +0000)]
* Wrote the "citlogin" wrapper, so Citadel client can run directly without
having to login as bbs first.
Art Cancro [Wed, 21 Feb 2001 05:30:38 +0000 (05:30 +0000)]
* added citlogin.c
Art Cancro [Wed, 21 Feb 2001 05:15:41 +0000 (05:15 +0000)]
* Repaired buggy "ALL" macro in IMAP FETCH.
Art Cancro [Tue, 20 Feb 2001 00:02:56 +0000 (00:02 +0000)]
* IMAP: implemented the STATUS command (sort of).
Art Cancro [Mon, 19 Feb 2001 22:24:41 +0000 (22:24 +0000)]
* IMAP server: added untagged, unsolicited server messages for newly arrived
messages, and messages expunged by another session.
Brian [Mon, 19 Feb 2001 14:50:58 +0000 (14:50 +0000)]
* Fixed problem in which unconnected clients send messages to file descriptor
0 (stdout), Now CxClSend() should do nothing if not connected.
Art Cancro [Sat, 17 Feb 2001 05:53:35 +0000 (05:53 +0000)]
* Repaired the creation of page log rooms in the wrong namespace when the
recipient does not yet have his/her log room created.
* Rewrite "EXPI messages" to run in two passes: one to gather messages to
purge and the next to delete them. Works better in transactionland.
Art Cancro [Thu, 15 Feb 2001 02:16:23 +0000 (02:16 +0000)]
* Added credit for Andru Luvisi <luvisi@andru.sonoma.edu> for the above
Art Cancro [Thu, 15 Feb 2001 01:21:55 +0000 (01:21 +0000)]
* Applied a patch submitted by "cough" to add who-knows-room and
invite/kickout functionality.
Michael Hampton [Wed, 14 Feb 2001 08:11:27 +0000 (08:11 +0000)]
* citadel.rc: added $Id$ (it's about time!)
Art Cancro [Wed, 14 Feb 2001 04:23:54 +0000 (04:23 +0000)]
* Fixed POP3 server responses ending in \n instead of \r\n as they should be.
This was causing some clients (such as Pine) to lock up.
Brian [Wed, 14 Feb 2001 03:48:51 +0000 (03:48 +0000)]
* Added the NOTES file, containing some thoughts about the ASYN protocol,
eloquently elaborated upon by AJC (Ig).
Art Cancro [Tue, 13 Feb 2001 04:06:14 +0000 (04:06 +0000)]
* Worked out the remaining bugs in IMAP FETCH for the BODYSTRUCTURE and
BODY[n] data items. I think. So much protocol crud, so little time...
Art Cancro [Tue, 13 Feb 2001 01:18:45 +0000 (01:18 +0000)]
* imap fetch
Art Cancro [Mon, 12 Feb 2001 04:31:34 +0000 (04:31 +0000)]
* sysdep.c ig_tcp_server() - use IPPROTO_TCP instead of getprotobyname()
Art Cancro [Thu, 8 Feb 2001 04:46:00 +0000 (04:46 +0000)]
* Fixed namespace problems resulting from the automatic namespece prefixing
added to create_room(). Also added the ability to specify "create a mailbox
but I've already supplied the namespace prefix" for situations where the
namespace isn't that of the logged in user.
* Made the POP3 server response messages slightly less humorous
Brian [Wed, 7 Feb 2001 22:42:24 +0000 (22:42 +0000)]
* Removed ID tag.
Brian [Wed, 7 Feb 2001 22:41:51 +0000 (22:41 +0000)]
* Updated ChangeLog to conform to Citadel/UX standards (kinda) :)
Brian [Wed, 7 Feb 2001 22:10:02 +0000 (22:10 +0000)]
Initial revision
Art Cancro [Tue, 6 Feb 2001 04:44:12 +0000 (04:44 +0000)]
* Added a floor listing (complete with \NoSelect flag) to LIST and LSUB
Nathan Bryant [Tue, 6 Feb 2001 04:13:13 +0000 (04:13 +0000)]
memset
Art Cancro [Tue, 6 Feb 2001 02:09:41 +0000 (02:09 +0000)]
* citadel.rc: changed the default for local_screen_dimensions to 1, since
Internet users now outnumber dialup users 100 to 0.
* room_ops.c: added a really_create option to create_room(). Also moved the
generation of personal namespace into that function. MODULE OWNERS PLEASE
CHECK YOUR CALLS TO AVOID MULTIPLE NAMESPACING!!
* room_ops.c: fixed a bug in cgetfloor() that left bad pointers around
* serv_imap.c: finished the CREATE command (finally)
Art Cancro [Mon, 5 Feb 2001 05:20:22 +0000 (05:20 +0000)]
* Made some changes to functions which translate between Citadel room names
and IMAP folder names. They're still buggy.
Art Cancro [Mon, 5 Feb 2001 02:53:14 +0000 (02:53 +0000)]
* schtuff
Art Cancro [Mon, 5 Feb 2001 02:29:28 +0000 (02:29 +0000)]
* imap sucks
Art Cancro [Sun, 4 Feb 2001 23:17:31 +0000 (23:17 +0000)]
* Implemented the IMAP CREATE command
Art Cancro [Sun, 4 Feb 2001 21:41:47 +0000 (21:41 +0000)]
* stuff
Art Cancro [Sun, 4 Feb 2001 02:40:08 +0000 (02:40 +0000)]
* more imap. imap sucks. die crispin die.
Michael Hampton [Sat, 3 Feb 2001 10:02:12 +0000 (10:02 +0000)]
* serv_ical.c: Verify that objects posted to My Calendar> are of type
text/x-calendar or text/calendar; abort saving if not
Michael Hampton [Sat, 3 Feb 2001 09:30:47 +0000 (09:30 +0000)]
* serv_ical.c: now creates a My Calendar> personal room, sets attributes
Michael Hampton [Sat, 3 Feb 2001 08:21:00 +0000 (08:21 +0000)]
* serv_ical.c and serv_ical.h added; skeleton code for now
Art Cancro [Fri, 2 Feb 2001 20:18:18 +0000 (20:18 +0000)]
* Changed the error message in cdb_delete() to actually *say* cdb_delete
instead of cdb_store. Useful to know which function failed...
Art Cancro [Fri, 2 Feb 2001 05:35:21 +0000 (05:35 +0000)]
* I dunno
Art Cancro [Thu, 1 Feb 2001 04:08:03 +0000 (04:08 +0000)]
* IMAP minor change to mailbox name output
* Increased size of buffer in lprintf()
Michael Hampton [Sun, 28 Jan 2001 09:50:02 +0000 (09:50 +0000)]
* sysdep.c: lprintf() now generates timestamps
Michael Hampton [Sun, 28 Jan 2001 07:35:04 +0000 (07:35 +0000)]
* serv_bio.c: RBIO now also returns stats about a user, see session.txt
Art Cancro [Thu, 25 Jan 2001 23:10:00 +0000 (23:10 +0000)]
* "Delete message" button now confirms on client-side using JavaScript
Art Cancro [Tue, 16 Jan 2001 04:03:13 +0000 (04:03 +0000)]
* yeesh ... more on the IMAP BODYSTRUCTURE
Art Cancro [Tue, 16 Jan 2001 01:51:12 +0000 (01:51 +0000)]
* imap bodystructure
Art Cancro [Tue, 16 Jan 2001 00:46:40 +0000 (00:46 +0000)]
* Changed the MIME parser API *again* because we now need the ability to
supply callback functions to be executed before and/or after parsing a
multipart. (Need this for IMAP BODYSTRUCTURE output. Crispin sucks.)
Art Cancro [Mon, 15 Jan 2001 23:59:26 +0000 (23:59 +0000)]
* user_ops.c: reject NULL password in CtdlTryPassword() instead of crashing
Art Cancro [Mon, 15 Jan 2001 20:34:29 +0000 (20:34 +0000)]
*** empty log message ***
Art Cancro [Mon, 15 Jan 2001 20:34:04 +0000 (20:34 +0000)]
* "Path:" removed for now because it confuses brain-dead Microsoft shitware
into thinking that mail messages are newsgroup messages instead. When we
add NNTP support back into Citadel we'll have to add code to only output
this field when appropriate.
Art Cancro [Mon, 15 Jan 2001 16:30:31 +0000 (16:30 +0000)]
* temporary implementation of 901 asynchronous express messages
Art Cancro [Sun, 14 Jan 2001 14:55:39 +0000 (14:55 +0000)]
* Changed the format of <.W>holist <L>ong
Nathan Bryant [Sat, 13 Jan 2001 06:40:26 +0000 (06:40 +0000)]
merged remaining changes from TRANSACTIONS (using cvs update -j TRANSACTIONS)
which should now be considered closed.
Art Cancro [Sat, 13 Jan 2001 06:12:19 +0000 (06:12 +0000)]
* Added the ASYN command
Art Cancro [Fri, 12 Jan 2001 22:05:46 +0000 (22:05 +0000)]
* Fixed a bug that caused bogus wholist lines to be displayed when a non-aide
reads a list containing stealth mode sessions.
Art Cancro [Tue, 9 Jan 2001 06:05:10 +0000 (06:05 +0000)]
* more merges
Art Cancro [Tue, 9 Jan 2001 05:39:45 +0000 (05:39 +0000)]
* Merged in code from the TRANSACTIONS branch for testing.
Art Cancro [Sat, 30 Dec 2000 06:17:17 +0000 (06:17 +0000)]
* Still more work on IMAP. Damn this is tedious.
Art Cancro [Sat, 30 Dec 2000 04:55:06 +0000 (04:55 +0000)]
* more buffer size stuff
Art Cancro [Wed, 27 Dec 2000 20:19:52 +0000 (20:19 +0000)]
* The size constant "256" which shows up everywhere as a buffer size has now
been changed to SIZ. And, SIZ has been defined now as 1024, not 256, because
we need 1024 byte buffers for most Internet protocols.
Art Cancro [Wed, 27 Dec 2000 05:09:58 +0000 (05:09 +0000)]
* Added a skeleton IMAP "SEARCH" command (based on the FETCH logic)
Art Cancro [Wed, 27 Dec 2000 04:06:35 +0000 (04:06 +0000)]
* IMAP stuff
Art Cancro [Tue, 26 Dec 2000 03:46:52 +0000 (03:46 +0000)]
* More IMAP tweaks
Art Cancro [Mon, 25 Dec 2000 22:50:43 +0000 (22:50 +0000)]
* Added an API function to extract and unfold specific RFC822 fields.
* imap-->fetch-->envelope-->in-reply-to now works
* More robust checking and reporting of temp file errors in the client
Art Cancro [Mon, 25 Dec 2000 20:43:24 +0000 (20:43 +0000)]
* imap_fetch.c: added support for fetch-->envelope-->from
Art Cancro [Wed, 20 Dec 2000 21:03:27 +0000 (21:03 +0000)]
* Don't crash when a zero-length message is delivered.
Art Cancro [Wed, 20 Dec 2000 04:09:25 +0000 (04:09 +0000)]
* A few memory handling fixes to netproc.
Art Cancro [Wed, 20 Dec 2000 01:57:37 +0000 (01:57 +0000)]
* netproc.c: added bounds check to fpgetfield()
Art Cancro [Tue, 19 Dec 2000 20:41:55 +0000 (20:41 +0000)]
* Fixed generation of unique file names for network uploads etc.
Art Cancro [Thu, 14 Dec 2000 18:36:34 +0000 (18:36 +0000)]
* Fixed the "users not in chat" wholist display
Art Cancro [Wed, 13 Dec 2000 03:31:58 +0000 (03:31 +0000)]
* just some cosmetics
Art Cancro [Tue, 12 Dec 2000 18:06:46 +0000 (18:06 +0000)]
* Removed the transaction stuff (but left the log in). It wasn't working.
Art Cancro [Tue, 12 Dec 2000 06:19:56 +0000 (06:19 +0000)]
* Stabilize, dammit!!
Art Cancro [Tue, 12 Dec 2000 04:20:03 +0000 (04:20 +0000)]
* Made the transaction open/close a global thing, in a frantic attempt to get
Uncensored to stop crashing. More fixes on the way...
Art Cancro [Mon, 11 Dec 2000 06:08:41 +0000 (06:08 +0000)]
* Removed the housekeeper thread, moved terminate_idle_sessions() out to a
timer event, and check_sched_shutdown() to the end of the worker thread
loop. Seems to have improved reliability (but why?)
Art Cancro [Mon, 11 Dec 2000 03:22:13 +0000 (03:22 +0000)]
* Added server-side REQT command to issue client termination requests
Art Cancro [Mon, 11 Dec 2000 02:19:26 +0000 (02:19 +0000)]
* Client now honors EM_GO_AWAY flag, used by the server to request that a
client log off. (The server doesn't support sending that flag yet, though)
Art Cancro [Sat, 9 Dec 2000 06:20:06 +0000 (06:20 +0000)]
* A few final touches to the Sleepycat DB back-end
Art Cancro [Fri, 8 Dec 2000 17:06:34 +0000 (17:06 +0000)]
* Wrap txn_begin and txn_end in S_DATABASE mutex
Art Cancro [Thu, 7 Dec 2000 21:56:47 +0000 (21:56 +0000)]
* added
Art Cancro [Thu, 7 Dec 2000 20:21:39 +0000 (20:21 +0000)]
* begin/end transaction in master_startup()
Nathan Bryant [Thu, 7 Dec 2000 16:59:02 +0000 (16:59 +0000)]
added --with-db and --with-gdbm options to configure
Art Cancro [Thu, 7 Dec 2000 04:51:17 +0000 (04:51 +0000)]
* remove log entry
Art Cancro [Thu, 7 Dec 2000 04:50:33 +0000 (04:50 +0000)]
* Wrap housekeeper and timer events in transaction open/close functions
* Checkpoint the DB as an EVT_TIMER event instead of after each session
(runs each minute, but actually limited by the parameters of the function)
Art Cancro [Thu, 7 Dec 2000 04:14:44 +0000 (04:14 +0000)]
* stupid
Art Cancro [Wed, 6 Dec 2000 04:44:37 +0000 (04:44 +0000)]
* Changed netproc to keep the use table in a flat file instead of a database
Art Cancro [Tue, 5 Dec 2000 18:42:25 +0000 (18:42 +0000)]
* strip webserver
Art Cancro [Tue, 5 Dec 2000 18:39:49 +0000 (18:39 +0000)]
* Added support for non-USA countries in registration screen (requires the
latest Citadel server, which supports the country field)