Initial revision

This commit is contained in:
Ken Bowley
2001-08-17 05:46:24 +00:00
commit 40420d900a
750 changed files with 177485 additions and 0 deletions

41
html/programs/import.html Executable file
View File

@@ -0,0 +1,41 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - Import Configuration.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 30-Jan-2001</h5>
<P>&nbsp;<P>
<H1>import - Import Configuration.</H1>
<P>
<H3>Synopsis.</H3>
<P>
<code><strong>import</strong> [command]</code>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>import</strong> can be used to import the configuration databases from
plain ascii textfiles. This program is not supported. For the format of the
input files look in the source. This program will also not function properly
after 31-Dec-1999. If someone writes real good working conversion programs
to convert BBS, Tosser, Mailer setups to MBSE BBS setup, then make them
public available. On my BBS there is a utility to export RA2.02 databases to
the format that this <strong>import</strong> program can read.
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

50
html/programs/index.htm Normal file
View File

@@ -0,0 +1,50 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 06-Jun-2001</h5>
<P>&nbsp;<P>
<h1>MBSE BBS Programs.</h1>
<ol>
<li><A HREF="import.html">import, Import databases</A>
<li><A HREF="mbaff.html">mbaff, Announce newfiles and filefind</A>
<li><A HREF="mball.html">mball, Allfiles and newfiles list creator</A>
<li><A HREF="mbchat.html">mbchat, Sysop to user chat utility</A>
<li><A HREF="mbcico.html">mbcico, The Fidonet mailer ala ifcico</A>
<li><A HREF="mbdiff.html">mbdiff, Nodelist difference processor</A>
<li><A HREF="mbfbgen.html">mbfbgen, FileBase Generator utility</A>
<li><A HREF="mbfido.html">mbfido, Fidonet mail and files procesor</A>
<li><A HREF="mbfile.html">mbfile, Files database maintenance program</A>
<li><A HREF="mbindex.html">mbindex, Nodelist index compiler</A>
<li><A HREF="mblang.html">mblang, Language datafile compiler</A>
<li><A HREF="mbmon.html">mbmon, The monitor program</A>
<li><A HREF="mbmsg.html">mbmsg, The messagebase utility program</A>
<li><A HREF="mbout.html">mbout, The mailer outbound program</A>
<li><A HREF="mbpasswd.html">mbpasswd, The passwd wrapper</A>
<li><A HREF="mbsebbs.html">mbsebbs, The bbs program</A>
<li><A HREF="mbseq.html">mbseq, Sequence number creator</A>
<li><A HREF="mbsetup.html">mbsetup, The setup program</A>
<li><A HREF="mbstat.html">mbstat, The bbs status change program</A>
<li><A HREF="mbtoberep.html">mbtoberep, The toberep.data lister</A>
<li><A HREF="mbuser.html">mbuser, The userbase maintenance program</A>
<li><A HREF="mbuseradd.html">mbuseradd, The adduser wrapper</A>
</ol>
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" width="33" height="35" border="0"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

99
html/programs/mbaff.html Normal file
View File

@@ -0,0 +1,99 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbaff - Announce new files and Filefind processor.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 30-Jan-2001</h5>
<P>&nbsp;<P>
<H1>mbaff - Announce new files and FileFind processor.</H1>
<P>
<H3>Synopsis.</H3>
<code><strong>mbaff</strong> [command] &lt;options&gt;</code>
<P>&nbsp;
<H3>Description.</H3>
<P>
<strong>mbaff</strong>
is the new files report generator and filefind server for mbsebbs.
In order to run <strong>mbaff</strong>
you must first start <strong>mbsed</strong>,
this is the deamon which controls all bbs activities.
<P>
When <strong>mbaff</strong>
is run with the commandline command <strong>announce</strong>
the first thing it does is to scan all the file databases for files
from which the announced flag is not yet set, and that area has a valid
newfiles groupname. These files are uploads for example.
If such a file is found the announced flag is set and
the file is added to the
<strong>toberep.data</strong>
file. This file may already contain
new files who were received as .tic files and processed by the
<strong>mbfido</strong> program.
After this is done the <strong>toberep.data</strong>
file is compared against the newfiles
reports to see if there is anything to report. If that's the case the
creation of reports begins in the echomail areas specified. After that the
<strong>toberep.data</strong>
file is erased and the mailout semafore set. <br>
The files to announce are divided into groups, the names of the groups are
set in the file download areas. If you plan this well, you can make seperate
announcements for several networks, announce files bij groups of file, ie. HAM
or .jpg pictures, Linux etc.
<P>
When
<strong>mbaff</strong>
is run with the commandline command
<strong>filefind</strong>
it will search each echomail area for unreceived messages addressed to
<strong>allfix</strong> or <strong>filefind</strong>.
It will read the message header and mark the message as received. The
search options are set on the subject line. All file areas for which the
filefind flag is set to true will be searched for the requested search
patterns. If there are files found a reply will be generated for the
user who wrote the request. If the reply area is different from the scan
area, the reply is placed in the reply area. If it's not set, the reply
goes into the same area. If the netmail option is set, the reply will
be sent by netmail. To prevent echomail overflow the replies in the same
area are limited to 15 found files, replies in the other echomail area
are limited to 50 files. Netmail replies will contain up to 100 files.
<P>&nbsp;<P>
<H3>Environment.</H3>
<P>
In order to run <strong>mbaff</strong> you need to set one global environment variable
<strong>$MBSE_ROOT</strong>.
This variable must point to the root of the bbs directoy structure. The
main configuration file
<strong>config.data</strong>
must be present in the ~/etc subdirectory.
<P>&nbsp;<P>
<H3>Commands.</H3>
<P>
<code><strong>mbaff announce</strong></code> - Announce new files.<br>
<code><strong>mbaff filefind</strong></code> - Process filefind requests.
<P>&nbsp;<P>
<H3>OPTIONS</H3>
<P>
<code><strong>mbaff [command] -quiet</strong></code> - Quiet mode, no screen output.
Use this switch if you run <strong>mbaff</strong> from the crontab.
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Back" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Index" Border="0" width="33" height="35"> Back to main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

77
html/programs/mball.html Normal file
View File

@@ -0,0 +1,77 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - Allfile listing generator.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 30-Jan-2001</h5>
<P>&nbsp;<P>
<H1>mball - Allfiles listing generator</H1>
<P>
<H3>Synopsis.</H3>
<P>
<code><strong>mball</strong> [commands] &lt;options&gt;</code>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>mball</strong> is the allfiles and newfiles listing generator that
can be made available on your bbs for your users to get a complete listing
of wat is available for download. When used with the <strong>-zip</strong>
option it can also produce complessed versions of these two listings. The
resulting files are created in the current directory. After the creation of
these files you can hatch them into your bbs with the programs <strong>
mbfido tic</strong> when you properly setup a .tic file area for this purpose
and create records for the hatch manager.
<P>
It can also create <strong>00index</strong> files in each download directory
for FTP users. Because this file starts with double zero it is most likely the
file at the top in each directory. At the same time HTTP pages are created in
the download directories of your filebase. These are named index.html,
index1.html and so on, there are as many as needed. The main index is created in the root
of your filebase. If you use the default setup then a user browsing at your bbs
can type <strong>http://yoursite.org/files/index.html</strong> to see the list
of fileareas.
<P>&nbsp;<P>
<H3>Environment.</H3>
<P>
In order to run <strong>mball</strong> you need to set the global variable
<strong>$MBSE_ROOT</strong>. This variable must point to the root of the bbs
directory structure. The main configuration file <strong>config.data</strong>
must be present in the ~/etc directory.
<P>&nbsp;<P>
<H3>Commands.</H3>
<P>
<code><strong>mball index</strong></code> - Create 00index and HTTP files in all download directories.<br>
<code><strong>mball list</strong> </code> - Create allfiles.txt and newfiles.txt files.
<p>&nbsp;<P>
<H3>Options.</H3>
<P>
<code><strong>mball [command] -quiet</strong></code> - Quiet mode, supress screen output.<br>
<code><strong>mball list -zip</strong> </code> - Create zipped listings as well.
<p>&nbsp;
<H3>Setup.</H3>
<P>
In <strong>mbsetup</strong> menu 1.15 you need to set the public FTP base,
the days to include in newfiles listings and the maximum security level.
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

61
html/programs/mbchat.html Executable file
View File

@@ -0,0 +1,61 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbchat - the Sysop to user chat program.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 30-Jan-2001</h5>
<P>&nbsp;<P>
<H1>mbchat - The Sysop to User chat program.</H1>
<P>
<H3>Synopsys.</H3>
<P>
<code><strong>mbchat</strong> &lt;device&gt;</code>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
The program <strong>mbchat</strong> is used for Sysop to User chat. It
must be started by the sysop if the user has paged the sysop. The sysop
must be logged in as user <strong>mbse</strong> in order to have write
permissions to the same tty as the user has. For example, if the user is
at ttyS0 (COM1), the command to chat would be <strong>mbchat ttyS0</strong>.
<P>&nbsp;<P>
<H3>Environment.</H3>
<P>
In order to run <strong>mbchat</strong> you must set the global variable
<strong>$MBSE_ROOT</strong>. This variable must point to the root directory
of the bbs structure. The main configuration file <strong>config.data</strong>
must be present in the ~/etc directory.
<P>&nbsp;<P>
<H3>Bugs.</H3>
<P>
When you try to chat with a user who is up or downloading a file, the
transfer will fail or may even block. You need to check what the user is
doing before using this program.
<P>
This program will not be developed anymore and will be replaced by a program
that will chat via <strong>mbsed</strong>. This is safer and can be used even
from a remote site over the net.
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

222
html/programs/mbcico.html Normal file
View File

