citadel.git
20 years ago* The groupware folders "Calendar", "Contacts", "Notes", and "Tasks" are
Art Cancro [Wed, 11 Feb 2004 03:50:49 +0000 (03:50 +0000)]
* The groupware folders "Calendar", "Contacts", "Notes", and "Tasks" are
  now presented as subfolders of INBOX when using IMAP.  This is for the
  purpose of Kolab compatibility.

20 years ago* oops...also close the client on EOF/error on tty OUTPUT
Michael Hampton [Mon, 9 Feb 2004 22:40:57 +0000 (22:40 +0000)]
* oops...also close the client on EOF/error on tty OUTPUT

20 years ago* Exit the citadel client when EOF reached on input - should prevent
Michael Hampton [Mon, 9 Feb 2004 22:26:17 +0000 (22:26 +0000)]
* Exit the citadel client when EOF reached on input - should prevent
  a process from hanging around when a telnet connection dies unexpectedly

20 years ago* Prepare for a way to avoid falling out of the main frameset
Art Cancro [Mon, 9 Feb 2004 04:49:32 +0000 (04:49 +0000)]
* Prepare for a way to avoid falling out of the main frameset

20 years ago* cvsignore
Art Cancro [Mon, 9 Feb 2004 03:38:14 +0000 (03:38 +0000)]
* cvsignore

20 years ago* Changed the thread pool management algorithm. Detecting idle time between
Art Cancro [Mon, 9 Feb 2004 03:37:57 +0000 (03:37 +0000)]
* Changed the thread pool management algorithm.  Detecting idle time between
  socket accepts was not working reliably on all systems, so we now follow
  the same algorithm as the Citadel server (spawn more threads when number
  of sessions < number of threads, but keep constrained to pre-defined
  minimum and maximum thread count)

20 years ago* Corrected various small syntax conversion problems that were keeping
Art Cancro [Sun, 8 Feb 2004 05:29:34 +0000 (05:29 +0000)]
* Corrected various small syntax conversion problems that were keeping
  some vCards out of the LDAP directory.

20 years ago* Automatically purge files from ./network/spoolout which were intended
Art Cancro [Sat, 7 Feb 2004 05:28:10 +0000 (05:28 +0000)]
* Automatically purge files from ./network/spoolout which were intended
  for nodes which no longer exist

20 years ago* Cache the IGnet config in memory, avoiding a db fetch for every single
Art Cancro [Sat, 7 Feb 2004 04:59:21 +0000 (04:59 +0000)]
* Cache the IGnet config in memory, avoiding a db fetch for every single
  operation which references it.  Invalidate the cache when a new config
  is uploaded.
* When doing network spool for a room, automatically remove shares for
  Citadel nodes which no longer exist.

20 years ago* serv_network.c: fixed a problem with an uninitialized data structure
Art Cancro [Sat, 7 Feb 2004 04:22:12 +0000 (04:22 +0000)]
* serv_network.c: fixed a problem with an uninitialized data structure

20 years ago* Suppress posting of messages to Aide> when the loopzapper catches dupes.
Art Cancro [Fri, 6 Feb 2004 04:40:50 +0000 (04:40 +0000)]
* Suppress posting of messages to Aide> when the loopzapper catches dupes.
* New command NSYN to sync the entire contents of a room to a specified
  network node.  This will be used to bring new nodes in sync with existing
  nodes.

20 years ago* Added some comments to the sample citadel-slapd.conf
Art Cancro [Fri, 6 Feb 2004 03:58:10 +0000 (03:58 +0000)]
* Added some comments to the sample citadel-slapd.conf

20 years ago* Changed the domain name and password in the sample slapd.conf
Art Cancro [Fri, 6 Feb 2004 03:52:46 +0000 (03:52 +0000)]
* Changed the domain name and password in the sample slapd.conf

20 years ago* Delete a user's LDAP entry when deleting the vCard. NOT TESTED.
Art Cancro [Thu, 5 Feb 2004 05:20:20 +0000 (05:20 +0000)]
* Delete a user's LDAP entry when deleting the vCard.  NOT TESTED.

20 years ago* Completed the per-user initialization of LDAP entries.
Art Cancro [Thu, 5 Feb 2004 03:54:14 +0000 (03:54 +0000)]
* Completed the per-user initialization of LDAP entries.

20 years ago* Don't delete temp file when composing message until after server writes
Michael Hampton [Wed, 4 Feb 2004 18:27:25 +0000 (18:27 +0000)]
* Don't delete temp file when composing message until after server writes
  it successfully (or an error occurs in the client itself).

