* more doco update
authorArt Cancro <ajc@citadel.org>
Sun, 9 Feb 2003 05:44:16 +0000 (05:44 +0000)
committerArt Cancro <ajc@citadel.org>
Sun, 9 Feb 2003 05:44:16 +0000 (05:44 +0000)
citadel/docs/citadel.html
citadel/docs/inetsiteconfig.txt [deleted file]

index 9b26c0b7aaa1d8a66985eff6f4c1d9938f06549b..d6beb891094fe543208b3704932ff5554c0abb3f 100644 (file)
 <html>
 <head>
   <title>Citadel/UX Documentation</title>
-                                                       
+                                                              
   <meta http-equiv="content-type"
  content="text/html; charset=ISO-8859-1">
 </head>
   <body>
-               
-<div align="center">        
+                 
+<div align="center">         
 <h1>Citadel/UX</h1>
-               
+                 
 <h2>a messaging and collaboration platform for BBS and groupware applications</h2>
-        Copyright &copy;1987-2003 by the Citadel development team:<br>
-        <br>
-               
+         Copyright &copy;1987-2003 by the Citadel development team:<br>
+         <br>
+                 
 <table cellpadding="2" cellspacing="2" border="0" align="center">
-          <tbody>
-            <tr>
-              <td valign="top">Steven M. Bellovin<br>
-              </td>
-              <td valign="top"><i>author of public domain 'parsedate' function<br>
-              </i></td>
-            </tr>
-            <tr>
-              <td valign="top">Nathan Bryant<br>
-              </td>
-              <td valign="top"><i>build system, security, database access,
+           <tbody>
+             <tr>
+               <td valign="top">Steven M. Bellovin<br>
+               </td>
+               <td valign="top"><i>author of public domain 'parsedate' function<br>
+               </i></td>
+             </tr>
+             <tr>
+               <td valign="top">Nathan Bryant<br>
+               </td>
+               <td valign="top"><i>build system, security, database access, 
  and   others<br>
-              </i></td>
-            </tr>
-            <tr>
-              <td valign="top">Art Cancro<br>
-              </td>
-              <td valign="top"><i>overall system design and lead developer<br>
-              </i></td>
-            </tr>
-            <tr>
-              <td valign="top">Brian Costello<br>
-              </td>
-              <td valign="top"><i>cosmetics, additional commands<br>
-              </i></td>
-            </tr>
-            <tr>
-              <td valign="top">Michael Hampton<br>
-              </td>
-              <td valign="top"><i>client software development<br>
-              </i></td>
-            </tr>
-            <tr>
-              <td valign="top">Andru Luvisi<br>
-              </td>
-              <td valign="top"><i>troubleshooting and development assistance<br>
-              </i></td>
-            </tr>
-            <tr>
-              <td valign="top">Daniel Malament<br>
-              </td>
-              <td valign="top"><i>string compare function for IMAP server<br>
-              </i></td>
-            </tr>
-            <tr>
-              <td valign="top">Stu Mark<br>
-              </td>
-              <td valign="top"><i>additional client features, IGnet protocol
+               </i></td>
+             </tr>
+             <tr>
+               <td valign="top">Art Cancro<br>
+               </td>
+               <td valign="top"><i>overall system design and lead developer<br>
+               </i></td>
+             </tr>
+             <tr>
+               <td valign="top">Brian Costello<br>
+               </td>
+               <td valign="top"><i>cosmetics, additional commands<br>
+               </i></td>
+             </tr>
+             <tr>
+               <td valign="top">Michael Hampton<br>
+               </td>
+               <td valign="top"><i>client software development<br>
+               </i></td>
+             </tr>
+             <tr>
+               <td valign="top">Andru Luvisi<br>
+               </td>
+               <td valign="top"><i>troubleshooting and development assistance<br>
+               </i></td>
+             </tr>
+             <tr>
+               <td valign="top">Daniel Malament<br>
+               </td>
+               <td valign="top"><i>string compare function for IMAP server<br>
+               </i></td>
+             </tr>
+             <tr>
+               <td valign="top">Stu Mark<br>
+               </td>
+               <td valign="top"><i>additional client features, IGnet protocol 
   design<br>
-              </i></td>
-            </tr>
-            <tr>
-              <td valign="top">Ben Mehlman<br>
-              </td>
-              <td valign="top"><i>additional client features<br>
-              </i></td>
-            </tr>
-            <tr>
-              <td valign="top">Ari Samson<br>
-              </td>
-              <td valign="top"><i>assistance with project management<br>
-              </i></td>
-            </tr>
-            <tr>
-              <td valign="top">John Walker<br>
-              </td>
-              <td valign="top"><i>author of public domain base64 encoder/decoder<br>
-              </i></td>
-            </tr>
-            <tr>
-              <td valign="top">Steve Williams<br>
-              </td>
-              <td valign="top"><i>documentation<br>
-              </i></td>
-            </tr>
-            <tr>
-              <td valign="top">Ethan Young<br>
-              </td>
-              <td valign="top"><i>IGnet protocol design<br>
-              </i></td>
-            </tr>
-                               
-  </tbody>        
+               </i></td>
+             </tr>
+             <tr>
+               <td valign="top">Ben Mehlman<br>
+               </td>
+               <td valign="top"><i>additional client features<br>
+               </i></td>
+             </tr>
+             <tr>
+               <td valign="top">Ari Samson<br>
+               </td>
+               <td valign="top"><i>assistance with project management<br>
+               </i></td>
+             </tr>
+             <tr>
+               <td valign="top">John Walker<br>
+               </td>
+               <td valign="top"><i>author of public domain base64 encoder/decoder<br>
+               </i></td>
+             </tr>
+             <tr>
+               <td valign="top">Steve Williams<br>
+               </td>
+               <td valign="top"><i>documentation<br>
+               </i></td>
+             </tr>
+             <tr>
+               <td valign="top">Ethan Young<br>
+               </td>
+               <td valign="top"><i>IGnet protocol design<br>
+               </i></td>
+             </tr>
+                                   
+  </tbody>         
 </table>
-  </div>
-        <br>
-               
-<div align="justify">The entire package is open source; you can redistribute
-    and/or modify it under the terms of the GNU General Public License as
-published    by the Free Software Foundation; either version 2 of the License,
+   </div>
+         <br>
+                 
+<div align="justify">The entire package is open source; you can redistribute 
+    and/or modify it under the terms of the GNU General Public License as 
+published    by the Free Software Foundation; either version 2 of the License, 
 or (at   your option) any later version.<br>
-        <br>
-        This program is distributed in the hope that it will be useful, but 
- WITHOUT   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
- or FITNESS   FOR A PARTICULAR PURPOSE.&nbsp; See the GNU General Public License
- for more   details.       </div>
-         
+         <br>
+         This program is distributed in the hope that it will be useful,
+but   WITHOUT   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+  or FITNESS   FOR A PARTICULAR PURPOSE.&nbsp; See the GNU General Public
+License  for more   details.       </div>
+           
 <div align="justify"><br>
-        For more information, visit either of these locations on the web:<br>
-               
+         For more information, visit either of these locations on the web:<br>
+                 
 <ul>
-          <li>The Citadel home page: <a href="http://www.citadel.org">http://www.citadel.org</a></li>
-          <li>UNCENSORED! BBS, the home of Citadel: <a
+           <li>The Citadel home page: <a href="http://www.citadel.org">http://www.citadel.org</a></li>
+           <li>UNCENSORED! BBS, the home of Citadel: <a
  href="http://uncensored.citadel.org">http://uncensored.citadel.org</a></li>
-               
+                 
 </ul>
-               
-<hr width="100%" size="2">        
+                 
+<hr width="100%" size="2">         
 <h2 align="center">Table of Contents</h2>
-             
+               
 <ol>
-         <li><a href="#GPL">License</a></li>
-         <li><a href="#Installation">Installation</a></li>
-   
+          <li><a href="#GPL">License</a></li>
+          <li><a href="#Installation">Installation</a></li>
+       
   <ol>
-     <li><a href="#Everything_in_its_place...">Everything in its place...</a></li>
-     <li><a href="#The_BBS_Login">The BBS Login</a></li>
-     <li><a href="#Bypassing_the_login:_prompt">Bypassing the login: prompt</a></li>
-     <li><a href="#Compiling_the_programs">Compiling the programs</a></li>
-     <li><a href="#Upgrading">Upgrading</a></li>
-     <li><a href="#The_citadel.rc_file">The citadel.rc file</a></li>
-     <li><a href="#Using_an_external_editor_for_message">Using an external 
-editor for message composition</a></li>
-     <li><a href="#Printing_messages">Printing messages</a></li>
-     <li><a href="#URL_viewing">URL viewing</a></li>
-     <li><a href="#Setup_and_login">Setup and login</a></li>
-     <li><a href="#Configuring_your_host_system_to_start">Configuring your 
-host system to start the service</a></li>
-     <li><a href="#Logging_in_for_the_first_time">Logging in for the first 
-time</a></li>
-     <li><a href="#Welcoming_new_users">Welcoming new users</a></li>
-     <li><a href="#Space_for_adding_your_own_client">Space for adding your 
-own client features (doors)</a></li>
-     <li><a href="#Troubleshooting_and_getting_help">Troubleshooting and
+      <li><a href="#Everything_in_its_place...">Everything in its place...</a></li>
+      <li><a href="#The_BBS_Login">The BBS Login</a></li>
+      <li><a href="#Bypassing_the_login:_prompt">Bypassing the login: prompt</a></li>
+      <li><a href="#Compiling_the_programs">Compiling the programs</a></li>
+      <li><a href="#Upgrading">Upgrading</a></li>
+      <li><a href="#The_citadel.rc_file">The citadel.rc file</a></li>
+      <li><a href="#Using_an_external_editor_for_message">Using an external
+ editor for message composition</a></li>
+      <li><a href="#Printing_messages">Printing messages</a></li>
+      <li><a href="#URL_viewing">URL viewing</a></li>
+      <li><a href="#Setup_and_login">Setup and login</a></li>
+      <li><a href="#Configuring_your_host_system_to_start">Configuring your
+ host system to start the service</a></li>
+      <li><a href="#Logging_in_for_the_first_time">Logging in for the first
+ time</a></li>
+      <li><a href="#Welcoming_new_users">Welcoming new users</a></li>
+      <li><a href="#Space_for_adding_your_own_client">Space for adding your
+ own client features (doors)</a></li>
+      <li><a href="#Troubleshooting_and_getting_help">Troubleshooting and 
 getting help</a><br>
-     </li>
-   
+      </li>
+       
   </ol>
-         <li><a href="#sysop">System Administration</a></li>
-   
+          <li><a href="#sysop">System Administration</a></li>
+       
   <ol>
-     <li><a href="#Overview_">Overview</a></li>
-     <li><a href="#Aide_commands">Aide commands</a></li>
-     <li><a href="#Editing_rooms">Editing rooms</a></li>
-     <li><a href="#File_directories">File directories</a></li>
-     <li><a href="#Creating_and_editing_user_accounts">Creating and editing 
-user accounts</a></li>
-     <li><a href="#Deleting_and_moving_messages">Deleting and moving messages</a></li>
-     <li><a href="#Customizing_the_help_files">Customizing the help files</a></li>
-     <li><a href="#Site_configuration">Site configuration</a><br>
-     </li>
-   
+      <li><a href="#Overview_">Overview</a></li>
+      <li><a href="#Aide_commands">Aide commands</a></li>
+      <li><a href="#Editing_rooms">Editing rooms</a></li>
+      <li><a href="#File_directories">File directories</a></li>
+      <li><a href="#Creating_and_editing_user_accounts">Creating and editing
+ user accounts</a></li>
+      <li><a href="#Deleting_and_moving_messages">Deleting and moving messages</a></li>
+      <li><a href="#Customizing_the_help_files">Customizing the help files</a></li>
+      <li><a href="#Site_configuration">Site configuration</a><br>
+      </li>
+       
   </ol>
-         <li> Baz</li>
-         <li> Eek</li>
-             
+          <li> <a href="#Configuring_Citadel_for_Internet_e-mail">Configuring
+Citadel for Internet e-mail</a></li>
+  <ol>
+    <li><a href="#Introduction">Introduction</a></li>
+    <li><a href="#Basic_site_configuration">Basic site configuration</a></li>
+    <li><a href="#Enabling_the_Internet_mail_protocols">Enabling the Internet
+mail protocols</a></li>
+    <li><a href="#Hosting_an_Internet_mailing_list">Hosting an Internet mailing
+list</a><br>
+    </li>
+  </ol>
+                         
 </ol>
-        <br>
-               
+         <br>
+                 
 <hr width="100%" size="2"><br>
-               
+                 
 <h2 align="center"><a name="GPL"></a>GNU General Public License<br>
-       </h2>
-       </div>
-                
+        </h2>
+        </div>
+                  
 <p>  Version 2, June 1991  </p>
-                
-<pre>Copyright (C) 1989, 1991 Free Software Foundation, Inc.  <br>59 Temple Place - Suite 330, Boston, MA  02111-1307, USA<br><br>Everyone is permitted to copy and distribute verbatim copies<br>of this license document, but changing it is not allowed.<br></pre>
                   
+<pre>Copyright (C) 1989, 1991 Free Software Foundation, Inc.  <br>59 Temple Place - Suite 330, Boston, MA  02111-1307, USA<br><br>Everyone is permitted to copy and distribute verbatim copies<br>of this license document, but changing it is not allowed.<br></pre>
+                    
 <h3 align="justify">Preamble</h3>
-             
+               
 <div align="justify">  </div>
-             
-<p align="justify">   The licenses for most software are designed to take 
-   away your freedom to share and change it.  By contrast, the GNU General 
- Public  License is intended to guarantee your freedom to share and change 
- free software--to  make sure the software is free for all its users.  This 
- General Public License  applies to most of the Free Software Foundation's 
- software and to any other  program whose authors commit to using it.  (Some 
- other Free Software Foundation  software is covered by the GNU Library General 
- Public License instead.)  You can apply it to your programs, too.  </p>
-             
+               
+<p align="justify">   The licenses for most software are designed to take
+    away your freedom to share and change it.  By contrast, the GNU General
+  Public  License is intended to guarantee your freedom to share and change
+  free software--to  make sure the software is free for all its users.  This
+  General Public License  applies to most of the Free Software Foundation's
+  software and to any other  program whose authors commit to using it.  (Some
+  other Free Software Foundation  software is covered by the GNU Library
+General   Public License instead.)  You can apply it to your programs, too.
+ </p>
+               
 <div align="justify"> </div>
-             
-<p align="justify">    When we speak of free software, we are referring to 
-   freedom, not price.  Our General Public Licenses are designed to make sure
-   that you have the freedom to distribute copies of free software (and charge
-   for this service if you wish), that you receive source code or can get
-it   if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.  </p>
-             
+               
+<p align="justify">    When we speak of free software, we are referring to
+    freedom, not price.  Our General Public Licenses are designed to make
+sure    that you have the freedom to distribute copies of free software (and
+charge    for this service if you wish), that you receive source code or
+can get it   if you want it, that you can change the software or use pieces
+of it in new free programs; and that you know you can do these things.  </p>
+               
 <div align="justify"> </div>
-             
-<p align="justify">   To protect your rights, we need to make restrictions 
-   that forbid anyone to deny you these rights or to ask you to surrender 
-the   rights. These restrictions translate to certain responsibilities for 
-you  if you distribute copies of the software, or if you modify it.  </p>
-             
+               
+<p align="justify">   To protect your rights, we need to make restrictions
+    that forbid anyone to deny you these rights or to ask you to surrender
+ the   rights. These restrictions translate to certain responsibilities for
+ you  if you distribute copies of the software, or if you modify it.  </p>
+               
 <div align="justify"> </div>
-             
-<p align="justify">   For example, if you distribute copies of such a program, 
-   whether gratis or for a fee, you must give the recipients all the rights 
-  that you have.  You must make sure that they, too, receive or can get the 
-   source code.  And you must show them these terms so they know their rights. 
-    </p>
-             
+               
+<p align="justify">   For example, if you distribute copies of such a program,
+    whether gratis or for a fee, you must give the recipients all the rights
+   that you have.  You must make sure that they, too, receive or can get
+the     source code.  And you must show them these terms so they know their
+rights.      </p>
+               
 <div align="justify"> </div>
-             
-<p align="justify">   We protect your rights with two steps: (1) copyright 
-   the software, and (2) offer you this license which gives you legal permission 
-   to copy, distribute and/or modify the software.  </p>
-             
+               
+<p align="justify">   We protect your rights with two steps: (1) copyright
+    the software, and (2) offer you this license which gives you legal permission
+    to copy, distribute and/or modify the software.  </p>
+               
 <div align="justify"> </div>
-             
-<p align="justify">   Also, for each author's protection and ours, we want 
-   to make certain that everyone understands that there is no warranty for 
- this  free software.  If the software is modified by someone else and passed 
- on,  we want its recipients to know that what they have is not the original, 
- so  that any problems introduced by others will not reflect on the original
+               
+<p align="justify">   Also, for each author's protection and ours, we want
+    to make certain that everyone understands that there is no warranty for
+  this  free software.  If the software is modified by someone else and passed
+  on,  we want its recipients to know that what they have is not the original,
+  so  that any problems introduced by others will not reflect on the original 
    authors' reputations.   </p>
-             
+               
 <div align="justify"> </div>
-             
-<p align="justify">   Finally, any free program is threatened constantly by
-software patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the program
-proprietary.  To prevent this, we have made it clear that any  patent must
-be licensed for everyone's free use or not licensed at all.  </p>
-             
+               
+<p align="justify">   Finally, any free program is threatened constantly
+by software patents.  We wish to avoid the danger that redistributors of
+a free program will individually obtain patent licenses, in effect making
+the program proprietary.  To prevent this, we have made it clear that any
+ patent must be licensed for everyone's free use or not licensed at all.
+ </p>
+               
 <div align="justify"> </div>