@@ -0,0 +1,222 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbcico - The Fidonet mailer.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 30-Jan-2001</h5>
<P>&nbsp;<P>
<H1>mbcico - The Fidonet mailer.</H1>
<P>
This is work in progress....
<P>
<h3>Synopsis.</H3>
<P>
<code>-r&lt;role&gt; -a&lt;inetaddr&gt; &lt;node&gt; ...</code><br>
<code>-r 0|1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code>1 - master, o - slave [0]<br>
<code>-n&lt;phone&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code>forced phone number<br>
<code>-l&lt;ttydevice&gt;&nbsp;</code>forced tty device<br>
<code>-t&lt;tcpmode&gt;&nbsp;&nbsp;&nbsp;</code>telnet TCP/IP mode, must be one of ifc|itn|ibn, forces TCP/IP<br>
<code>-a&lt;inetaddr&gt;&nbsp;&nbsp;</code>supply internet hostname if not in nodelist<br>
<code> &lt;node&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code>should be in domain form, e.g. f11.n22.z3
(this implies master mode)<br>
<code>-h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code>show this help message<br>
<br>
&nbsp;or: <code>mbcico tsync|yoohoo|**EMSI_INQC816|-t ibn|-t ifc|-t itn</code> (this implies slave mode)
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>mbcico</strong> stands for MBse "Internet - Fidonet Copy In /Copy Out",
this is a FidoNet(r) compatible transport agent. It is based on <strong>
ifcico</strong> written by Eugene G. Crosser, &lt;crosser@average.org&gt;,
2:5020/230@FidoNet. I changed the name of the program to make the difference
between <strong>ifcico</strong> and <strong>mbcico</strong>. Nowadays it is
quite different then ifcico.
<P>
Currently it supports FTS-0001, YooHoo/2U2 and EMSI handshake protocols,
Xmodem, Telink, Modem7, Hydra, SEAlink with and without overdrive and
crash recovery, Bark file and update requests, WaZoo protocols: DietIFNA,
plain Zmodem (aka ZedZip, EMSI flag "ZMO") and ZedZap, WaZoo file and
update requests (nodelist flag should be XA). WaZoo file and update requests
do also work with FTS-0001 sessions, this is supported by several well known DOS
mailers also.
Password protected requests and update requests are implemented (but not
yet full tested).
<P>
There is also a special protocol optimized to use over TCP/IP connections,
contributed by Stanislav Voronyi &lt;stas@uanet.kharkov.ua&gt;, it is
identiefied by EMSI proto code TCP (not registered) and nodelist flag IFC.
The default port is 60179. There is a telnet variant on this, the default
port is 23, and nodelist flag is ITN. The telnet variant is written by
T. Tanaka.
<P>
There is also a <strong>Binkp</strong> implementation, this is a
bi-directional TCP/IP protocol.
This protocol is prefferred over the IFC protocol because it is
more efficient. Nodelist flag is IBN, the default port is 24554, and the
nodelist request flag is XX. This Binkp implementation supports multiple
batches, however this is only tested against another <strong>mbcico.</strong>
I don't know if any other mailer supports this option, but it is documented
in the spec's.
<P>
Outbound directory structure is BinkleyTerm compatible, with domains and
point subdirectories (full 5d). There are separate "protected" and
"unprotected" inbound directories for the incoming sessions with the nodes
that are in your setup. Files received during outbound sessions are always
stored in the "protected" inbound.
<P>
"Magic" file request processors are executable files placed in the "magic"
directory. If a request is made for a file with matching name, the
executable from the "magic" directory is run, and its stdout output is mailed
to the requestor. Full requestor's address, in the form of "John Smith of
1:234/56/7" is passed to the executable in the command line. Non-executable
files in the magic directory contain the full names to magic filenames. The
magic NODELIST can thus point to the full path and filename of your latest
nodelist. These magic names are automatic maintained by the <strong>mbfido</strong>
program when the magic name is set in the .tic file that you receive.
<P>
To run <strong>mbcico</strong> in master mode, you need to make dialout
devices read/writeable for <strong>mbcico</strong>, and do the same for
the directory where your uucp locks are created (usually /var/locks).
<P>&nbsp;<P>
<h3>Answer Mode.</h3>
<P>
To make <strong>mbcico</strong> work in answer mode, you need <strong>
mgetty</strong> written by Gert Doering. <strong>mbcico</strong> must be
started with one of the following parameters:
<P><PRE>
FTS-0001 call: "/opt/mbse/bin/mbcico tsync"
FTS-0006 call: "/opt/mbse/bin/mbcico yoohoo"
EMSI call: "/opt/mbse/bin/mbcico **EMSI_....."
</PRE><P>
In the latter case the received EMSI packet should be passed whitout trailing
CR). To make this work <strong>mgetty</strong> must be compiled with the
-DFIDO option. Other getty programs might work.
<P>
To answer TCP/IP calls the following lines should be added to /etc/inetd.conf:
<P><PRE>
binkd stream tcp nowait mbse /opt/mbse/bin/mbcico mbcico -t ibn
tfido stream tcp nowait mbse /opt/mbse/bin/mbcico mbcico -t itn
fido stream tcp nowait mbse /opt/mbse/bin/mbcico mbcico -t ifc
</PRE><P>
In the file /etc/services the following lines must be present:
<P><PRE>
binkd 24554/tcp # mbcico IBN mode
tfido 60177/tcp # mbcico ITN mode
fido 60179/tcp # mbcico IFC mode
mbse 60180/tcp # MBSE BBS deamon
</PRE><P>
In this case I installed the ITN mode at port 60177 instead of 23 like most
sysops do.
<P>&nbsp;<P>
<h3>Master Mode.</h3>
<P>
To make <strong>mbcico</strong> scan for pending outbound mail and do
appropriate calls, start it with <strong>-r1</strong> flag. It will check
for Zone Mail Hour, outside ZMH only crash mail is delivered. Mail to
non-CM systems is only send when mail has the Immedidate status.
Poll request are always honnored, even to non-CM systems if there is a
<strong>poll</strong> request in the outbound. Be carefull.
The taskmanager <strong>mbtask</strong> will start calling <strong>mbcico -r1</strong>
if it has seen the <b>scanout</b> semafore. After all calls are completed <b>mbcico</b>
will remove the <b>scanout</b> semafore.
During ZMH all non-compressed mail is send. File requests in the outbound do not
force calling a system. If you make a filerequest, you must also make a
poll for that node to really start the request. You can also force a call
by entering <strong>mbcico f2802.n280.z2</strong> on the commandline.
Only one call is made then and there is no dial delay. If <b>mbcico -r1</b> is
called a random dialdelay is used with each call except for internet calls.
<P>&nbsp;<P>
<h3>Environment.</H3>
<P>
In order to run the mbcico you need to set one global environment variable
<strong>$MBSE_ROOT</strong>
This variable must point to the root of the bbs directoy structure.
<P>&nbsp;<P>
<H3>Return Codes.</H3>
<P>
<pre>
0 - No errors
1..32 - Linux errors, SIGHUP, SIGKILL, etc.
101 - No dialout ports available.
102 - Dial failed (no CONNECT or TCP connection failed).
103 - Could not reset the modem (no OK).
104 - System is locked.
105 - not used?
106 - Nodelist lookup failed.
107 - Call prohibited by config options.
108 - Phone number unavailable.
109 - No matching ports defined.
110 - Tried to call a CM system outside ZMH.
111..129 - Session failures (not defined).
130 - Could not establish session, system is marked undialable.
</pre>
These codes are also stored in status files for nodes, with the extension
of ".sts". These are small datafiles containing three decimal numbers.
<ol>
<li>Time retry code, this is the last call attempt time. This is an unsigned
long representing the number of seconds since the epoch.
<li>Retries, this is the number of consequtive call attempts made that returned
"call failed" or other errors. This field is zeroed when the call succeeds and
when a new "poll" is created. If the value is 30, the node won't be called
anymore.
<li>Code, this is the return code of the last attempt.
</ol>
<p>&nbsp;<p>
<h3>Configuration.</H3>
<P>
The behaviour of mbcico can be configured with <strong>mbsetup</strong>,
section 1.16 If something doesn't do what you want, set the debug on for
that problem. This will produce huge logfiles, but also a lot of information.
Important flags are Device IO, EMSI debug, File forward, Locking, Outboundscan
and Session.
<P>&nbsp;<P>
<h3>Bugs.</H3>
<P>
Incoming calls from McMail mailers, McMail is quite hasty
to establish an EMSI session, and times out in less than a second. So
if your system is heavy loaded, or not too fast, McMail cannot connect
with your system. This is a known problem with McMail 1.0 and older,
later versions are ok.
<P>&nbsp;<P>
<H3>Authors.</H3>
<P>
<pre>
Eugene G. Crosser &lt;crosser@average.org&gt; Orginal ifcico.
Stanislav Voronyi &lt;stas@uanet.kharkov.ua&gt; TCP/IP code.
T. Tanaka Telnet mode.
Martin Junius Rewrite of opentcp().
Omen Technology Inc Zmodem protocol.
Arjen G. Lentz, Joaquim H. Homrighausen Hydra transfer protocol.
Cristof Meerwald Implementation of Hydra in ifcico.
P. Saratxaga Tty driver code, yoohoo extensions.
Dima Maloff Binkp protocol.
Michiel Broek Rewrite for MBSE BBS.
</pre>
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

70
html/programs/mbdiff.html Normal file
View File

