]> code.citadel.org Git - citadel.git/blob - citadel/utils.txt
* sendcommand.c: added (also updated utils.txt, weekly, Makefile.in)
[citadel.git] / citadel / utils.txt
1                         Citadel/UX Utilities Manual 
2                  See copyright.doc for copyright information
3    
4    
5  OVERVIEW
6     
7    The following utilities will be discussed in this document:
8  aidepost     Post standard input to the Aide> room
9  whobbs       Who is on the system
10  stats        Print the calling statistics & graph
11  msgform      Format a binary message to the screen (stdin or in a file)
12  userlist     Print the userlist
13  readlog      Read the caller log
14  sendcommand  Send a server command
15    
16    It is up to you to decide which utilities should be made accessible only
17 to sysops. It is important that you set the file permissions correctly. All
18 utilities should have access to the BBS data files, whether through ownership
19 or set-user-id. In addition, aidepost should be accessible by the chat program,
20 and userlist & whobbs should be accessible by citadel. I will attempt to
21 address each program individually.
22    
23    
24   AIDEPOST
25   
26    The nature of this program is rather simple. Standard input (stdin) is
27 converted into a message, filed in the main message file (msgmain), and posted
28 in the Aide> room. This is useful for keeping transcripts of system activity
29 that has to do with the BBS. You might even elect to send all of your system
30 logs there, too.
31    
32     
33   WHOBBS
34    
35    This program is similar to the "who" command.  It lists all of the users
36 who are currently connected to your BBS server, either locally or across a
37 network.  Unless you're running a standalone system, "who" and "whobbs" will
38 probably not have a one-to-one correspondence (unlike earlier versions of the
39 system).
40  
41    One thing to keep in mind is that the "whobbs" utility actually opens a
42 connection to the server.  If the server is maxed out, whobbs will still be
43 able to provide a listing, because it doesn't need to log in to execute the
44 RWHO command.  Note that whobbs does not list its own session.
45  
46    Running the <W>ho is online command from the client does *not* call this
47 utility.  It has this functionality built in.
48    
49    
50   STATS
51   
52    (NOTE: this program no longer uses the "curses" library.)   It prints
53 various statistics on the screen based on the calllog file, such as number
54 of connects, number of logins, number of logouts, number of disconnects,
55 bad password attempts, etc. All statistics are provided in three figures:
56 times per call, times per day, and total times.
57    After this screen appears, you may press return for the next screen. This
58 is a graphic representation of system usage, broken down into 20 minute
59 segments of the day.  This will show you when your peak usage is.
60    Press return again and the stats program will list your system's top
61 20 callers.
62    The final screen lists the twenty users with the highest post per call
63 ratios.  Unline the other screens, this statistic is extracted from the user
64 file itself rather than the call log.
65  
66  stats may be called with the "-b" option to run in batch mode.  In this case,
67 it skips all the prompts and just prints everything out in one bulk output.
68 Or it may be called with the "-p" option to only print the Post-to-Call
69 ratios and nothing else.
70   
71   
72   MSGFORM
73   
74    On occasion, I have had messages in Citadel/UX binary format that I have
75 wanted to view. Or needed a way to view a network spool file. Or wanted to
76 directly examine parts of msgmain. This program is a simple message formatter.
77    msgform reads standard input, scanning for binary messages, starting
78 with an <FF> byte and ending after the final NULL, and print as many as it
79 finds until it encounters EOF.
80    You could use this utility along with netproc to provide printouts or
81 archives of certain rooms.
82     
83    
84   USERLIST
85   
86    This is a program to print the userlist. There are two flags that may be
87 set when running this program. When called without any arguments, userlist
88 will display all users (except those who have chosen to be unlisted), their
89 user numbers, times called, messages posted, screen width, and date of their
90 most recent call.  
91  
92    userlist is simply the same user listing code that is in the client, made
93 into a standalone utility for convenience.
94
95    
96   READLOG
97   
98    Called without any arguments, readlog dumps the contents of the calllog
99 file. This file records all times the Citadel/UX program has been started, and
100 at what baud rate, as well as logins, proper logouts, loss of carrier (SIGHUP),
101 bad password attempts, and new user logins.
102      
103    
104   SENDCOMMAND
105  
106    sendcommand will interpret its arguments (except for "-hDIRNAME") as a
107 server command, which is sent to the server.  Commands which require textual
108 input will read it from stdin.  Commands which generate textual output will
109 be sent to stdout. 
110  
111    This utility is intended to be used to enable Citadel server commands to be
112 executed from shell scripts.  Review the script called "weekly" which ships
113 with the Citadel distribution for an example of how this can be used.
114  
115    NOTE: be sure that this utility is not world-executable.  It connects to the
116 server in privileged mode, and therefore could present a security hole if not
117 properly restricted.
118   
119   
120   --------------------------------------------------------------------------
121    
122    That should cover all of the included utilities. Comments, suggestions,
123 etc. may be sent to ajc@uncnsrd.mt-kisco.ny.us or call UNCENSORED! BBS at
124 (914) 244-3252 (modem) or uncnsrd.mt-kisco.ny.us (Internet).