20 years ago* More work on LDAP connector
Art Cancro [Wed, 4 Feb 2004 04:07:57 +0000 (04:07 +0000)]
* More work on LDAP connector

20 years ago* THIS IS 5.04
Art Cancro [Tue, 3 Feb 2004 03:09:54 +0000 (03:09 +0000)]
* THIS IS 5.04

20 years ago* stuff
Art Cancro [Tue, 3 Feb 2004 02:19:35 +0000 (02:19 +0000)]
* stuff

20 years ago* policy.c: fix bug in GetExpirePolicy() that was causing the default
Art Cancro [Sun, 1 Feb 2004 06:19:22 +0000 (06:19 +0000)]
* policy.c: fix bug in GetExpirePolicy() that was causing the default
  mailbox purge policy to be misinterpreted if it was set to "use
  system default"
* serv_vcard.c: always set the Global Address Book room's expire policy
  to "never expire" and its default view to "address book"

20 years ago* citadel-openldap.schema: added. (OpenLDAP schema for Citadel)
Art Cancro [Sat, 31 Jan 2004 05:46:05 +0000 (05:46 +0000)]
* citadel-openldap.schema: added.  (OpenLDAP schema for Citadel)
* citadel-slapd.conf: added.  (Sample OpenLDAP configuration)
* serv_ldap.c: after binding to the LDAP server, create the node for the
  base DN if it isn't there.  When creating a node for the user, also
  create a node for the user's OU if it isn't there.

20 years ago*** empty log message ***
Art Cancro [Sat, 31 Jan 2004 05:44:29 +0000 (05:44 +0000)]
*** empty log message ***

20 years ago* THIS IS 5.03
Art Cancro [Wed, 28 Jan 2004 04:31:35 +0000 (04:31 +0000)]
* THIS IS 5.03

20 years ago* update for 5.03
Art Cancro [Wed, 28 Jan 2004 04:31:22 +0000 (04:31 +0000)]
* update for 5.03

20 years ago* Create Room can now offer calendar and address book rooms
Art Cancro [Wed, 28 Jan 2004 04:30:48 +0000 (04:30 +0000)]
* Create Room can now offer calendar and address book rooms

20 years ago* serv_smtp.c: HELO and EHLO responses now reply with the detected
Art Cancro [Tue, 27 Jan 2004 19:56:29 +0000 (19:56 +0000)]
* serv_smtp.c: HELO and EHLO responses now reply with the detected
  IP address and reverse DNS lookup of the connecting host

20 years ago* Got Citadel talking to LDAP. Still requires manual creation of schema
Art Cancro [Sat, 24 Jan 2004 05:47:50 +0000 (05:47 +0000)]
* Got Citadel talking to LDAP.  Still requires manual creation of schema
  and container entries, which I don't like; we'll have to fix that.  It
  also does not yet populate all fields.

20 years ago* Clear out the autom4te.cache when bootstrapping to avoid autoheader problems
Michael Hampton [Mon, 19 Jan 2004 21:01:15 +0000 (21:01 +0000)]
* Clear out the autom4te.cache when bootstrapping to avoid autoheader problems

20 years ago* Further work on creating LDAP entries.
Art Cancro [Mon, 19 Jan 2004 04:44:11 +0000 (04:44 +0000)]
* Further work on creating LDAP entries.

20 years ago* Reworked vCard etc. functions for addition of new vCard data to LDAP
Art Cancro [Sun, 18 Jan 2004 21:04:40 +0000 (21:04 +0000)]
* Reworked vCard etc. functions for addition of new vCard data to LDAP

20 years ago* Added "Base DN" "Bind DN" and "Bind DN password" config options
Art Cancro [Sat, 17 Jan 2004 22:57:54 +0000 (22:57 +0000)]
* Added "Base DN" "Bind DN" and "Bind DN password" config options
* serv_ldap.c: added.  (New module implementing the LDAP Connector)
* Upon startup, connect to LDAP directory and bind to it.  Unbind at exit.

20 years ago* Add 'base DN' and 'bind DN' and 'bind DN password' to siteconfig
Art Cancro [Sat, 17 Jan 2004 21:25:30 +0000 (21:25 +0000)]
* Add 'base DN' and 'bind DN' and 'bind DN password' to siteconfig
* Split the config for LDAP Connector into its own panel