@@ -0,0 +1,70 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbdiff - Nodelist difference file processor.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 30-Jan-2001</h5>
<P>&nbsp;<P>
<H1>mbdiff - Nodelist difference file processor.</H1>
<P>
<H3>Synopsis.</H3>
<P>
<code><strong>mbdiff</strong> [nodelist] [nodediff] &lt;options&gt;</code>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>mbdiff</strong> applies a (compressed) nodediff file against the
nodelist of the week before to create a new nodelist. The result is a new
plain nodelist and a nodelist compressed with zip.
<P>&nbsp;<P>
<H3>Environmet.</H3>
<P>
In order to run <strong>mbdiff</strong> you must set the global variable
<strong>$MBSE_ROOT</strong>. This variable must point to the root directory
of the bbs structure. The main configuration file <strong>config.data</strong>
must be present in the ~/etc directory.
<P>&nbsp;<P>
<H3>Commands.</H3>
<P>
<code><strong>mbdiff</strong> [nodelist] [nodediff]</code> The nodelist must be the full
path and filename without the dot and daynumber extension. The nodediff is
the full path and filename to the (compressed) nodediff file fitting on the
latest nodelist. It is adviced to make a seperate working directory where
you keep the nodelists. Don't do this in your normal nodelist directory.
When the operation is successfull, the new nodelist is in the working directory
and the old list is removed. A compressed version of the nodelist is also
placed in the working directory. From here you can hatch the new compressed
nodelist with the <strong>mbfido</strong> program.
<P>&nbsp;<P>
<H3>Options.</H3>
<P>
<code><strong>-quiet</strong></code> - supress screen output, this switch is needed when
<strong>mbdiff</strong> runs on the background.
<P>&nbsp;<P>
<H3>Bugs.</H3>
<P>
If you find any bugs, mispelled documentation etc, please contact the author:
Michiel Broek at 2:280/2802@Fidonet or <A HREF="mailto:mbroek@users.sourceforge.net">mbroek@users.sourceforge.net</A>
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

61
html/programs/mbfbgen.html Executable file
View File

@@ -0,0 +1,61 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbfbgen - FileBase Generato.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 30-Jan-2001</h5>
<P>&nbsp;<P>
<H1>mbfbgen - FileBase Generator</H1>
<P>
<H3>Synopsis.</H3>
<P>
<code><strong>mbfbgen</strong></code>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>mbfbgen</strong> is used to import filebase areas from CD-ROM. This
util works like <strong>fbgen</strong> which is known to RA users. It reads
the file <strong>files.bbs</strong> to get the filenames and descriptions
to build the filedatabase.
<P>
To import a filebase you must setup the area with <strong>mbsetup</strong>.
If you are really importing from a CD that will stay mounted on your system
you must set <strong>CDrom</strong> to yes. If the files.bbs file is not in the
directory were the files are, but somewere else on the CD, you must fill in
the field <strong>Files.bbs</strong> in the edit file area screen.
If the files.bbs file is in the same directory together with the files, you may
leave that field blank.
It is handy to use a closed range of file areas.
Once you are ready with the setup start <strong>mbfbgen</strong>, enter the
start and end area numbers, the uploader name, and the import will start.
This can last quite long as from each file the 32 bits CRC is calculated
that will be stored in the filedatabase. When <strong>mbfbgen</strong> is
finished, run <strong>mbfile index</strong> to recreate the filerequest index
file.
<P>&nbsp;<P>
<H3>Environmet.</H3>
<P>
In order to run <strong>fbgen</strong> you must set the global variable
<strong>$MBSE_ROOT</strong>. This variable must point to the root directory
of the bbs structure. The main configuration file <strong>config.data</strong>
must be present in the ~/etc directory.
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

260
html/programs/mbfido.html Normal file
View File