-             
-<p align="justify">   The precise terms and conditions for copying, distribution 
-   and modification follow.  </p>
-             
+               
+<p align="justify">   The precise terms and conditions for copying, distribution
+    and modification follow.  </p>
+               
 <div align="justify">   </div>
-             
+               
 <h3>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</h3>
-             
+               
 <div align="justify">   </div>
-             
-<p align="justify">  <strong>0.</strong>  This License applies to any program 
-   or other work which contains a notice placed by the copyright holder saying 
-   it may be distributed under the terms of this General Public License. 
-The   "Program", below, refers to any such program or work, and a "work based
- on  the Program" means either the Program or any derivative work under copyright
-   law: that is to say, a work containing the Program or a portion of it,
-either   verbatim or with modifications and/or translated into another language.
-  (Hereinafter, translation is included without limitation in the term "modification".)
-   Each licensee is addressed as "you". </p>
-             
-<p align="justify">  Activities other than copying, distribution and modification 
-   are not covered by this License; they are outside its scope.  The act of
-  running the Program is not restricted, and the output from the Program
- is   covered only if its contents constitute a work based on the Program
-(independent   of having been made by running the Program). Whether that
-is true depends   on what the Program does.  </p>
-             
-<p align="justify">  <strong>1.</strong>  You may copy and distribute verbatim 
-   copies of the Program's source code as you receive it, in any medium, provided
-   that you conspicuously and appropriately publish on each copy an appropriate
-   copyright notice and disclaimer of warranty; keep intact all the notices
-   that refer to this License and to the absence of any warranty; and give
- any  other recipients of the Program a copy of this License along with the
- Program.  </p>
-             
-<p align="justify">  You may charge a fee for the physical act of transferring 
-   a copy, and you may at your option offer warranty protection in exchange 
-  for a fee. </p>
-             
-<p align="justify">  <strong>2.</strong>  You may modify your copy or copies 
-   of the Program or any portion of it, thus forming a work based on the Program,
-   and copy and distribute such modifications or work under the terms of
-Section    1 above, provided that you also meet all of these conditions: </p>
-             
+               
+<p align="justify">  <strong>0.</strong>  This License applies to any program
+    or other work which contains a notice placed by the copyright holder
+saying     it may be distributed under the terms of this General Public License.
+ The   "Program", below, refers to any such program or work, and a "work
+based  on  the Program" means either the Program or any derivative work under
+copyright    law: that is to say, a work containing the Program or a portion
+of it, either   verbatim or with modifications and/or translated into another
+language.   (Hereinafter, translation is included without limitation in the
+term "modification".)    Each licensee is addressed as "you". </p>
+               
+<p align="justify">  Activities other than copying, distribution and modification
+    are not covered by this License; they are outside its scope.  The act
+of   running the Program is not restricted, and the output from the Program 
+ is   covered only if its contents constitute a work based on the Program 
+(independent   of having been made by running the Program). Whether that is
+true depends   on what the Program does.  </p>
+               
+<p align="justify">  <strong>1.</strong>  You may copy and distribute verbatim
+    copies of the Program's source code as you receive it, in any medium,
+provided    that you conspicuously and appropriately publish on each copy
+an appropriate    copyright notice and disclaimer of warranty; keep intact
+all the notices    that refer to this License and to the absence of any warranty;
+and give  any  other recipients of the Program a copy of this License along
+with the  Program.  </p>
+               
+<p align="justify">  You may charge a fee for the physical act of transferring
+    a copy, and you may at your option offer warranty protection in exchange
+   for a fee. </p>
+               
+<p align="justify">  <strong>2.</strong>  You may modify your copy or copies
+    of the Program or any portion of it, thus forming a work based on the
+Program,    and copy and distribute such modifications or work under the
+terms of Section    1 above, provided that you also meet all of these conditions:
+</p>
+               
 <p align="justify">  </p>
-             
-<div align="justify">       
+               
+<div align="justify">        
 <ul>
-         <li><strong>a)</strong>      You must cause the modified files to
- carry   prominent notices      stating that you changed the files and the
- date of   any change.                                     
+          <li><strong>a)</strong>      You must cause the modified files
+to  carry   prominent notices      stating that you changed the files and
+the  date of   any change.                                          
     <p> </p>
-         </li>
-         <li><strong>b)</strong>      You must cause any work that you distribute 
-   or publish, that in      whole or in part contains or is derived from the
-   Program or any      part thereof, to be licensed as a whole at no charge
-  to all third      parties under the terms of this License.            
-                         
+          </li>
+          <li><strong>b)</strong>      You must cause any work that you distribute
+    or publish, that in      whole or in part contains or is derived from
+the    Program or any      part thereof, to be licensed as a whole at no
+charge   to all third      parties under the terms of this License.     
+                                     
     <p> </p>
-         </li>
-         <li><strong>c)</strong>      If the modified program normally reads
-  commands  interactively      when run, you must cause it, when started
-running   for such      interactive use in the most ordinary way, to print
-or display   an       announcement including an appropriate copyright notice
-and a      notice  that there is no warranty (or else, saying that you provide
-     a warranty)  and that users may redistribute the program under     
-these   conditions, and telling the user how to view a copy of this     
-License.    (Exception: if the Program itself is interactive but      does
-not normally   print such an announcement, your work based on      the Program
-is not required   to print  an announcement.) </li>
-             
+          </li>
+          <li><strong>c)</strong>      If the modified program normally reads 
+  commands  interactively      when run, you must cause it, when started running
+  for such      interactive use in the most ordinary way, to print or display
+  an       announcement including an appropriate copyright notice and a 
+    notice  that there is no warranty (or else, saying that you provide 
+    a warranty)  and that users may redistribute the program under      these
+  conditions, and telling the user how to view a copy of this      License.
+   (Exception: if the Program itself is interactive but      does not normally
+  print such an announcement, your work based on      the Program is not
+required   to print  an announcement.) </li>
+               
 </ul>
-         These requirements apply to the modified work as a whole.  If identifiable 
-   sections of that work are not derived from the Program, and can be reasonably 
-   considered independent and separate works in themselves, then this License, 
-   and its terms, do not apply to those sections when you distribute them 
-as   separate works.  But when you distribute the same sections as part of 
-a whole  which is a work based on the Program, the distribution of the whole 
- must be on the terms of this License, whose permissions for other licensees 
- extend  to the entire whole, and thus to each and every part regardless of
- who wrote  it. </div>
-             
-<p align="justify">  Thus, it is not the intent of this section to claim rights
-or contest your rights to work written entirely by you; rather, the intent
-is to exercise the right to control the distribution of derivative or collective
-works based on the Program. </p>
-             
-<p align="justify">  In addition, mere aggregation of another work not based 
-   on the Program with the Program (or with a work based on the Program) on
-  a volume of a storage or distribution medium does not bring the other work
-  under the scope of this License.  </p>
-             
-<p align="justify">  <strong>3.</strong>   You may copy and distribute the 
-   Program (or a work based on it, under Section 2) in object code or executable 
-   form under the terms of Sections 1 and 2 above provided that you also do
-  one of the following:   <!-- we use this doubled UL to get the sub-sections indented, -->
+          These requirements apply to the modified work as a whole.  If identifiable
+    sections of that work are not derived from the Program, and can be reasonably
+    considered independent and separate works in themselves, then this License,
+    and its terms, do not apply to those sections when you distribute them
+ as   separate works.  But when you distribute the same sections as part
+of  a whole  which is a work based on the Program, the distribution of the
+whole   must be on the terms of this License, whose permissions for other
+licensees   extend  to the entire whole, and thus to each and every part
+regardless of  who wrote  it. </div>
+               
+<p align="justify">  Thus, it is not the intent of this section to claim
+rights or contest your rights to work written entirely by you; rather, the
+intent is to exercise the right to control the distribution of derivative
+or collective works based on the Program. </p>
+               
+<p align="justify">  In addition, mere aggregation of another work not based
+    on the Program with the Program (or with a work based on the Program)
+on   a volume of a storage or distribution medium does not bring the other
+work   under the scope of this License.  </p>
+               
+<p align="justify">  <strong>3.</strong>   You may copy and distribute the
+    Program (or a work based on it, under Section 2) in object code or executable
+    form under the terms of Sections 1 and 2 above provided that you also
+do   one of the following:   <!-- we use this doubled UL to get the sub-sections indented, --> 
     <!-- while making the bullets as unobvious as possible. --> </p>
-             
-<div align="justify">       
+               
+<div align="justify">        
 <ul>
-         <li><strong>a)</strong>      Accompany it with the complete corresponding 
-   machine-readable      source code, which must be distributed under the 
-terms   of Sections      1 and 2 above on a medium customarily used for software 
-  interchange; or,                                     
+          <li><strong>a)</strong>      Accompany it with the complete corresponding
+    machine-readable      source code, which must be distributed under the
+ terms   of Sections      1 and 2 above on a medium customarily used for
+software    interchange; or,                                          
     <p> </p>
-         </li>
-         <li><strong>b)</strong>      Accompany it with a written offer,
-valid    for at least three      years, to give any third party, for a charge
-no  more  than your      cost of physically performing source distribution,
-a  complete        machine-readable copy of the corresponding source code,
-to  be      distributed under the terms of Sections 1 and 2 above on a medium
-      customarily used for software interchange; or,                    
-                
+          </li>
+          <li><strong>b)</strong>      Accompany it with a written offer, 
+valid    for at least three      years, to give any third party, for a charge 
+no  more  than your      cost of physically performing source distribution, 
+a  complete        machine-readable copy of the corresponding source code, 
+to  be      distributed under the terms of Sections 1 and 2 above on a medium 
+      customarily used for software interchange; or,                     
+                    
     <p> </p>
-         </li>
-         <li><strong>c)</strong>       Accompany it with the information
-you   received  as to the offer      to distribute corresponding source code.
- (This alternative  is      allowed only for noncommercial distribution and
- only if you      received the program in object code or executable form
-with  such      an offer, in accord with Subsection b above.) </li>
-             
+          </li>
+          <li><strong>c)</strong>       Accompany it with the information 
+you   received  as to the offer      to distribute corresponding source code. 
+ (This alternative  is      allowed only for noncommercial distribution and 
+ only if you      received the program in object code or executable form with
+ such      an offer, in accord with Subsection b above.) </li>
+               
 </ul>
-         The source code for a work means the preferred form of the work
-for   making  modifications to it.  For an executable work, complete source
-code   means all the source code for all modules it contains, plus any associated
-  interface  definition files, plus the scripts used to control compilation
-  and installation  of the executable.  However, as a special exception,
-the   source code distributed  need not include anything that is normally
-distributed   (in either source or binary form) with the major components
-(compiler, kernel,   and so on) of the operating system on which the executable
-runs, unless that  component itself  accompanies the executable. </div>
-             
-<p align="justify">  If distribution of executable or object code is made 
-   by offering access to copy from a designated place, then offering equivalent
-    access to copy the source code from the same place counts as distribution 
-   of the source code, even though third parties are not compelled to copy 
- the  source along with the object code. </p>
-             
-<p align="justify">  <strong>4.</strong>  You may not copy, modify, sublicense, 
-   or distribute the Program except as expressly provided under this License. 
-    Any attempt otherwise to copy, modify, sublicense or distribute the Program 
-   is void, and will automatically terminate your rights under this License.
-    However, parties who have received copies, or rights, from you under
-this    License will not have their licenses terminated so long as such parties 
- remain  in full compliance.  </p>
-             
-<p align="justify">  <strong>5.</strong>   You are not required to accept 
-   this License, since you have not signed it.  However, nothing else grants 
-   you permission to modify or distribute the Program or its derivative works. 
-    These actions are prohibited by law if you do not accept this License. 
-  Therefore, by modifying or distributing the Program (or any work based on
-  the Program), you indicate your acceptance of this License to do so, and
- all its terms and conditions for copying, distributing or modifying the
-Program   or works based on it.  </p>
-             
-<p align="justify">  <strong>6.</strong>  Each time you redistribute the Program
-(or any work based on the Program), the recipient automatically receives a
-license from the original licensor to copy, distribute or modify the Program 
-   subject to these terms and conditions.  You may not impose any further 
-restrictions   on the recipients' exercise of the rights granted herein. You
-are not responsible   for enforcing compliance by third parties to this License.
- </p>
-             
-<p align="justify">  <strong>7.</strong>  If, as a consequence of a court 
-   judgment or allegation of patent infringement or for any other reason (not
-   limited to patent issues), conditions are imposed on you (whether by court
-   order, agreement or otherwise) that contradict the conditions of this
-License,    they do not excuse you from the conditions of this License. 
-If you cannot    distribute so as to satisfy simultaneously your obligations 
-under this License  and any other pertinent obligations, then as a consequence 
-you may not distribute  the Program at all.  For example, if a patent license 
-would not permit royalty-free  redistribution of the Program by all those 
-who receive copies directly or  indirectly through you, then the only way 
-you could satisfy both it and this  License would be to refrain entirely from
-distribution of the Program. </p>
-             
-<p align="justify">  If any portion of this section is held invalid or unenforceable 
-   under any particular circumstance, the balance of the section is intended 
-   to apply and the section as a whole is intended to apply in other circumstances.
+          The source code for a work means the preferred form of the work 
+for   making  modifications to it.  For an executable work, complete source 
+code   means all the source code for all modules it contains, plus any associated 
+  interface  definition files, plus the scripts used to control compilation 
+  and installation  of the executable.  However, as a special exception, the
+  source code distributed  need not include anything that is normally distributed
+  (in either source or binary form) with the major components (compiler,
+kernel,   and so on) of the operating system on which the executable runs,
+unless that  component itself  accompanies the executable. </div>
+               
+<p align="justify">  If distribution of executable or object code is made
+    by offering access to copy from a designated place, then offering equivalent 
+    access to copy the source code from the same place counts as distribution
+    of the source code, even though third parties are not compelled to copy
 the  source along with the object code. </p>
+               
+<p align="justify">  <strong>4.</strong>  You may not copy, modify, sublicense,
+    or distribute the Program except as expressly provided under this License.
+     Any attempt otherwise to copy, modify, sublicense or distribute the
+Program     is void, and will automatically terminate your rights under this
+License.     However, parties who have received copies, or rights, from you
+under this    License will not have their licenses terminated so long as
+such parties   remain  in full compliance.  </p>
+               
+<p align="justify">  <strong>5.</strong>   You are not required to accept
+    this License, since you have not signed it.  However, nothing else grants
+    you permission to modify or distribute the Program or its derivative
+works.      These actions are prohibited by law if you do not accept this
+License.    Therefore, by modifying or distributing the Program (or any work
+based on   the Program), you indicate your acceptance of this License to
+do so, and  all its terms and conditions for copying, distributing or modifying
+the Program   or works based on it.  </p>
+               
+<p align="justify">  <strong>6.</strong>  Each time you redistribute the
+Program (or any work based on the Program), the recipient automatically receives
+a license from the original licensor to copy, distribute or modify the Program
+    subject to these terms and conditions.  You may not impose any further
+ restrictions   on the recipients' exercise of the rights granted herein.
+You are not responsible   for enforcing compliance by third parties to this
+License.  </p>
+               
+<p align="justify">  <strong>7.</strong>  If, as a consequence of a court
+    judgment or allegation of patent infringement or for any other reason
+(not    limited to patent issues), conditions are imposed on you (whether
+by court    order, agreement or otherwise) that contradict the conditions
+of this License,    they do not excuse you from the conditions of this License.
+ If you cannot    distribute so as to satisfy simultaneously your obligations
+ under this License  and any other pertinent obligations, then as a consequence
+ you may not distribute  the Program at all.  For example, if a patent license
+ would not permit royalty-free  redistribution of the Program by all those
+ who receive copies directly or  indirectly through you, then the only way
+ you could satisfy both it and this  License would be to refrain entirely
+from distribution of the Program. </p>
+               
+<p align="justify">  If any portion of this section is held invalid or unenforceable
+    under any particular circumstance, the balance of the section is intended
+    to apply and the section as a whole is intended to apply in other circumstances. 
      </p>