20 years ago* Add site config options for Citadel servers which support LDAP
Art Cancro [Sat, 17 Jan 2004 04:32:54 +0000 (04:32 +0000)]
* Add site config options for Citadel servers which support LDAP

20 years ago* Sysconfig commands for specifying where the LDAP server lives
Art Cancro [Sat, 17 Jan 2004 04:23:28 +0000 (04:23 +0000)]
* Sysconfig commands for specifying where the LDAP server lives

20 years ago* Changed a diagnostic in msgbase.c to a higher logging level so it doesn't
Art Cancro [Sat, 17 Jan 2004 03:26:17 +0000 (03:26 +0000)]
* Changed a diagnostic in msgbase.c to a higher logging level so it doesn't
  make as much noise.
* Setup now adds "-x3 -llocal4" to the default inittab line.

20 years ago* New server command-line option "-l" to send log output to the host
Art Cancro [Sat, 17 Jan 2004 03:17:35 +0000 (03:17 +0000)]
* New server command-line option "-l" to send log output to the host
  computer's syslog facility instead of to a trace file.

20 years ago* Link to OpenLDAP client library (-lldap) and set HAVE_LDAP if present.
Art Cancro [Fri, 2 Jan 2004 22:13:59 +0000 (22:13 +0000)]
* Link to OpenLDAP client library (-lldap) and set HAVE_LDAP if present.

20 years ago* THIS IS 6.14
Art Cancro [Tue, 30 Dec 2003 04:13:46 +0000 (04:13 +0000)]
* THIS IS 6.14

20 years ago* Commented out one of the supplied .RU commands in citadel.rc
Art Cancro [Tue, 30 Dec 2003 04:13:31 +0000 (04:13 +0000)]
* Commented out one of the supplied .RU commands in citadel.rc

20 years ago* Allow a separate default message expire policy for mailbox rooms. The
Art Cancro [Wed, 24 Dec 2003 05:02:49 +0000 (05:02 +0000)]
* Allow a separate default message expire policy for mailbox rooms.  The
  floor default setting is now ignored for mailboxes.  Updated client and
  documentation to match.

20 years ago* Expanded the size of all string fields in "struct CtdlIPCMessage" to
Art Cancro [Tue, 23 Dec 2003 03:53:49 +0000 (03:53 +0000)]
* Expanded the size of all string fields in "struct CtdlIPCMessage" to
  the standard SIZ length, in order to accomodate "weird" messages
  without crashing.  Also converted many strcpy()'s to safestrncpy()'s
  while populating this data structure, to avoid overruns.

20 years ago* Add Preview for Mac OS X as an image viewer option in citadel.rc
Michael Hampton [Mon, 22 Dec 2003 16:49:36 +0000 (16:49 +0000)]
* Add Preview for Mac OS X as an image viewer option in citadel.rc

20 years ago* Fork image viewer process in background (works now); suppress
Michael Hampton [Mon, 22 Dec 2003 15:30:53 +0000 (15:30 +0000)]
* Fork image viewer process in background (works now); suppress
  stdout/stderr from the image viewer

20 years ago* When viewing images, append the image filename to the temp filename so
Michael Hampton [Sun, 21 Dec 2003 20:02:29 +0000 (20:02 +0000)]
* When viewing images, append the image filename to the temp filename so
  that less-intelligent viewers can deal with the images

20 years ago* Don't display the infrequently used m<Y> next option on the prompt
Michael Hampton [Sun, 21 Dec 2003 19:35:08 +0000 (19:35 +0000)]
* Don't display the infrequently used m<Y> next option on the prompt
  (we need more space..)