@@ -0,0 +1,260 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbfido - The Fidonet mail and files processor.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 10-Jul-2001</h5>
<P>&nbsp;<P>
<H1>mbfido, the fidonet mail and files processor.</H1>
<P>
<h3>Synopsis.</H3>
<P>
<code>mbfido [command(s)] &lt;options&gt;</code>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>mbfido</strong>
is the program to process fidonet mail and files. In order to run mbfido
you must first start <strong>mbtask</strong>,
this is the deamon which controls all bbs activities. To prevent that
<strong>mbfido</strong> will run more than once at the same time a lock
is placed in the protected inbound with the pid of the running
<strong>mbfido</strong> program. The gateway to and from internet is also
handled by <strong>mbfido</strong>.
<P>&nbsp;<P>
<H3>Specifications.</H3>
<p>
The recognized mail packets are type 2+ following the FSC-0039 standard with
a fallback to the old stone age packets.
Can handle messages of maximum 429467295 bytes, or less if you have less
memory available, the practical limit is about 1 Meg. Note that most mailprocessors
are only guaranteed to work to maximum 16 KBytes.
Recent experiments in the LINUX echo show that this is still true,
although most tossers seem to process mail up to 32 KBytes.
<P>&nbsp;<P>
<H3>Tossing Mail.</H3>
<P>
First make sure you have the necessary message areas in your setup. At least
you need the badmail and dupemail areas and a netmail area for each network
you participate in. If you don't create badmail and dupemail areas then
bad (unknown area etc) and dupes are lost and you cannot check the reason why.
If you don't create the netmail areas for each network, then netmail to your
system will dissapear. It is not possible to "retoss" the badmail yet after
you have created any missing echomail areas.
<P>
To prevent .pkt name collision the toss of incoming mail is done in parts.
The first run is to process all uncompressed mailpackets and add mail to the
outbound. Then each compressed ARCmail archive will be uncompressed and
processed and mail will be imported and forwarded as necessary. During all
these passes all filenames are sorted by date and time, the oldest files are
processed first.
<P>
The recognized mail packets are type 2+ following the FSC-0039 standard with
a fallback to the old stone age packets. The packets are checked for being
addressed to one of your own aka's and for a correct password. The
password check may be switched off in the nodes setup. After all the packet
header checks the messages will be extracted from the packet file.
<P>
When messages are extracted from the packets, the date format is checked for
Year2000 bugs from other tossers. Several checks are done by ideas of Tobias
Ernst of 2:2476/418. It is also possible to run the <strong>pktdate</strong>
utility before each packet will be processed. Whatever date format us used in
the original message, <strong>mbfido</strong> will always rewrite the date
field in the right FTS-0001 format.
<P>
If the message is a netmail the message is checked for DOMAIN, INTL, FMPT and
TOPT kludges so that full 4d or 5d addressing will be possible. Then a check
is done if this netmail is addressed to one of our aka's. If it's addressed to
"sysop" or "postmaster" the name is replaced with the sysop's name. If the
message is addressed to one of the names defined in the service setup, that
mail will be handled by the service manager, ie. given to areamgr, filemgr or
send further as email to your local system.
<BR>
Then the message is checked if it is addressed to an existing bbs user, and if
so it will be imported into the netmail area of the main zone of the bbs.
If it's not addressed to a bbs user, the message will be readdressed to the
sysop. If the message is not for one of our aka's the message will be put in the
mailqueue for further routing.
<P>
If the message is a echomail message it will be checked for being a duplicate by
storing the CRC32 value of the AREA: line, message subject, origin line,
message date and msgid kludge and testing if that CRC32 value exists in the
echomail duplicate database. If there is no msgid in the message, the whole
message body will be include to complete the CRC32 dupe check.
Also the existance of the echomail area is checked and the node must be linked to that area.
If the message is not in a passthru area and is not a duplicate it
is finally imported in the message base.
After that is the message will be forwarded to downlinks
by adding the message to the mailqueue.
<P>&nbsp;<P>
<h3>Adding mail to the outbound.</h3>
<P>
Adding mail to the outbound is done in two passes. The first pass is to put all
outgoing mail into the ~/tmp directory, these files are named z.n.n.p.ext
The extension can be qqq for packed mail, nnn for normal unpacked mail, hhh for
hold unpacked mail and ccc for crash unpacked mail. Adding mail to this tmp
directory can allways be done, even if one of the nodes you are adding mail
for is having a mail session with your system. This is a safe operation.<br>
In the second pass, these temp files are really added to the outbound, but
only if the destination node is not locked, ie. there is no current mailsession
with that node. If there is a mail session going, these temp files will stay in
the temp directory and are added to the outbound in a later run of
<strong>mbfido</strong>. If adding the mail to the outbound succeeds
the temporary file is removed.
<P>&nbsp;<P>
<H3>Alias file.</H3>
<P>
If the file /opt/mbse/etc/aliases excists, mbfido will try to fetch ftn-style
aliases from there.
If "from" address of a message from FidoNet matches <b>right</b> side
of some entry in alias file, then the Reply-To: header is created
in the RFC message with the name part taken from the left side of the
sysalis entry and domain part taken from myfqdn (below). E.g., if a
fidonet message comes from "John Smith of 1:234/567.89@fidonet" and
there is an entry in the sysalias file:
<pre>
"jsmith: John.Smith@p89.f567.n234.z1.fidonet.org"
</pre>
and Domain name value is "mbse.nl", then the resulting message will
contain a line: "Reply-To: jsmith@mbse.nl".
<P>&nbsp;<P>
<H3>Commands.</H3>
<P>
<code><strong>mbfido</strong> notify &lt;nodes&gt;</code>
This command will send notify messages to all nodes in your setup which
have the notify option set to on. If you enter nodes as option you may use
wilcards, ie 2:*/* to send messages to all nodes in zone 2. If you specify
exactly one node, messages will be generated even if that node has the
notify function off. From cron you should not specify any nodes, this will
just send to all your links the information about their setup. Each node
will receive a status report for files and mail, and area list for all
file areas and mail areas to each aka a node has, and a flow report for
mail for each aka.
<P>
<code><strong>mbfido</strong> roll</code>
This command will only do something if a new week or month has begun.
If this is true the statistic records in several databases are updated.
You should run this command each midnight from cron to be sure that this when it is
time to do so. This command is always executed before one of the scan, toss or tic commands so
if you don't do this in cron, it will still happen.
<P>
<code><strong>mbfido</strong> scan</code>
Scan for new messages entered at the bbs or by other utilities. If the file
~/tmp/echomail.jam or ~/tmp/netmail.jam exists,
mbfido will only scan the messages in areas which are
pointed at in this file. This is a lot faster then a full mailscan.
If it is not present, all messagebases are scanned
to see if there is a new message. If you specify
<strong>-full</strong> on the commandline a full messagebase scan is forced.
It is wise to do this sometimes, on my bbs I run this once a day.
<P>
<code><strong>mbfido</strong> tag</code>
The command will create tag- and areas files in the doc directory for each group of
mail and files.
<P>
<code><strong>mbfido</strong> test</code>
This is for testing of the mail routing. In the source "tracker.c" I have
included a list of nodes that will be tested. This is for development only,
but it might be handy for you to test your netmail routing.
<P>
<code><strong>mbfido</strong> tic</code>
Process incoming files accompanied with .tic control files. Several actions can
take place on the incoming file before they are imported in the BBS areas.
Options are rearchiving, replacing banners (with your add), check for DOS
viruses, running scripts for certain filename patterns, send these files to
other nodes etc. All options can be defined for each area. If as a result from
one of the actions there are new files hatched, for example after processing
a nodelist difference file which created a new nodelist, the .tic processing
will start again, until there is really nothing more to do.
<P>
<code><strong>mbfido</strong> toss</code>
Toss incoming fidonet netmail and or echomail. By default mail in the protected
inbound directory will be processed, uncompressed .pkt files and compressed
arcmail bundles are recognized, filename case doesn't matter.
<P>
<code><b>mbfido</b> news</code> Scan all defined newsgroups for new newsarticles.
New articles are fetched from the newsserver and stored in your messagebase and
send to your up- and downlinks. This is for use with an NNTP gateway.
<P>
<code><strong>mbfido</strong> uucp</code>
This will read a standard a newsbatch from stdin and gate the articles
to Fidonet and the local message base. This is for use with an UUCP gateway, this
mode should be called by uuxqt. The newsbatch may be compressed or uncompressed or
a single news article.
<P>
<code><strong>mbnews</strong></code>
This is an alternative to <strong>mbfido uucp -quiet</strong>.
<P>&nbsp;<P>
<h3>Options.</h3>
<P>
<code><strong>mbfido</strong> [command] -nocrc</code>
Disable CRC checking of incoming TIC files. Only use this if you know what
you are doing.
<P>
<code><strong>mbfido</strong> scan -full</code>
Force scanning of all message bases for new entered mail. You need this if
mail in entered with other editors then from mbse. Also, running it once a
day is adviced to catch any missed messages.
<P>
<code><strong>mbfido</strong> news -learn</code>
Scan the newsserver for news articles, and update the news dupes database only.
Use this switch if you start using mbfido to gate news articles for the first time.
Articles will not be gated with this switch, mbfido will just learn which articles
already excist. Normally you only need to use this switch once.
<P>
<code><strong>mbfido</strong> [command] -nodupe</code>
Disable checking for duplicate's. Normally you should not use this switch.
This switch doesn't work with the news command, only for echomail and tic files.
<P>
<code><strong>mbfido</strong> [command] -quiet</code>
Quiet mode, all output to the current tty is supressed. Use this flag if
you toss mail from a script (started by cron) after mail is received.
<P>
<code><strong>mbfido</strong> toss -a</code> Toss mail and allow to autocreate
new message areas. See the <A HREF="../setup/emareas.html"> message area setup</A>
how to set this up.
<code><strong>mbfido</strong> toss -unsecure</code>
Toss mail without checking if the echomail is for your own system en without
checking if the sending node is connected to your system. Nodes who are
excluded from a certain echo, can stil not enter messages in that echo.
<P>
<code><strong>mbfido</strong> [command] -unprotect</code>
Toss from the unprotected inbound directory. The default is to toss from the
protected inbound directory.
<P>&nbsp;<P>
<h3>Environment.</H3>
<P>
In order to run the bbs you need to set one global environment variable
<strong>$MBSE_ROOT</strong>
This variable must point to the root of the bbs directoy structure.
<P>&nbsp;<P>
<h3>Bugs.</H3>
<P>
There are still bugs, this program is under development.
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

93
html/programs/mbfile.html Normal file
View File

@@ -0,0 +1,93 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbfile - File database maintenance program.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 30-Jan-2001</h5>
<P>&nbsp;<P>
<H1>mbfile - File database maintenance program.</H1>
<P>
<H3>Synopsys.</H3>
<code><strong>mbfile</strong> [commands] &lt;options&gt;</code>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>mbfile</strong>
is the filedatabase maintenance program for mbsebbs. In order to run mbfile you
must have started <strong>mbsed</strong>,
this is the deamon which controls all bbs activities.
<P>
The main purpose of <strong>mbfile</strong>
to do automatic maintenance on the downloadable files on the bbs, such as
removing or moving old files, checking the database and packing the database.
The best way to do the maintenance is to run <strong>mbfile</strong>
from the crontab. example:
<P><pre>
30 05 * * * export MBSE_ROOT=/opt/mbse; /opt/mbse/bin/mbfile kill pack check index -quiet
</pre>
<P>&nbsp;<P>
<H3>Environment.</H3>
<P>
In order to run the bbs you need to set one global environment variable
<strong>$MBSE_ROOT</strong>
This variable must point to the root of the bbs directoy structure. The
main configuration file <strong>config.data</strong>
must exist in the subdirectory ~/etc.
<P>&nbsp;<P>
<H3>Commands.</H3>
<P>
<code><strong>mbfile</strong> check</code>
Check the database integrity. All files in the filedatabase must exist on
disk and all files on disk must exist in the filedatabase. There are some
exceptions, files.bbs, files.bak, 00index, index*.html, header, readme and
files that start with a dot.
Of all files the date and time is checked, the size and the crc
value of the file. If there is something wrong, the error is corrected or the
file is removed. If the area is a CD-rom area, the check that files on disk
must exist in the filedatabase is skipped.
<P>
<code><strong>mbfile</strong> index</code>
Create fast filerequest index for the <strong>mbcico</strong> filerequest
processor.
<P>
<code><strong>mbfile</strong> pack</code>
This command will actualy remove the records of files that are marked for
deletion. If the file is still on disk, it will be removed also. So when
you delete files with mbsetup, they are still in your database and on disk
until you run <strong>mbfile pack</strong>.
<P>
<code><strong>mbfile</strong> kill</code>
Delete or move files in areas that have the <strong>download age</strong>
set or the <strong>filedate age</strong> set. A setting of 0 is ignored.
Areas on CD-rom are always skipped.
If the Move to Area option is set the files are moved to the given area. The
upload date and download date are reset to the current date and time.
So if you set in the destination area aging of 14 days, files will stay
there for 14 days after the move. This is good for automatic "last chance" areas.
<P>&nbsp;<P>
<H3>Options.</H3>
<P>
<code><strong>mbfile</strong> [command] -quiet</code>
Quiet mode, no screen output. Use this switch if you run <strong>mbfile</strong> from the crontab.
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

View File

@@ -0,0 +1,68 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbindex - Nodelist Index Compiler.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 30-Jan-2001</h5>
<P>&nbsp;<P>
<H1>mbindex - Nodelist Index Compiler.</H1>
<P>
<H3>Synopsis.</H3>
<P>
<code><strong>mbindex</strong> &lt;options&gt;</code>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>mbindex</strong> is the nodelist index compiler. It will create
an index file containing the sorted fidonet addresses as index file to the
raw nodelists in the defined nodelist directory. Several other programs
use this index file for fast retreival of data from the nodelists. Compiling
new nodelist indexes can always be done, while compiling the result
is stored in temporary index files and only after successfull compilation the
original indexes are renamed and the temporary files get the normal names.
The renamed (old) indexes stay on disk including the previous version of the
old raw nodelist. They stay there in case some program had the nodelist or
index still open. So in the nodelist directory there are current nodelists,
previous
nodelists, current indexes and previous indexes, and during compiling the
temporary indexes. There is no need to manually remove (and not wise to do so)
files from the nodelist directory.
<P>
The nodelists in the nodelist directory are the normal uncompressed nodelists
in MS-DOS format (with CR/LF). The filename extensions must be two or 3 digits.
So if you have a private pointlist named <strong>bestbbs.pts</strong> you
will have to rename that to <strong>bestbbs.999</strong> to make it work.
<P>&nbsp;<P>
<H3>Environment.</H3>
<P>
In order to run <strong>mbindex</strong> you must set the global variable
<strong>$MBSE_ROOT</strong>. This variable must point to the root directory
of the bbs structure. The main configuration file <strong>config.data</strong>
must be present in the ~/etc directory.
<P>&nbsp;<P>
<H3>Options.</H3>
<P>
<code><strong>mbindex</strong> -quiet</code> Quiet mode, no screen output. Use the switch
if you run <strong>mbindex</strong> from a shellscript or from the crontab.
<P>&nbsp;<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

38
html/programs/mblang.html Normal file
View File

@@ -0,0 +1,38 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mblang - Language Data Compiler.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 30-Jan-2001</h5>
<P>&nbsp;<P>
<H1>mblang - Language Data Compiler</H1>
<P>
<H3>Synopsis.</H3>
<P>
<code><strong>mblang</strong> [language data file] [language source text]</code>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>mblang</strong> compiles the source textfile to language datafile
which is used by the <strong>mbsebbs</strong> program. You only need to
use this program if you install a new language file. When you build the
complete mbse bbs package, this command is run automatic for you.
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

47
html/programs/mbmail.html Executable file
View File

@@ -0,0 +1,47 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbmail - Mail User Agent for the email gate.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 10-Apr-2001</h5>
<P>&nbsp;<P>
<H1>mbmail - Mail User Agent for the email gate.</H1>
<P>
<H3>Synopsys.</H3>
<code><strong>mbmail</strong> -r&lt;addr&gt; -g&lt;grade&gt; -c&lt;charset&gt; -b &lt;recip&gt;</code>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>mbmail</strong>
is the Mail User Agent that should be called by your Internet mailer to deliver
mail to Fidonet systems. This program must always run as user <strong>mbse</strong> so
your mailer must be capable of doing so. The Postfix mailer I use can do that.
<P>
<H3>Commandline options.</H3>
<P>
<code><strong>mbfile</strong> -r&lt;addr&gt; -g&lt;grade&gt; -c&lt;charset&gt; -b &lt;recip&gt;</code>
The -r&lt;addr&gt; is the address to route the packet to. This should normal be set by
the Internet mailer to one of your aka's. The -g&lt;grade&gt; is the packet flavor. This
can be one of the characters n, c or h which means normal, crash or hold. The -c&lt;charset&gt; will
force a certain characterset. Normally this will be automatic set. The -b switch disables splitting
of long messages. The &lt;recip&gt; are one or more recipients for the message. The message itself is
read from stdin.
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

45
html/programs/mbmon.html Normal file
View File

@@ -0,0 +1,45 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbmon - MBSE BBS Monitor.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 07-jun-2001</h5>
<P>&nbsp;<P>
<H1>mbmon - MBSE BBS Monitor</H1>
<P>
<H3>Sysnopsis.</H3>
<P>
<code><strong>mbmon</strong></code>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>mbmon</strong> is the monitor program so that you can see what is
happening on your bbs. It can show all processes and actions of all programs,
show system statitistics, disk useage, and the last callers list.
<strong>mbmon</strong> must run on the same system where the bbs is.
<P>&nbsp;<P>
<H3>Environment.</H3>
<P>
In order to run <strong>mbmon</strong> you must set the global variable
<strong>$MBSE_ROOT</strong>. This variable must point to the root directory
of the bbs structure.
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

93
html/programs/mbmsg.html Normal file
View File

@@ -0,0 +1,93 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbmsg - Message Base Utility.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 30-Jan-2001</h5>
<P>&nbsp;<P>
<H1>mbmsg - Message Base Utility</H1>
<P>
<H3>Sysnopsis.</H3>
<P>
<code><strong>mbmsg</strong> [commands] &lt;options&gt;</code>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>mbmsg</strong>
is the message base utility program for mbsebbs. In order to run mbmsg you
must have started <strong>mbsed</strong>,
this is the deamon which controls all bbs activities.
<P>
The main purpose of <strong>mbmsg</strong>
is to link messages after tossing mail, and to maintain the size of the message
bases and the age of the messages. The best way to do the maintenance is to
run <strong>mbmsg</strong>
from the crontab. example:
<pre>
30 05 * * * export MBSE_ROOT=/bbs; /bbs/bin/mbmsg kill pack link -quiet
</pre>
Another purpose is to automatic post messages in message areas. Echomail and
netmail is possible.
<P>&nbsp;<P>
<H3>Environment.</H3>
<P>
In order to run <strong>mbmsg</strong> you must set the global variable
<strong>$MBSE_ROOT</strong>. This variable must point to the root directory
of the bbs structure. The main configuration file <strong>config.data</strong>
must be present in the ~/etc directory.
<P>&nbsp;<P>
<H3>Commands.</H3>
<P>
<code><strong>mbmsg</strong> link</code> Link all messages by subject ignoring
Re: in the subject lines. You should run this after tossing or scanning mail.
<p>
<code><strong>mbmsg</strong> kill</code> Kill messages in areas that have the
<strong>age</strong> set or the <strong>maximum</strong> messages set.
A setting of 0 is ignored. The messages are not removed from the message base,
they are only marked as deleted.
<P>
<code><strong>mbmsg</strong> pack</code> This command actualy removes the
messages who have the deleted flag set.
The lastread pointers are updated and the messages renumbered. After this
command there is no way you can recover your messages, except from backups.
<P>
<code><strong>mbmsg</strong> post &lt;to&gt; &lt;#&gt; &lt;subj&gt; &lt;file&gt; &lt;flavor&gt;
</code> This command posts a message in numbered area. If a field
consists of more then one word it must be surounded with quotes.
The <strong>to </strong> field can be "Michiel Broek" for a full name or
"Michiel_Broek@f16.n2801.z2.fidonet" for netmail addressing. Look out:
you need underscore between the firstname and lastname, no spaces.
Flavor can be one or more of the characters "c", "i", "h" or "p" to set the Crash,
Immediate, Hold or Private flags.
If no flavor is needed, use the - (minus sign) as a placeholder.
<p>&nbsp;<P>
<H3>Options.</H3>
<P>
<code><strong>mbmsg</strong> [command] -area &lt;#&gt;</code>
Process only one area &lt;#&gt; number.
<P>
<code><strong>mbmsg</strong> [command] -quiet</code> Quiet mode,
no screen output. Use this switch if you run <strong>mbmsg</strong>
from the crontab.
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

105
html/programs/mbout.html Normal file
View File

@@ -0,0 +1,105 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbout - The Outbound Manager.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 31-Jan-2001</h5>
<P>&nbsp;<P>
<H1>mbout - The Outbound Manager</H1>
<P>
<H3>Synopsis.</H3>
<P>
<code><strong>mbout</strong> [command] &lt;params&gt; &lt;options&gt;</strong>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>mbout</strong> is the outbound manager for MBSE BBS. It can ask
information from the nodelists, create and remove polls, request and send files and
display the outbound status. Most of the tasks such as create and remove
polls should be done from the crontab.
<P>&nbsp;<P>
<H3>Environment.</H3>
<P>
In order to run <strong>mbout</strong> you must set the global variable
<strong>$MBSE_ROOT</strong>. This variable must point to the root directory
of the bbs structure. The main configuration file <strong>config.data</strong>
must be present in the ~/etc directory.
<P>&nbsp;<P>
<H3>Commands.</H3>
<P>
<code><strong>mbout</strong> att &lt;node&gt; &lt;flavor&gt; &lt;file&gt;</code> will attach
the specified file to the specified node. The node should be in the format
f2802.n280.z2, flavor should be crash, immediate, normal or hold. Only the first
letter of the flavor parameter is needed.
If the node is not in the nodelist, the status is Down or Hold, then this command fails.
To non-CM nodes you mus use the <strong>Immediate</strong> flavor if you want to send the file direct.
The flavors Hold and Normal are still allowed. The file must be in the directory range
from where file attaches are allowed.
<P>
<code><strong>mbout</strong> poll [node..node]</code> creates poll requests in the outbound
for one or more nodes. The node should be in the format f2802.n280.z2. The semafore
<strong>scanout</strong> is created so that the mailer will start calling.
The mailer will handle the poll request as if it should deliver immediate mail,
so the node will be called as long as the poll request exists, even to nodes which are not CM.
The error counter for the node to poll will be reset to zero, so a node that was
previous marked undialable will be called again.
If a call to a node is successfull, the poll file will be removed by <strong>mbcico</strong>.
If a node is not in the nodelist or has the status Down or Hold, no poll will be created for that node.
<P>
<code><strong>mbout</strong> stop [node..node]</code> removes poll requests that are
leftover when polling nodes didn't succeed. There is no check if the node is
in the nodelist or has the status Down or Hold, the poll is always removed.
<P>
<code><strong>mbout</strong> req &lt;node&gt; &lt;file&gt; [file..file]</code> creates
filerequests to a node. One or more filenames may be given including wildcards.
It is not possible to do update or password protected uploads yet. If there
is already a requestlist for that node, the new requests will be added. This
command does not call a node, you need to create a poll request to make the
actual call. This is also practical if you want some files from your uplink,
just make the requests and the actual request is send when your normal
scheduled poll to your uplink is processed.
<P>
<code><strong>mbout</strong> stat</code> shows the status of the mailer outbound.
This status is also written to the logfile.
<P>
<code><strong>mbout</strong> node &lt;node&gt;</code> will show the nodelist information for
a certain node.
<P>&nbsp;<P>
<H3>Options.</H3>
<P>
<code><strong>mbout</strong> [commands] -quiet</code> will suppress screen output. This is
usefull if you run <strong>mbout</strong> from the crontab or from background
scripts.
<P>&nbsp;<P>
<H3>Examples.</H3>
<P>
This is an example of crontab entries that writes the outbound status to the
logfile and creates and stops polling of 2 nodes.<br>
<pre>
00 00 * * * export MBSE_ROOT=/opt/mbse; $MBSE_ROOT/bin/mbout stat -quiet
00 01 * * * export MBSE_ROOT=/opt/mbse; $MBSE_ROOT/bin/mbout poll f98.n100.z92 f0.n100.z92 -quiet
00 02 * * * export MBSE_ROOT=/opt/mbse; $MBSE_ROOT/bin/mbout stop f98.n100.z92 f0.n100.z92 -quiet
</pre>
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

View File

@@ -0,0 +1,66 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbuseradd - The useradd wrapper.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 31-Jan-2001</h5>
<P>&nbsp;<P>
<H1>mbpasswd - The password wrapper.</H1>
<P>
<H3>Synopsis.</h3>
<P>
<code><strong>mbpasswd</strong> [-opt] [username] [password]</code>
<P>&nbsp;<P>
<H3>Description.</h3>
<P>
<strong>mbpasswd</strong> is the wrapper for the <strong>passwd</strong> program
is present on all Linux systems. To use <b>passwd</b> to change the password of
another user is only allowed by <b>root</b>. The mbpasswd program overcomes this limitation.
The wrapper <b>mbpasswd</b> is run from the bbs by user <b>mbse</b> when an ordinary
user is logged in the bbs. The program is called when a new user logs in the bbs or
when an excisting user changes his password. His password under Unix is then always the same as his
password in the bbs program. This is necessary for the user to be able to get
his email using the pop3 protocol.<P>
You never need to run <strong>mbpasswd</strong> by hand, in fact it is protected so that only
members of group <b>bbs</b> are allowed to use it.
<P>&nbsp;<P>
<H3>Environment.</H3>
<P>
<strong>mbpasswd</strong> must be installed setuid root and setgid root, ls -la looks like this:<br>
<pre>
-rws--s--x 1 root root 6644 Jun 26 21:23 /opt/mbse/bin/mbpasswd*
</pre>
<P>&nbsp;<P>
<H3>Commands.</H3>
<P>
<code><strong>mbpasswd</strong> [-opt] [username] [password]</code> for example:<br>
<pre>
mbpasswd -f michiel secret
</pre>
Valid options are <strong>-f</strong> (forced), this will also change locked passwords,
this has only effect if your system uses shadow passwords. If you use
<strong>-n</strong> as option, locked passwords cannot be changed. For a new user the
<b>-f</b> option is used by <b>mbsebbs</b>, when a user changes his own password the
<b>-n</b> option is used.
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

149
html/programs/mbsebbs.html Normal file
View File

@@ -0,0 +1,149 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbsebbs - The main BBS program.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 31-Jan-2001</h5>
<P>&nbsp;<P>
<H1>mbsebbs - The main BBS program</H1>
<P>
<H3>Synopsis.</H3>
<P>
<code><strong>mbsebbs</strong></code>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>mbsebbs</strong> is the main bbs program for the users.
To be able to use the bbs, the bbs mustbe set open with <strong>mbstat open</strong>
or users may not login. This is normally done at system boot.
Also Zone Mail Hour is honored if the user logs in
on a tty that has the <strong>honor ZMH</strong> flag set to true. If it
is ZMH and the ZMH flag is true, the user will be kicked out of the bbs. You
should only set this flag on the modem lines where you need to be available
for ZMH if your "Fidonet" network requires that.
<P>
The first visible action is to show the logo.ans file. Because it is not
known who is trying to login, you only need to place this file in the
default language directory.
<P>
The next check is to see if the user is allowed to login on the tty he
currently is on.
If this tty is not available or is not in your setup, the user is kicked
out. If he is allowed to login, a message is shown at which port he is on,
unless you have turned this feature off in the setup.
<P>
If a user logs in the first check is if he/she has a Unix account or not.
Unix users bypass the login prompt. Other users will get the normal prompt
the same way DOS based bbs programs do. At that time it is checked if the
user has IEMSI capabilities, if that is true, IEMSI login will be tried.
If the user is not known, the newuser procedure begins.
<P>
If the user login is successfull, his favourite language will be loaded.
Then it is checked if the user is the Sysop, if so, the Sysop flag is set.
If the user has a blank password, he is asked to create a new password.
Next it is checked if the user has an Unix account, if not he is forced to
create a Unix account. This situation can exist after switching to MBSE BBS
and you have converted your old userbase to the userbase for MBSE BBS.
If the users Date of Birth is invalid, he is forced to enter the right
Date of Birth.
The next check is to see if the user has passed the expiry date, this is a
usefull feature for systems with donating users.
Finally the access limits are set for the user and time remaining for today and
download limits are set.
<P>
After successfull login the user can be presented with a bunch of advertising
screens. I will only name the screens without filename extension, as these
screens are searched for in the following order;<br>
<ol>
<li>filename.ans in the users favourite language directory.
<li>filename.ans in the default language directory.
<li>filename.asc in the users favourite language directory.
<li>filename.asc in the default language directory.
<li>If nothing is found, nothing is displayed.
</ol>
<strong>welcome</strong>. This screen can contain information about the session
the user has, his download limits, time left etc.
<P>
<strong>welcome1</strong> is shown if the user has show bulletins set to true.
<P>
<strong>birthday</strong> is shown if the user logs in at his birthday and if he
has show bullentins set to true.
<P>
<strong>dd-mm</strong> is shown if <strong>dd</strong> is the date of today and
<strong>mm</strong> is the current month and if the user has show bulletins
set to true.
<P>
<strong>sec20</strong> is shown if the user has the security level in the
filename, level 20 in this example. Als the display bulletins must be set to
true.
<P>
<strong>news</strong> is shown if the user has the display bulletins set to
true.
<P>
<strong>onceonly</strong> is shown only if the user has never seen this screen,
the test is to compare the users last login date against the date of this file.
<P>
After all these screens the users Offline Reader areas are checked to see if
you as sysop didn't change the message areas. If you made changes, the users
setup is adjusted and he will be notified. This means he sees a list
with deleted areas and new areas.
<P>
Next if the user has newmail scan set to true all message bases are checked to
see if the user has new mail. This includes a check to see if he has Unix mail.
If there is Unix mail, those mails are retrieved from the POP3 server and stored
in his private mailbox.
If there is new mail for the user, the user sees a list of areas with the messages
in it and he is offered to read and reply these messages.
<P>
Then if the user has show newfiles set to true and he is not a new bbs user
he will see a list of new files you have on your bbs. During this display
he can tag files for later download.
<P>
The final setup is to set the users "do not disturb" flag and then the menu
system is started. The menu system will run forever, until the user chooses
to logoff, the connection is lost or his daily timelimit is reached. For the
possibilities and setup of the menus see
<A HREF="../menus/index.htm">MBSE BBS Menu System</A>
<P>&nbsp;<P>
<H3>Environment.</H3>
<P>
In order to run <strong>mbsebbs</strong> you must set the global variable
<strong>$MBSE_ROOT</strong>. This variable must point to the root directory
of the bbs structure. The main configuration file <strong>config.data</strong>
must be present in the ~/etc directory.
<P>
If the environment variable <strong>CONNECT</strong> is present, a log entry
will be made with the connect speed.
<P>
If the environment variable <strong>CALLER_ID</strong> is present, a log entry
will be made with the caller id.
<P>
If the environment variable <strong>LOGNAME</strong> is present and it is not
<strong>bbs</strong> then it is assumed that it is a Unixmode login of the
user who's Unixname is in the <strong>LOGNAME</strong> environment variable.
This variable is set by the /bin/login program, so users that telnet to your
bbs or login via <strong>mgetty</strong> and login with their Unixname will
set this. If the <strong>LOGNAME</strong> is <strong>bbs</strong> then the
user is prompted to enter his Fidonet style name. By the way, you can change
that default <b>bbs</b> username with <b>mbsetup</b>.
<P>&nbsp;<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

49
html/programs/mbseq.html Normal file
View File

@@ -0,0 +1,49 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbseq - Sequence number creator.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 31-Jan-2001</h5>
<P>&nbsp;<P>
<H1>mbseq - Sequence number creator</H1>
<P>
<H3>Synopsis.</H3>
<P>
<code><strong>mbseq</strong></code>
<P>&nbsp<P>
<H3>Description.</H3>
<P>
<strong>mbseq</strong> writes a eight character hexadecimal unique sequence
number to the stdout. This number is received from <strong>mbsed</strong>
which keeps track of the generated sequence numbers. This written number can
be used in shell scripts to create unique filenames for Fidonet .pkt files,
for example:
<P>
<code>
cp temp.pkt `mbseq`.pkt
</code>
<P>&nbsp;<P>
<H3>Bugs.</H3>
<P>
Nah, it's only 50 lines code, what could go wrong?
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

View File

@@ -0,0 +1,50 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbsetup - The Setup Program.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 31-Jan-2001</h5>
<P>&nbsp;<P>
<H1>mbsetup - The Setup Program</H1>
<P>
<H3>Synopsis.</H3>
<P>
<code><strong>mbsetup</strong></code>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>mbsetup</strong> is the setup program for MBSE BBS. It should be run
only by user <strong>mbse</strong>. If you run it by accident as root file
permissions will be wrong and your bbs may not function. For a detailed
description of all setup options see <A HREF="../setup/index.htm">MBSE BBS
Setup Guide</A>
<P>&nbsp;<P>
<H3>Environment.</H3>
<P>
In order to run <strong>mbsetup</strong> you must set the global variable
<strong>$MBSE_ROOT</strong>. This variable must point to the root directory
of the bbs structure. The main configuration file <strong>config.data</strong>
must be present in the ~/etc directory. If it is not present, ie you run
<strong>mbsetup</strong> for the first time, a default
<strong>config.data</strong> will be created. This will also happen with
several other databases.
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

79
html/programs/mbstat.html Normal file
View File

@@ -0,0 +1,79 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbstat - MBSE BBS Status Changer.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 07-Jul-2001</h5>
<P>&nbsp;<P>
<H1>mbstat - MBSE BBS Status Changer</H1>
<P>
<H3>Synopsis.</H3>
<P>
<code><strong>mbstat</strong> [commands] &lt;options&gt;</code>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>mbstat</strong> changes the bbs status between open and close, can wait
for all users to logoff and wait for critical utilities to stop their actions.
<P>&nbsp;<P>
<H3>Environment.</H3>
<P>
In order to run <strong>mbstat</strong> you must set the global variable
<strong>$MBSE_ROOT</strong>. This variable must point to the root directory
of the bbs structure. The main configuration file <strong>config.data</strong>
must be present in the ~/etc directory.
<P>&nbsp;<P>
<H3>Commands.</H3>
<P>
<code><strong>mbstat</strong> semafore scanout</code> will set the internal
semafore <i>scanout</i> in the <b>mbtask</b> daemon. The following semafore's
are valid: scanout, mailout, mailin, mbindex, reqindex, msglink.
<P>
<code><strong>mbstat</strong> close</code> will close the bbs for users.
Users that are just logging in to the bbs will be thrown out after a short message.
Users already logged in will be thrown out when they pass by a menu prompt.
So users who are doing file transfers can finish their transfers before being disconnected.
<P>
<code><strong>mbstat</strong> open</code> opens the bbs for users.
This should be run from one of the system startup scripts right after you started
<strong>mbsed</strong>. If you installed everything as it should this
command is already executed at system startup.
<P>
<code><strong>mbstat</strong> wait</code> will
wait for the bbs to become free. This includes a check for utilities that
do critical actions so they can finish their job without corrupting the bbs
databases. The default is to wait 60 minutes. If the semafore
<strong>upsdown</strong> exists it will wait only 30 seconds.
<P>
You should run <strong>mbstat close wait</strong> in your system shutdown script so
that the system shutdown will wait for a clean shutdown of the bbs before
the rest of your system goes down. If you installed everything as it should
be then these commands are already installed in your system shutdown scripts.
<P>
<H3>Options.</H3>
<P>
<code><strong>mbstat</strong> [command] -quiet</code> will supress screen output.
This is good for using mbstat in scripts.
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

319
html/programs/mbtask.html Normal file
View File

@@ -0,0 +1,319 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbtask - MBSE BBS Taskmanager.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 07-Jul-2001</h5>
<P>&nbsp;<P>
<H1>mbtask - MBSE BBS Taskmanager</H1>
<P>
<H3>Sysopsis.</H3>
<P>
<code><strong>mbtask</strong></code>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>mbtask</strong> is the taskmanager for the whole MBSE BBS system.
This deamon keeps track of all client actions,
does the logging for the clients, does database locking, authorizes clients,
set/resets users "do not disturb flags", sends and receives chat messages,
keeps track of Zone Mail Hour and the BBS open/close status. Communication
between <strong>mbsed</strong> and the client programs is done via Unix
Datagram sockets. The protocol used to communicate between <strong>mbtask</strong>
and the clients is explained later.
This daemon also watches the semafore directory for some special files.
It also starts programs when they are needed.
The very first time <b>mbtask</b> is started it creates a default config.data and task.data,
the main configuration and task configuration files
<b>mbtask</b> should be started at system boot so the bbs system will start working.
The init script that is installed on your system will do that.
This program is introduced with MBSE BBS v0.33.16
and replaces the run_inout and mailer scripts that were called by cron every minute.
<P>
After startup and initalization <b>mbtask</b> runs internally once per second forever.
If there is nothing to do then this time will slowly increase upto 5 seconds. This time will be reset
to one second as soon as there is work to be done. The actual work is to check a number of external and
internal semafore's and act on these.
But before any program is started a number of things are checked:
<OL>
<LI>Check the system's load average. If it is too busy the processing of background
tasks is suspended until your system load drops.
The default setup is set at 1.50 but you can change that with mbsetup. Experience
will learn what the best value will be and I need some feedback on that.<br>
<LI>The UPS semafore <b>upsalarm</b> will be checked. This means that the system is running on
battery power and no new jobs are started.
<LI>The UPS semafore <b>upsdown</b> will be checked. This is the fatal one, if
this one excists <b>mbtask</b> will try to stop all current running jobs.
If there are no jobs left running then <b>mbtask</b> will stop itself.
The upsdown semafore means that the system
will shutdown and power off, that's why it's fatal and there is no way back.<br>
<LI>The status of the bbs will be checked, is it open or closed. If it is closed, no
jobs will be started.
<LI>The Zone Mail Hour is checked. If ZMH begins the semafore's <b>zmh</b> is created and
a outbound scan is forced.
If ZMH ends the semafore <b>zmh</b> is removed a new outbound scan is forced.
<LI>Each twenty seconds a ping is send to the IP addresses defined with <b>mbsetup</b> to
check if the internet can be reached. If both ping addresses fail, it is assumed that
the internet can't be reached. <i>Note: this is for future use!</i>
</OL>
Each new minute the timestamp of semafore <b>mbtask.last</b> is updated so that you can check that
<b>mbtask</b> is running. Also each minute is checked if the system configuration files are
changed, is so they are reloaded. There is no need to stop and start <b>mbtask</b> if you made
changes to the system configuration.
Then all kind of internal semafore's will be checked. The commands that are executed have default
values, but they can be changed wit mbsetup. The commands can be scripts as well.
The checks and actions are:
<P>
<table border=1 bgcolor=#FFFF99 cellspacing=0 cellpadding=3 bordercolor=#000080>
<tr>
<th align=left bgcolor=#000080><font color=#FFFFFF>Semafore</font></th>
<th align=left bgcolor=#000080><font color=#FFFFFF>Speed</font></th>
<th align=left bgcolor=#000080><font color=#FFFFFF>Tasktype</font></th>
<th align=left bgcolor=#000080><font color=#FFFFFF>Depends on</font></th>
<th align=left bgcolor=#000080><font color=#FFFFFF>Job to run</font></th>
</tr>
<tr><td>mailout</td><td>Fast</td><td>mbfido</td><td>Max. 1 mbfido task</td><td>mbfido scan web -quiet</td></tr>
<tr><td>mailin</td><td>Fast</td><td>mbfido</td><td>Max. 1 mbfido task</td><td>mbfido tic toss web -quiet</td></tr>
<tr><td>newnews</td><td>Fast</td><td>mbfido</td><td>Max. 1 mbfido task</td><td>mbfido news web -quiet</td></tr>
<tr><td>mbindex</td><td>Fast</td><td>mbindex</td><td>No other tasks</td><td>mbindex -quiet and if excist: goldnode</td></tr>
<tr><td>msglink</td><td>Fast</td><td>mbfido</td><td>No other tasks</td><td>mbmsg link -quiet</td></tr>
<tr><td>reqindex</td><td>Fast</td><td>mbfile</td><td>No other tasks</td><td>mbfile index -quiet</td></tr>
<tr><td>scanout</td><td>Slow</td><td>call</td><td>Only 1 call task</td><td>mbcico -r1</td></tr>
</table>
<P>
The Fast and Slow values mean: Fast is each second, Slow is check each 20 seconds.
As you can see, the system will not do too much at the same time. Jobs like compiling
new nodelists or create file request indexes have a very low priority. Because this
daemon checks the semafore's each second it responds much better that the old scripts
running on the cron daemon. The system will be expanded so that more outgoing calls
will be done at the same time, ie. ISDN and analogue calls, and if they are present
internet calls, will be made at the same time.
<P>
The <b>mbtask</b> program keeps also track of a unique number generator, this is
just a simple counter that is increased each time it is asked for a new number.
It will take years for the numbers to repeat. Even if the status file is lost
the chance that numbers are repeated on your system are almost zero. The first
time the counter is initialized it is set to the current unix time in seconds
since 1 januari 1970. This counter is used by several programs to create unique
.pkt filenames, msgid numbers etc.
<P>&nbsp;<P>
<H3>Environment.</H3>
<P>
In order to run <strong>mbtask</strong> you must set the global variable
<strong>$MBSE_ROOT</strong>. This variable must point to the root directory
of the bbs structure.
<P>&nbsp;<P>
<H3>Security.</H3>
<P>
<strong>mbtask</strong is installed setuid root. This is needed to initialize
a raw socket for the ping function. After that is done the privilege drops to
user <strong>mbse</strong> before the child process is created and the rest
of the initialisation is done.
The child process can never get root privileges because it is spawned by user mbse.
<P>&nbsp;<P>
<H3>Communications.</H3>
<P>
Communication between the server and the clients is established by
Unix datagram sockets. There can be only 1 server running.
The server will accept connections from clients on your local machine only.
The limit for the amount of clients that can connect to the server is set to 100.
<P>
The server creates a Unix datagram socket at startup and waits for connections.
The name of this this socket is /opt/mbse/tmp/mbtask.
When a client connects it creates a Unix datagram socket in /opt/mbse/tmp, the name is
the name of the program, added with the pid of the program. So if <b>mbcico</b> is started
with pid 2312 the socket will be /opt/mbse/tmp/mbcico2312.
<P>
All commands are 4 capital letters followed by a colon, a number indicating
how much data fields will follow. If that number is higher than zero, the
data fields are seperated with commas. The command is terminated
with a ; character. Examples are:<br>
<pre>
GCLO:0; Zero datafields command.
DOPE:1,dbname; One datafield command.
</pre>
All commands will receive a reply as soon as possible. If a
resource is temporary not available, a reply will follow too, telling
this condition. Replies can also contain optional data. Examples:<br>
<pre>
100:0; Response 100, no data.
200:1,Syntax error; One datafield.
</pre>
The server has a 10 minute timeout for receiving data when a connection
is established. The clients need to "ping" the server at regular intervals
to prevent a disconnect. All official MBSE BBS programs do that. The pid
send with most commands is the pid of the calling program. Since this number
is unique, it is used to keep track of the connected clients.
<P>
The commands are divided in 26 catagories, most unused at this time.
<P>
<pre>
Catagories:
Cat. Description
---- -------------------------------------------
Axxx Accounting, system monitor info etc.
Cxxx Chatting
Gxxx Global commands.
Sxxx Status commands.
Group A, Accounting.
Command: AINI:5,pid,tty,uid,prg,city; Initialize connection, and who am I.
Reply: 100:0; Ok.
200:1,Syntax Error; Error.
Command: ADOI:2,pid,doing; What am I doing right now.
Reply: 100:0; Ok.
200:1,Syntax Error; Error.
Command: ACLO:1,pid; Close my connection.
Reply: 107:0; Connection closed.
200:1,Syntax Error; Error, connection is still open.
Command: ALOG:5,fil,prg,pid,grade,txt; Write a line of text in logfile with grade.
Reply: 100:0; Ok.
201:1,errno; Error, number in errno.
Command: AUSR:3,pid,uid,city; Set username and city
Reply: 100:0; Ok.
200:1,Syntax Error; Error.
Command: ADIS:2,pid,flag; Set Do Not Disturb flag.
Reply: 100:0; Ok.
200:1,Syntax Error; Error.
Command: ATIM:1,time; Set new Client/Server timer in seconds.
Reply: 100:0; Ok.
200:1,Syntax Error; Error.
Command: ADEF:0; Set Client/Server timer to default (10 minutes).
Reply: 100:0; Ok.
200:1,Syntax Error; Error.
Command: ATTY:2,pid,tty; Set new tty name.
Reply: 100:0; Ok.
200:1,Syntax Error; Error.
Group C, Chatting (just some ideas).
Command: CIPM:1,pid; Is Personal Message present.
Reply: 100:2,fromname,message; Yes, from .. with message text.
100:0; No.
Command: CSPM:3,fromuser,touser,txt; Send personal message to user.
Reply: 100:1,n; n: 0=Ok, 1=Do not disturb, 2=Buffer full, 3=Error.
100:0; Impossible.
The next commandis are some ideas, they are not implemented.
-CBPM:2,fromuser,txt; Broadcast message to all users.
-CJCH:2,pid,channel; Join Channel
-CCCH:2,pid,channel; Close Channel
-CAML:2,channel,text; Add textline to channel
-CIML:1,channel; Is new textline present
-CSSP:1,user,reason; Send Sysop Page
-CESP:1,user; Retract Sysop Page
-CRSP:1,user; Reject user Page
-CFCH:2,channel,user; Force user in chatmode (for Sysop chat).
-CKCH:2,channel,user; Kill user chatmode (for Sysops and moderators).
Group G, Global commands.
Command: GNOP:0; No OPerations.
Reply: 100:0; Ok.
Command: GPNG:1,data; Ping, echo data.
Reply: 100:1,data; Ping reply.
Command: GVER:0; Give server version.
Reply: 100:1,Version ....; Version reply.
Command: GSTA:0; Get complete mbsed status record. (13 fields)
Reply: 100:19,start,laststart,daily,startups,clients,tot_clients,tot_peak,syntax_errs,
com_errs,today_clients,today_peak,today_syntax,today_comerr,bbsopen,
is_zmh,processing,system_load,sequence;
Command: GMON:1,n; Get registration info line, 1=First, 0=Next line.
Reply: 100:7,pid,tty,user,program,city,isdoing,starttime;
100:0; No more lines.
Command: GDST:0; Get filesystem status (see note below).
100:n,data1, ..., data10; Maximum 10 filesystems datalines.
Command: GSYS:0; Get bbs statistics.
100:7,calls,pots_calls,isdn_calls,network_calls,local_calls,startdate,lastcaller;
Command: GLCC:0; Get Lastcallers count
100,1,n; Return counter value.
Command: GLCR:1,recno; Get Lastcaller record
100:9,user,location,level,tty,time,minsmcalls,speed,cations;
201:1,16; Not available.
Group S, Status commands.
Command: SBBS:0; Get BBS Status (open, zmh, shutdown).
Reply: 100:2,0,The system is open for use;
100:2,1,The system is closed right now!;
100:2,2,The system is closed for Zone Mail Hour!;
Command: SOPE:0; Open the BBS.
Reply: 100:0; Ok.
Command: SCLO:1,mesage; Close the BBS with reason.
Reply: 100:0; Ok.
Command: SFRE:0; Is the BBS Free.
Reply: 100:1,Running utilities: n Active users: n;
100:0; It's free.
Command: SSEQ:0; Get next unique sequence number.
Reply: 100:1,number; Next unique sequence number.
Command: SEST:1,semafore; Get status of internal semafore.
Reply: 100:1,n; 1 = set, 0 = not set.
200:1,16; Semafore not known.
Command: SECR:1,semafore; Set semafore
Reply: 100:0; Ok.
200:1,16; Error.
Command: SERM:1,semafore; Remove semafore
Reply: 100:0; Ok (also if there was no semafore).
200:1,16; Semafore not known.
</pre>
Note: in reply of GDST the reply is 100:n,size free mountpoint fstype,.....
where n = 1 for 1 filesystem, and 10 for a total of 10 filesystems. There
will never be a reply for more then 10 filesystems. The reported filesystems
are retrieved from /etc/mtab which is the actual mountstatus. This is used
by the <b>mbmon</b> program to get a "live" view of your filesystems.
<P>&nbsp;<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

View File

@@ -0,0 +1,47 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbtoberep - List newfiles to report.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 31-Jan-2001</h5>
<P>&nbsp;<P>
<H1>mbtoberep - List newfiles to report</H1>
<P>
<H3>Synopsis.</H3>
<P>
<code><strong>mbtoberep</strong></code>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>mbtoberep</strong> is a small utility to list the file
~/etc/toberep.data which contains the newfiles found on your system before
<strong>mbaff announce</strong> is run. This program is intended for system
development but I decided to leave it in the distribution for now. If you
pipe the output thru more or less you are able to inspect the records.
<P>&nbsp;<P>
<H3>Environment.</H3>
<P>
In order to run <strong>mbtoberep</strong> you must set the global variable
<strong>$MBSE_ROOT</strong>. This variable must point to the root directory
of the bbs structure. The main configuration file <strong>config.data</strong>
must be present in the ~/etc directory.
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

71
html/programs/mbuser.html Normal file
View File

@@ -0,0 +1,71 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbuser - User Database Maintenance.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 02-Feb-2001</h5>
<P>&nbsp;<P>
<H1>mbuser - User Database Maintenance</H1>
<P>
<H3>Sysnopsis.</H3>
<P>
<code><strong>mbuser</strong> [commands] &lt;options&gt;</code>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>mbuser</strong> is the user database maintenance program. It can delete
users upto a certain level who have not called for a number of days. It can
also pack the user database. This is not really a pack of the database, the
deleted records are zeroed but the database is never shrinked. Every user
once in this database will keep his record forever. This is to be sure that
all LastRead Pointers will be correct. Records that are zeroed can be
reused for new users. <strong>mbuser</strong> must run setuid root and
setgid root because it executes /usr/sbin/userdel to delete the Unix account
of the user that is removed from the bbs.
<P>&nbsp;<P>
<H3>Environment.</H3>
<P>
In order to run <strong>mbuser</strong> you must set the global variable
<strong>$MBSE_ROOT</strong>. This variable must point to the root directory
of the bbs structure. The main configuration file <strong>config.data</strong>
must be present in the ~/etc directory. <strong>mbuser</strong> must be
installed setuid root and setgid root, ls -la looks like this:<br>
<pre>
-rws--s--x 1 root root 23560 Jun 19 19:50 /opt/mbse/bin/mbuser*
</pre>
<P>&nbsp;<P>
<H3>Commands.</H3>
<P>
<code><strong>mbuser</strong> kill [n] [l]</code> will mark users to delete who have not
called in <strong>n</strong> days upto and including level <strong>l</strong>.
<P>
<code><strong>mbuser</strong> pack</code> will delete (zero) the users marked for deletion.
You should also run this command if you marked users to delete with
<strong>mbsetup</strong>.
<P>&nbsp;<P>
<H3>Options.</H3>
<P>
<code><strong>mbuser</strong> [command] -quiet</code> will suppress screen output, this is
for running <strong>mbuser</strong> in the background or from the crontab.
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

View File

@@ -0,0 +1,72 @@
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" "content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS Programs - mbuseradd - The useradd wrapper.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<h5>Last update 02-Feb-2001</h5>
<P>&nbsp;<P>
<H1>mbuseradd - The useradd wrapper.</H1>
<P>
<H3>Sysnopsis.</H3>
<P>
<code><strong>mbuseradd</strong> [gid] [username] [comment] [userdir]</code>
<P>&nbsp;<P>
<H3>Description.</H3>
<P>
<strong>mbuseradd</strong> is the wrapper for the <strong>useradd</strong>
program that should be present on most Linux systems. <strong>useradd</strong>
may only be executed by <strong>root</strong> and there are some other minor
things that need to be done as <strong>root</strong> to create a new Unix
account that can be used with MBSE BBS. The solution for these problems is
<strong>mbuseradd</strong>, this little program runs setuid root and setgid
root. If it fails to do that it aborts. <strong>mbuseradd</strong> is called
by <strong>mbsebbs</strong> from the newuser function. You never need to
run <strong>mbuseradd</strong> by hand. If it is successfull the user will
have an entry in /etc/passwd, the comment is his Fidonet name, and his shell
is $MBSE_ROOT/bin/mbsebbs.
<P>
If all this is successfull until now, the homedirectory for this user is
created and the right ownership and permissions are set. In his homedirectory
the empty file <strong>.hushlogin</strong> is placed to prevent check for
new mail when he logs into your system. This is the Unix mailcheck that is
skipped and has nothing todo with the check for new mail in the bbs. All
other directories that are needed for the bbs are created by <b>mbsebbs</b>.
<P>&nbsp;<P>
<H3>Environment.</H3>
<P>
In order to run <strong>mbuseradd</strong> you must set the global variable
<strong>$MBSE_ROOT</strong>. This variable must point to the root directory
of the bbs structure. The main configuration file <strong>config.data</strong>
must be present in the ~/etc directory. <strong>mbuseradd</strong> must be
installed setuid root and setgid root, ls -la looks like this:<br>
<pre>
-rws--s--x 1 root root 6644 Jun 26 21:23 /opt/mbse/bin/mbuseradd*
</pre>
<P>&nbsp;<P>
<H3>Commands.</H3>
<P>
<code><strong>mbuseradd</strong> [gid] [name] [comment] [usersdir]</code> for example:<br>
<pre>
mbuseradd bbs mbroek "Michiel Broek" /opt/mbse/home
</pre>
<P>
<A HREF="index.htm"><IMG SRC="../images/larrow.gif" ALT="Index" Border="0" width="40" height="30"> Back to index</A>&nbsp;
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Main" Border="0" width="33" height="35"> Back to Main index</A>
</BLOCKQUOTE>
</BODY>
</HTML>