of going into a release cycle soon.
$Log$
- Revision 573.131 2001/04/28 04:18:44 ajc
- *** empty log message ***
+ 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
Fri Jul 10 1998 Art Cancro <ajc@uncensored.citadel.org>
* Initial CVS import
+
Title: Citadel/UX
-Version: 5.73
+Version: 5.80
Description: An advanced messaging system which can be used for BBS,
groupware, and
online community applications. It is multithreaded,
#include "sysconfig.h"
#include "ipcdef.h"
-#define CITADEL "Citadel/UX 5.73" /* Text description of this software */
+#define CITADEL "Citadel/UX 5.80" /* Text description of this software */
/*
* REV_LEVEL is the current version number (multiplied by 100 to avoid having
* are older than REV_MIN, none of the programs will work until the setup
* program is run again to bring things up to date.
*/
-#define REV_LEVEL 573 /* This version */
+#define REV_LEVEL 580 /* This version */
#define REV_MIN 570 /* Oldest compatible version */
#define SERVER_TYPE 0 /* zero for stock Citadel/UX; other developers please
Begin3
Title: Citadel/UX
-Version: 5.73
-Entered-date: Tue Sep 5 14:35:11 EDT 2000
+Version: 5.80
+Entered-date: Sat Apr 28 00:41:52 EDT 2001
Description: An advanced messaging system which can be used for BBS,
groupware, and online community applications. It is
multithreaded, client/server, database driven, and
-----------------------
- Citadel/UX version 5.74
+ Citadel/UX version 5.80
-----------------------
Copyright (c) 1987-2001 by the Citadel development team.
Steven M. Bellovin (author of public domain 'parsedate' function)
- Michael Bremen (HP/UX compatibility layer and some cosmetics)
- Nathan Bryant (build system, security, database access, and others)
- Art Cancro (overall system design and lead developer)
- Brian Costello (cosmetics, additional commands)
- Daniel Malament (string compare function for IMAP server
- Stu Mark (IGnet/Open protocol design)
- Ben Mehlman (additional client features)
- Ari Samson (project management)
- John Walker (author of public domain base64 encoder/decoder)
- Steve Williams (documentation)
- Ethan Young (IGnet/Open protocol design)
+ Michael Bremen (HP/UX compatibility layer and some cosmetics)
+ Nathan Bryant (build system, security, database access, and others)
+ Art Cancro (overall system design and lead developer)
+ Brian Costello (cosmetics, additional commands)
+ Daniel Malament (string compare function for IMAP server)
+ Stu Mark (IGnet/Open protocol design)
+ Ben Mehlman (additional client features)
+ Ari Samson (project management)
+ John Walker (author of public domain base64 encoder/decoder)
+ Steve Williams (documentation)
+ Ethan Young (IGnet/Open protocol design)
------------------------------------------------------------------------------
#include <sys/time.h>
#include <sys/wait.h>
#include <string.h>
+#include <ctype.h>
#include <limits.h>
#include "citadel.h"
#include "server.h"
cprintf("%ld\n", vbuf.v_roomnum);
cprintf("%ld\n", vbuf.v_roomgen);
cprintf("%ld\n", vbuf.v_usernum);
- cprintf("%ld\n", vbuf.v_lastseen);
+
+ if (strlen(vbuf.v_seen) > 0) {
+ cprintf("%s\n", vbuf.v_seen);
+ }
+ else {
+ cprintf("%ld\n", vbuf.v_lastseen);
+ }
+
cprintf("%u\n", vbuf.v_flags);
}
cdb_end_transaction();
void artv_import_visit(void) {
struct visit vbuf;
char buf[SIZ];
+ int i;
+ int is_textual_seen = 0;
client_gets(buf); vbuf.v_roomnum = atol(buf);
client_gets(buf); vbuf.v_roomgen = atol(buf);
client_gets(buf); vbuf.v_usernum = atol(buf);
- client_gets(buf); vbuf.v_lastseen = atol(buf);
+
+ client_gets(buf);
+ vbuf.v_lastseen = atol(buf);
+ for (i=0; i<strlen(buf); ++i) if (!isdigit(buf[i])) is_textual_seen = 1;
+ if (is_textual_seen) strcpy(vbuf.v_seen, buf);
+
client_gets(buf); vbuf.v_flags = atoi(buf);
put_visit(&vbuf);
lprintf(7, "Imported visit %ld/%ld/%ld\n",
/*
- * Command buffer size (do not change!)
+ * Standard buffer size for string datatypes. DO NOT CHANGE! Not only does
+ * there exist a minimum buffer size for certain protocols (such as IMAP), but
+ * fixed-length buffers are now stored in some of the data structures on disk,
+ * so if you change the buffer size you'll fux0r your database.
*/
#define SIZ 4096
/* Tell 'em who's in da house */
lprintf(1,
"\nMultithreaded message server for Citadel/UX\n"
-"Copyright (C) 1987-2000 by the Citadel/UX development team.\n"
+"Copyright (C) 1987-2001 by the Citadel/UX development team.\n"
"Citadel/UX is free software, covered by the GNU General Public License, and\n"
"you are welcome to change it and/or distribute copies of it under certain\n"
"conditions. There is absolutely no warranty for this software. Please\n"
This is a VERY INCOMPLETE documentation of the API for extending the
Citadel server using dynamically loaded modules. It really isn't an API at
all, but rather a list of some of the functions available in the server which
-are likely to be of use to module writers.
+are likely to be of use to module writers.
+
+ The current trend is to move as much stuff as possible out of the server
+proper and into loadable modules. This makes the code much easier to read and
+understand.
Expect this document to become more complete over time, as both the API and
the person documenting it have a chance to mature a bit. :)
1 Brian Ledbetter <brian@shadowcom.net>
Client Name Status Description
- 0 libCxClient in production Comprehensive Citadel/UX client API
+ 0 libCxClient in production Client-side API library
1 Infusion in production Groupware for Citadel/UX
2 Matthew Scott <gldnspud@telcomplus.com>
SESSION LAYER PROTOCOL FOR CITADEL/UX
- (c) 1995-2000 by Art Cancro et. al. All Rights Reserved
+ (c) 1995-2001 by Art Cancro et. al. All Rights Reserved
INTRODUCTION
what you did, so that your new commands can be added to this document.
The coordinator of the Citadel/UX project is Art Cancro
-<ajc@uncnsrd.mt-kisco.ny.us>.
+<ajc@uncensored.citadel.org>.
CONNECTING TO A SERVER
your own.
-> Clients other than your own should still be able to utilize your server,
even if your proprietary extensions aren't supported.
- -> Please contact Art Cancro <ajc@uncnsrd.mt-kisco.ny.us> and obtain a unique
+ -> Please contact Art Cancro <ajc@uncensored.citadel.org> and obtain a unique
server type code, which can be assigned to your server program.
-> If you document what you did in detail, perhaps it can be added to a
future release of the Citadel/UX program, so everyone can enjoy it. Better
The server message contained on the same line with LISTING_FOLLOWS will
contain the name of the system and the name of the directory, such as:
- uncnsrd.mt-kisco.ny.us|/usr/bbs/files/my_room_directory
+ uncensored.citadel.org|/usr/bbs/files/my_room_directory
SLRP (Set Last-message-Read Pointer)