$Log$
+ Revision 623.16 2004/08/11 04:09:14 ajc
+ * Replaced all "Citadel/UX" references with "Citadel"
+
Revision 623.15 2004/08/05 03:19:48 ajc
* html.c: handle the <BLOCKQUOTE> tag properly
Revision 620.19 2004/04/20 02:42:54 ajc
* techdoc/binaries.txt : updated, now includes WebCit instructions
- * setup.c: detect when setup is run from within the Citadel/UX Ridiculously
+ * setup.c: detect when setup is run from within the Citadel Ridiculously
Easy Installer and skip the directory prompt; the installer sets it.
Revision 620.18 2004/04/14 18:43:51 nbryant
* Add some #includes I apparently somehow missed
Revision 590.42 2002/01/06 10:33:10 error
- * SSL/TLS support for the Citadel/UX wire protocol
+ * SSL/TLS support for the Citadel wire protocol
Revision 590.41 2002/01/06 08:54:58 error
* user_ops.c: fixed become_session() when calling EVT_LOGOUT session hooks
Revision 1.411 1999/11/03 04:01:20 ajc
* Fixed buffer overrun problems in cmd_rchg(), cmd_hchg(), and cmd_uchg()
* Removed my email address as the feedback content from the docs; replaced
- it with a reference to the Citadel/UX web site.
+ it with a reference to the Citadel web site.
Revision 1.410 1999/11/02 19:51:23 ajc
* Fixed timeout problem for remote client sessions (all timeouts were set to
-# Makefile for Citadel/UX
+# Makefile for Citadel
#
# NOTE: normally you should not have to modify the Makefile. All
# system-dependent configuration is in the "configure" script, which
*
* Encode or decode file as MIME base64 (RFC 1341)
* Public domain by John Walker, August 11 1997
- * Modified slightly for the Citadel/UX system, June 1999
+ * Modified slightly for the Citadel system, June 1999
*
*/
/*
* $Id$
*
- * main Citadel/UX header file
+ * main Citadel header file
* see copyright.txt for copyright information
*/
/*
* Text description of this software
*/
-#define CITADEL "Citadel/UX 6.23"
+#define CITADEL "Citadel 6.23"
/*
* REV_LEVEL is the current version number (multiplied by 100 to avoid having
#define REV_MIN 591 /* Oldest compatible database */
#define EXPORT_REV_MIN 623 /* Oldest compatible export files */
-#define SERVER_TYPE 0 /* zero for stock Citadel/UX; other developers please
+#define SERVER_TYPE 0 /* zero for stock Citadel; other developers please
obtain SERVER_TYPE codes for your implementations */
/* Various length constants */
Begin4
-Title: Citadel/UX
+Title: Citadel
Version: 6.21
Entered-date: Thu May 20 12:10:30 EDT 2004
-Description: The Citadel/UX messaging platform for Unix systems.
- In addition to BBS functionality, Citadel/UX also offers advanced
+Description: The Citadel messaging platform for Unix systems.
+ In addition to BBS functionality, Citadel also offers advanced
messaging and groupware applications, including Internet e-mail
through SMTP, POP3 and IMAP, instant messaging, and caledaring
and scheduling.
Keywords: citadel citadel/ux bbs ignet smtp pop3 imap calendar messaging mail
Author: Art Cancro <ajc@uncensored.citadel.org>
-Maintained-by: Citadel/UX Developers <devel@citadel.org>
+Maintained-by: Citadel Developers <devel@citadel.org>
Primary-site: http://www.citadel.org/
Alternate-site: http://www.tux.org/pub/net/citadel/
Original-site: http://uncensored.citadel.org/citadel/
Platforms: Unix or Unix-like operating systems.
- Citadel/UX is known to work on Linux, Solaris and Mac OS X 10.2
+ Citadel is known to work on Linux, Solaris and Mac OS X 10.2
(Jaguar) or later. GNU make is required and GCC is strongly
recommended. We've also had reports of success on Free/NetBSD
and Windows with Cygwin. For calendaring, libical-0.24.RC4
; Get NSIS at http://www.nullsoft.com/
!include "${NSISDIR}\Contrib\Modern UI\System.nsh"
-!define MUI_PRODUCT "Citadel/UX"
+!define MUI_PRODUCT "Citadel"
!define MUI_VERSION "6.21"
!define MUI_WELCOMEPAGE
!define MUI_LICENSEPAGE
OutFile "citadel-6.07.exe"
BGGradient off
-LangString DESC_Citadel ${LANG_ENGLISH} "Citadel/UX client and core libraries (required)"
-LangString DESC_CitadelServer ${LANG_ENGLISH} "Citadel/UX server"
-LangString DESC_CitadelUtils ${LANG_ENGLISH} "Citadel/UX utilities"
+LangString DESC_Citadel ${LANG_ENGLISH} "Citadel client and core libraries (required)"
+LangString DESC_CitadelServer ${LANG_ENGLISH} "Citadel server"
+LangString DESC_CitadelUtils ${LANG_ENGLISH} "Citadel utilities"
SetCompress auto
SetDatablockOptimize on
-BrandingText "Citadel/UX "
+BrandingText "Citadel "
CRCCheck force
AutoCloseWindow true
ShowInstDetails hide
InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Citadel\Citadel\CurrentVersion" "InstallDir"
DirShow show
-Section "Citadel/UX Client and core libraries (required)" Citadel ; (default section)
+Section "Citadel Client and core libraries (required)" Citadel ; (default section)
SetShellVarContext all
SetOutPath "$INSTDIR"
File C:\cygwin\home\error\cvs\citadel\citadel.exe
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Citadel\Citadel\CurrentVersion" "InstallDir" "$INSTDIR"
SectionEnd ; end of default section
-Section "Citadel/UX Server" CitadelServer
+Section "Citadel Server" CitadelServer
SetOutPath "$INSTDIR"
File C:\cygwin\home\error\cvs\citadel\citserver.exe
File C:\cygwin\bin\cygz.dll
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices" "Citadel" "$INSTDIR\citserver.exe -x9 -tcitadel-debug.txt"
SectionEnd
-Section "Citadel/UX Utilities" CitadelUtils
+Section "Citadel Utilities" CitadelUtils
SetOutPath $INSTDIR
File C:\cygwin\home\error\cvs\citadel\aidepost.exe
File C:\cygwin\home\error\cvs\citadel\citmail.exe
# 4. <current directory>/citadel.rc
# Set ENCRYPT to yes to force SSL/TLS encryption when connecting to a
-# Citadel/UX server, even if the server is on the same machine as the
+# Citadel server, even if the server is on the same machine as the
# client. Set it to no to disable SSL/TLS encryption. The default is to
# enable encryption for remote systems and to disable encryption for
# systems on the same machine as the client.
# $Id$
-Summary: Citadel/UX, the flexible, powerful way to build online communities
+Summary: Citadel, the flexible, powerful way to build online communities
Name: citadel
Version: 6.24
Release: 1
Source0: http://my.citadel.org/download/citadel-ux-%{PACKAGE_VERSION}.tar.gz
Buildroot: /var/tmp/citadel-%{PACKAGE_VERSION}-root
#Icon: citux-64x64.xpm
-Vendor: Citadel/UX Development Team
+Vendor: Citadel Development Team
URL: http://uncensored.citadel.org/citadel/
# I don't think we should actually Require this because we can be configured
rm -rf "$RPM_BUILD_ROOT"
%package server
-Summary: Citadel/UX, the flexible, powerful way to build online communities
+Summary: Citadel, the flexible, powerful way to build online communities
Group: System Environment/Daemons
Requires: citadel-data
Obsoletes: citadel
Obsoletes: citadel-mrtg
Obsoletes: citadel-calendar
%description server
-Citadel/UX is an advanced messaging system which can be used for BBS, email,
+Citadel is an advanced messaging system which can be used for BBS, email,
groupware and online community applications. It is multithreaded,
client/server, database driven, and accessible via a growing selection of
front ends.
fi
%package data
-Summary: Data files for the Citadel/UX messaging system.
+Summary: Data files for the Citadel messaging system.
Group: System Environment/Daemons
%description data
-Default data files for the Citadel/UX messaging system. These files are
-required by the Citadel/UX server.
+Default data files for the Citadel messaging system. These files are
+required by the Citadel server.
%defattr(-,root,root)
%files data
/usr/local/citadel/.hushlogin
/bin/ls /usr/local/citadel/help > "/usr/local/citadel/help/?"
%package client
-Summary: Client for the Citadel/UX messaging system
+Summary: Client for the Citadel messaging system
Group: Applications/Communications
%description client
-This is the text client software for the Citadel/UX messaging system.
-Install this software if you need to connect to a Citadel/UX server.
+This is the text client software for the Citadel messaging system.
+Install this software if you need to connect to a Citadel server.
%defattr(-,root,root)
%files client
/usr/local/citadel/citadel
developerid = 8;
clientid = 0;
revision = REV_LEVEL - 600;
- software_name = "Citadel/UX (libcitadel)";
+ software_name = "Citadel (libcitadel)";
}
if (!hostname) return -2;
}
/* Pointless flag waving */
#if SSLEAY_VERSION_NUMBER >= 0x0922
- SSL_set_session_id_context(temp_ssl, "Citadel/UX SID", 14);
+ SSL_set_session_id_context(temp_ssl, "Citadel SID", 14);
#endif
if (!access("/var/run/egd-pool", F_OK))
config.c_nodename, config.c_maxsessions);
}
else {
- cprintf("%d %s Citadel/UX server ready.\n",
+ cprintf("%d %s Citadel server ready.\n",
CIT_OK, config.c_nodename);
}
}
dnl Process this file with autoconf to produce a configure script.
dnl $Id$
AC_PREREQ(2.52)
-AC_INIT([Citadel/UX], [6.15], [http://uncensored.citadel.org/])
+AC_INIT([Citadel], [6.15], [http://uncensored.citadel.org/])
AC_REVISION([$Revision$])
AC_CONFIG_SRCDIR([citserver.c])
AC_PREFIX_DEFAULT(/usr/local/citadel)
clear
cat <<!
-Citadel/UX Database Cleanup
+Citadel Database Cleanup
---------------------------
This script exports, deletes, and re-imports your database. If you have
/*
* $Id$
*
- * Sleepycat (Berkeley) DB driver for Citadel/UX
+ * Sleepycat (Berkeley) DB driver for Citadel
*
*/
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
- <title>Citadel/UX Documentation</title>
+ <title>Citadel Documentation</title>
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
</head>
<body>
<div align="center">
-<h1>Citadel/UX</h1>
+<h1>Citadel</h1>
<h2>a messaging and collaboration platform for BBS and groupware
applications</h2>
Copyright ©1987-2004 by the Citadel development team:<br>
</div>
<div align="justify">
<h3>Overview</h3>
-<p>Citadel/UX is an advanced, multiuser, client/server messaging system
+<p>Citadel is an advanced, multiuser, client/server messaging system
suitable for BBS, e-mail, and groupware applications. It is designed to
handle the needs of both small dialup systems and large-scale
Internet-connected systems. It was originally developed on an Altos
public BBS) is an ordinary Linux system. The current distribution
includes: </p>
<ul>
- <li>The Citadel/UX server (this is the back end that does all
+ <li>The Citadel server (this is the back end that does all
processing) </li>
<li>A text-based client program designed with the traditional Citadel
"look and feel" (room prompts, dot commands, and the like) </li>
</ul>
<p>Some knowledge of the Unix system is necessary to install and manage
the system. It is mandatory that the sysop have "root" access to the
-operating system. The following are required to install Citadel/UX: </p>
+operating system. The following are required to install Citadel: </p>
<ul>
<li>A Unix operating system (Linux, BSD, Solaris, Tru64, HP/UX) </li>
<li>C compiler (<a href="http://gcc.gnu.org/">GCC</a> with <a
</li>
<li>Enough disk space to hold all of the programs and data </li>
</ul>
-<p>If you are running Citadel/UX on a Linux system, it is STRONGLY
+<p>If you are running Citadel on a Linux system, it is STRONGLY
recommended that you run it on a recent distribution (such as <a
href="http://www.redhat.com">Red Hat</a> 7.3 or newer). A new-ish
distribution will have most or all of the prerequisite tools and
<h3><a name="Using_an_external_editor_for_message"></a>Using an
external editor
for message composition</h3>
-<p>Citadel/UX has a built-in message editor. However, you can also use
+<p>Citadel has a built-in message editor. However, you can also use
your favorite text editor to write messages. To do this you simply put
a line in your citadel.rc file like this:</p>
<pre>editor=/usr/bin/vi<br></pre>
commands disabled, as well as any other functions which a destructive
user could use to gain unauthorized access to your host system.</p>
<h3><a name="Printing_messages"></a>Printing messages</h3>
-<p>Citadel/UX can send messages to a printer, or just about anywhere
+<p>Citadel can send messages to a printer, or just about anywhere
else in your system. The variable <tt>PRINTCMD</tt> in <tt>citadel.rc</tt>
specifies what command you use to print. Text is sent to the standard
input (stdin) of the print command.</p>
<p>Before you can use Citadel, you must define the "citadel" service to
your system. This is accomplished by adding a line to your
/etc/services file that looks something like this:</p>
-<pre>citadel 504/tcp # Citadel/UX Server<br></pre>
+<pre>citadel 504/tcp # Citadel Server<br></pre>
<p>504 is the port number officially designated by the IANA for use by
Citadel. There should not be any need to use a different port number,
unless you are running multiple Citadels on the same computer and
</ul>
<p>To report a problem, you can log on to <a
href="http://uncensored.citadel.org">UNCENSORED!</a> or any other BBS
-on the Citadel network which carries the <tt>Citadel/UX></tt> room.
+on the Citadel network which carries the <tt>Citadel></tt> room.
Please DO NOT e-mail the developers directly. Post a request for help
on the BBS, with all of the following information: </p>
<ul>
</div>
<div align="justify">
<h3><a name="Overview_"></a>Overview</h3>
-<p>Citadel/UX, when installed properly, will do most of its maintenance
+<p>Citadel, when installed properly, will do most of its maintenance
by itself. It is intended to be run unattended for extended periods of
time, and most installations do just that without any software failures.</p>
<p>The system has seven access levels. Most users are at the bottom and
<p>There are several strings that you can put in help files that will
be automatically
substituted with other strings. They are:</p>
-<pre> <br> ^nodename = The node name of your system on a Citadel/UX network<br> ^humannode = Human-readable node name (also your node name on C86Net)<br> ^fqdn = Your system's fully-qualified domain name<br> ^username = The name of the user reading the help file<br> ^usernum = The user number of the user reading the help file<br> ^sysadm = The name of the system administraor (i.e., you)<br> ^variantname = The name of the software you're running<br> ^bbsdir = The directory on the host system in which you have<br> installed the Citadel system.<br></pre>
+<pre> <br> ^nodename = The node name of your system on a Citadel network<br> ^humannode = Human-readable node name (also your node name on C86Net)<br> ^fqdn = Your system's fully-qualified domain name<br> ^username = The name of the user reading the help file<br> ^usernum = The user number of the user reading the help file<br> ^sysadm = The name of the system administraor (i.e., you)<br> ^variantname = The name of the software you're running<br> ^bbsdir = The directory on the host system in which you have<br> installed the Citadel system.<br></pre>
<p>So, for example, you could create a help file which looked like:</p>
<pre> "Lots of help, of course, is available right here on ^humannode. Of<br>course, if you still have trouble, you could always bug ^sysadm about it!"<br><br></pre>
<h3><a name="Site_configuration"></a>Site configuration</h3>
server from a shell and watch it load. It might look something like
this:</p>
<font size="-2"> </font>
-<pre><font size="-2">smw @ pixel % ./citserver<br><br>Multithreaded message server for Citadel/UX<br>Copyright (C) 1987-2003 by the Citadel/UX development team.<br>Citadel/UX is open source, covered by the GNU General Public License, and<br>you are welcome to change it and/or distribute copies of it under certain<br>conditions. There is absolutely no warranty for this software. Please<br>read the 'COPYING.txt' file for details.<br><br>Loading citadel.config<br>Opening databases<br>This is GDBM version 1.8.0, as of May 19, 1999.<br>Checking floor reference counts<br>Creating base rooms (if necessary)<br>Registered a new service (TCP port 504)<br>Registered a new service (TCP port 0)<br>Initializing loadable modules<br>Registered server command CHAT (Begin real-time chat)<br>Registered server command PEXP (Poll for instant messages)<br>Registered server command GEXP (Get instant messages)<br>Registered server command SEXP (Send an instant message)<br>Registered server command DEXP (Disable instant messages)<br>Registered a new session function (type 0)<br>Registered a new x-msg function (priority 0)<br>Loaded module: $Id$<br>Registered a new session function (type 1)<br>Registered a new message function (type 201)<br>Registered a new message function (type 202)<br>Registered server command REGI (Enter registration info)<br>Registered server command GREG (Get registration info)<br>Registered a new user function (type 100)<br>Loaded module: $Id$<br>Server-hosted upgrade level is 5.62<br>Loaded module: $Id$<br>Registered server command EXPI (Expire old system objects)<br>Registered server command FSCK (Check message ref counts)<br>Loaded module: $Id$<br><b>citserver: Can't bind: Address already in use<br>ERROR: could not bind to TCP port 25.</b><br>Registered a new service (TCP port 0)<br>Registered a new session function (type 50)<br>Loaded module: $Id$<br><b>citserver: Can't bind: Address already in use<br>ERROR: could not bind to TCP port 110.</b><br>Registered a new session function (type 0)<br>Loaded module: $Id$<br>Registered a new message function (type 202)Loaded module: $Id$<br>Registered server command RWHO (Display who is online)<br>Registered server command HCHG (Masquerade hostname)<br>Registered server command RCHG (Masquerade roomname)<br>Registered server command UCHG (Masquerade username)<br>Registered server command STEL (Enter/exit stealth mode)<br>Loaded module: $Id$<br>Changing uid to 513<br>Starting housekeeper thread<br></font></pre>
+<pre><font size="-2">smw @ pixel % ./citserver<br><br>Multithreaded message server for Citadel<br>Copyright (C) 1987-2003 by the Citadel development team.<br>Citadel is open source, covered by the GNU General Public License, and<br>you are welcome to change it and/or distribute copies of it under certain<br>conditions. There is absolutely no warranty for this software. Please<br>read the 'COPYING.txt' file for details.<br><br>Loading citadel.config<br>Opening databases<br>This is GDBM version 1.8.0, as of May 19, 1999.<br>Checking floor reference counts<br>Creating base rooms (if necessary)<br>Registered a new service (TCP port 504)<br>Registered a new service (TCP port 0)<br>Initializing loadable modules<br>Registered server command CHAT (Begin real-time chat)<br>Registered server command PEXP (Poll for instant messages)<br>Registered server command GEXP (Get instant messages)<br>Registered server command SEXP (Send an instant message)<br>Registered server command DEXP (Disable instant messages)<br>Registered a new session function (type 0)<br>Registered a new x-msg function (priority 0)<br>Loaded module: $Id$<br>Registered a new session function (type 1)<br>Registered a new message function (type 201)<br>Registered a new message function (type 202)<br>Registered server command REGI (Enter registration info)<br>Registered server command GREG (Get registration info)<br>Registered a new user function (type 100)<br>Loaded module: $Id$<br>Server-hosted upgrade level is 5.62<br>Loaded module: $Id$<br>Registered server command EXPI (Expire old system objects)<br>Registered server command FSCK (Check message ref counts)<br>Loaded module: $Id$<br><b>citserver: Can't bind: Address already in use<br>ERROR: could not bind to TCP port 25.</b><br>Registered a new service (TCP port 0)<br>Registered a new session function (type 50)<br>Loaded module: $Id$<br><b>citserver: Can't bind: Address already in use<br>ERROR: could not bind to TCP port 110.</b><br>Registered a new session function (type 0)<br>Loaded module: $Id$<br>Registered a new message function (type 202)Loaded module: $Id$<br>Registered server command RWHO (Display who is online)<br>Registered server command HCHG (Masquerade hostname)<br>Registered server command RCHG (Masquerade roomname)<br>Registered server command UCHG (Masquerade username)<br>Registered server command STEL (Enter/exit stealth mode)<br>Loaded module: $Id$<br>Changing uid to 513<br>Starting housekeeper thread<br></font></pre>
<p>The lines emphasized in boldface in the above log output tell you
that Citadel "can't bind" to various ports. The error 'address already
in use' generally means that something else is already running on the
<h3><a name="ImportingExporting_your_Citadel"></a>Importing/Exporting
your Citadel database<br>
</h3>
-<p>Citadel/UX contains an importer/exporter module, affectionately
+<p>Citadel contains an importer/exporter module, affectionately
known as the "Art Vandelay" module (a not-so-obscure Seinfeld
reference). It
allows you to export the entire contents of your Citadel databases to a
Installation:
- To install Citadel/UX for Windows, run the citadel-X.XX.exe file. It is
+ To install Citadel for Windows, run the citadel-X.XX.exe file. It is
recommended that you do not change the installation folder. Unlike the
Unix version, you do NOT need to run Citadel's setup utility before
starting the server. However, the system operator will be set to the
Removal:
- To remove Citadel/UX for Windows, go to Start > Control Panel > Add/Remove
+ To remove Citadel for Windows, go to Start > Control Panel > Add/Remove
Programs, click Citadel, then click Add/Remove (or Change/Remove). Your
server data (users, messages, etc.) will NOT be removed. To remove these
files, delete the C:\Program Files\Citadel\data directory.
-Known Issues in Citadel/UX for Windows:
+Known Issues in Citadel for Windows:
* Calendaring support is not included. Status: TO_BE_FIXED
Enter Recipient: Joe Schmoe @ citadrool
To send mail to a user on the Internet, type their network address
-at the recipient prompt. Citadel/UX will send it over the network:
+at the recipient prompt. Citadel will send it over the network:
Enter Recipient: ajc@herring.fishnet.com
- Citadel/UX is the premier "online community" (i.e. Bulletin Board System)
+ Citadel is the premier "online community" (i.e. Bulletin Board System)
software. It runs on all POSIX-compliant systems, including Linux. It is an
advanced client/server application, and is being actively maintained.
- For more info, visit UNCENSORED! BBS at uncnsrd.mt-kisco.ny.us
+ For more info, visit UNCENSORED! BBS at uncensored.citadel.org
/*
* $Id$
*
- * Citadel/UX message support routines
+ * Citadel message support routines
* see copyright.txt for copyright information
*/
*
* If the -q (quiet or qwk) flag is used, only the message text prints, and
* then it stops at the end of the first message it prints.
- * This is used by the QWK reader for Citadel/UX during message format
+ * This is used by the QWK reader for Citadel during message format
* translation.
*
*/
* $Id$
*
* This module implements iCalendar object processing and the Calendar>
- * room on a Citadel/UX server. It handles iCalendar objects using the
+ * room on a Citadel server. It handles iCalendar objects using the
* iTIP protocol. See RFCs 2445 and 2446.
*
*/
/*
* $Id$
*
- * iCalendar implementation for Citadel/UX
+ * iCalendar implementation for Citadel
*
*/
/*
* $Id$
*
- * IMAP server for the Citadel/UX system
+ * IMAP server for the Citadel system
* Copyright (C) 2000-2002 by Art Cancro and others.
* This code is released under the terms of the GNU General Public License.
*
IMAP->cached_fetch = NULL;
IMAP->cached_msgnum = (-1);
- cprintf("* OK %s Citadel/UX IMAP4rev1 server ready\r\n",
+ cprintf("* OK %s Citadel IMAP4rev1 server ready\r\n",
config.c_fqdn);
}
/*
* $Id$
*
- * POP3 service for the Citadel/UX system
+ * POP3 service for the Citadel system
* Copyright (C) 1998-2001 by Art Cancro and others.
* This code is released under the terms of the GNU General Public License.
*
POP3->msgs = NULL;
POP3->num_msgs = 0;
- cprintf("+OK Citadel/UX POP3 server %s\r\n",
+ cprintf("+OK Citadel POP3 server %s\r\n",
CC->cs_nonce);
}
snprintf(SMTP_RECPS, SIZ, "%s", "");
snprintf(SMTP_ROOMS, SIZ, "%s", "");
- cprintf("220 %s ESMTP Citadel/UX server ready.\r\n", config.c_fqdn);
+ cprintf("220 %s ESMTP Citadel server ready.\r\n", config.c_fqdn);
}
/*
lprintf(CTDL_NOTICE, "\n");
lprintf(CTDL_NOTICE, "\n");
lprintf(CTDL_NOTICE,
- "*** Citadel/UX messaging server engine v%d.%02d ***\n",
+ "*** Citadel server engine v%d.%02d ***\n",
(REV_LEVEL/100), (REV_LEVEL%100));
lprintf(CTDL_NOTICE,
- "Copyright (C) 1987-2003 by the Citadel/UX development team.\n");
+ "Copyright (C) 1987-2004 by the Citadel development team.\n");
lprintf(CTDL_NOTICE,
"This program is distributed under the terms of the GNU "
"General Public License.\n");
/*
* $Id$
*
- * Citadel/UX setup utility
+ * Citadel setup utility
*
*/
"you run multiple instances of Citadel on the same computer and there's\n"
"something else already using port 504.\n",
-"Setup has detected that you currently have data files from a Citadel/UX\n"
+"Setup has detected that you currently have data files from a Citadel\n"
"version 3.2x installation. The program 'conv_32_40' can upgrade your\n"
"files to version 4.0x format.\n"
" Setup will now exit. Please either run 'conv_32_40' or delete your data\n"
if (infp == NULL) {
display_error(strerror(errno));
} else {
- fprintf(infp, "# Start the Citadel/UX server...\n");
+ fprintf(infp, "# Start the Citadel server...\n");
fprintf(infp, "%s:2345:respawn:%s -h%s -x3 -llocal4\n",
entryname, looking_for, setup_directory);
fclose(infp);
#ifdef HAVE_NEWT
newtInit();
newtCls();
- newtDrawRootText(0, 0, "Citadel/UX Setup");
+ newtDrawRootText(0, 0, "Citadel Setup");
return UI_NEWT;
#endif
return UI_TEXT;
setup_type = discover_ui();
}
if (info_only == 1) {
- important_message("Citadel/UX Setup", CITADEL);
+ important_message("Citadel Setup", CITADEL);
cleanup(0);
}
}
if (chdir(setup_directory) != 0) {
- important_message("Citadel/UX Setup",
+ important_message("Citadel Setup",
"The directory you specified does not exist.");
cleanup(errno);
}
/* Make sure it's stopped. */
if (test_server() == 0) {
- important_message("Citadel/UX Setup",
+ important_message("Citadel Setup",
"The Citadel service is still running.\n"
"Please stop the service manually and run "
"setup again.");
case UI_TEXT:
printf("\n\n\n"
- " *** Citadel/UX setup program ***\n\n");
+ " *** Citadel setup program ***\n\n");
break;
}
/*
if (setuid(config.c_bbsuid) != 0) {
- important_message("Citadel/UX Setup",
+ important_message("Citadel Setup",
"Failed to change the user ID to your Citadel user.");
cleanup(errno);
}
}
if (old_setup_level < 555) {
- important_message("Citadel/UX Setup",
- "This Citadel/UX installation is too old "
+ important_message("Citadel Setup",
+ "This Citadel installation is too old "
"to be upgraded.");
cleanup(1);
}
/****************************************************************************/
/* YOUR SYSTEM CONFIGURATION */
/* Set all the values in this file appropriately BEFORE compiling any of the*/
-/* C programs. If you are upgrading from an older version of Citadel/UX, it */
+/* C programs. If you are upgrading from an older version of Citadel, it */
/* is vitally important that the #defines which are labelled "structure size*/
/* variables" are EXACTLY the same as they were in your old system, */
/* otherwise your files will be munged beyond repair. */
/*
* $Id$
*
- * Citadel/UX "system dependent" stuff.
+ * Citadel "system dependent" stuff.
* See copyright.txt for copyright information.
*
* Here's where we (hopefully) have most parts of the Citadel server that
it affects your system security. The original PAM.txt is included below:
- Citadel/UX 5.53 and later include support for Pluggable Authentication
+ Citadel 5.53 and later include support for Pluggable Authentication
Modules (PAM.) However, we don't recommend enabling this feature (./configure
--with-pam) unless you understand exactly how it will affect your system's
security. Specifically, the system administrator must supply a configuration
configurations.
That said, the configuration we've provided should work on at least
-Red Hat Linux 4.2-5.2, (although we don't recommend building Citadel/UX on Red
+Red Hat Linux 4.2-5.2, (although we don't recommend building Citadel on Red
Hat 4.x due to libc thread-safety issues) and if you understand PAM
-configuration on your system, feel free to build Citadel/UX with PAM support,
+configuration on your system, feel free to build Citadel with PAM support,
as long as you realize that YOU'RE ON YOUR OWN.
- Citadel/UX Server Extension API Documentation
+ Citadel Server Extension API Documentation
---------------------------------------------
This is a VERY INCOMPLETE documentation of the API for extending the
-Every client for the Citadel/UX system is capable of identifying itself with
+Every client for the Citadel system is capable of identifying itself with
a developer code, client code, and client version. Here are the known values
for these fields.
Developer codes (and where known, client codes)
- 0 The Citadel/UX core development team
+ 0 The Citadel core development team
(See copyright.doc for the list of people involved in the project)
Here are the client ID's we've used:
Client Name Status Description
- 0 Citadel in production Citadel/UX text based client
+ 0 Citadel in production Citadel text based client
1 lcit dead Curses-based text client
2 WinCit deprecated MS Visual Basic client.
Version 1.0 is stable but there
Client Name Status Description
0 libCxClient in production Client-side API library
- 1 Infusion in production Groupware for Citadel/UX
+ 1 Infusion in production Groupware for Citadel
2 Matthew Scott <gldnspud@telcomplus.com>
------------------------------------------------------
- The totally incomplete guide to Citadel/UX internals
+ The totally incomplete guide to Citadel internals
------------------------------------------------------
Citadel has evolved quite a bit since its early days, and the data structures
the message in standard UNIX format (the number
of seconds since January 1, 1970 GMT).
U Subject Optional. Developers may choose whether they wish to
- generate or display subject fields. Citadel/UX does
+ generate or display subject fields. Citadel does
not generate them, but it does print them when found.
0 Error This field is typically never found in a message on
disk or in transit. Message scanning modules are
Portability issues
- Citadel/UX is 64-bit clean, architecture-independent, and Year 2000
+ Citadel is 64-bit clean, architecture-independent, and Year 2000
compliant. The software should compile on any POSIX compliant system with
a full pthreads implementation and TCP/IP support. In the future we may
try to port it to non-POSIX systems as well.
SYNTAX: ignet_push_share|uncnsrd
DESCRIPTION:
Specifies that the second argument is the name of a neighboring node on an
-IGnet (Citadel/UX networking) network, to which this room should be pushed
+IGnet (Citadel networking) network, to which this room should be pushed
(spooled). Conceptually, this node will have a corresponding record pushing
data in the other direction.
- SESSION LAYER PROTOCOL FOR CITADEL/UX
+ SESSION LAYER PROTOCOL FOR THE CITADEL SYSTEM
(c) 1995-2004 by Art Cancro et. al. All Rights Reserved
------------
This is an attempt to document the session layer protocol used by the
-Citadel/UX system, beginning with version 4.00, which is the first version
+Citadel system, beginning with version 4.00, which is the first version
to implement a client/server paradigm. It is intended as a resource for
programmers who intend to develop their own Citadel clients, but it may have
other uses as well.
developments ahead of time, please at least send in an e-mail documenting
what you did, so that your new commands can be added to this document.
- The coordinator of the Citadel/UX project is Art Cancro
+ The coordinator of the Citadel project is Art Cancro
<ajc@uncensored.citadel.org>.
----------------------
The protocols used below the session layer are beyond the scope of this
-document, but we will briefly cover the methodology employed by Citadel/UX.
+document, but we will briefly cover the methodology employed by Citadel.
- Citadel/UX offers Citadel BBS service using TCP/IP. It does so via a
+ Citadel offers Citadel BBS service using TCP/IP. It does so via a
multithreaded server listening on a TCP port. Local connections may also
be made using the same protocol using Unix domain sockets.
COMMANDS
--------
- This is a listing of all the commands that a Citadel/UX server can execute.
+ This is a listing of all the commands that a Citadel server can execute.
NOOP (NO OPeration)
number, for the corresponding effect. If no parameters are specified, "all"
is assumed.
- In Citadel/UX 5.00 and above, the client may also specify "gt" plus a number,
+ In Citadel 5.00 and above, the client may also specify "gt" plus a number,
to list all messages in the current room with a message number greater than
the one specified.
- The third argument, valid only in Citadel/UX 5.60 and above, may be either
+ The third argument, valid only in Citadel 5.60 and above, may be either
0 or 1. If it is 1, this command behaves differently: before a listing is
returned, the client must transmit a list of fields to search for. The field
headers are listed below in the writeup for the "MSG0" command.
Line 2 - The node name of the server BBS
Line 3 - Human-readable node name of the server BBS
Line 4 - The fully-qualified domain name (FQDN) of the server
- Line 5 - The name of the server software, i.e. "Citadel/UX 4.00"
+ Line 5 - The name of the server software, i.e. "Citadel 4.00"
Line 6 - (The revision level of the server code) * 100
Line 7 - The geographical location of the BBS (city and state if in the US)
Line 8 - The name of the system administrator
-> 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
+future release of the Citadel program, so everyone can enjoy it. Better
yet, just work with the Citadel development team on the main source tree.
If everyone follows this scheme, we can avoid a chaotic situation with lots
The opposite of GETA, used to set the Room Aide for the current room. One
parameter should be passed, which is the name of the user who is to be the
-new Room Aide. Under Citadel/UX, this command may only be executed by Aides
+new Room Aide. Under Citadel, this command may only be executed by Aides
and by the *current* Room Aide for the room. Return codes possible are:
ERROR + NOT_LOGGED_IN (Not logged in.)
ERROR + HIGHER_ACCESS_REQUIRED (Higher access required.)
2 - Anonymous flag. This argument is ignored unless the room allows
anonymous messages. In such rooms, this flag may be set to 1 to flag a
message as anonymous, otherwise 0 for a normal message.
- 3 - Format type. Any valid Citadel/UX format type may be used (this will
+ 3 - Format type. Any valid Citadel format type may be used (this will
typically be 0; see the MSG0 command above).
4 - Subject. If present, this argument will be used as the subject of
the message.
This command is used to display system messages and/or help files. The
single argument it accepts is the name of the file to display. IT IS CASE
-SENSITIVE. Citadel/UX looks for these files first in the "messages"
+SENSITIVE. Citadel looks for these files first in the "messages"
subdirectory and then in the "help" subdirectory.
If the file is found, LISTING_FOLLOWS is returned, followed by a pathname
really paranoid, and warns that aides can still see
unlisted userlog entries.
- Citadel/UX provides these for the Citadel/UX Unix text client. They are
+ Citadel provides these for the Citadel Unix text client. They are
probably not very useful for other clients:
mainmenu - Main menu (when in idiot mode).
ever returned. LISTING_FOLLOWS will be returned, followed by zero or more
lines containing the following three fields:
- 0 - Session ID. Citadel/UX fills this with the pid of a server program.
+ 0 - Session ID. Citadel fills this with the pid of a server program.
1 - User name.
2 - The name of the room the user is currently in. This field might not
be displayed (for example, if the user is in a private room) or it might
cannot be opened at the same time. OIMG returns the same result codes as OPEN.
All images will be in GIF (Graphics Interchange Format). In the case of
-Citadel/UX, the server will convert the supplied filename to all lower case,
+Citadel, the server will convert the supplied filename to all lower case,
append the characters ".gif" to the filename, and look for it in the "images"
subdirectory. As with the MESG command, there are several "well known"
images which are likely to exist on most servers:
goodbye - Logoff banner graphics to be displayed alongside MESG "goodbye"
background - Background image (usually tiled) for graphical clients
- The following "special" image names are defined in Citadel/UX server version
+ The following "special" image names are defined in Citadel server version
5.00 and above:
_userpic_ - Picture of a user (send the username as the second argument)
further traffic to the server. The next transmission sent to the server
will be a regular server command.
- The Citadel/UX server understands the following commands:
+ The Citadel server understands the following commands:
/quit - Exit from chat mode (causes the server to do an 000 end)
/who - List users currently in chat
/whobbs - List users currently in chat and on the bbs
MSG2 follows the same calling convention as MSG0. The difference between
the two commands is that MSG2 outputs messages in standard RFC822 format
-rather than in Citadel/UX proprietary format.
+rather than in Citadel proprietary format.
This command was implemented in order to make various gateway programs
easier to implement, and to provide some sort of multimedia support in the
The first parameter supplied to UIMG should be 0 if the client is only checking
for permission to upload, or 1 if the client is actually attempting to begin
the upload operation. The second argument is the name of the file to be
-transmitted. In Citadel/UX, the filename is converted to all lower case,
+transmitted. In Citadel, the filename is converted to all lower case,
appended with the characters ".gif", and stored in the "images" directory.
UIMG returns OK if the client has permission to perform the requested upload,
/*
* $Id$
*
- * vCard implementation for Citadel/UX
+ * vCard implementation for Citadel
*
* Copyright (C) 1999 by Art Cancro
* This code is freely redistributable under the terms of the GNU General
/*
* $Id$
*
- * vCard implementation for Citadel/UX
+ * vCard implementation for Citadel
*
* Copyright (C) 1999 by Art Cancro
* This code is freely redistributable under the terms of the GNU General