20 years ago* Start a new thread and fork() for image viewer (broken/disabled; for
Michael Hampton [Sun, 21 Dec 2003 19:07:28 +0000 (19:07 +0000)]
* Start a new thread and fork() for image viewer (broken/disabled; for
  refernce only)

20 years agoadded some additional comments to citadel.rc concerning possible image viewers
Nathan Bryant [Sun, 21 Dec 2003 01:23:12 +0000 (01:23 +0000)]
added some additional comments to citadel.rc concerning possible image viewers

20 years ago* Fix for idle_threshold being ignored when reading citadel.rc
Michael Hampton [Sun, 21 Dec 2003 00:44:19 +0000 (00:44 +0000)]
* Fix for idle_threshold being ignored when reading citadel.rc

20 years ago* Fix for crash when downloading multiple attachments
Michael Hampton [Sun, 21 Dec 2003 00:37:54 +0000 (00:37 +0000)]
* Fix for crash when downloading multiple attachments

20 years ago* Image viewer code for the text client. Hit 'I' to view an image
Michael Hampton [Sun, 21 Dec 2003 00:19:41 +0000 (00:19 +0000)]
* Image viewer code for the text client.  Hit 'I' to view an image
  attached to a file.  Hey aahz, this code actually works!

20 years ago* Changes to auto-expunge algorithm to support correct behavior in
Art Cancro [Fri, 19 Dec 2003 04:33:52 +0000 (04:33 +0000)]
* Changes to auto-expunge algorithm to support correct behavior in
  some IMAP clients while moving messages.

20 years ago* THIS IS 6.13
Art Cancro [Mon, 15 Dec 2003 16:37:04 +0000 (16:37 +0000)]
* THIS IS 6.13

20 years ago* Added support for "Cc" and "Bcc" IMAP SEARCHes
Art Cancro [Mon, 15 Dec 2003 16:33:47 +0000 (16:33 +0000)]
* Added support for "Cc" and "Bcc" IMAP SEARCHes
* Bumped the version number to 6.13

20 years ago* Removed a "FIXME this needs blah blah" comment because blah blah has
Art Cancro [Thu, 11 Dec 2003 04:21:23 +0000 (04:21 +0000)]
* Removed a "FIXME this needs blah blah" comment because blah blah has
  since been completed

20 years agoconfigure.ac: add support for position-independent executables. can be disabled
Nathan Bryant [Thu, 11 Dec 2003 04:06:55 +0000 (04:06 +0000)]
configure.ac: add support for position-independent executables. can be disabled
with --disable-pie

20 years agodomain.c: include <arpa/nameser_compat.h> if present
Nathan Bryant [Thu, 11 Dec 2003 03:44:18 +0000 (03:44 +0000)]
domain.c: include <arpa/nameser_compat.h> if present
configure.ac: check for <arpa/nameser_compat.h>

20 years ago* Completed a more accurate implementation of the ENVELOPE fetch in IMAP.
Art Cancro [Wed, 10 Dec 2003 03:58:27 +0000 (03:58 +0000)]
* Completed a more accurate implementation of the ENVELOPE fetch in IMAP.

20 years agodid a minimal amount of ANSIfication without changing anything that would
Nathan Bryant [Tue, 9 Dec 2003 06:39:20 +0000 (06:39 +0000)]
did a minimal amount of ANSIfication without changing anything that would
affect the compiler output in any way. I was just trying to get enough warnings
enabled to be able to tell if there are any nested functions lurking about...

If we get rid of nested functions we can get some big security gains under
Fedora.

20 years ago* Don't give away anonymous poster information in IMAP or RFC822
Art Cancro [Tue, 9 Dec 2003 05:12:49 +0000 (05:12 +0000)]
* Don't give away anonymous poster information in IMAP or RFC822

20 years ago* Painstakingly combed through IMAP headers and responses for two hours in
Art Cancro [Tue, 9 Dec 2003 04:50:16 +0000 (04:50 +0000)]
* Painstakingly combed through IMAP headers and responses for two hours in
  an attempt to figure out why the horrendous pile of crap called Microsoft
  Outlook counts the correct number of messages but wasn't displaying any
  of them.  Eventually determined that it was ONE EXTRA SPACE after the
  closing paren of the ENVELOPE output that caused Outlook to totally ignore
  all the messages.  This only reinforces my belief that anything designed
  in the state of Washington is utter and complete CRAP.
* Corrected the above glitch.  Outbreak works properly now.

20 years ago* user_ops.c: missing string declaration or something?
Art Cancro [Tue, 9 Dec 2003 03:56:29 +0000 (03:56 +0000)]
* user_ops.c: missing string declaration or something?

20 years ago* serv_smtp.c: validated and documented compliance with a big pile of RFC's
Art Cancro [Mon, 8 Dec 2003 17:41:01 +0000 (17:41 +0000)]
* serv_smtp.c: validated and documented compliance with a big pile of RFC's
  which are in one way or another related to SMTP.

20 years ago* updated roadmap
Art Cancro [Sun, 7 Dec 2003 22:29:53 +0000 (22:29 +0000)]
* updated roadmap

20 years ago* Minor enhancements to a few of the trace file entries
Michael Hampton [Sun, 7 Dec 2003 19:59:14 +0000 (19:59 +0000)]
* Minor enhancements to a few of the trace file entries

20 years ago* Added some useless comments to some of the techdocs/ files
Michael Hampton [Sun, 7 Dec 2003 19:57:48 +0000 (19:57 +0000)]
* Added some useless comments to some of the techdocs/ files

20 years ago* CREU command now allows specification of an initial password
Michael Hampton [Sun, 7 Dec 2003 19:56:25 +0000 (19:56 +0000)]
* CREU command now allows specification of an initial password

20 years ago* Incoming RFC822 messages get the To: field translated directly to
Art Cancro [Thu, 4 Dec 2003 04:20:08 +0000 (04:20 +0000)]
* Incoming RFC822 messages get the To: field translated directly to
  a Citadel <R> field.

20 years ago* THIS IS 6.12
Art Cancro [Mon, 1 Dec 2003 04:11:50 +0000 (04:11 +0000)]
* THIS IS 6.12

20 years ago* Support IMAP \Answered flag
Art Cancro [Sun, 30 Nov 2003 03:43:35 +0000 (03:43 +0000)]
* Support IMAP \Answered flag

20 years ago* Run all posts through stripslashes()
Art Cancro [Wed, 26 Nov 2003 04:20:16 +0000 (04:20 +0000)]
* Run all posts through stripslashes()

20 years ago* Completed "post" and "post html" stuffs
Art Cancro [Tue, 25 Nov 2003 04:01:44 +0000 (04:01 +0000)]
* Completed "post" and "post html" stuffs

20 years ago*** empty log message ***
Art Cancro [Tue, 25 Nov 2003 03:32:53 +0000 (03:32 +0000)]
*** empty log message ***

20 years ago* improved but still wrong
Art Cancro [Sun, 23 Nov 2003 21:05:34 +0000 (21:05 +0000)]
* improved but still wrong

20 years ago* Implemented SEND_LISTING mode in the session proxy
Art Cancro [Sun, 23 Nov 2003 04:39:30 +0000 (04:39 +0000)]
* Implemented SEND_LISTING mode in the session proxy
* Put together a simple 'enter message' loop (doesn't work properly yet)
* Threw in a temporary menu

20 years ago* fleshed out the message headers a bit
Art Cancro [Sat, 22 Nov 2003 04:33:22 +0000 (04:33 +0000)]
* fleshed out the message headers a bit

20 years ago* Commented out the call to the 'high speed download' function and
Art Cancro [Sat, 22 Nov 2003 03:30:14 +0000 (03:30 +0000)]
* Commented out the call to the 'high speed download' function and
  uncommented the call to the original 'chatty' download function.  Some
  users were reporting lockups.

20 years ago* Replaced the two-second sleep (and associated race condition) for the
Art Cancro [Fri, 21 Nov 2003 18:22:19 +0000 (18:22 +0000)]
* Replaced the two-second sleep (and associated race condition) for the
  session proxy to start, with a loop that attempts connection ten times
  a second for ten seconds, resulting in faster, more reliable startup.

20 years ago* Added ctdlelements.php ... this is to be used for functions which fetch
Art Cancro [Tue, 18 Nov 2003 04:58:34 +0000 (04:58 +0000)]
* Added ctdlelements.php ... this is to be used for functions which fetch
  Citadel protocol data and convert it to insertable HTML.
* Implemented a first cut of a "read message" function.

20 years ago* Reversed the previous change because it made things b0rken
Art Cancro [Fri, 14 Nov 2003 20:15:44 +0000 (20:15 +0000)]
* Reversed the previous change because it made things b0rken

20 years ago* IMAP FETCH ENVELOPE now outputs more fields correctly.
Art Cancro [Fri, 14 Nov 2003 20:04:28 +0000 (20:04 +0000)]
* IMAP FETCH ENVELOPE now outputs more fields correctly.

20 years ago* Identify our message format preference (HTML followed by plain text)
Art Cancro [Fri, 14 Nov 2003 17:15:19 +0000 (17:15 +0000)]
* Identify our message format preference (HTML followed by plain text)
  to the server upon connection, so MSG4 commands run properly.

20 years ago* Added a basic read loop ... currently only fetches message numbers
Art Cancro [Fri, 14 Nov 2003 17:09:04 +0000 (17:09 +0000)]
* Added a basic read loop ... currently only fetches message numbers

20 years ago* MUCH faster implementation of rfc822_fetch_field()
Art Cancro [Fri, 14 Nov 2003 03:49:54 +0000 (03:49 +0000)]
* MUCH faster implementation of rfc822_fetch_field()

20 years ago* mime_parser.c: handle multipart *much* more efficiently now. Instead
Art Cancro [Thu, 13 Nov 2003 04:25:38 +0000 (04:25 +0000)]
* mime_parser.c: handle multipart *much* more efficiently now.  Instead
  of scanning line by line, we snag the boundaries using the Boyer-Moore
  algorithm.

20 years ago* Minor fix to above
Art Cancro [Wed, 12 Nov 2003 04:49:30 +0000 (04:49 +0000)]
* Minor fix to above

20 years ago* Replaced bmstrcasestr() with a more generic function, bmstrstr(), which
Art Cancro [Wed, 12 Nov 2003 04:28:22 +0000 (04:28 +0000)]
* Replaced bmstrcasestr() with a more generic function, bmstrstr(), which
  can be supplied with *any* strncmp()-compatible compare function.

20 years ago* Cleanup
Art Cancro [Mon, 10 Nov 2003 15:51:56 +0000 (15:51 +0000)]
* Cleanup

20 years ago* cleanup
Art Cancro [Sun, 9 Nov 2003 20:34:05 +0000 (20:34 +0000)]
* cleanup

20 years ago* Moved all of the session-management code from ctdlheader.php to
Art Cancro [Sun, 9 Nov 2003 17:53:47 +0000 (17:53 +0000)]
* Moved all of the session-management code from ctdlheader.php to
  ctdlsession.php, leaving only a single function call.  This will
  hopefully make ctdlheader.php more palatable to non-programmers.

20 years ago* IMAP FETCH BODY<xxx.yyy> was outputting the offset and length in the
Art Cancro [Sat, 8 Nov 2003 06:46:09 +0000 (06:46 +0000)]
* IMAP FETCH BODY<xxx.yyy> was outputting the offset and length in the
  wrong order.  Fixed.

20 years ago* IMAP FETCH FLAGS ... removed extra trailing space after last flag
Art Cancro [Sat, 8 Nov 2003 06:29:47 +0000 (06:29 +0000)]
* IMAP FETCH FLAGS ... removed extra trailing space after last flag

20 years ago* ctdlprotocol.php: known room list fetch now sets subscript "hasnewmsgs"
Art Cancro [Fri, 7 Nov 2003 15:56:13 +0000 (15:56 +0000)]
* ctdlprotocol.php: known room list fetch now sets subscript "hasnewmsgs"
* listrooms.php: render rooms with unseen messages in boldface

20 years ago* For certain IMAP outputs (such as BODYSTRUCTURE), buffer all output until
Art Cancro [Thu, 6 Nov 2003 04:25:30 +0000 (04:25 +0000)]
* For certain IMAP outputs (such as BODYSTRUCTURE), buffer all output until
  we've got the whole thing, then spew it all at once to avoid lots of
  tiny TCP packets.
* New API calls buffer_output() (to start buffering) and unbuffer_output()
  (to dump the buffer and stop buffering) are available to do this.

20 years ago* Added a room list function to the library
Art Cancro [Wed, 5 Nov 2003 03:29:12 +0000 (03:29 +0000)]
* Added a room list function to the library
* Threw together temporary room list and goto pages to demonstrate

20 years ago* Added an initial version of the goto command
Art Cancro [Tue, 4 Nov 2003 19:17:16 +0000 (19:17 +0000)]
* Added an initial version of the goto command

20 years ago* added api.html
Art Cancro [Tue, 4 Nov 2003 03:27:19 +0000 (03:27 +0000)]
* added api.html

20 years ago* Minor code cleanups
Art Cancro [Mon, 3 Nov 2003 05:32:57 +0000 (05:32 +0000)]
* Minor code cleanups
* ctdl_mesg() now returns ready-to-output HTML to the caller, instead of
  outputting it itself.

20 years ago* Identify ourselves to Citadel using IDEN
Art Cancro [Sun, 2 Nov 2003 06:04:27 +0000 (06:04 +0000)]
* Identify ourselves to Citadel using IDEN

20 years ago* developers.txt: updated.
Art Cancro [Sun, 2 Nov 2003 05:47:12 +0000 (05:47 +0000)]
* developers.txt: updated.

20 years ago* who.php: added
Art Cancro [Sun, 2 Nov 2003 05:35:11 +0000 (05:35 +0000)]
* who.php: added
* ctdlprotocol.php: worked out a tentative data API using this function.