-             
-<p align="justify">  It is not the purpose of this section to induce you to
-infringe any patents or other property right claims or to contest validity 
-   of any such claims; this section has the sole purpose of protecting the 
- integrity  of the free software distribution system, which is implemented 
- by public license practices.  Many people have made generous contributions 
- to the wide range of software distributed through that system in reliance 
- on consistent application of that system; it is up to the author/donor to 
- decide if he or she is willing to distribute software through any other system
- and a licensee cannot impose that choice. </p>
-             
-<p align="justify">  This section is intended to make thoroughly clear what 
-   is believed to be a consequence of the rest of this License.  </p>
-             
-<p align="justify">  <strong>8.</strong>  If the distribution and/or use of
-the Program is restricted in certain countries either by patents or by copyrighted
-interfaces, the original copyright holder who places the Program under this
-License may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among  countries
-not thus excluded.  In such case, this License incorporates the limitation
-as if written in the body of this License.  </p>
-             
-<p align="justify">  <strong>9.</strong>  The Free Software Foundation may 
-   publish revised and/or new versions of the General Public License from 
-time   to time.  Such new versions will be similar in spirit to the present 
-version,   but may differ in detail to address new problems or concerns. 
-</p>
-             
-<p align="justify">  Each version is given a distinguishing version number. 
-    If the Program specifies a version number of this License which applies 
-  to it and "any later version", you have the option of following the terms 
-  and conditions either of that version or of any later version published 
-by  the Free Software Foundation.  If the Program does not specify a version 
- number of this License, you may choose any version ever published by the 
-Free Software Foundation.  </p>
-             
-<p align="justify">   <strong>10.</strong>  If you wish to incorporate parts 
-   of the Program into other free programs whose distribution conditions are
-   different, write to the author to ask for permission.  For software which
-   is copyrighted by the Free Software Foundation, write to the Free Software
-   Foundation; we sometimes make exceptions for this.  Our decision will
-be   guided by the two goals of preserving the free status of all derivatives 
- of our free software and of promoting the sharing and reuse of software generally.
-      </p>
-             
+               
+<p align="justify">  It is not the purpose of this section to induce you
+to infringe any patents or other property right claims or to contest validity
+    of any such claims; this section has the sole purpose of protecting the
+  integrity  of the free software distribution system, which is implemented
+  by public license practices.  Many people have made generous contributions
+  to the wide range of software distributed through that system in reliance
+  on consistent application of that system; it is up to the author/donor
+to   decide if he or she is willing to distribute software through any other
+system  and a licensee cannot impose that choice. </p>
+               
+<p align="justify">  This section is intended to make thoroughly clear what
+    is believed to be a consequence of the rest of this License.  </p>
+               
+<p align="justify">  <strong>8.</strong>  If the distribution and/or use
+of the Program is restricted in certain countries either by patents or by
+copyrighted interfaces, the original copyright holder who places the Program
+under this License may add an explicit geographical distribution limitation
+excluding those countries, so that distribution is permitted only in or among
+ countries not thus excluded.  In such case, this License incorporates the
+limitation as if written in the body of this License.  </p>
+               
+<p align="justify">  <strong>9.</strong>  The Free Software Foundation may
+    publish revised and/or new versions of the General Public License from
+ time   to time.  Such new versions will be similar in spirit to the present
+ version,   but may differ in detail to address new problems or concerns.
+ </p>
+               
+<p align="justify">  Each version is given a distinguishing version number.
+     If the Program specifies a version number of this License which applies
+   to it and "any later version", you have the option of following the terms
+   and conditions either of that version or of any later version published
+ by  the Free Software Foundation.  If the Program does not specify a version
+  number of this License, you may choose any version ever published by the
+ Free Software Foundation.  </p>
+               
+<p align="justify">   <strong>10.</strong>  If you wish to incorporate parts
+    of the Program into other free programs whose distribution conditions
+are    different, write to the author to ask for permission.  For software
+which    is copyrighted by the Free Software Foundation, write to the Free
+Software    Foundation; we sometimes make exceptions for this.  Our decision
+will be   guided by the two goals of preserving the free status of all derivatives
+  of our free software and of promoting the sharing and reuse of software
+generally.       </p>
+               
 <p align="justify"><strong>NO WARRANTY</strong></p>
-             
+               
 <div align="justify">  </div>
-             
-<p align="justify">  <strong>11.</strong>   BECAUSE THE PROGRAM IS LICENSED 
-   FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED 
-   BY APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 
-   HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 
-   OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 
-  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-    THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
-   YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
-   SERVICING, REPAIR OR CORRECTION.  </p>
-             
-<p align="justify">  <strong>12.</strong>  IN NO EVENT UNLESS REQUIRED BY 
-   APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY 
-  OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED 
-ABOVE,  BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL 
- OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM
-   (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE
-   OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM
- TO  OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY
-HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  </p>
-             
+               
+<p align="justify">  <strong>11.</strong>   BECAUSE THE PROGRAM IS LICENSED
+    FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED
+    BY APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+    HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+    OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED
+TO,    THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.     THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH    YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST
+OF ALL NECESSARY    SERVICING, REPAIR OR CORRECTION.  </p>
+               
+<p align="justify">  <strong>12.</strong>  IN NO EVENT UNLESS REQUIRED BY
+    APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR
+ANY    OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED
+ ABOVE,  BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL
+  OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+PROGRAM    (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
+INACCURATE    OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF
+THE PROGRAM  TO  OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR
+OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  </p>
+               
 <p align="justify">   </p>
-             
-<h3>END OF TERMS AND CONDITIONS</h3>
-        <br>
                
+<h3>END OF TERMS AND CONDITIONS</h3>
+         <br>
+                 
 <hr width="100%" size="2"><br>
-             
-<div align="center">  
+               
+<div align="center">   
 <h2><a name="Installation"></a>Installation</h2>
-  </div>
-           
-<div align="justify">       
+   </div>
+             
+<div align="justify">        
 <h3>Overview</h3>
+             
+<p>Citadel/UX is an advanced, multiuser, client/server, room-based BBS program.
+    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 system
+   running Xenix, and has been installed and tested on various Unix and Unix-like
+   platforms.  The author's current development environment (and BBS) is
+an   ordinary Linux system.  The current distribution includes: </p>
            
-<p>Citadel/UX is an advanced, multiuser, client/server, room-based BBS program. 
-   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 system 
-  running Xenix, and has been installed and tested on various Unix and Unix-like 
-  platforms.  The author's current development environment (and 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 processing)
+       <li>The Citadel/UX server (this is the back end that does all processing) 
      </li>
-       <li>A text-based client program designed with the traditional Citadel
+        <li>A text-based client program designed with the traditional Citadel 
   "look  and feel" (room prompts, dot commands, and the like) </li>
-       <li>Setup programs </li>
-       <li>A set of utilities for system administration and maintenance </li>
-       <li>Documentation </li>
-         
+        <li>Setup programs </li>
+        <li>A set of utilities for system administration and maintenance
+  </li>
+        <li>Documentation </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
+              
+<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>
-         
+           
 <ul>
-      <li>A Unix operating system (Linux, BSD, Solaris, Tru64, HP/UX) </li>
-       <li>C compiler (such as gcc or egcs) and "make" </li>
-       <li>POSIX threads (the "pthreads" library) </li>
-       <li>TCP/IP </li>
-       <li><a href="http://www.sleepycat.com">Berkeley DB</a> v4.1 or newer 
- (GDBM  also works, but its use is officially depracated.  If you are building 
- a new system, do <i>not</i> use GDBM.  If you have an existing system which 
- uses GDBM, you should migrate it to Berkeley DB as soon as possible.) </li>
-       <li>Enough disk space to hold all of the programs and data </li>
-         
+       <li>A Unix operating system (Linux, BSD, Solaris, Tru64, HP/UX) </li>
+        <li>C compiler (such as gcc or egcs) and "make" </li>
+        <li>POSIX threads (the "pthreads" library) </li>
+        <li>TCP/IP </li>
+        <li><a href="http://www.sleepycat.com">Berkeley DB</a> v4.1 or newer
+  (GDBM  also works, but its use is officially depracated.  If you are building
+  a new system, do <i>not</i> use GDBM.  If you have an existing system which
 uses GDBM, you should migrate it to Berkeley DB as soon as possible.) </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 recommended
+               
+<p>If you are running Citadel/UX 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 libraries already integrated 
-  for you.</p>
-                 
+ 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 libraries already
+integrated    for you.</p>
+                   
 <h3>Now available:</h3>
-            
+              
 <ul>
-      <li>"WebCit", a gateway program to allow full access to Citadel via 
-the  World Wide Web.  Interactive access through any Web browser. </li>
-       <li>Access to Citadel via <i>any</i> standards-compliant e-mail program,
- thanks  to Citadel's built-in SMTP, POP, and IMAP services. &nbsp;You can 
-use Netscape/Mozilla, Evolution, Eudora, Pine, or even Microsoft VirusSpreader 
-(better known as "Outlook") with Citadel. </li>
-         
+       <li>"WebCit", a gateway program to allow full access to Citadel via
+ the  World Wide Web.  Interactive access through any Web browser. </li>
+        <li>Access to Citadel via <i>any</i> standards-compliant e-mail program, 
+ thanks  to Citadel's built-in SMTP, POP, and IMAP services. &nbsp;You can
+ use Netscape/Mozilla, Evolution, Eudora, Pine, or even Microsoft VirusSpreader
+ (better known as "Outlook") with Citadel. </li>
+           
 </ul>
-             
+               
 <h3>Coming soon:</h3>
-           
+             
 <ul>
-      <li>Newer and better GUI-based clients. </li>
-         
+       <li>Newer and better GUI-based clients. </li>
+           
 </ul>
-          
+            
 <h3><a name="Everything_in_its_place..."></a>Everything in its place...</h3>
-          
-<p>Hopefully you've unpacked the distribution archive into its own directory.
-  This is the directory in which all Citadel files are located and in which
-  all activity will take place.  Several subdirectories have already been
-created  during the unpacking process, and others may be created by the software
-if  needed.  Make sure you have Berkeley DB installed on your system, and
-that  you have all the development libraries and headers in place so that
-you can  compile against them.  If you don't, you can get the latest Berkeley
- DB at  <a href="http://www.sleepycat.com">http://www.sleepycat.com</a>.
- If your  operating system uses a separate library to support POSIX threads
-(pthreads),  make sure that library is installed as well.  This is almost
+            
+<p>Hopefully you've unpacked the distribution archive into its own directory. 
+  This is the directory in which all Citadel files are located and in which 
+  all activity will take place.  Several subdirectories have already been 
+created  during the unpacking process, and others may be created by the software 
+if  needed.  Make sure you have Berkeley DB installed on your system, and 
+that  you have all the development libraries and headers in place so that 
+you can  compile against them.  If you don't, you can get the latest Berkeley 
+ DB at  <a href="http://www.sleepycat.com">http://www.sleepycat.com</a>. 
+If your  operating system uses a separate library to support POSIX threads 
+(pthreads),  make sure that library is installed as well.  This is almost 
 never the case  with Linux, but some commercial Unix flavors might need it.</p>
-      
+        
 <h3><a name="The_BBS_Login"></a></h3>
+   
 <h3>The BBS Login</h3>
-      
-<p>As with many Unix programs, Citadel wants to run under its own user ID. 
- Unlike other programs, however, this user ID will do double-duty as a public 
- login for your system if you are running a BBS.  This account is typically 
- called "bbs" or "citadel" or something to that effect. You will tell Citadel
- what the user-id of that account is, and when someone logs in under that
+        
+<p>As with many Unix programs, Citadel wants to run under its own user ID.
+  Unlike other programs, however, this user ID will do double-duty as a public
+  login for your system if you are running a BBS.  This account is typically
+  called "bbs" or "citadel" or something to that effect. You will tell Citadel 
+ what the user-id of that account is, and when someone logs in under that 
 account, Citadel will prompt for a user name.</p>
-      
-<p>The Citadel user should have a unique uid. The home directory should be
- the one your Citadel installation resides in (in this example we will use
- /usr/local/citadel) and the shell should be either "citadel" in that directory,
- or a script that will start up citadel (you may wish to set up an external
+        
+<p>The Citadel user should have a unique uid. The home directory should be 
+ the one your Citadel installation resides in (in this example we will use 
+ /usr/local/citadel) and the shell should be either "citadel" in that directory, 
+ or a script that will start up citadel (you may wish to set up an external 
  text editor; see below). Example:</p>
-      
+        
 <pre>bbs::100:1:BBS Login:/usr/local/citadel:/usr/local/citadel/citadel<br></pre>
-      
-<p>When you run setup later, you will be required to tell it what the Citadel 
- user's numeric user ID is, so it knows what user to run as.  If you create 
- an account called <tt>bbs</tt>, <tt>guest</tt>, or <tt>citadel</tt>, the
+        
+<p>When you run setup later, you will be required to tell it what the Citadel
+  user's numeric user ID is, so it knows what user to run as.  If you create
+  an account called <tt>bbs</tt>, <tt>guest</tt>, or <tt>citadel</tt>, the 
  setup program will automatically pick up the user ID by default.</p>
-      
-<p>For all other users in /etc/passwd, Citadel will automatically set up
-an account using the full name (or 'gecos' in Unixspeak) of the user.  It'll
- also ignore any password you supply, because it uses the user's password
-on the host system.  This allows a 'single sign on' type of environment.
-Note  that this does have to be enabled at compile time -- it's the configure
-option  called <tt>--enable-autologin</tt>.  Keep in mind that these users
-can use  *either* their Citadel login name or their login name on the host
-computer,  and their password on the host computer.</p>
-      
+        
+<p>For all other users in /etc/passwd, Citadel will automatically set up an
+account using the full name (or 'gecos' in Unixspeak) of the user.  It'll 
+ also ignore any password you supply, because it uses the user's password 
+on the host system.  This allows a 'single sign on' type of environment. Note
+ that this does have to be enabled at compile time -- it's the configure option
+ called <tt>--enable-autologin</tt>.  Keep in mind that these users can use
+ *either* their Citadel login name or their login name on the host computer,
+ and their password on the host computer.</p>
+        
 <h3><a name="Bypassing_the_login:_prompt"></a></h3>
+   
 <h3>Bypassing the <tt>login:</tt> prompt</h3>
-      
-<p>If you normally log in to your host system using some method other than 
- telnet (such as ssh), you might want the telnet service to go straight to 
- the Citadel BBS, instead of displaying the <tt>login:</tt> prompt first.
-  You can do this by having telnetd start citadel directly instead of <tt>/bin/login</tt>. 
- This is actually very simple to implement; all you need to do is make a simple
-change to your <tt>inetd</tt> or <tt>xinetd</tt> configuration.  Here are
-some configuration examples.</p>
-      
-<p>An example for <tt>inetd</tt> (put the following line in <tt>/etc/inetd.conf</tt>, 
- replacing any existing telnet configuration line already there):</p>
-      
+        
+<p>If you normally log in to your host system using some method other than
+  telnet (such as ssh), you might want the telnet service to go straight
+to   the Citadel BBS, instead of displaying the <tt>login:</tt> prompt first. 
+  You can do this by having telnetd start citadel directly instead of <tt>/bin/login</tt>.
+  This is actually very simple to implement; all you need to do is make a
+simple change to your <tt>inetd</tt> or <tt>xinetd</tt> configuration.  Here
+are some configuration examples.</p>
+        
+<p>An example for <tt>inetd</tt> (put the following line in <tt>/etc/inetd.conf</tt>,
 replacing any existing telnet configuration line already there):</p>
+        
 <pre>telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -L /usr/local/citadel/citadel<br></pre>
-      
-<p>An example for <tt>xinetd</tt> (if you have a file called <tt>/etc/xinetd.d/telnet</tt> 
- then simply replace that file with this one):</p>
-      
+        
+<p>An example for <tt>xinetd</tt> (if you have a file called <tt>/etc/xinetd.d/telnet</tt>
 then simply replace that file with this one):</p>
+        
 <pre>service telnet<br>{<br>   flags           = REUSE<br>     socket_type     = stream<br>    wait            = no<br>        user            = root<br>      server          = /usr/sbin/in.telnetd<br>      server_args     = -L /usr/local/citadel/citadel<br>     log_on_failure  += USERID<br>   disable         = no<br>}<br></pre>
-      
-<p>Please make sure you know what you're doing before you install this!  If
-you are going to put Citadel somewhere other than <tt>/usr/local/citadel</tt>
- then change the directory name accordingly.  If you know of any other local
- peculiarities which need to be observed, edit the above configuration accordingly
- as well.  And, of course, if you're working remotely, make sure you can
-successfully  log in using SSH before you start changing your telnet configuration,
-otherwise  you could lock yourself out of your system (ask any networking
-specialist  about the dangers of "working inline" -- then pull up a chair
-and get a fresh  cup of coffee, because you're going to hear some war stories).</p>
-      
+        
+<p>Please make sure you know what you're doing before you install this! 
+If you are going to put Citadel somewhere other than <tt>/usr/local/citadel</tt> 
+ then change the directory name accordingly.  If you know of any other local 
+ peculiarities which need to be observed, edit the above configuration accordingly 
+ as well.  And, of course, if you're working remotely, make sure you can successfully
+ log in using SSH before you start changing your telnet configuration, otherwise
+ you could lock yourself out of your system (ask any networking specialist
+ about the dangers of "working inline" -- then pull up a chair and get a
+fresh  cup of coffee, because you're going to hear some war stories).</p>
+        
 <h3><a name="Compiling_the_programs"></a>Compiling the programs</h3>
-      
+        
 <p>You can easily compile the Citadel system with the following commands:</p>
-      
+        
 <pre>./configure<br>make<br>make install<br></pre>
-      
-<p>The 'configure' script will generate a Makefile from the Makefile.in,
-and it will also write the file "sysdep.h" to your Citadel directory.  Please
- do not edit sysdep.h or Makefile.in yourself.  The configure script will
+        
+<p>The 'configure' script will generate a Makefile from the Makefile.in, and
+it will also write the file "sysdep.h" to your Citadel directory.  Please 
+ do not edit sysdep.h or Makefile.in yourself.  The configure script will 
 figure out your system dependencies and set everything correctly.</p>
-      
-<p>Mac OS X 10.1 and later are now supported.  (Sorry, 10.0 cannot be supported, 
-now or in the future.)  You need to install the Developer Tools CD, which 
-you can purchase or download for free from <a
- href="http://developer.apple.com">http://developer.apple.com</a>. Then run
+        
+<p>Mac OS X 10.1 and later are now supported.  (Sorry, 10.0 cannot be supported,
+ now or in the future.)  You need to install the Developer Tools CD, which
+ you can purchase or download for free from <a
+ href="http://developer.apple.com">http://developer.apple.com</a>. Then run 
  configure like this:</p>
-    
+      
 <pre>env CC=/usr/bin/cc ./configure (options - see below)<br></pre>
-    
-<p>By default, the Citadel system will install in <tt>/usr/local/citadel</tt>.
- If you wish to place it in a different directory, you can instead do:</p>
       
+<p>By default, the Citadel system will install in <tt>/usr/local/citadel</tt>. 
+ If you wish to place it in a different directory, you can instead do:</p>
+        
 <pre>./configure --prefix=/export/home/citadel      (or whatever)<br></pre>
-      
-<p>If you've got Berkeley DB installed in a non-standard location, you can 
-help the configure script find it by doing something like this:</p>
-      
+        
+<p>If you've got Berkeley DB installed in a non-standard location, you can
+ help the configure script find it by doing something like this:</p>
+        
 <pre>./configure --with-db=/usr/local/BerkeleyDB-4.1<br></pre>
-      
-<p>The configure script prefers Berkeley DB if it is available, but will fall
-back to GDBM if it has to.</p>
-      
-<p>File permissions are always a bother to work with. You don't want Citadel 
-to crash because someone couldn't access a file, but you also don't  want 
-shell users peeking into the binaries to do things like reading others' 
-mail, finding private rooms, etc.  The Citadel server needs to be started
- as root in order to bind to privileged ports, but as soon as its initialization
-is finished, it changes its user ID to your BBS user ID in order to avoid
+        
+<p>The configure script prefers Berkeley DB if it is available, but will
+fall back to GDBM if it has to.</p>
+        
+<p>File permissions are always a bother to work with. You don't want Citadel
+ to crash because someone couldn't access a file, but you also don't  want
+ shell users peeking into the binaries to do things like reading others'
+ mail, finding private rooms, etc.  The Citadel server needs to be started 
+ as root in order to bind to privileged ports, but as soon as its initialization 
+is finished, it changes its user ID to your BBS user ID in order to avoid 
 security holes.</p>
-      
+        
 <h3><a name="Upgrading"></a></h3>
+   
 <h3>Upgrading</h3>
-  
-<p>Any existing Citadel installation which is at version 5.50 or newer may
+    
+<p>Any existing Citadel installation which is at version 5.50 or newer may 
 be upgraded in place without the need to discard your existing data files.</p>
-  
-<p>Upgrading to a new version uses the same build procedure as compiling
-the program for a fresh install, except that you want to do <tt>make install-exec</tt> 
- instead of <tt>make install</tt>.  This will overwrite the programs but not
-your data.  <b>Be sure to shut down citserver during this process!</b>  If
-Citadel is running while you upgrade, you may face data corruption issues.<br>
- </p>
-  
-<p>After doing <tt>make install-exec</tt>, you should run <tt>setup</tt>
-again to bring your data files up to date.  Please see the setup section
-below for more information on this.</p>
     
-<h3><a name="The_citadel.rc_file"></a>The <tt>citadel.rc</tt> file</h3>
+<p>Upgrading to a new version uses the same build procedure as compiling the
+program for a fresh install, except that you want to do <tt>make install-exec</tt>
+  instead of <tt>make install</tt>.  This will overwrite the programs but
+not your data.  <b>Be sure to shut down citserver during this process!</b>
+ If Citadel is running while you upgrade, you may face data corruption issues.<br>
+  </p>
+    
+<p>After doing <tt>make install-exec</tt>, you should run <tt>setup</tt> again
+to bring your data files up to date.  Please see the setup section below
+for more information on this.</p>
       
-<p>The text-based client included with Citadel is suitable for BBS applications. 
- Much of its command set and other behavior is configurable through a Run 
-Control (RC) file. The standard client looks for this file in the following 
-locations: </p>
-<ul>
-  <li><tt>$HOME/.citadelrc</tt></li>
-  <li><tt>/usr/local/lib/citadel.rc</tt></li>
-  <li><i>your-Citadel-directory</i><tt>/citadel.rc</tt></li>
+<h3><a name="The_citadel.rc_file"></a>The <tt>citadel.rc</tt> file</h3>
+        
+<p>The text-based client included with Citadel is suitable for BBS applications.
+  Much of its command set and other behavior is configurable through a Run
+ Control (RC) file. The standard client looks for this file in the following
+ locations: </p>
    
+<ul>
+   <li><tt>$HOME/.citadelrc</tt></li>
+   <li><tt>/usr/local/lib/citadel.rc</tt></li>
+   <li><i>your-Citadel-directory</i><tt>/citadel.rc</tt></li>
+     
 </ul>
-  The next couple of sections deal with client-side configuration.      
-<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 your 
-favorite text editor to write messages.  To do this you simply put a line 
-in your citadel.rc file like this:</p>
-      
+   The next couple of sections deal with client-side configuration.     
+<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 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>
-    
-<p>The above example would make Citadel call the vi editor when using  the 
-<tt><b>.E</b>nter <b>E</b>ditor</tt> command. You can also make it the default 
-editor for the <tt><b>E</b>nter</tt> command by editing the <tt>citadel.rc</tt>
- file.  <b>But be warned:</b> external editors on public systems can be a
-security hole, because they usually provide users with the ability to drop
-into a shell on the host system, or save files using names other than the
-name of the temporary file they are editing.  If you intend to use an external
-editor on a public BBS, make sure you use one that has been hardened for
-such a purpose -- one which has had the 'shell' and 'save as' commands disabled,
- as well as any other functions which a destructive user could use to gain
- unauthorized access to your host system.</p>
       
+<p>The above example would make Citadel call the vi editor when using  the
+ <tt><b>.E</b>nter <b>E</b>ditor</tt> command. You can also make it the default
+ editor for the <tt><b>E</b>nter</tt> command by editing the <tt>citadel.rc</tt> 
+ file.  <b>But be warned:</b> external editors on public systems can be a 
+security hole, because they usually provide users with the ability to drop 
+into a shell on the host system, or save files using names other than the 
+name of the temporary file they are editing.  If you intend to use an external 
+editor on a public BBS, make sure you use one that has been hardened for such
+a purpose -- one which has had the 'shell' and 'save as' 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 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>Citadel/UX 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>So if you did this:</p>
-      
+        
 <pre>printcmd="nl|pr|lpr -Plocal"<br></pre>
-      
-<p>...that would add line numbers, then paginate, then print on the printer 
-named "local".  There's tons of stuff you can do with this feature.  For example,
-you could use a command like <tt>cat &lt;&lt;$HOME/archive</tt> to save copies
-of important messages in a textfile.  Again, this is probably  something
-you don't want to configure for a public BBS host -- most system  administrators
-don't want remote users sending arbitrary things to local printers.</p>
-      
+        
+<p>...that would add line numbers, then paginate, then print on the printer
+ named "local".  There's tons of stuff you can do with this feature.  For
+example, you could use a command like <tt>cat &lt;&lt;$HOME/archive</tt>
+to save copies of important messages in a textfile.  Again, this is probably
+ something you don't want to configure for a public BBS host -- most system
+ administrators don't want remote users sending arbitrary things to local
+printers.</p>
+        
 <h3><a name="URL_viewing"></a>URL viewing</h3>
-      
-<p>This is one more feature which is appropriate for local users.  While reading
-a message that has Internet URL's in it, you can select the <tt><b>U</b>RL-view</tt> 
-command, and it will perform some pre-defined action (usually, this is to 
-open up the URL in a web browser).  For example:</p>
-      
+        
+<p>This is one more feature which is appropriate for local users.  While
+reading a message that has Internet URL's in it, you can select the <tt><b>U</b>RL-view</tt>
+ command, and it will perform some pre-defined action (usually, this is to
+ open up the URL in a web browser).  For example:</p>
+        
 <pre>urlcmd=netscape -remote "openURL(%s)"<br></pre>
-      
+        
 <p>In the above example, it would open up the URL in an open <a
  href="http://www.netscape.com/download">Netscape</a> window.</p>
-      
+        
 <h3><a name="Setup_and_login"></a></h3>
+   
 <h3>Setup and login</h3>
-      
-<p>Before logging in for the first time, you must run the setup program. 
-To begin this procedure, enter the following commands:</p>
-      
+        
+<p>Before logging in for the first time, you must run the setup program.
+ To begin this procedure, enter the following commands:</p>
+        
 <pre>cd /usr/local/citadel<br>./setup<br></pre>
-      
-<p>The setup program will guide you through a simple configuration procedure. 
-It will ask you what directory to place your data files in -- the default 
-is the current directory, which is usually the sensible thing to select. 
-If you want to run more than one instance of Citadel on the same host, however, 
-you can specify a different directory here -- just remember to specify the 
-directory name again when you start up the server later on.</p>
-      
-<p><tt>setup</tt> will then shut down the Citadel service if it is found to
-be running.</p>
-      
-<p>You will then be prompted for the name of the system administrator. This 
-is not merely a cosmetic option -- when you log in to your system a little 
-while from now, you'll log in with this name, and it will automatically assign 
-your account the highest access level.</p>
-      
-<p>Next, you will be prompted for the User ID of the Citadel account on your 
-host system.  If you have an account called <tt>bbs</tt>, <tt>guest</tt>,
- or <tt>citadel</tt>, that account's UID will be the default.  If you are
-upgrading or reconfiguring an existing system, the existing value will be
+        
+<p>The setup program will guide you through a simple configuration procedure.
+ It will ask you what directory to place your data files in -- the default
+ is the current directory, which is usually the sensible thing to select.
+ If you want to run more than one instance of Citadel on the same host, however,
+ you can specify a different directory here -- just remember to specify the
+ directory name again when you start up the server later on.</p>
+        
+<p><tt>setup</tt> will then shut down the Citadel service if it is found
+to be running.</p>
+        
+<p>You will then be prompted for the name of the system administrator. This
+ is not merely a cosmetic option -- when you log in to your system a little
+ while from now, you'll log in with this name, and it will automatically
+assign  your account the highest access level.</p>
+        
+<p>Next, you will be prompted for the User ID of the Citadel account on your
+ host system.  If you have an account called <tt>bbs</tt>, <tt>guest</tt>, 
+ or <tt>citadel</tt>, that account's UID will be the default.  If you are 
+upgrading or reconfiguring an existing system, the existing value will be 
 preserved.</p>
-      
-<p>Then you will be prompted for a server port number.  This is the TCP port 
-which Citadel clients use to connect to your Citadel server.  In almost all 
-cases, you want to use the default -- port 504, which is the official port 
-number assigned by the IANA for Citadel implementations.</p>
-      
-<p>The Citadel service will then be started, and you will see the following 
-message:</p>
-      
+        
+<p>Then you will be prompted for a server port number.  This is the TCP port
+ which Citadel clients use to connect to your Citadel server.  In almost
+all  cases, you want to use the default -- port 504, which is the official
+port  number assigned by the IANA for Citadel implementations.</p>
+        
+<p>The Citadel service will then be started, and you will see the following
+ message:</p>
+        
 <pre>Setup is finished.  You may now log in.<br></pre>
-      
-<p>Setup is now complete, on most systems, anyway.  Please see below to find 
-out if you need to do anything else:</p>
-      
-<h3><a name="Configuring_your_host_system_to_start"></a>Configuring your host
-system to start the service</h3>
-      
-<p><b>Please note:</b> this topic involves modifications made to <tt>/etc/services</tt> 
-and <tt>/etc/inittab</tt> in order to configure your host system to automatically 
-start the Citadel service.  <tt>setup</tt> will automatically perform these 
-steps if it can, and if you allow it to -- just answer 'Yes' when prompted, 
-and everything will be taken care of for you.  If you answer 'No' -- or if 
-your system is a little bit odd (for example, BSD systems don't have <tt>/etc/inittab</tt>) 
--- read this section and do what you need to in order to get things configured.</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>
-      
+        
+<p>Setup is now complete, on most systems, anyway.  Please see below to find
+ out if you need to do anything else:</p>
+        
+<h3><a name="Configuring_your_host_system_to_start"></a>Configuring your
+host system to start the service</h3>
+        
+<p><b>Please note:</b> this topic involves modifications made to <tt>/etc/services</tt>
+ and <tt>/etc/inittab</tt> in order to configure your host system to automatically
+ start the Citadel service.  <tt>setup</tt> will automatically perform these
+ steps if it can, and if you allow it to -- just answer 'Yes' when prompted,
+ and everything will be taken care of for you.  If you answer 'No' -- or
+if  your system is a little bit odd (for example, BSD systems don't have
+<tt>/etc/inittab</tt>)  -- read this section and do what you need to in order
+to get things configured.</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>
-      
-<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 therefore need a different
-port for each one.</p>
-      
-<p>The next step is to arrange for the server to start.  The <tt>citserver</tt> 
- program is the main Citadel server.  Before we cover the recommended method
+        
+<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 therefore need a
+different port for each one.</p>
+        
+<p>The next step is to arrange for the server to start.  The <tt>citserver</tt>
+  program is the main Citadel server.  Before we cover the recommended method 
  of starting the server, let's examine its usage options:</p>
-      
+        
 <pre>citserver [-hHomeDir] [-xDebugLevel] [-tTraceFile] [-d] [-f]<br></pre>
-      
+        
 <p>The options are as follows:</p>
-      
-<p><tt>-hHomeDir</tt> - the directory your BBS data files live in.  This should,
-of course, be a directory that you've run the <tt>setup</tt> program against
-to set up some data files.  If a directory is not specified, the directory
-name which was specified in the <tt>Makefile</tt> will be used.</p>
-      
-<p><tt>-xDebugLevel</tt> - Set the verbosity of trace messages printed.  The
-available  debugging levels are: </p>
-   
+        
+<p><tt>-hHomeDir</tt> - the directory your BBS data files live in.  This
+should, of course, be a directory that you've run the <tt>setup</tt> program
+against to set up some data files.  If a directory is not specified, the
+directory name which was specified in the <tt>Makefile</tt> will be used.</p>
+        
+<p><tt>-xDebugLevel</tt> - Set the verbosity of trace messages printed. 
+The available  debugging levels are: </p>
+     
 <ul>
-   <li>1 - Internal errors (failed thread creation, malloc problems, etc.) 
-  </li>
-    <li>2 - Network errors (broken sockets, failed socket creation)     
-  </li>
-    <li>3 - Begin and end of sessions, startup/shutdown of server </li>
-    <li>5 - Server commands being sent from clients </li>
-    <li>7 - Entry and exit of various functions  </li>
-    <li>8 - Entry and exit of critical sections </li>
-    <li>9 - Various debugging checkpoints (insanely verbose) </li>
-   
+    <li>1 - Internal errors (failed thread creation, malloc problems, etc.)
+   </li>
+     <li>2 - Network errors (broken sockets, failed socket creation)    
+   </li>
+     <li>3 - Begin and end of sessions, startup/shutdown of server </li>
+     <li>5 - Server commands being sent from clients </li>
+     <li>7 - Entry and exit of various functions  </li>
+     <li>8 - Entry and exit of critical sections </li>
+     <li>9 - Various debugging checkpoints (insanely verbose) </li>
+     
 </ul>
-      
-<p><tt>-tTraceFile</tt> - Tell the server where to send its debug/trace output. 
-  Normally it is sent to stdout.</p>
-      
-<p><tt>-d</tt> - Run as a daemon; i.e. in the background.  This switch would 
-be necessary if you were  starting the Citadel server, for example, from an
-rc.local script (which is  not recommended, because this won't allow the server
-to automatically restart when it is shut down).</p>
-      
-<p><tt>-f</tt> - Defragment all the databases upon startup.  This isn't normally 
-necessary due to the nature of the data stored in Citadel, but the option 
-is provided in case you need it.  (Note that this only applies to GDBM installations; 
-if you are using Berkeley DB it has no effect.)</p>
-      
-<p>The preferred method of starting the Citadel server is to place an entry 
-in your /etc/inittab file.  This will conveniently bring the server up when 
-your  system is up, and terminate it gracefully when your system is shutting 
-down.   The exact syntax for your system may vary, but here's an entry that 
-could be used on a Linux system:</p>
-      
+        
+<p><tt>-tTraceFile</tt> - Tell the server where to send its debug/trace output.
+   Normally it is sent to stdout.</p>
+        
+<p><tt>-d</tt> - Run as a daemon; i.e. in the background.  This switch would
+ be necessary if you were  starting the Citadel server, for example, from
+an rc.local script (which is  not recommended, because this won't allow the
+server to automatically restart when it is shut down).</p>
+        
+<p><tt>-f</tt> - Defragment all the databases upon startup.  This isn't normally
+ necessary due to the nature of the data stored in Citadel, but the option
+ is provided in case you need it.  (Note that this only applies to GDBM installations;
+ if you are using Berkeley DB it has no effect.)</p>
+        
+<p>The preferred method of starting the Citadel server is to place an entry
+ in your /etc/inittab file.  This will conveniently bring the server up when
+ your  system is up, and terminate it gracefully when your system is shutting
+ down.   The exact syntax for your system may vary, but here's an entry that
+ could be used on a Linux system:</p>
+        
 <pre>cit:2345:respawn:/usr/local/citadel/citserver -h/usr/local/citadel -t/dev/tty9 -x3<br></pre>
-      
-<p>In this example, we've chosen debugging level 3, and have the trace stuff 
-output to one of the virtual consoles.  It's important to remember to turn 
-off any getty that is set up on that virtual console, if you do this.  After 
-making this change, the command <tt>init q</tt> works on most systems to tell
-init to re-read the file.  If in doubt, just reboot the computer.</p>
-      
-<h3><a name="Logging_in_for_the_first_time"></a>Logging in for the first time</h3>
-      
-<p>At this point, your system is ready to run. Run the <tt>citadel</tt> program 
-from the shell and log in as a new user.  NOTE: the first user account to 
-be created will automatically be set to access level 6 (Aide).  This overcomes
- some obvious logistical problems - normally, Aide access is given by another
+        
+<p>In this example, we've chosen debugging level 3, and have the trace stuff
+ output to one of the virtual consoles.  It's important to remember to turn
+ off any getty that is set up on that virtual console, if you do this.  After
+ making this change, the command <tt>init q</tt> works on most systems to
+tell init to re-read the file.  If in doubt, just reboot the computer.</p>
+        
+<h3><a name="Logging_in_for_the_first_time"></a>Logging in for the first
+time</h3>
+        
+<p>At this point, your system is ready to run. Run the <tt>citadel</tt> program
+ from the shell and log in as a new user.  NOTE: the first user account to
+ be created will automatically be set to access level 6 (Aide).  This overcomes 
+ some obvious logistical problems - normally, Aide access is given by another 
  Aide, but since there aren't any on your system yet, this isn't possible.</p>
-      
+        
 <h3><a name="Welcoming_new_users"></a>Welcoming new users</h3>
-      
-<p>Sometimes you might decide that you want a welcome message (or several 
-different messages) automatically mailed to new users upon their first login. 
-Now there is a way to do this.  If you create a room called <tt>New User Greetings</tt>,
-and it is a <i>private</i> room (invitation-only probably  makes the most
-sense), any messages you enter into that room will automatically  be delivered
-to all new users upon registration.</p>
-      
-<p>You can put anything you want there: a welcome message, system policies, 
-special information, etc.  You can also put as many messages there as you 
-want to (although it really doesn't make sense to clutter new users' mailboxes 
-with lots of junk).</p>
-      
-<p>Don't worry about wasting disk space, either.  Citadel has a single-instance 
- message store, so all the new users are actually looking at the same copy
+        
+<p>Sometimes you might decide that you want a welcome message (or several
+ different messages) automatically mailed to new users upon their first login.
+ Now there is a way to do this.  If you create a room called <tt>New User
+Greetings</tt>, and it is a <i>private</i> room (invitation-only probably
+ makes the most sense), any messages you enter into that room will automatically
+ be delivered to all new users upon registration.</p>
+        
+<p>You can put anything you want there: a welcome message, system policies,
+ special information, etc.  You can also put as many messages there as you
+ want to (although it really doesn't make sense to clutter new users' mailboxes
+ with lots of junk).</p>
+        
+<p>Don't worry about wasting disk space, either.  Citadel has a single-instance
+  message store, so all the new users are actually looking at the same copy 
  of the message on disk.</p>
+          
+<h3><a name="Space_for_adding_your_own_client"></a>Space for adding your
+own client features (doors)</h3>
+        
+<p><b>Please take note!</b>  This function really represents the "old" way
+ of doing things, and it doesn't fit in well with the client/server  paradigm.
+  Please consider it "deprecated" because it may be removed someday.</p>
+        
+<p>The "doorway" feature is just a generic way to add features to the system.
+ I called it "Doorway" to make it resemble the doors on non-Unix boards,
+but  as we all know, us Unix types don't have to write special code to access
+the modem. :-)  Anyway, when a user hits the <tt><b>*</b></tt> (doorway)
+command, Citadel does...</p>
         
-<h3><a name="Space_for_adding_your_own_client"></a>Space for adding your own
-client features (doors)</h3>
-      
-<p><b>Please take note!</b>  This function really represents the "old" way 
-of doing things, and it doesn't fit in well with the client/server  paradigm. 
- Please consider it "deprecated" because it may be removed someday.</p>
-      
-<p>The "doorway" feature is just a generic way to add features to the system. 
-I called it "Doorway" to make it resemble the doors on non-Unix boards, but 
-as we all know, us Unix types don't have to write special code to access the
-modem. :-)  Anyway, when a user hits the <tt><b>*</b></tt> (doorway) command,
-Citadel does...</p>
-      
 <pre>USERNAME=(username); export USERNAME<br>./subsystem (user-number) (screen-width) (access level)<br></pre>
-      
-<p>...so you can put whatever you want in there.  I suggest putting in a menu
-program to allow the users to pick one of a number of programs, etc.  Do
-be aware that door programs will only be available when the client and server
-programs are running on the <i>same</i> computer, and when the user is running
-the text-mode client.  Because of these restrictions, Door programs are being
-utilized less and less every day.</p>
-      
-<h3><a name="Troubleshooting_and_getting_help"></a>Troubleshooting and getting 
-help</h3>
-      
-<p>That's just about all the information you need to install the system. 
-But if you get stuck, you can visit UNCENSORED! BBS and report a problem or
-ask for help.  But if you intend to report a problem getting the Citadel server
-to run, <i>please</i> double-check the following things first:  </p>
-   
+        
+<p>...so you can put whatever you want in there.  I suggest putting in a
+menu program to allow the users to pick one of a number of programs, etc.
+ Do be aware that door programs will only be available when the client and
+server programs are running on the <i>same</i> computer, and when the user
+is running the text-mode client.  Because of these restrictions, Door programs
+are being utilized less and less every day.</p>
+        
+<h3><a name="Troubleshooting_and_getting_help"></a>Troubleshooting and getting
+ help</h3>
+        
+<p>That's just about all the information you need to install the system.
+ But if you get stuck, you can visit UNCENSORED! BBS and report a problem
+or ask for help.  But if you intend to report a problem getting the Citadel
+server to run, <i>please</i> double-check the following things first:  </p>
+     
 <ul>
-   <li>Did you do <tt>./configure &amp;&amp; make &amp;&amp; make install</tt>
+    <li>Did you do <tt>./configure &amp;&amp; make &amp;&amp; make install</tt> 
   ?? </li>
-    <li>Did you run setup? </li>
-    <li>Did you start the server? </li>
-   
+     <li>Did you run setup? </li>
+     <li>Did you start the server? </li>
+     
 </ul>
-      
-<p>To report a problem, you can log on to UNCENSORED! or any other BBS on 
-the Citadel network which carries the <tt>Citadel/UX&gt;</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>
-   
+        
+<p>To report a problem, you can log on to UNCENSORED! or any other BBS on
+ the Citadel network which carries the <tt>Citadel/UX&gt;</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>
-   <li>The exact nature of your difficulty </li>
-    <li>A transcript of the error message(s) if possible </li>
-    <li>The version of Citadel you are running </li>
-    <li>The version of Berkeley DB present on your system </li>
-    <li>Which operating system you are running, and what version </li>
-    <li>If you are running a Linux system, we need to know which distribution,
- and the version of the kernel, libc, and pthreads you are using (it would
+    <li>The exact nature of your difficulty </li>
+     <li>A transcript of the error message(s) if possible </li>
+     <li>The version of Citadel you are running </li>
+     <li>The version of Berkeley DB present on your system </li>
+     <li>Which operating system you are running, and what version </li>
+     <li>If you are running a Linux system, we need to know which distribution, 
+ and the version of the kernel, libc, and pthreads you are using (it would 
  help to post the output of a <tt>ldd ./citserver</tt> command). </li>
-   
-</ul>
-    </div>
      
-<div align="center">  
-<hr width="100%" size="2">        
+</ul>
+     </div>
+       
+<div align="center">   
+<hr width="100%" size="2">         
 <h2><a name="sysop"></a>System Administration</h2>
-  </div>
-    
-<div align="justify">   
+   </div>
+      
+<div align="justify">    
 <h3><a name="Overview_"></a>Overview</h3>
-    
-<p>Citadel/UX, 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 have
-no special privileges. Aides are selected people who have special access within
-the Citadel program.  Room Aides only have this access in a certain room.
- Preferred users can be selected by Aides for access to preferred only rooms.
- A sysop is anyone who has access to the various sysop utilities - these
-are in their own executable files, which should have their permissions set
-to allow only sysops to run them.  You should either create a sysops group
-in /etc/group, or use some other existing group for this purpose.</p>
-       
-<p>Aides have access to EVERY room on the system, public and private (all
- types). They also have access to commands starting with <tt>.<b>A</b>ide</tt> 
-in addition to being able to delete and move messages.  The system room,
-<tt>Aide&gt;</tt>, is accessible only by those users designated as Aides.</p>
       
-<h3><a name="Aide_commands"></a>Aide commands</h3>
+<p>Citadel/UX, 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
+have no special privileges. Aides are selected people who have special access
+within the Citadel program.  Room Aides only have this access in a certain
+room.  Preferred users can be selected by Aides for access to preferred only
+rooms.  A sysop is anyone who has access to the various sysop utilities -
+these are in their own executable files, which should have their permissions
+set to allow only sysops to run them.  You should either create a sysops
+group in /etc/group, or use some other existing group for this purpose.</p>
+         
+<p>Aides have access to EVERY room on the system, public and private (all 
+ types). They also have access to commands starting with <tt>.<b>A</b>ide</tt>
+ in addition to being able to delete and move messages.  The system room, 
+<tt>Aide&gt;</tt>, is accessible only by those users designated as Aides.</p>
         
-<p>Aides have the following commands available to them that are not available
+<h3><a name="Aide_commands"></a>Aide commands</h3>
+          
+<p>Aides have the following commands available to them that are not available 
  to normal users. They are:</p>
-   
+     
 <table>
-   <tbody>
-     <tr>
-       <td width="30%"><tt> .<b>A</b>ide <b>K</b>ill this room </tt></td>
-       <td> Deletes the current room from the system. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide <b>E</b>dit this room </tt></td>
-       <td> Allows editing of the properties of the current room.  This is 
-explained in greater detail below. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide <b>W</b>ho knows room </tt></td>
-       <td> For private rooms with access controls, or mailbox rooms, this 
-command displays a list of users who have access to the current room. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide edit <b>U</b>ser </tt></td>
-       <td> Allows editing of the properties of any user account on the system.
-       </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide <b>V</b>alidate new users </tt></td>
-       <td> For public access systems, this command reviews all new user
-registrations  and allows you to set each new user's access level (or simply
+    <tbody>
+      <tr>
+        <td width="30%"><tt> .<b>A</b>ide <b>K</b>ill this room </tt></td>
+        <td> Deletes the current room from the system. </td>
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide <b>E</b>dit this room </tt></td>
+        <td> Allows editing of the properties of the current room.  This
+is  explained in greater detail below. </td>
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide <b>W</b>ho knows room </tt></td>
+        <td> For private rooms with access controls, or mailbox rooms, this
+ command displays a list of users who have access to the current room. </td>
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide edit <b>U</b>ser </tt></td>
+        <td> Allows editing of the properties of any user account on the
+system.        </td>
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide <b>V</b>alidate new users </tt></td>
+        <td> For public access systems, this command reviews all new user 
+registrations  and allows you to set each new user's access level (or simply 
 delete the accounts).        </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide enter <b>I</b>nfo file </tt></td>
-       <td> Each room may contain a short textual description of its purpose, 
-which is displayed to users upon entering the room for the first time (or 
-in the room banner, for users of the Web client).  This command allows you 
-to enter or edit that description. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide <b>R</b>oom <b>I</b>nvite user </tt></td>
-       <td> Access control command to grant any specific user access to a 
-private room. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide <b>R</b>oom <b>K</b>ick out user
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide enter <b>I</b>nfo file </tt></td>
+        <td> Each room may contain a short textual description of its purpose,
+ which is displayed to users upon entering the room for the first time (or
+ in the room banner, for users of the Web client).  This command allows you
+ to enter or edit that description. </td>
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide <b>R</b>oom <b>I</b>nvite user
       </tt></td>
-       <td> Access control command to revoke any specifc user's access to 
-the current room.  This works regardless of whether the room is public or 
-private. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide <b>F</b>ile <b>D</b>elete </tt></td>
-       <td> If the current room has an associated file directory, this command 
-may be used to delete files from it. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide <b>F</b>ile <b>S</b>end over net
+        <td> Access control command to grant any specific user access to
+a  private room. </td>
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide <b>R</b>oom <b>K</b>ick out user 
       </tt></td>
-       <td> If the current room has an associated file directory, this command 
-may be used to transmit a copy of any file in that directory to another node 
-on a Citadel network. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide <b>F</b>ile <b>M</b>ove </tt></td>
-       <td> If the current room has an associated file directory, this command 
-may be used to move any file in that directory to another room.  The target 
-room must also have an associated file directory. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide <b>M</b>essage edit </tt></td>
-       <td> This command allows editing of any of the various system banners 
-and messages which are displayed to users.  Type the name of the banner or 
-message you wish to edit. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide <b>P</b>ost </tt></td>
-       <td> This is the functional equivalent of the <tt><b>E</b>nter message</tt> 
-command available to all users, except that it allows you to post using any 
-user name. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide <b>S</b>ystem configuration <b>G</b>eneral
+        <td> Access control command to revoke any specifc user's access to
+ the current room.  This works regardless of whether the room is public or
+ private. </td>
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide <b>F</b>ile <b>D</b>elete </tt></td>
+        <td> If the current room has an associated file directory, this command
+ may be used to delete files from it. </td>
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide <b>F</b>ile <b>S</b>end over net 
+      </tt></td>
+        <td> If the current room has an associated file directory, this command
+ may be used to transmit a copy of any file in that directory to another
+node  on a Citadel network. </td>
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide <b>F</b>ile <b>M</b>ove </tt></td>
+        <td> If the current room has an associated file directory, this command
+ may be used to move any file in that directory to another room.  The target
+ room must also have an associated file directory. </td>
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide <b>M</b>essage edit </tt></td>
+        <td> This command allows editing of any of the various system banners
+ and messages which are displayed to users.  Type the name of the banner
+or  message you wish to edit. </td>
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide <b>P</b>ost </tt></td>
+        <td> This is the functional equivalent of the <tt><b>E</b>nter message</tt>
+ command available to all users, except that it allows you to post using
+any  user name. </td>
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide <b>S</b>ystem configuration <b>G</b>eneral 
        </tt></td>
-       <td> This command allows configuration of a large number of global 
-settings for your Citadel system.  These settings will be explained in greater 
-detail below. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide <b>S</b>ystem configuration <b>I</b>nternet
+        <td> This command allows configuration of a large number of global
+ settings for your Citadel system.  These settings will be explained in greater
+ detail below. </td>
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide <b>S</b>ystem configuration <b>I</b>nternet 
        </tt></td>
-       <td> This command allows configuration of settings which affect how 
-your Citadel system sends and receives messages on the Internet. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide <b>S</b>ystem configuration check 
-      <b>M</b>essage base </tt></td>
-       <td> Perform a consistency check on your message store.  This is a 
-very time-consuming operation which should not be performed unless you have
- reason to believe there is trouble with your database. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide <b>S</b>ystem configuration <b>N</b>etwork
+        <td> This command allows configuration of settings which affect how
+ your Citadel system sends and receives messages on the Internet. </td>
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide <b>S</b>ystem configuration check
+       <b>M</b>essage base </tt></td>
+        <td> Perform a consistency check on your message store.  This is
+a  very time-consuming operation which should not be performed unless you
+have  reason to believe there is trouble with your database. </td>
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide <b>S</b>ystem configuration <b>N</b>etwork 
        </tt></td>
-       <td> Configure networking (e-mail, room sharing, etc.) with other
+        <td> Configure networking (e-mail, room sharing, etc.) with other 
 Citadel nodes. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide <b>S</b>ystem configuration network 
-      <b>F</b>ilter list </tt></td>
-       <td> If you are on a large public or semi-public network of Citadel 
-nodes and you find content from certain systems or individuals objectionable, 
-you can use this command to define a rule set to automatically reject those 
-messages when they arrive on your system. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide <b>T</b>erminate server <b>N</b>ow
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide <b>S</b>ystem configuration network
+       <b>F</b>ilter list </tt></td>
+        <td> If you are on a large public or semi-public network of Citadel
+ nodes and you find content from certain systems or individuals objectionable,
+ you can use this command to define a rule set to automatically reject those
+ messages when they arrive on your system. </td>
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide <b>T</b>erminate server <b>N</b>ow 
        </tt></td>
-       <td> Immediately shut down the Citadel service, disconnecting any
-users who are logged in.  Please keep in mind that it will start right back
-up again if you are running the service from <tt>/etc/inittab</tt>, so in
+        <td> Immediately shut down the Citadel service, disconnecting any 
+users who are logged in.  Please keep in mind that it will start right back 
+up again if you are running the service from <tt>/etc/inittab</tt>, so in 
 practice this command will probably not get much use. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide <b>T</b>erminate server <b>S</b>cheduled
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide <b>T</b>erminate server <b>S</b>cheduled 
        </tt></td>
-       <td> Shut down the Citadel service the next time there are zero users 
-connected. This allows you to automatically wait until all users are logged 
-out. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide mailing <b>L</b>ist recipients </tt></td>
-       <td> Any room may be made into a mailing list.  Enter this command 
-to open an editor window containing the list of Internet e-mail addresses 
-to which every message posted in the room will be sent. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide mailing list <b>D</b>igest recipients
+        <td> Shut down the Citadel service the next time there are zero users
+ connected. This allows you to automatically wait until all users are logged
+ out. </td>
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide mailing <b>L</b>ist recipients
+      </tt></td>
+        <td> Any room may be made into a mailing list.  Enter this command
+ to open an editor window containing the list of Internet e-mail addresses
+ to which every message posted in the room will be sent. </td>
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide mailing list <b>D</b>igest recipients 
        </tt></td>
-       <td> Similar to the regular mailing list command, except the messages 
-will be sent out in 'digest' form -- recipients will see messages from the 
-address of the room itself rather than the address of the author of each message,
-and a digest may contain more than one message.  Each room may have any combination
-of List and Digest recipients. </td>
-     </tr>
-   <tr>
-       <td width="30%"><tt> .<b>A</b>ide <b>N</b>etwork room sharing </tt></td>
-       <td> Configures the sharing of the current room's contents with other 
-Citadel nodes.  Messages posted in this room on any Citadel system will automatically
- be replicated to other Citadel systems carrying the room. </td>
-     </tr>
-      
-  </tbody> 
+        <td> Similar to the regular mailing list command, except the messages
+ will be sent out in 'digest' form -- recipients will see messages from the
+ address of the room itself rather than the address of the author of each
+message, and a digest may contain more than one message.  Each room may have
+any combination of List and Digest recipients. </td>
+      </tr>
+    <tr>
+        <td width="30%"><tt> .<b>A</b>ide <b>N</b>etwork room sharing </tt></td>
+        <td> Configures the sharing of the current room's contents with other
+ Citadel nodes.  Messages posted in this room on any Citadel system will
+automatically  be replicated to other Citadel systems carrying the room.
+      </td>
+      </tr>
+          
+  </tbody>  
 </table>
-    
+      
 <h3><a name="Editing_rooms"></a>Editing rooms</h3>
+        
+<p>This command allows any aide to change the parameters of a room.  Go to 
+ the room you wish to edit and enter the <tt><b>.A</b>ide <b>E</b>dit room</tt>
+ command.  A series of prompts will be displayed.  The existing parameters
+ will be displayed in brackets; simply press return if you want to leave
+any  or all of them unchanged.</p>
       
-<p>This command allows any aide to change the parameters of a room.  Go to
- the room you wish to edit and enter the <tt><b>.A</b>ide <b>E</b>dit room</tt> 
-command.  A series of prompts will be displayed.  The existing parameters 
-will be displayed in brackets; simply press return if you want to leave any 
-or all of them unchanged.</p>
-    
 <pre> <br>Room name [IG's Fun Room]:<br></pre>
-     
+       
 <p>...the name of the room.</p>
-    
+      
 <pre>Private room [Yes]? <br></pre>
-     
-<p>...enter Yes if you wish to restrict access to the room, or no if the room
-is to be accessible by all users.  Note that Citadel doesn't bother users
-about access to rooms every time they need to access the room.  Once a user
-gains access to a private room, it then behaves like a public room to them.
-The following four questions will only be asked if you selected Private...</p>
-    
+       
+<p>...enter Yes if you wish to restrict access to the room, or no if the
+room is to be accessible by all users.  Note that Citadel doesn't bother
+users about access to rooms every time they need to access the room.  Once
+a user gains access to a private room, it then behaves like a public room
+to them. The following four questions will only be asked if you selected
+Private...</p>
+      
 <pre>Accessible by guessing room name [No]?<br></pre>
-     
-<p>...if you enter Yes, the room will not show up in users' <tt><b>K</b>nown 
-rooms</tt> listing, but if they <tt><b>.G</b>oto</tt> the room (typing the 
-room's full name), they will gain access to the room.</p>
-    
+       
+<p>...if you enter Yes, the room will not show up in users' <tt><b>K</b>nown
+ rooms</tt> listing, but if they <tt><b>.G</b>oto</tt> the room (typing the
+ room's full name), they will gain access to the room.</p>
+      
 <pre>Accessible by entering a password [No]?<br>Room password [mypasswd]:  <br></pre>
-     
-<p>...this adds an additional layer of security to the room, prompting users
+       
+<p>...this adds an additional layer of security to the room, prompting users 
  for a password before they can gain access to the room.</p>
-     
-<p>If you did not select guessname or passworded, then the only way users 
-can access the room is if an Aide explicitly invites them to the room using 
-the <tt><b>.A</b>ide <b>R</b>oom <b>I</b>nvite user</tt> command.</p>
-    
+       
+<p>If you did not select guessname or passworded, then the only way users
+ can access the room is if an Aide explicitly invites them to the room using
+ the <tt><b>.A</b>ide <b>R</b>oom <b>I</b>nvite user</tt> command.</p>
+      
 <pre>Cause current users to forget room [No] ? No<br></pre>
-     
-<p>Enter Yes if you wish to kick out anyone who currently has access to the 
-room.</p>
-    
+       
+<p>Enter Yes if you wish to kick out anyone who currently has access to the
+ room.</p>
+      
 <pre>Preferred users only [No]? No<br></pre>
-     
-<p>Enter Yes if you wish to restrict the room to only users who have level 
-5 (Preferred User) status (and Aides too, of course).  You should make the 
-room public if you intend to do this, otherwise the two restrictions will 
-be COMBINED.</p>
-     
+       
+<p>Enter Yes if you wish to restrict the room to only users who have level
+ 5 (Preferred User) status (and Aides too, of course).  You should make the
+ room public if you intend to do this, otherwise the two restrictions will
+ be COMBINED.</p>
+       
 <pre>Read-only room [No]? No<br></pre>
-     
-<p>If you set a room to Read-Only, then normal users will not be allowed to
-post messages in it.  Messages may only be posted by Aides, and by utility
- programs such as the networker and the "aidepost" utility.  This is useful
- in situations where a room is used exclusively for important announcements,
- or if you've set up a room to receive an Internet mailing list and posting
- wouldn't make sense.  Other uses will, of course, become apparent as the
+       
+<p>If you set a room to Read-Only, then normal users will not be allowed
+to post messages in it.  Messages may only be posted by Aides, and by utility 
+ programs such as the networker and the "aidepost" utility.  This is useful 
+ in situations where a room is used exclusively for important announcements, 
+ or if you've set up a room to receive an Internet mailing list and posting 
+ wouldn't make sense.  Other uses will, of course, become apparent as the 
 need arises.</p>
-    
+      
 <p>Now for a few other attributes...</p>
-    
+      
 <pre>Directory room [Yes]? Yes<br></pre>
-     
-<p>...enter Yes if you wish to associate a directory with this room.  This 
-can be used as a small file repository for files relevant to the topic of 
-the room. If you enter Yes, you will also be prompted with the following four
-questions:</p>
-    
+       
+<p>...enter Yes if you wish to associate a directory with this room.  This
+ can be used as a small file repository for files relevant to the topic of
+ the room. If you enter Yes, you will also be prompted with the following
+four questions:</p>
+      
 <pre>Directory name [mydirname]: <br></pre>
-     
-<p>...the name of the subdirectory to put this room's files in.  The name 
-of the directory created will be <tt><i>&lt;your BBS directory&gt;</i>/files/<i>&lt;room 
-dir name&gt;</i></tt>.</p>
-        
+       
+<p>...the name of the subdirectory to put this room's files in.  The name
+ of the directory created will be <tt><i>&lt;your BBS directory&gt;</i>/files/<i>&lt;room
+ dir name&gt;</i></tt>.</p>
+          
 <pre>Uploading allowed [Yes]? Yes<br></pre>
-     
+       
 <p>...enter Yes if users are allowed to upload to this room.</p>
-    
-<pre>Downloading allowed [Yes]? Yes<br></pre>
       
+<pre>Downloading allowed [Yes]? Yes<br></pre>
+        
 <p>...enter Yes if users are allowed to download from this room.</p>
-    
-<pre>Visible directory [Yes]? Yes<br></pre>
       
+<pre>Visible directory [Yes]? Yes<br></pre>
+        
 <p>...enter Yes if users can read the directory of this room.</p>
-    
-<pre>Network shared room [No]? No<br></pre>
       
-<p>...you can share a room over a network without setting this flag, and
-vice versa, but what this flag does is twofold: </p>
+<pre>Network shared room [No]? No<br></pre>
+        
+<p>...you can share a room over a network without setting this flag, and vice
+versa, but what this flag does is twofold: </p>
+   
 <ul>
-  <li>It prevents people with no network access from entering messages here
+   <li>It prevents people with no network access from entering messages here 
    </li>
-   <li>Messages are displayed with the name of their originating system in
- the header. </li>
+    <li>Messages are displayed with the name of their originating system
+in  the header. </li>
+   
 </ul>
-     
+       
 <pre>Permanent room [No]? No<br></pre>
-     
-<p>Citadel contains an 'auto purger' which is capable of removing rooms which
- have not been posted in for a pre-defined period of time (by default this 
-is set to two weeks).  If you wish to keep this from happening to a particular
- room, you can set this option.  (Keep in mind that <tt>Lobby&gt;</tt>, <tt>Aide&gt;</tt>,
- any private mailbox rooms, any network shared rooms, and any rooms with
- file directory are automatically permanent.)</p>
-    
+       
+<p>Citadel contains an 'auto purger' which is capable of removing rooms which 
+ have not been posted in for a pre-defined period of time (by default this
+ is set to two weeks).  If you wish to keep this from happening to a particular 
+ room, you can set this option.  (Keep in mind that <tt>Lobby&gt;</tt>, <tt>Aide&gt;</tt>, 
+ any private mailbox rooms, any network shared rooms, and any rooms with a
+ file directory are automatically permanent.)</p>
+      
 <pre>Anonymous messages [No]? No<br>Ask users whether to make messages anonymous [No]? No<br></pre>
+        
+<p>...you can have rooms in which all messages are automatically anonymous, 
+ and you can have rooms in which users are prompted whether to make a message 
+ anonymous when they enter it.  The real identity of the author of each message
+ is still revealed to the Room Aide for this room, as well as any system-wide
+ Aides.</p>
       
-<p>...you can have rooms in which all messages are automatically anonymous,
- and you can have rooms in which users are prompted whether to make a message
- anonymous when they enter it.  The real identity of the author of each message 
-is still revealed to the Room Aide for this room, as well as any system-wide 
-Aides.</p>
-    
 <pre>Room aide [Joe Responsible]: <br></pre>
-     
-<p>...on larger systems, it helps to designate a person to be responsible 
-for a room.  Room Aides have access to a restricted set of Aide commands, 
-ONLY when they are in the room in which they have this privilege.  They can 
-edit the room, delete the room, delete and move messages, and invite or kick 
-out users (if it is a private room), but they cannot perform aide commands 
-that are not room-related (such as changing users access levels).</p>
-    
+       
+<p>...on larger systems, it helps to designate a person to be responsible
+ for a room.  Room Aides have access to a restricted set of Aide commands,
+ ONLY when they are in the room in which they have this privilege.  They
+can  edit the room, delete the room, delete and move messages, and invite
+or kick  out users (if it is a private room), but they cannot perform aide
+commands  that are not room-related (such as changing users access levels).</p>
+      
 <pre>Listing order [64]: <br></pre>
-    
-<p>This is just a simple way to try to control the order rooms are listed 
-in when users call up a <tt><b>K</b>nown Rooms</tt> listing.  Rooms with a
-lower listing order are displayed prior to rooms with a higher listing order.
- It has no other effect.  For users who list rooms in floor order, the display
-will sort first by floor, then by listing order.</p>
-    
+      
+<p>This is just a simple way to try to control the order rooms are listed
+ in when users call up a <tt><b>K</b>nown Rooms</tt> listing.  Rooms with
+a lower listing order are displayed prior to rooms with a higher listing
+order.  It has no other effect.  For users who list rooms in floor order,
+the display will sort first by floor, then by listing order.</p>
+      
 <pre>Message expire policy (? for list) [0]:<br></pre>
-    
-<p>This provides you with the opportunity to select how long each message 
-will remain in a room before automatically being deleted.  Press <tt><b>?</b></tt>
- for a list of options.  You can choose to keep messages around forever (or
- until they are manually deleted), until they become a certain number of
-days  old, or until a certain number of additional messages are posted in
-the room,  at which time the oldest ones will scroll out.</p>
-    
-<p>You will notice that you can also fall back to the default expire policy 
-for the floor upon which the room resides.  This is the default setting. 
-You can change the floor's default with the <tt><b>;A</b>ide <b>E</b>dit floor</tt>
-command.  The default setting for the floor default, in turn, is the system
-default setting, which can be changed using the <tt><b>.A</b>ide <b>S</b>ystem
-configuration <b>G</b>eneral</tt> command.</p>
-    
+      
+<p>This provides you with the opportunity to select how long each message
+ will remain in a room before automatically being deleted.  Press <tt><b>?</b></tt> 
+ for a list of options.  You can choose to keep messages around forever (or 
+ until they are manually deleted), until they become a certain number of days
+ old, or until a certain number of additional messages are posted in the
+room,  at which time the oldest ones will scroll out.</p>
+      
+<p>You will notice that you can also fall back to the default expire policy
+ for the floor upon which the room resides.  This is the default setting.
+ You can change the floor's default with the <tt><b>;A</b>ide <b>E</b>dit
+floor</tt> command.  The default setting for the floor default, in turn,
+is the system default setting, which can be changed using the <tt><b>.A</b>ide
+<b>S</b>ystem configuration <b>G</b>eneral</tt> command.</p>
+      
 <pre>Save changes (y/n)? Yes<br></pre>
-    
-<p>...this gives you an opportunity to back out, if you feel you really messed 
-things up while editing.</p>
-    
+      
+<p>...this gives you an opportunity to back out, if you feel you really messed
+ things up while editing.</p>
+      
 <h3><a name="File_directories"></a>File directories</h3>
-     
-<p>If you have created any directory rooms, you can attach file descriptions 
-to the filenames through a special file called <tt>filedir</tt>. Each line 
-contains the name of a file in the directory, followed by a space and then 
-a description of the file, such as:</p>
-     
+       
+<p>If you have created any directory rooms, you can attach file descriptions
+ to the filenames through a special file called <tt>filedir</tt>. Each line
+ contains the name of a file in the directory, followed by a space and then
+ a description of the file, such as:</p>
+       
 <pre>myfile.txt This is a description of my file.<br>phluff A phile phull of phluff!<br></pre>
-     
-<p>...this would create file descriptions for the files <tt>myfile.txt</tt>
- and <tt>phluff</tt> which would be displayed along with the directory. 
-It should also be noted that when users upload files to your system, they
-will be prompted for file descriptions, which will be added to the <tt>filedir</tt> 
-file.  If one does not exist, it will be created.</p>
-    
-<h3><a name="Creating_and_editing_user_accounts"></a>Creating and editing 
-user accounts</h3>
-    
-<p>Anyone with Aide level access may use the <tt><b>.A</b>ide edit <b>U</b>ser</tt>
- command to create and/or edit user accounts.  There are several parameters 
-which can be set here.</p>
-    
+       
+<p>...this would create file descriptions for the files <tt>myfile.txt</tt> 
+ and <tt>phluff</tt> which would be displayed along with the directory.  It
+should also be noted that when users upload files to your system, they will
+be prompted for file descriptions, which will be added to the <tt>filedir</tt>
+ file.  If one does not exist, it will be created.</p>
+      
+<h3><a name="Creating_and_editing_user_accounts"></a>Creating and editing
+ user accounts</h3>
+      
+<p>Anyone with Aide level access may use the <tt><b>.A</b>ide edit <b>U</b>ser</tt> 
+ command to create and/or edit user accounts.  There are several parameters
+ which can be set here.</p>
+      
 <p>To create a user:</p>
-    
+      
 <pre>Lobby&gt; . Aide edit User <br>User name: New User Name<br>No such user.<br>Do you want to create this user? Yes<br></pre>
-    
-<p>At this point, the new user account has been created, and the command will
-continue as if you were editing an existing account.  Therefore the remainder
-of this procedure is the same for creating and editing:</p>
-    
+      
+<p>At this point, the new user account has been created, and the command
+will continue as if you were editing an existing account.  Therefore the
+remainder of this procedure is the same for creating and editing:</p>
+      
 <pre>Lobby&gt; . Aide edit User <br>User name: person of significance<br>User #70 - Person of Significance  PW: <br> <br><br>,  <br> <br> <br><br>Current access level: 4 (Network User)<br></pre>
-    
-<p>The blank lines are the user's 'registration' information -- personal
-information such as full name, address, telephone number, etc.  This information
-will comprise the user's vCard in both their user profile and in the Global
-Address Book.</p>
-    
+      
+<p>The blank lines are the user's 'registration' information -- personal information
+such as full name, address, telephone number, etc.  This information will
+comprise the user's vCard in both their user profile and in the Global Address
+Book.</p>
+      
 <pre>Change password [No]: No<br></pre>
-    
+      
 <p>...answer Yes to set or change the password for this account.</p>
-    
+      
 <pre>Access level [4]: <br></pre>
-    
-<p>...this allows you to set or change the access level for this account. 
- The access levels available are as follows: </p>
+      
+<p>...this allows you to set or change the access level for this account.
 The access levels available are as follows: </p>
+   
 <ul>
-  <li>0 - Deleted.  (This immediately deletes the account.) </li>
-   <li>1 - New, unvalidated user </li>
-   <li>2 - Problem user (severely restricts account - use for probationary 
-access) </li>
-   <li>3 - User with no network privileges.  Same access as a normal user 
-except cannot post messages in rooms shared on a network. </li>
-   <li>4 - Normal user </li>
-   <li>5 - Preferred user (access is granted to privileged rooms) </li>
-   <li>6 - Aide (administrative access to the whole system) </li>
+   <li>0 - Deleted.  (This immediately deletes the account.) </li>
+    <li>1 - New, unvalidated user </li>
+    <li>2 - Problem user (severely restricts account - use for probationary
+ access) </li>
+    <li>3 - User with no network privileges.  Same access as a normal user
+ except cannot post messages in rooms shared on a network. </li>
+    <li>4 - Normal user </li>
+    <li>5 - Preferred user (access is granted to privileged rooms) </li>
+    <li>6 - Aide (administrative access to the whole system) </li>
+   
 </ul>
-       
+         
 <pre>Permission to send/receive Internet mail [ No]? No<br></pre>
-    
-<p>If your system is configured to only allow Internet mail privileges to
+      
+<p>If your system is configured to only allow Internet mail privileges to 
  certain users, this is where you can grant or revoke that privilege.</p>
-    
+      
 <pre>Ask user to register again [Yes]: Yes<br></pre>
-    
-<p>If you answer Yes to this question, the user will be presented with a
-'registration' screen or set of prompts, the next time they log in using
-a Citadel client.  This will prompt them for their full name, address, telephone
-number, etc.</p>
-    
+      
+<p>If you answer Yes to this question, the user will be presented with a 'registration'
+screen or set of prompts, the next time they log in using a Citadel client.
+ This will prompt them for their full name, address, telephone number, etc.</p>
+      
 <pre>Times called [0]: <br>Messages posted [0]: <br></pre>
-    
-<p>These statistics are available for informational purposes only, so there
+      
+<p>These statistics are available for informational purposes only, so there 
  is normally no need to change them.</p>
-    
+      
 <pre>Set last call to now [No]: No<br>Purge time (in days, 0 for system default [0]: <br></pre>
-    
-<p>Citadel contains an auto-purger which is capable of automatically deleting
- accounts which have not been accessed in a predefined period of time.  If
- you choose to perform this operation, you can 'touch' the account of a wayward
- user by setting their 'last call' time to 'now'.  You can also adjust, on 
-a per-user basis, the amount of time which must pass before their account 
-is purged by the system.  This time is set in days.  You can also specify 
-0 days to indicate that you wish to use the system default setting.</p>
-     
+      
+<p>Citadel contains an auto-purger which is capable of automatically deleting 
+ accounts which have not been accessed in a predefined period of time.  If 
+ you choose to perform this operation, you can 'touch' the account of a wayward 
+ user by setting their 'last call' time to 'now'.  You can also adjust, on
+ a per-user basis, the amount of time which must pass before their account
+ is purged by the system.  This time is set in days.  You can also specify
+ 0 days to indicate that you wish to use the system default setting.</p>
+       
 <h3><a name="Deleting_and_moving_messages"></a>Deleting and moving messages</h3>
-    
-<p>Aides and Room Aides have the ability to delete and move messages.  After
+      
+<p>Aides and Room Aides have the ability to delete and move messages.  After 
  each message, the normal prompt appears:</p>
-    
+      
 <pre>(8) &lt;B&gt;ack &lt;A&gt;gain &lt;Q&gt;uote &lt;R&gt;eply &lt;N&gt;ext &lt;S&gt;top m&lt;Y&gt; next &lt;?&gt;help -&gt;<br></pre>
-       
-<p>Entering <tt><b>D</b>elete</tt> will delete the message. A <tt>(y/n)</tt> 
-prompt will appear to confirm that you really want to delete the message.
- Entering <tt><b>M</b>ove</tt> will prompt for a room to which the message
+         
+<p>Entering <tt><b>D</b>elete</tt> will delete the message. A <tt>(y/n)</tt>
+ prompt will appear to confirm that you really want to delete the message. 
+ Entering <tt><b>M</b>ove</tt> will prompt for a room to which the message 
  should be moved.</p>
-    
+      
 <h3><a name="Customizing_the_help_files"></a>Customizing the help files</h3>
-         
-<p>The subdirectory called <tt>help</tt> contains your system's help files.
- There's nothing hard-coded into the system that dictates what files should 
-be there. Whenever a user types the command <tt><b>.H</b>elp</tt> followed 
-by the name of a help file, it displays the contents of that help file.</p>
-     
-<p>The help files that come with the system, of course, are enough to guide
- a user through its operation.  But you can add, change, or remove help files
+           
+<p>The subdirectory called <tt>help</tt> contains your system's help files. 
+ There's nothing hard-coded into the system that dictates what files should
+ be there. Whenever a user types the command <tt><b>.H</b>elp</tt> followed
+ by the name of a help file, it displays the contents of that help file.</p>
+       
+<p>The help files that come with the system, of course, are enough to guide 
+ a user through its operation.  But you can add, change, or remove help files 
  to suit whatever is appropriate for your system.</p>
-     
-<p>There are several strings that you can put in help files that will be automatically
-substituted with other strings.  They are:</p>
-    
+       
+<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 BBS 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></pre>
-            
+              
 <h3><a name="Site_configuration"></a>Site configuration</h3>
-    
-<p>Once your Citadel server is up and running, the first thing you'll want 
-to do is customize and tune it.  This can be done from the text-based client 
-with the <tt><b>.A</b>ide <b>S</b>ystem configuration <b>G</b>eneral</tt>
- command, or from WebCit (if you have it installed) by clicking 'Advanced 
-Options' followed by 'Edit site-wide configuration.'   Either method will 
-offer the same configuration options.  This document shows the text mode client
-being used.</p>
-    
-<p>The first set of options deal with the identification of your system.</p>
       
+<p>Once your Citadel server is up and running, the first thing you'll want
+ to do is customize and tune it.  This can be done from the text-based client
+ with the <tt><b>.A</b>ide <b>S</b>ystem configuration <b>G</b>eneral</tt> 
+ command, or from WebCit (if you have it installed) by clicking 'Advanced
+ Options' followed by 'Edit site-wide configuration.'   Either method will
+ offer the same configuration options.  This document shows the text mode
+client being used.</p>
+      
+<p>The first set of options deal with the identification of your system.</p>
+        
 <pre>Lobby&gt; . Aide System configuration General<br>Node name [uncnsrd]: <br>Fully qualified domain name [uncensored.citadel.org]: <br>Human readable node name [Uncensored]: <br>Modem dialup number [US 914 999 9999]: <br>Geographic location of this system [Mount Kisco, NY]: <br>Name of system administrator [IGnatius T Foobar]: <br>Paginator prompt [<jinkies
  !="" more="" text="" on="" the="" next="" screen="">]: <br></jinkies></pre>
-    
-<p>'Node name' refers to the short, unqualified node name by which your system 
-is known on a Citadel network.  Generally it will be the same as the unqualified 
-host name of your computer; this is, in fact, the default setting.</p>
-    
-<p>Then enter the fully-qualified domain name (FQDN) of your system.  If you
-are not on the Internet, you can simply set it to the same as your unqualified 
-host name.  Otherwise you should set this value to the host name by which 
-your system is most commonly known.</p>
-    
-<p>The field called 'Human-readable node name' (also known as the 'node title' 
-or 'organization name' in other software) is used solely for display purposes. 
- Set it to the actual name of your system as you want it to appear in banners, 
-messages, etc.</p>
-    
-<p>If you have a modem or bank of modems answering data calls for your system, 
-enter it in the field marked 'Modem dialup number.'  Otherwise you may leave 
-it blank.</p>
-    
-<p>'Geographic location of this system' is another display field.  Enter a
- city and state, or city and country. </p>
-    
-<p>'Name of system administrator' is important!  Any user who logs on with 
- the name you enter here will automatically be granted Aide privileges. This 
-is one of two ways for the system administrator to grant himself/herself Aide
-access to the system when initially setting it up.  (The other is simply to
-have the first account created on a new installation.)</p>
-       
-<p>The next set of options are your system's security settings.  Before delving 
-into the actual options, we should review the various access levels available 
-on the system.  Citadel has seven access levels:</p>
-    
+      
+<p>'Node name' refers to the short, unqualified node name by which your system
+ is known on a Citadel network.  Generally it will be the same as the unqualified
+ host name of your computer; this is, in fact, the default setting.</p>
+      
+<p>Then enter the fully-qualified domain name (FQDN) of your system.  If
+you are not on the Internet, you can simply set it to the same as your unqualified
+ host name.  Otherwise you should set this value to the host name by which
+ your system is most commonly known.</p>
+      
+<p>The field called 'Human-readable node name' (also known as the 'node title'
+ or 'organization name' in other software) is used solely for display purposes.
+  Set it to the actual name of your system as you want it to appear in banners,
+ messages, etc.</p>
+      
+<p>If you have a modem or bank of modems answering data calls for your system,
+ enter it in the field marked 'Modem dialup number.'  Otherwise you may leave
+ it blank.</p>
+      
+<p>'Geographic location of this system' is another display field.  Enter
+ city and state, or city and country. </p>
+      
+<p>'Name of system administrator' is important!  Any user who logs on with
+  the name you enter here will automatically be granted Aide privileges.
+This  is one of two ways for the system administrator to grant himself/herself
+Aide access to the system when initially setting it up.  (The other is simply
+to have the first account created on a new installation.)</p>
+         
+<p>The next set of options are your system's security settings.  Before delving
+ into the actual options, we should review the various access levels available
+ on the system.  Citadel has seven access levels:</p>
+      
 <ul>
-  <li>0 (Deleted).  A user whose access level is set to 0 will automatically 
-be deleted by the system.  </li>
-   <li>1 (New User).   Users at this level may only read messages.  Entering
- messages is prohibited, except in the <tt>Mail&gt;</tt> room, where a message
+   <li>0 (Deleted).  A user whose access level is set to 0 will automatically
+ be deleted by the system.  </li>
+    <li>1 (New User).   Users at this level may only read messages.  Entering 
+ messages is prohibited, except in the <tt>Mail&gt;</tt> room, where a message 
  to 'sysop' may be entered.  </li>
-   <li>2 (Problem User).  Also known as 'Twit.'  </li>
-   <li>3 (Local User).  May enter messages, except in rooms shared on a 
- Citadel network.  </li>
-   <li>4 (Network User).  May enter messages in every accessible room.  </li>
-   <li>5 (Preferred User).  Use of this level is up to the whim of the system 
-administrator.  </li>
-   <li>6 (Aide).  Access is granted to the administrative functions of the
- system.  (This access level may also be granted to a user only for a specific 
-room, please see 'Room Aide' for more information.)  </li>
+    <li>2 (Problem User).  Also known as 'Twit.'  </li>
+    <li>3 (Local User).  May enter messages, except in rooms shared on a
+  Citadel network.  </li>
+    <li>4 (Network User).  May enter messages in every accessible room. 
+  </li>
+    <li>5 (Preferred User).  Use of this level is up to the whim of the system
+ administrator.  </li>
+    <li>6 (Aide).  Access is granted to the administrative functions of the 
+ system.  (This access level may also be granted to a user only for a specific
+ room, please see 'Room Aide' for more information.)  </li>
+   
 </ul>
-    
-<pre>Require registration for new users [No]: No<br>Disable self-service user account creation [No]: No<br>Initial access level for new users [4]:<br>Access level required to create rooms [4]: <br>Automatically give room aide privs to a user who creates a private room [No]: No<br><br>Automatically move problem user messages to twit room [Yes]: Yes<br>Name of twit room [Trashcan]: <br>Restrict Internet mail to only those with that privilege [No]: No<br>Allow Aides to Zap (forget) rooms [Yes]: Yes<br>Allow system Aides access to user mailboxes [Yes]: Yes<br>Log all pages [No]: No<br></pre>
       
-<p>'Registration' refers to the process of a user entering various personal
- contact information (real name, address, telephone number, etc.) into the
- system.  When enabled, this information is stored as a vCard object on the 
-system in two places: the user's <tt>My Citadel Config&gt;</tt> room, and 
-in the <tt>Global Address Book&gt;</tt> room.  (Note: the latter should be 
-made private on publicly-accessible systems, for obvious reasons.)</p>
-    
-<p>If you answer Yes to 'Require registration for new users' then each new
- user, upon creating a new account, will immediately be entered into the
-registration process.  On the other hand, if you answer Yes to 'Disable self-service
-user account creation' then new users will not be able to log in at all --
-all accounts must be created by an Aide.</p>
-    
-<p>'Initial access level for new users' should be set to 1 (New User) if you
-  would like to review each new user's registration info before granting
- them higher access.  This would be done periodically with the <tt><b>.A</b>ide 
-<b>V</b>alidate new users</tt> command.   If you do not require registration, 
-you should set the initial access level to 4 (Network User).</p>
-    
-<p>Given the above options, it then becomes clear that there are generally
+<pre>Require registration for new users [No]: No<br>Disable self-service user account creation [No]: No<br>Initial access level for new users [4]:<br>Access level required to create rooms [4]: <br>Automatically give room aide privs to a user who creates a private room [No]: No<br><br>Automatically move problem user messages to twit room [Yes]: Yes<br>Name of twit room [Trashcan]: <br>Restrict Internet mail to only those with that privilege [No]: No<br>Allow Aides to Zap (forget) rooms [Yes]: Yes<br>Allow system Aides access to user mailboxes [Yes]: Yes<br>Log all pages [No]: No<br></pre>
+        
+<p>'Registration' refers to the process of a user entering various personal 
+ contact information (real name, address, telephone number, etc.) into the 
+ system.  When enabled, this information is stored as a vCard object on the
+ system in two places: the user's <tt>My Citadel Config&gt;</tt> room, and
+ in the <tt>Global Address Book&gt;</tt> room.  (Note: the latter should
+be  made private on publicly-accessible systems, for obvious reasons.)</p>
+      
+<p>If you answer Yes to 'Require registration for new users' then each new 
+ user, upon creating a new account, will immediately be entered into the registration
+process.  On the other hand, if you answer Yes to 'Disable self-service user
+account creation' then new users will not be able to log in at all -- all
+accounts must be created by an Aide.</p>
+      
+<p>'Initial access level for new users' should be set to 1 (New User) if
+you   would like to review each new user's registration info before granting 
+ them higher access.  This would be done periodically with the <tt><b>.A</b>ide
+ <b>V</b>alidate new users</tt> command.   If you do not require registration,
+ you should set the initial access level to 4 (Network User).</p>
+      
+<p>Given the above options, it then becomes clear that there are generally 
  two ways you can set up your Citadel system, depending on its purpose:</p>
-    
+      
 <ul>
-  <li><b>A public access BBS or message board</b> - since you do not know 
-who might want to log in, self-service account creation needs to stay enabled.
- If you want to be strict about users identifying themselves, then you should
- also require users to register (just remember to post a privacy policy if
- you're going to collect personal information) -- then set the initial access 
-level to 1 (New User), so new users cannot post messages until after you've 
-validated them.  For a more lax environment, you can remove the registration 
-requirement and grant new accounts level 4 (Normal User) access on the first 
-visit. </li>
-   <li><b>A private email/groupware system for your organization</b> - in 
-this case, disable self-service account creation; you don't want strangers 
-welcoming themselves to your system.  You'll probably also want to disable 
-registration, because you or some other site administrator will be entering 
-users' contact info when you create their accounts.  Since this is also how 
-you assign their Internet e-mail addresses, it's probably a good idea to do
-it yourself instead of expecting them to do it. </li>
+   <li><b>A public access BBS or message board</b> - since you do not know
+ who might want to log in, self-service account creation needs to stay enabled. 
+ If you want to be strict about users identifying themselves, then you should 
+ also require users to register (just remember to post a privacy policy if 
+ you're going to collect personal information) -- then set the initial access
+ level to 1 (New User), so new users cannot post messages until after you've
+ validated them.  For a more lax environment, you can remove the registration
+ requirement and grant new accounts level 4 (Normal User) access on the first
+ visit. </li>
+    <li><b>A private email/groupware system for your organization</b> - in
+ this case, disable self-service account creation; you don't want strangers
+ welcoming themselves to your system.  You'll probably also want to disable
+ registration, because you or some other site administrator will be entering
+ users' contact info when you create their accounts.  Since this is also
+how  you assign their Internet e-mail addresses, it's probably a good idea
+to do it yourself instead of expecting them to do it. </li>
+   
 </ul>
-    
-<p>'Access level required to create rooms' is up to you.  You might wish to
-restrict the creation of new rooms only to Aides, or you might wish to  allow
-anyone to create a room.  The latter is one of the Citadel culture's most
-long-standing traditions; the former may be appropriate if users are abusing
-this privilege.</p>
-    
-<p>You have the ability to 'Automatically give room aide privs to a user who
-  creates a private room.'  If you answer Yes, then any user who creates a
-guess-name, passworded, or invitation-only room will automatically become
- the room aide, and will have access to a subset of the <tt><b>.A</b>ide</tt>
- command set while in that room.  If you would rather grant this permission 
-  manually, answer No.</p>
-    
-<p>Another tradition in the Citadel culture is to refrain from deleting 
-problem users, but instead to 'twit' them (reduce their access level to 2
-[Problem User]).   You can then 'Automatically move problem user messages
-to twit room' (answer Yes, then specify 'Name of twit room' and remember
-to create that room).  If you employ this logic, any user with level 2 (Problem
-User) access will continue to have access to the same set of rooms, but all
-messages posted will automatically be routed to the Trashcan (or whatever
-you call your twit room).</p>
-    
-<p>If you have Internet mail configured, you have the option of restricting 
-its use on a user-by-user basis.  If you wish to do this, answer Yes to 'Restrict 
-Internet mail to only those with that privilege.' Obviously this makes no 
-sense for an internal e-mail system, but for a public BBS it might be appropriate.</p>
-    
-<p>Normally, Aides have access to every room, public or private, except for 
-user mailboxes.  They are also forbidden from <tt><b>Z</b>ap</tt>ping rooms, 
-because the review of content is considered one of their roles.  If you wish 
-to change these policies, the next two options allow you to.  You may 'Allow 
-Aides to Zap (forget) rooms', in which case they may use the <tt><b>Z</b>ap</tt> 
-command just like any other user.  Furthermore, if you 'Allow system Aides 
-access to user mailboxes', then they may <tt><b>.G</b>oto</tt> any private 
-mailbox belonging to any user, using a special room name format.</p>
-    
-<p>If your local security and/or privacy policy dictates that you keep a
-log of all pages (instant messages) that go through the system, then answer
-Yes to 'Log all pages'.  If you answer Yes, you will be prompted for the
-name of a room to which all pages will be logged.  If you answer No, then
-only the sender and recipient of each individual message will receive a copy.</p>
-    
-<p>The next set of options deals with the tuning of your system.  It is usually 
-safe to leave these untouched.</p>
-    
+      
+<p>'Access level required to create rooms' is up to you.  You might wish
+to restrict the creation of new rooms only to Aides, or you might wish to
+ allow anyone to create a room.  The latter is one of the Citadel culture's
+most long-standing traditions; the former may be appropriate if users are
+abusing this privilege.</p>
+      
+<p>You have the ability to 'Automatically give room aide privs to a user
+who   creates a private room.'  If you answer Yes, then any user who creates
+a guess-name, passworded, or invitation-only room will automatically become 
+ the room aide, and will have access to a subset of the <tt><b>.A</b>ide</tt> 
+ command set while in that room.  If you would rather grant this permission
+   manually, answer No.</p>
+      
+<p>Another tradition in the Citadel culture is to refrain from deleting  problem
+users, but instead to 'twit' them (reduce their access level to 2 [Problem
+User]).   You can then 'Automatically move problem user messages to twit
+room' (answer Yes, then specify 'Name of twit room' and remember to create
+that room).  If you employ this logic, any user with level 2 (Problem User)
+access will continue to have access to the same set of rooms, but all messages
+posted will automatically be routed to the Trashcan (or whatever you call
+your twit room).</p>
+      
+<p>If you have Internet mail configured, you have the option of restricting
+ its use on a user-by-user basis.  If you wish to do this, answer Yes to
+'Restrict  Internet mail to only those with that privilege.' Obviously this
+makes no  sense for an internal e-mail system, but for a public BBS it might
+be appropriate.</p>
+      
+<p>Normally, Aides have access to every room, public or private, except for
+ user mailboxes.  They are also forbidden from <tt><b>Z</b>ap</tt>ping rooms,
+ because the review of content is considered one of their roles.  If you
+wish  to change these policies, the next two options allow you to.  You may
+'Allow  Aides to Zap (forget) rooms', in which case they may use the <tt><b>Z</b>ap</tt>
+ command just like any other user.  Furthermore, if you 'Allow system Aides
+ access to user mailboxes', then they may <tt><b>.G</b>oto</tt> any private
+ mailbox belonging to any user, using a special room name format.</p>
+      
+<p>If your local security and/or privacy policy dictates that you keep a log
+of all pages (instant messages) that go through the system, then answer Yes
+to 'Log all pages'.  If you answer Yes, you will be prompted for the name
+of a room to which all pages will be logged.  If you answer No, then only
+the sender and recipient of each individual message will receive a copy.</p>
+      
+<p>The next set of options deals with the tuning of your system.  It is usually
+ safe to leave these untouched.</p>
+      
 <pre>Server connection idle timeout (in seconds) [900]: <br>Maximum concurrent sessions [20]: <br>Maximum message length [2147483647]: <br>Minimum number of worker threads [5]: <br>Maximum number of worker threads [256]: <br></pre>
-    
-<p>The 'Server connection idle timeout' is for the connection between client
- and server software.  It is <b>not</b> an idle timer for the user interface.
+      
+<p>The 'Server connection idle timeout' is for the connection between client 
+ and server software.  It is <b>not</b> an idle timer for the user interface. 
  900 seconds (15 minutes) is the default and a sane setting.</p>
-    
-<p>'Maximum concurrent sessions' is the highest number of user sessions you
- wish to allow on your system at any given time.  Citadel can scale to hundreds 
-of concurrent users, but if you have limited hardware or (more likely) limited 
-bandwidth, you might wish to set a maximum.  You can also set it to zero for
-no limit.</p>
-    
-<p>'Maximum message length' is just that.  This could be a good way to prevent 
-enormous multimedia files from finding their way into your message base. 
-This maximum is enforced in all protocols and is also advertised by the ESMTP
-service.</p>
-    
-<p>The minimum and maximum number of worker threads can be tuned to your
-liking.  Citadel will attempt to keep one worker thread running per session,
-within these constraints.  You should be aware that due to the use of the
-worker thread model, Citadel can handle a large number of concurrent sessions
-with a much smaller thread pool.  If you don't know the programming theory
-behind multithreaded servers, you should leave these parameters alone.</p>
-    
+      
+<p>'Maximum concurrent sessions' is the highest number of user sessions you 
+ wish to allow on your system at any given time.  Citadel can scale to hundreds
+ of concurrent users, but if you have limited hardware or (more likely) limited
+ bandwidth, you might wish to set a maximum.  You can also set it to zero
+for no limit.</p>
+      
+<p>'Maximum message length' is just that.  This could be a good way to prevent
+ enormous multimedia files from finding their way into your message base.
+ This maximum is enforced in all protocols and is also advertised by the
+ESMTP service.</p>
+      
+<p>The minimum and maximum number of worker threads can be tuned to your liking.
+ Citadel will attempt to keep one worker thread running per session, within
+these constraints.  You should be aware that due to the use of the worker
+thread model, Citadel can handle a large number of concurrent sessions with
+a much smaller thread pool.  If you don't know the programming theory behind
+multithreaded servers, you should leave these parameters alone.</p>
+      
 <p>The next set of options affect how Citadel behaves on a network.</p>
-    
+      
 <pre>How often to run network jobs (in seconds) [3600]: <br>SMTP server port (-1 to disable) [25]: <br>POP3 server port (-1 to disable) [110]:<br>IMAP server port (-1 to disable) [143]:<br></pre>
-    
-<p>'How often to run network jobs' refers to the sharing of content on a
-Citadel network.  If your system is on a Citadel network, this configuration
-item dictates how often the Citadel server will contact other Citadel servers 
-to send and receive messages.  In reality, this will happen more frequently 
-than you specify, because other Citadel servers will be contacting yours at
-regular intervals as well.</p>
-    
-<p>Then you can specify TCP port numbers for the SMTP, POP3, and IMAP services. 
- For a system being used primarily for Internet e-mail, these are essential, 
-so you'll want to specify the standard port numbers: 25, 110, and 143.  If 
-Citadel is running alongside some other mail system, though, then you might 
-want to choose other, unused port numbers, or enter -1 for any protocol to 
-disable it entirely.</p>
-    
+      
+<p>'How often to run network jobs' refers to the sharing of content on a Citadel
+network.  If your system is on a Citadel network, this configuration item
+dictates how often the Citadel server will contact other Citadel servers
+ to send and receive messages.  In reality, this will happen more frequently
+ than you specify, because other Citadel servers will be contacting yours
+at regular intervals as well.</p>
+      
+<p>Then you can specify TCP port numbers for the SMTP, POP3, and IMAP services.
+  For a system being used primarily for Internet e-mail, these are essential,
+ so you'll want to specify the standard port numbers: 25, 110, and 143. 
+If  Citadel is running alongside some other mail system, though, then you
+might  want to choose other, unused port numbers, or enter -1 for any protocol
+to  disable it entirely.</p>
+      
 <p>The final set of options configures system-wide defaults for the auto-purger:</p>
-    
+      
 <pre>Default user purge time (days) [120]: <br>Default room purge time (days) [30]: <br>System default message expire policy (? for list) [2]: <br>Keep how many messages online? [150]:<br></pre>
-    
-<p>Any user who does not log in for the period specified in 'Default user
- purge time' will be deleted the next time a purge is run.  This setting
-may be modified on a per-user basis.</p>
-    
-<p>'Default room purge time' behaves the same way, and may also be modified
+      
+<p>Any user who does not log in for the period specified in 'Default user 
+ purge time' will be deleted the next time a purge is run.  This setting may
+be modified on a per-user basis.</p>
+      
+<p>'Default room purge time' behaves the same way, and may also be modified 
  on a per-room basis.</p>
-    
-<p>'System default message expire policy' defines the way in which old messages 
-are expired (purged) off the system.  You can specify any of:</p>
-    
+      
+<p>'System default message expire policy' defines the way in which old messages
+ are expired (purged) off the system.  You can specify any of:</p>
+      
 <ul>
-  <li>Purge by age (specify in days)  </li>
-   <li>Purge by message count in the room (specify number of messages)  </li>
-   <li>Do not purge at all </li>
+   <li>Purge by age (specify in days)  </li>
+    <li>Purge by message count in the room (specify number of messages) 
+  </li>
+    <li>Do not purge at all </li>
+   
 </ul>
-    
-<p>Again, this setting may be overridden on a per-floor basis, and the floor 
-setting may be overridden on a per-room basis.</p>
       
+<p>Again, this setting may be overridden on a per-floor basis, and the floor
+ setting may be overridden on a per-room basis.</p>
+        
 <pre>Save this configuration? No<br></pre>
-    
-<p>When you're done, enter 'Yes' to confirm the changes, or 'No' to discard
+      
+<p>When you're done, enter 'Yes' to confirm the changes, or 'No' to discard 
  the changes.</p>
-   </div>
- <br>
+    </div>
+  
+<hr width="100%" size="2">
+<h2 align="center"><a name="Configuring_Citadel_for_Internet_e-mail"></a>Configuring
+Citadel for Internet e-mail</h2>
+<div align="justify">
+<h3><a name="Introduction"></a>Introduction</h3>
+As you know by now, Citadel is a completely self-contained, full-featured
+Internet e-mail system. &nbsp;When you run Citadel you do not need any other
+mail software on your host system. &nbsp;This eliminates the need for tedious
+mucking about with sendmail, qmail, postfix, Cyrus, the UW IMAP server, or
+any of countless other needlessly complex programs that lead some people
+to the false assumption that Unix systems are difficult to administer.<br>
+<br>
+Some of the many features supported by Citadel are:<br>
+<ul>
+  <li>Built-in SMTP and ESMTP service, for delivering and receiving e-mail
+on the Internet</li>
+  <li>Built-in POP3 service, for remote fetching of messages</li>
+  <li>Built-in IMAP service, for access to mail using any standard mail client
+program</li>
+  <li>Web mail (implemented using the "WebCit" middleware, which is installed
+separately)</li>
+  <li>Support for mailing lists, in both "individual message" and "digest"
+formats</li>
+  <li>Multiple/virtual domain support</li>
+  <li>Any user may have multiple Internet e-mail addresses, in multiple domains</li>
+  <li>Global address book (Users with addresses in a domain may be spread
+out across many servers on a Citadel network)</li>
+  <li>Easy-to-configure integration with <a
+ href="http://www.spamassassin.org/">SpamAssassin</a> can block spam <i>before</i>
+it enters the mail system</li>
+</ul>
+This section of the documentation will demonstrate how to configure these
+features.<br>
+<br>
+<h3><a name="Basic_site_configuration"></a>Basic site configuration</h3>
+
+<P>Basic configuration of your Citadel system for Internet e-mail begins
+with the <tt><b>.A</b>ide <B>S</b>ystem configuration <B>I</b>nternet</tt>
+command:</p>
+
+<PRE>
+Lobby&gt; <b>.A</b>ide <B>S</b>ystem configuration <B>I</b>nternet
+
+###                    Host or domain                     Record type
+--- -------------------------------------------------- --------------------
+  1
+&lt;A&gt;dd &lt;D&gt;elete &lt;S&gt;ave &lt;Q&gt;uit  -&gt;
+</PRE>
+
+<P>This is a &quot;clean&quot; setup.  For a simple, standalone e-mail system
+you simply have to enter the <TT><B>A</B>dd</TT> command:</p>
+
+<PRE>
+&lt;A&gt;dd &lt;D&gt;elete &lt;S&gt;ave &lt;Q&gt;uit  -&gt; <B>A</B>dd
+
+Enter host name: schmeep.splorph.com
+ (1) localhost       (Alias for this computer)
+ (2) gateway domain  (Domain for all Citadel systems)
+ (3) smart-host      (Forward all outbound mail to this host)
+ (4) directory       (Consult the Global Address Book)
+ (5) SpamAssassin    (Address of SpamAssassin server)
+
+Which one [1]:
+</PRE>
+
+<p><b>localhost:</b> Basically what you're doing here is telling Citadel what
+any aliases for
+your machine are. If your machine were <tt>schmeep.splorph.com</tt> and you
+also had a DNS entry set up for <tt>blah.com</tt>, you might want to enter '1'
+and enter <tt>blah.com</tt> as your alias, so that e-mail sent to that
+address won't bounce.</p>
+
+<p><i>Important tip:</i> if your system is known by one name and <i>only</i>
+one domain, you might not even need to do this at all.  You will recall that
+you entered your system's fully qualified domain name earlier when you went
+through the <tt><b>.A</b>ide <B>S</b>ystem configuration <b>G</b>eneral</tt>
+command.  The domain name you entered there is automatically considered by
+Citadel to be a 'localhost' entry in your Internet mail configuration.  It
+does not hurt to enter it in both locations, though.</p>
+
+<p><B>gateway domain:</b> this is a simple way of mapping various Citadel
+hosts in an Internet domain.  For example, if you enter <tt>bar.com</tt>
+as a gateway domain, then mail to users at <tt>foo.bar.com</tt> will be
+forwarded to the host called <tt>foo</tt> on a Citadel network, mail to users
+at <tt>kunst.bar.com</tt> will be delivered to the Citadel server called
+<tt>kunst</tt>, etc.  This feature has limited usefulness; if you are
+operating a network of Citadel servers, it is more likely that you will
+use the 'directory' feature, explained below.</p>
+
+<p><b>smart-host:</b> Normally, Citadel sends outbound Internet e-mail
+directly to its destination.  This may not be appropriate for some sites; you
+may require (due to local convention, security policy, or whatever) that all
+outbound mail be sent to an SMTP relay or forwarder.  To configure this
+functionality, simply enter the domain name or IP address of your relay as
+a 'smart-host' entry.</p>
+
+<p><b>directory:</b> a domain for which you are participating in directory
+services across any number of Citadel nodes.  For example, if users who have
+addresses in the domain <tt>citadel.org</tt> are spread out across multiple
+Citadel servers on your network, then enter <tt>citadel.org</tt> as a
+'directory' entry.  <i>For this to work, all Citadel servers participating
+in directory service <b>must</b> carry and share the <tt>Global Address
+Book&gt;</tt> room.</i></p>
+
+<p><b>spamassassin:</b> if you are running a
+<a href="http://www.spamassassin.org">SpamAssassin</a> service anywhere on
+your <b>local</b> network, enter its name or IP address as a 'spamassassin'
+entry.  This may be (and, in fact, will usually be) <tt>127.0.0.1</tt> to
+specify that the service is running on the same host computer as the
+Citadel server.</p>
+
+<p>Please install SpamAssassin as per its own documentation.  You will want
+to run SpamAssassin in client/server mode, where a <tt>spamd</tt> daemon is
+always running on your computer.  Citadel does not utilize the <tt>spamc</tt>
+client; instead, it implements SpamAssassin's protocol on its own.</p>
+
+<p>Connecting to a SpamAssassin service across a wide area network is
+strongly discouraged.  In order to determine whether an incoming e-mail is
+spam, Citadel must feed the <i>entire message</i> to the SpamAssassin
+service.  Doing this over a wide area network would consume time and
+bandwidth, which would affect performance.</p>
+
+<p>Citadel invokes the SpamAssassin service when incoming messages are
+arriving via SMTP.  Before a message is accepted, it is submitted to
+SpamAssassin.  If SpamAssassin determines that the message is spam, the
+Citadel SMTP service <i>rejects the message,</i> causing a delivery failure
+on the sending host.  This is superior to software which files away spam
+in a separate folder, because delivery failures will cause some spammers to
+assume the address is invalid and remove it from their mailing lists.</p>
+
+<p>Now select <tt><b>S</b>ave</tt> and you are just about ready for
+Internet e-mail.</p>
+
+<h3><a name="Enabling_the_Internet_mail_protocols"></a>Enabling the Internet
+mail protocols</h3>
+Do stuff here.<br>
+<br>
+<h3><a name="Hosting_an_Internet_mailing_list"></a>Hosting an Internet mailing
+list</h3>
+It's fun. &nbsp;Try it.<br>
+<br>
+<hr width="100%" size="2"><br>
+<br>
+</div>
+   <br>
 </body>
 </html>
diff --git a/citadel/docs/inetsiteconfig.txt b/citadel/docs/inetsiteconfig.txt
deleted file mode 100644 (file)
index bf93ba2..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-  
-
-
-
-This document explains the (.A) (S)ystem (I)nternet command. 
-
-Lobby> .Aide System Configuration Internet
-
-###                    Host or domain                     Record type
---- -------------------------------------------------- --------------------
-  1
-(A)dd (D)elete (S)ave (Q)uit  ->
-
-This is a 'clean' set up. Pixel uses the mx method because we have local
-users who get e-mail on the system. Basically to get all set up for mail
-you simply have to type <a>dd: 
-
-(A)dd (D)elete (S)ave (Q)uit  -> Add
-
-Enter host name: pixel.citadel.org
- (1) localhost       (Alias for this computer)
- (2) gateway domain  (Domain for all Citadel systems)
- (3) smart-host      (Forward all outbound mail to this host)
- (4) directory      (Consult the Global Address Book)
- (5) SpamAssassin   (Address of SpamAssassin server)
-
-
-Which one [1]:
-
-Basically what you're doing here is telling Citadel what any aliases for
-your machine are. If your machine were pixel.somedomain.com and you also
-had a DNS entry set up byFreakdog (freakdog @dogpound2), you might want to
-put in pixel.citadel.org as your alias, so that e-mail sent to that
-address won't bounce. 
-
-Gateway Domain:
-citadel.org (that's the current domain for Citadel/UX systems)
-
-smart-host:
-A host to which you send all e-mail to be forwarded to the Internet. In
-most cases you won't need this, however I speak from experience when I say
-that if you don't have a static IP and domain name (the citadel.org 
-addresses are dynamically assigned) a lot of MTA filters will block
-mail from your address. So unless you have a static domain, you'll 
-probably want to send mail through a smart host. Usually your ISP will
-provide you with that information.
-directory:
-A domain for which you are participating in directory services, perhaps across
-any number of Citadel nodes.  This is new and not fully supported yet.
-
-SpamAssassin:
-You can configure Citadel to use the excellent SpamAssassin software (read
-more at http://www.spamassassin.org to learn about it) to filter out incoming
-spam from your system.  Learn how to do this by reading the documentation
-at http://www.citadel.org/spamassassin.php
-
-All you have to do is save and you're done.