From 6fcdb10f5351e2e837ac19bb199cc878a9c2751b Mon Sep 17 00:00:00 2001
From: Michiel Broek
-
-
-Before you compile and install MBSE BBS you must first setup the basic
-environment. If you don't do this, things will fail.
-
-
-
-MBSE BBS is default installed in /opt/mbse. The spoolfiles (in and
-outbound, message bases) go into /var/spool/mbse. In the /opt/mbse
-path are several subdirectories, bin for the binaries, etc for the
-configuration and some scripts, english, spanish, italian and dutch for the language
-files and menus, home for the users homedirectories, log for the
-logfiles, magic for the filerequest magicnames, fdb for the files
-database, var for some statistic files and tmp as temp directory.
-
-Don't use UMSDOS or SAMBA filesystems for the bbs, stick by the standard Linux
-filesystems (ext2 or reiserfs). If you intent to make your bbs also accessible
-by FTP and WWW you must create the directory structure under the ftp user
-behind the pub directory. Read the
-ftp server doc for details. If you don't follow these guidlines, you
-will run into trouble later and have to spend a lot of time in correcting
-this error.
-
-The default setup will be as follows:
-
-
-The installation script must be run by root. It checks if there is a
-previous or failed installation on your system. If that's so the script will
-not run. In other words, you can only run this script once. The script makes
-backup copies of the system files it changes, these files will get the
-extension .mbse To run the installation script you need
-the archive mbbsebbs-0.33.nn.tar.gz.
-Unpack this archive on your system, in /tmp will do fine:
-
-
-
-The last screen of the script is about sanity checks. Perform those checks!
-If something is wrong, now is the time to fix it. Don't panic and remember
-the backups of the system files that are changed are in /etc with the
-extension .mbse i.e: those were the original files.
-If everythings is allright, then remove the directory /tmp/mbsebbs-0.33.nn:
-
-
-
-Login as user mbse. While in the home directory unpack the distribution
-archives:
-
-Now you must start the mbtask daemon by hand by typing /opt/mbse/bin/mbtask.
-Check the file /opt/mbse/log/mbtask.log for startup problems. You may notice that
-the program mbcico is started everytime, this is not a problem, it simply doesn't work right
-now because you haven't configured anything yet.
-
-
-
-From RedHat 6.1 (not the older versions) the behaviour of the
-su is changed. This may be true for other distributions since
-the end of 1999 and for Mandrake as well. The file
-
-
-Now the basic environment is finished, the next thing is to install
-the scripts, examples and configuration.
-
-
-Back to Index
-
-
+
+
+Before you compile and install MBSE BBS you must first setup the basic
+environment. If you don't do this, things will fail.
+
+
+
+MBSE BBS is default installed in /opt/mbse. The spoolfiles (in and
+outbound, message bases) go into /var/spool/mbse. In the /opt/mbse
+path are several subdirectories, bin for the binaries, etc for the
+configuration and some scripts, english, spanish, italian and dutch for the language
+files and menus, home for the users homedirectories, log for the
+logfiles, magic for the filerequest magicnames, fdb for the files
+database, var for some statistic files and tmp as temp directory.
+
+Don't use UMSDOS or SAMBA filesystems for the bbs, stick by the standard Linux
+filesystems (ext2 or reiserfs). If you intent to make your bbs also accessible
+by FTP and WWW you must create the directory structure under the ftp user
+behind the pub directory. Read the
+ftp server doc for details. If you don't follow these guidlines, you
+will run into trouble later and have to spend a lot of time in correcting
+this error.
+
+The default setup will be as follows:
+
+
+The installation script must be run by root. It checks if there is a
+previous or failed installation on your system. If that's so the script will
+not run. In other words, you can only run this script once. The script makes
+backup copies of the system files it changes, these files will get the
+extension .mbse To run the installation script you need
+the archive mbbsebbs-0.33.nn.tar.gz.
+Unpack this archive on your system, in /tmp will do fine:
+
+
+
+The last screen of the script is about sanity checks. Perform those checks!
+If something is wrong, now is the time to fix it. Don't panic and remember
+the backups of the system files that are changed are in /etc with the
+extension .mbse i.e: those were the original files.
+If everythings is allright, then remove the directory /tmp/mbsebbs-0.33.nn:
+
+
+
+Login as user mbse. While in the home directory unpack the distribution
+archives:
+
+Now you must start the mbtask daemon by hand by typing /opt/mbse/bin/mbtask.
+Check the file /opt/mbse/log/mbtask.log for startup problems. You may notice that
+the program mbcico is started everytime, this is not a problem, it simply doesn't work right
+now because you haven't configured anything yet.
+
+
+
+From RedHat 6.1 (not the older versions) the behaviour of the
+su is changed. This may be true for other distributions since
+the end of 1999 and for Mandrake as well. The file
+
+
+Now the basic environment is finished, the next thing is to install
+the scripts, examples and configuration.
+
+
+Back to Index
+
+
-
-
-
-
-Linux is available in several distributions, they all have advantages and
-disadvantages for bbs use. Which distribution to pick is very personal.
-You should also consider the fact if the bbs machine is the same machine on
-which you do your daily work on or if you use a seperate system for the bbs.
-I will describe the distributions below for use on dedicated bbs computers,
-that means you don't do daily work on them and don't use them to play games.
-Most important is that this is my personal view.
-
-
-
-I am using MBSE BBS on several Slackware distributions. You can make a very small
-setup for MBSE BBS like Zipslack. Not included is the mgetty package.
-
-
-
-I write this as if these are the same which isn't true of course. From MBSE
-BBS's point of view they are almost the same, so that's why I treat them as
-the same distributions. For people with little Linux experience these
-distributions are a good choice if you can spare the diskspace. I haven't
-found a simple dedicated setup for the bbs, so the safest way is to install
-allmost everything, which is quite simple. This will cost you about 1200 Megs.
-Maybe that someone more experienced with these distro's can give more details
-on how to build a small server. Please note that from RedHat 6.1 and up the
-startup script (/etc/rc.d/init.d/mbsed) is different than before. Maybe
-this is needed for Mandrake 6.1 and up too.
-
-
-
-Since SuSE 7.1 the setup scripts are working and tested. Older distro's
-might work.
-
-
-
-The installation works on a Debian 2.1 and 2.2 distribution without any problems.
-How to build an optimized Debian system is not tested by me.
-
-
-
-I don't have the diskspace for all kinds of Linux distributions to install
-at the same time, with the current size of Linux, I only have 2 versions
-installed. Also, I don't buy every new distro that's available. If you have
-a problem with that, just send me the new distro on CD to test by snailmail.
-
-
- Go Back
-
-
-
+
+
+
+
+
+
+Linux is available in several distributions, they all have advantages and
+disadvantages for bbs use. Which distribution to pick is very personal.
+You should also consider the fact if the bbs machine is the same machine on
+which you do your daily work on or if you use a seperate system for the bbs.
+I will describe the distributions below for use on dedicated bbs computers,
+that means you don't do daily work on them and don't use them to play games.
+Most important is that this is my personal view.
+
+
+
+I am using MBSE BBS on several Slackware distributions. You can make a very small
+setup for MBSE BBS like Zipslack. Not included is the mgetty package.
+
+
+
+I write this as if these are the same which isn't true of course. From MBSE
+BBS's point of view they are almost the same, so that's why I treat them as
+the same distributions. For people with little Linux experience these
+distributions are a good choice if you can spare the diskspace. I haven't
+found a simple dedicated setup for the bbs, so the safest way is to install
+allmost everything, which is quite simple. This will cost you about 1200 Megs.
+Maybe that someone more experienced with these distro's can give more details
+on how to build a small server. Please note that from RedHat 6.1 and up the
+startup script (/etc/rc.d/init.d/mbsed) is different than before. Maybe
+this is needed for Mandrake 6.1 and up too.
+
+
+
+Since SuSE 7.1 the setup scripts are working and tested. Older distro's
+might work.
+
+
+
+The installation works on a Debian 2.1 and 2.2 distribution without any problems.
+How to build an optimized Debian system is not tested by me.
+
+
+
+I don't have the diskspace for all kinds of Linux distributions to install
+at the same time, with the current size of Linux, I only have 2 versions
+installed. Also, I don't buy every new distro that's available. If you have
+a problem with that, just send me the new distro on CD to test by snailmail.
+
+
+ Go Back
+
+
+
diff --git a/html/flow.html b/html/flow.html
index 4fb4212d..270ad113 100644
--- a/html/flow.html
+++ b/html/flow.html
@@ -1,169 +1,169 @@
-
-
-
-
-
-
-Everyone who has been running a (single line) BBS under DOS until now will
-need to understand that running a BBS under Linux (or any other multitasking
-os) is completly different of what you are used to. Under DOS things were
-quite simple, from AUTOEXEC.BAT you started a new .BAT file that would run
-forever and started all needed programs after each other.
-The programs that where started
-depended on the errorlevel of the previous program. Only one program could
-run at the same time.
-
-People who had previous run a BBS on another multitasking os, or were running
-a BBS on a small lan with a fileserver and workstations for each line, are
-already more used to the idea of running more programs at the same time,
-and to "signal" what to do next with semafore files.
-
-The Linux aproach is more or less the same, but there are more differences.
-The main difference is that there is no mailer connected with the modem waiting
-for a call, instead there is a getty process watching your modem(s). Another
-big difference is that you don't see what's happening, there is no screen
-with the mailer or bbs picture on it. All programs run in the background. If
-you don't like that, stop now and go back to your old DOS bbs. It's just the
-way everything is done.
-
-Programs that must start at specific times (events in DOS), are started from
-cron, this is the event scheduler for Linux (and other Unixes). With this
-program maintenance can be started, polls created etc. For starting programs
-when they are needed there is a taskmanager loaded at system bootup. This
-taskmanager "watches" the semafore directory of the bbs and will start what
-is needed.
-
-
-
-Under Linux this is done with the mgetty program, this is the
-process that is connected with each modem (or ISDN adapter) and waits for a
-call. The mgetty program (written by Gert Doering, gert@greenie.muc.de) will
-detect the call, and find out what or who did make the call. It can detect
-incoming humans who want a login prompt, PPP calls from users who want to
-make a PPP connection (browsing your BBS whith netscape for example), A fax
-machine trying to deliver a fax and finally a mailer trying to establish
-an EMSI, FSC-0006 or FSC-0001 session. The mgetty program is responsible for
-starting the right client programs. How to do this is explained in the
-installation manuals, but be sure to compile it with Fido and PPP support.
-
-
-
-This could be a bbs user. For each user to login to your bbs there must be a
-unix account. They automatic create such an account the first time they login
-with the bbs account. During the creation of their account the shell that is
-installed for there account is the mbsebbs binary, so that's the only thing
-that they get if they call in. When they logout the bbs, or drop carrier etc,
-the session is ended and mgetty takes over the line again.
-Note that they will never can get a Unix shell
-unless you install a door in the bbs that calls a shell for them.
-
-There are probably more accounts on your system that can callin, mbse is
-such an account, this is the MBSE BBS maintenance account. This user will
-get the shell prompt. Use good passwords for shell accounts, and never change
-your setup so that the root user can directly login except from the console.
-If you need root access, login as mbse and type su at the prompt to become
-root. You might consider installing SSH on your system for remote maintenance.
-
-
-
-Installing a PPP server on your system is beyound the scope of this project.
-However if you did install it, users can login your bbs with their favourite
-browser and use your bbs. Note that the necessary tools to automatic create
-newsgroups don't exist at this time. With the proper setup you can automatic
-create and maintain html pages for the file areas.
-
-
-
-If a mailer is detected by mgetty, the mbcico program is started and will
-take over from mgetty. It will establish a mail session with the caller and
-the mail and or files will be exchanged just like any DOS mailer would do.
-After the call, mbcico will hangup and mgetty will take control of your modem
-again. If there is any mail received, mbcico will place the semafore mailin
-so that another process can take care of the received mail. Mbcico will also
-detect some IEMSI terminal programs (Frontdoor), and will start the bbs.
-
-
-
-As I said before, if the mailin semafore is present, the task manager will
-then start the mbfido program that will toss the mail, process any files
-received and if necessary it will create other semafore's for example to link
-the message bases, start the nodelist compiler etc. Note that this can be done
-while there may be a new mailsession going on, a bbs user is online, it doesn't
-matter. Processing mail and files can be done real multitasking without any
-damage to other processes.
-
-
-
-At the time that you whish to poll a node, let cron create "poll" requests.
-When a poll is created, the semafore scanout is also created.
-The taskmanager will then start mbcico at regular intervals so that mail will
-get out. If there is no more mail to send, the scanout semafore is removed.
-If a timeslot ends, you can just remove the "poll" requests that didn't succeed.
-
-
-
-Relax, if you have netmail ready for nodes the
-mailer script will try to send these mails to those nodes. If it was crash
-mail, and the destination was a non CM node, the mailer will try to send those
-mails too. Note that other crashmails are send anytime. Also note that packed
-mail and files are not send during ZMH. If a node calls you during ZMH he will
-get everything that's waiting, including packed mail and files. The task manager
-(more on that later) calculates the Zone Mail Hour from UTC time, you don't
-have to change anything for summer- and wintertime.
-
-
-
-This is started by cron jobs. There is no need to take
-your bbs lines down during maintenance, you can do it any time of the day.
-I have made several scripts for this, daily, weekly and monthly.
-
-
-
-Because Linux is a 32 bit os, not bothered with a graphical user interface
-(unless you install it), it has all the time in the world to serve your
-bbs programs. Background programs are build to release time to the Linux os,
-they don't need to run fast because it's background processing. The bbs and
-the mailer, have a low server load although there is no timerelease build
-in. Only the bbs has some short moments when it needs a lot of your system,
-for example when a user logs in and scans for new mail. The bbs I run is a
-486-DX4 100 MHz, 20 MB ram, with 2 analogue lines, this seems to work fine.
-When this system's MOBO died, I used a 386DX33 for several months with
-20 MB ram, and the only thing users ever noticed was that scanning for new
-mail was slower. I think this is the slowest harware that will work.
-However, you must always use 16550A uarts for the COM ports. For best
-performance use SCSI disks. I noticed that old 5"FH SCSI disks perform better
-for bbs usage then modern EIDE disks. This is probably caused by the fact that
-the kernel needs more time for the cheap IDE bus.
-If you want to use X11 on your bbs, you need more ram and a faster CPU or a
-separate machine via a lan and export the display to that machine.
-
-
- Go Back
-
+
+
+
+
+Everyone who has been running a (single line) BBS under DOS until now will
+need to understand that running a BBS under Linux (or any other multitasking
+os) is completly different of what you are used to. Under DOS things were
+quite simple, from AUTOEXEC.BAT you started a new .BAT file that would run
+forever and started all needed programs after each other.
+The programs that where started
+depended on the errorlevel of the previous program. Only one program could
+run at the same time.
+
+People who had previous run a BBS on another multitasking os, or were running
+a BBS on a small lan with a fileserver and workstations for each line, are
+already more used to the idea of running more programs at the same time,
+and to "signal" what to do next with semafore files.
+
+The Linux aproach is more or less the same, but there are more differences.
+The main difference is that there is no mailer connected with the modem waiting
+for a call, instead there is a getty process watching your modem(s). Another
+big difference is that you don't see what's happening, there is no screen
+with the mailer or bbs picture on it. All programs run in the background. If
+you don't like that, stop now and go back to your old DOS bbs. It's just the
+way everything is done.
+
+Programs that must start at specific times (events in DOS), are started from
+cron, this is the event scheduler for Linux (and other Unixes). With this
+program maintenance can be started, polls created etc. For starting programs
+when they are needed there is a taskmanager loaded at system bootup. This
+taskmanager "watches" the semafore directory of the bbs and will start what
+is needed.
+
+
+
+Under Linux this is done with the mgetty program, this is the
+process that is connected with each modem (or ISDN adapter) and waits for a
+call. The mgetty program (written by Gert Doering, gert@greenie.muc.de) will
+detect the call, and find out what or who did make the call. It can detect
+incoming humans who want a login prompt, PPP calls from users who want to
+make a PPP connection (browsing your BBS whith netscape for example), A fax
+machine trying to deliver a fax and finally a mailer trying to establish
+an EMSI, FSC-0006 or FSC-0001 session. The mgetty program is responsible for
+starting the right client programs. How to do this is explained in the
+installation manuals, but be sure to compile it with Fido and PPP support.
+
+
+
+This could be a bbs user. For each user to login to your bbs there must be a
+unix account. They automatic create such an account the first time they login
+with the bbs account. During the creation of their account the shell that is
+installed for there account is the mbsebbs binary, so that's the only thing
+that they get if they call in. When they logout the bbs, or drop carrier etc,
+the session is ended and mgetty takes over the line again.
+Note that they will never can get a Unix shell
+unless you install a door in the bbs that calls a shell for them.
+
+There are probably more accounts on your system that can callin, mbse is
+such an account, this is the MBSE BBS maintenance account. This user will
+get the shell prompt. Use good passwords for shell accounts, and never change
+your setup so that the root user can directly login except from the console.
+If you need root access, login as mbse and type su at the prompt to become
+root. You might consider installing SSH on your system for remote maintenance.
+
+
+
+Installing a PPP server on your system is beyound the scope of this project.
+However if you did install it, users can login your bbs with their favourite
+browser and use your bbs. Note that the necessary tools to automatic create
+newsgroups don't exist at this time. With the proper setup you can automatic
+create and maintain html pages for the file areas.
+
+
+
+If a mailer is detected by mgetty, the mbcico program is started and will
+take over from mgetty. It will establish a mail session with the caller and
+the mail and or files will be exchanged just like any DOS mailer would do.
+After the call, mbcico will hangup and mgetty will take control of your modem
+again. If there is any mail received, mbcico will place the semafore mailin
+so that another process can take care of the received mail. Mbcico will also
+detect some IEMSI terminal programs (Frontdoor), and will start the bbs.
+
+
+
+As I said before, if the mailin semafore is present, the task manager will
+then start the mbfido program that will toss the mail, process any files
+received and if necessary it will create other semafore's for example to link
+the message bases, start the nodelist compiler etc. Note that this can be done
+while there may be a new mailsession going on, a bbs user is online, it doesn't
+matter. Processing mail and files can be done real multitasking without any
+damage to other processes.
+
+
+
+At the time that you whish to poll a node, let cron create "poll" requests.
+When a poll is created, the semafore scanout is also created.
+The taskmanager will then start mbcico at regular intervals so that mail will
+get out. If there is no more mail to send, the scanout semafore is removed.
+If a timeslot ends, you can just remove the "poll" requests that didn't succeed.
+
+
+
+Relax, if you have netmail ready for nodes the
+mailer script will try to send these mails to those nodes. If it was crash
+mail, and the destination was a non CM node, the mailer will try to send those
+mails too. Note that other crashmails are send anytime. Also note that packed
+mail and files are not send during ZMH. If a node calls you during ZMH he will
+get everything that's waiting, including packed mail and files. The task manager
+(more on that later) calculates the Zone Mail Hour from UTC time, you don't
+have to change anything for summer- and wintertime.
+
+
+
+This is started by cron jobs. There is no need to take
+your bbs lines down during maintenance, you can do it any time of the day.
+I have made several scripts for this, daily, weekly and monthly.
+
+
+
+Because Linux is a 32 bit os, not bothered with a graphical user interface
+(unless you install it), it has all the time in the world to serve your
+bbs programs. Background programs are build to release time to the Linux os,
+they don't need to run fast because it's background processing. The bbs and
+the mailer, have a low server load although there is no timerelease build
+in. Only the bbs has some short moments when it needs a lot of your system,
+for example when a user logs in and scans for new mail. The bbs I run is a
+486-DX4 100 MHz, 20 MB ram, with 2 analogue lines, this seems to work fine.
+When this system's MOBO died, I used a 386DX33 for several months with
+20 MB ram, and the only thing users ever noticed was that scanning for new
+mail was slower. I think this is the slowest harware that will work.
+However, you must always use 16550A uarts for the COM ports. For best
+performance use SCSI disks. I noticed that old 5"FH SCSI disks perform better
+for bbs usage then modern EIDE disks. This is probably caused by the fact that
+the kernel needs more time for the cheap IDE bus.
+If you want to use X11 on your bbs, you need more ram and a faster CPU or a
+separate machine via a lan and export the display to that machine.
+
+
+ Go Back
+
-
-
-This is an overview of used documents for the development of the MBSE BBS
-package. Note that there are more documents, but only the relevant and valid
-documents are present here. Also note that these documents are just imported
-into html documents without any changes.
-
-Michiel Broek.
-
-
-
-
-
-
-
+
+
+This is an overview of used documents for the development of the MBSE BBS
+package. Note that there are more documents, but only the relevant and valid
+documents are present here. Also note that these documents are just imported
+into html documents without any changes.
+
+Michiel Broek.
+
+
+
+
+
+
+
-
-
-
-
-Below are the files that you need to setup for INN news. I used inn-2.2.2 on
-my system. It is configured to install in /opt/news with the command
-./configure --prefix=/opt/news during the installation of
-inn.
-
-
+
+
+
+
+Below are the files that you need to setup for INN news. I used inn-2.2.2 on
+my system. It is configured to install in /opt/news with the command
+./configure --prefix=/opt/news during the installation of
+inn.
+
+
-
-
-Now you have shell scripts in ~/etc, most of them are called by cron, some
-are called during system startup and shutdown. You also have some default
-configuration files, these are ttyinfo, modems, fidonet networks. In the
-default (english) directory you now have default menu datafiles and ansi
-screens. These are copies of my test system so you have to edit them to
-build your own bbs.
-
-The next step is the setup of the bbs.
-
-
-Back to Index
-
+
+
+Now you have shell scripts in ~/etc, most of them are called by cron, some
+are called during system startup and shutdown. You also have some default
+configuration files, these are ttyinfo, modems, fidonet networks. In the
+default (english) directory you now have default menu datafiles and ansi
+screens. These are copies of my test system so you have to edit them to
+build your own bbs.
+
+The next step is the setup of the bbs.
+
+
+Back to Index
+
-
-
-
- WARNING: THIS IS DIFFERENT FROM VERSION 0.33.14 AND UP
-
-
-Since version 0.33.14 the email gateway is build into MBSE BBS and since
-version 0.33.15 the newsgateway is build into MBSE BBS. Since version 0.33.16 the
-newsgateway to UUCP nodes is added. To route
-email trafic to and from the internet you need a internet MTA. I stopped using
-sendmail for this because it gave too much trouble setting it
-up together with MBSE BBS.
-Today I use Postfix,
-a well documented, secure and easy to setup MTA. For the actual gate from
-Postfix to the BBS you I use mbmail which you need to add to the
-Postfix configuration.
-
-There may be two reasons to create a gateway, one is to gate internet news and
-email to the Fidonet bbs users, another reason may be that you want to make
-echomail as news available on your system so that users can connect to your
-bbs with their favourite browser an get the mail and news using pop3 and
-nntp protocols. The setup is the same for both reasons so I will make one
-description for the whole setup.
-
-
-
-If you only want to gate internet news to your bbs users and not want to
-make echomail available as news, and you have a permament internet connection
-then you don't need your own news server. Just configure MBSE BBS to use the
-newsserver of your ISP in screen 1.14 with mbsetup. All other users need
-to run a newsserver on the bbs machine or another networked machine. You
-could use inn news for a newsserver.
-To connect a small feed with your ISP you could use suck.
-
-In each echomail area you want to gate you need to fill in the newsgroup
-name of that area and echomail received in that area will automatic be
-posted to that newsgroup. The command mbfido news will check all
-configured newsgroups for new newsarticles. If you set it up for the first
-time you need to run mbfido news -learn to fill the dupes
-database for news with all the already existing news articles. If you skip
-that, you may get a lot of old articles that will be gated. Just run that
-command once after you have set this up. Later when you receive fresh articles
-the command mbfido news will only gate new arrived articles.
-See the configuration of INN news configuration.
-
-
-
-This is the setup if you don't want an NNTP newsserver like inn, but a simple
-cnews setup for UUCP links only. In mbsetup menu 1.14 you need
-to set this up. You need to fill in the path to the rnews program so that
-mbfido can post articles to cnews. MORE INFO NEEDED.
-
-In each echomail area you want to gate you need to fill in the newsgroup
-name of that area and echomail received in that area will automatic be
-posted to that newsgroup.
-
-
-
-With this setup you don't run a local newsserver, only your bbs users and
-Fidonet links can then use news. You need to install uucp
-on your system. With mbsetup menu 1.14 you need to set this
-up. Suppose your ISP's nodename is xs4all the you probably need to set the
-UUCP path to
-In each echomail area you want to gate you need to fill in the newsgroup
-name of that area and echomail received in that area will automatic be
-posted to that newsgroup.
-
-
-
-See Postfix (email) configuration
-
-
- Go Back
-
+
+
+
+ WARNING: THIS IS DIFFERENT FROM VERSION 0.33.14 AND UP
+
+
+Since version 0.33.14 the email gateway is build into MBSE BBS and since
+version 0.33.15 the newsgateway is build into MBSE BBS. Since version 0.33.16 the
+newsgateway to UUCP nodes is added. To route
+email trafic to and from the internet you need a internet MTA. I stopped using
+sendmail for this because it gave too much trouble setting it
+up together with MBSE BBS.
+Today I use Postfix,
+a well documented, secure and easy to setup MTA. For the actual gate from
+Postfix to the BBS you I use mbmail which you need to add to the
+Postfix configuration.
+
+There may be two reasons to create a gateway, one is to gate internet news and
+email to the Fidonet bbs users, another reason may be that you want to make
+echomail as news available on your system so that users can connect to your
+bbs with their favourite browser an get the mail and news using pop3 and
+nntp protocols. The setup is the same for both reasons so I will make one
+description for the whole setup.
+
+
+
+If you only want to gate internet news to your bbs users and not want to
+make echomail available as news, and you have a permament internet connection
+then you don't need your own news server. Just configure MBSE BBS to use the
+newsserver of your ISP in screen 1.14 with mbsetup. All other users need
+to run a newsserver on the bbs machine or another networked machine. You
+could use inn news for a newsserver.
+To connect a small feed with your ISP you could use suck.
+
+In each echomail area you want to gate you need to fill in the newsgroup
+name of that area and echomail received in that area will automatic be
+posted to that newsgroup. The command mbfido news will check all
+configured newsgroups for new newsarticles. If you set it up for the first
+time you need to run mbfido news -learn to fill the dupes
+database for news with all the already existing news articles. If you skip
+that, you may get a lot of old articles that will be gated. Just run that
+command once after you have set this up. Later when you receive fresh articles
+the command mbfido news will only gate new arrived articles.
+See the configuration of INN news configuration.
+
+
+
+This is the setup if you don't want an NNTP newsserver like inn, but a simple
+cnews setup for UUCP links only. In mbsetup menu 1.14 you need
+to set this up. You need to fill in the path to the rnews program so that
+mbfido can post articles to cnews. MORE INFO NEEDED.
+
+In each echomail area you want to gate you need to fill in the newsgroup
+name of that area and echomail received in that area will automatic be
+posted to that newsgroup.
+
+
+
+With this setup you don't run a local newsserver, only your bbs users and
+Fidonet links can then use news. You need to install uucp
+on your system. With mbsetup menu 1.14 you need to set this
+up. Suppose your ISP's nodename is xs4all the you probably need to set the
+UUCP path to
+In each echomail area you want to gate you need to fill in the newsgroup
+name of that area and echomail received in that area will automatic be
+posted to that newsgroup.
+
+
+
+See Postfix (email) configuration
+
+
+ Go Back
+
-
-
-
-There are only five official distribution sites for the mbse bbs package. They are:
-
-
-
-At the end of 1997 I was looking for several BBS systems that could run on
-Linux and it must be capable to run Fidonet mail. After reviewing almost
-all packages that were available at that time I found that there were no
-packages that suited my needs. Some had the plain user interfaces that
-my bbs users were used to but no Fidonet capabilities, others looked
-awfull or were difficult to use by normal bbs users without Unix experience.
-I also didn't want to run shareware anymore, one day you pay for some program,
-and the next day support is over because the writer of that program decided
-to stop development or simply dissapears from the Fidonet stage. With all
-Y2K problems ahead the solution should be Open Software so that you have
-the sources in case something goes wrong.
-One package was very interesting and had the look and feel of RemoteAcces,
-that package was RapidBBS. There was only one problem, it had no Fidonet
-capabilities. I rewrote the data structures and created a deamon that should
-control all bbs acivities. In march 1998 I started writing the mbfido program
-that should handle all Fidonet mail and .tic files. In june 1998 the final
-message base format became JAM using the LoraBBS sources as a guide to create
-the JAM libraries. The original JAMapi was not stable enough to do all the work
-that needed to be done.
-
-In Juli 1998 the first version of MBSE BBS was installed on the bbs I have,
-on the second line. The first line was running McMail, GEcho and RA on a
-Novell client while on the Linux box the mars_nwe emulator from Martin Stower
-was running. In november 1998 mbcico was created from ifcico from Eugene M.
-Crosser. In Januari 1999 it did also compile and run on a Sun Sparcstation 2
-system.
-
-In April 1999 the motherboard of the Linux server died, I replaced it with
-the MOBO of one of the client machines. From that day on, MBSE BBS became the
-only bbs running on my system, because I was short on serial port boards at
-that time. McMail and RA became history and MBSE BBS was on its own. From that
-day on, updates were almost daily, all users and up and downlinks showed that
-there were plenty of bugs to solve. One month later most problems were solved.
-
-In juli 1999 Jan van de Werken started beta testing MBSE BBS on his system.
-In September 1999 MBSE BBS was public released for the first time.
-
-
-
-There have been no problems since 1 januari 2000 with MBSE BBS. I do run
-pktdate by Tobias Ernst in the tosser, this solves problems with incoming
-mail. Due to the internal date format, this program should run until 2038,
-just as long as Unix/Linux and the internet will function without changing
-the date format.
-
-
-
-Plans are to complete integrate news, email, www and chat into MBSE BBS. It
-should work for browsers about the same as with ANSI character terminals.
-
-
-
- Go Back
-
+
+
+
+There are only five official distribution sites for the mbse bbs package. They are:
+
+
+
+At the end of 1997 I was looking for several BBS systems that could run on
+Linux and it must be capable to run Fidonet mail. After reviewing almost
+all packages that were available at that time I found that there were no
+packages that suited my needs. Some had the plain user interfaces that
+my bbs users were used to but no Fidonet capabilities, others looked
+awfull or were difficult to use by normal bbs users without Unix experience.
+I also didn't want to run shareware anymore, one day you pay for some program,
+and the next day support is over because the writer of that program decided
+to stop development or simply dissapears from the Fidonet stage. With all
+Y2K problems ahead the solution should be Open Software so that you have
+the sources in case something goes wrong.
+One package was very interesting and had the look and feel of RemoteAcces,
+that package was RapidBBS. There was only one problem, it had no Fidonet
+capabilities. I rewrote the data structures and created a deamon that should
+control all bbs acivities. In march 1998 I started writing the mbfido program
+that should handle all Fidonet mail and .tic files. In june 1998 the final
+message base format became JAM using the LoraBBS sources as a guide to create
+the JAM libraries. The original JAMapi was not stable enough to do all the work
+that needed to be done.
+
+In Juli 1998 the first version of MBSE BBS was installed on the bbs I have,
+on the second line. The first line was running McMail, GEcho and RA on a
+Novell client while on the Linux box the mars_nwe emulator from Martin Stower
+was running. In november 1998 mbcico was created from ifcico from Eugene M.
+Crosser. In Januari 1999 it did also compile and run on a Sun Sparcstation 2
+system.
+
+In April 1999 the motherboard of the Linux server died, I replaced it with
+the MOBO of one of the client machines. From that day on, MBSE BBS became the
+only bbs running on my system, because I was short on serial port boards at
+that time. McMail and RA became history and MBSE BBS was on its own. From that
+day on, updates were almost daily, all users and up and downlinks showed that
+there were plenty of bugs to solve. One month later most problems were solved.
+
+In juli 1999 Jan van de Werken started beta testing MBSE BBS on his system.
+In September 1999 MBSE BBS was public released for the first time.
+
+
+
+There have been no problems since 1 januari 2000 with MBSE BBS. I do run
+pktdate by Tobias Ernst in the tosser, this solves problems with incoming
+mail. Due to the internal date format, this program should run until 2038,
+just as long as Unix/Linux and the internet will function without changing
+the date format.
+
+
+
+Plans are to complete integrate news, email, www and chat into MBSE BBS. It
+should work for browsers about the same as with ANSI character terminals.
+
+
+
+ Go Back
+
-
-
-Now it is time to check the starting and stopping of the BBS. As you have
-installed everything, setup the BBS etc, you must check if the shutdown and
-reboot work properly. As root type shutdown -r now and
-watch the console. You should see messages that the BBS is closing while
-the systems shuts down. This should be one of the first things to happen.
-Because Slackware up to version 7.0.0 is tricky to automatic install the shutdown scripts,
-you won't see this happen on older Slackware versions. If you want, you can edit
-/etc/rc.d/rc.6 and /etc/rc.d/rc.K and insert the line /opt/mbse/etc/rc.shutdown
-at the proper places.
-
-When your system comes up again, one of the last messages before the login
-prompt appears or just before X-windows starts, you should see messages that
-the BBS is started.
-
-Login as user mbse and check the logfiles if everything looks
-good. If something is wrong, reread the previous documentation and check if
-you did everything right.
-
-Next logon to your BBS locally using the account "bbs". You will then create
-the first user of your BBS, this will be you, the sysop of course.
-After you logout the BBS start as user
-mbse the program mbsetup and edit your user record
-to set your level to that of the sysop. One more thing, the unix account you
-must create when you logon as new BBS user may not be mbse
-as this is the normal Admin account the BBS and its utilities use.
-
-Now login with your unix account and see if everything still works. After all
-this and if you have setup mgetty you may want to test if
-users really can login with a modem. Also check a mailer session, can you
-dialout, ie. poll other nodes and can they call you. There is a lot that can
-go wrong with unix permissions if you are not precise in wat you are doing.
-
-If everything is working it is time to create poll events, and adjust other
-scripts to your local needs to get your BBS full up and running.
-
-To do this you must install a crontab for user mbse As user
-mbse go to the directory ~/mbsebbs-0.33.xx.
-In that directory type
-sh ./CRON.sh and a default crontab will be installed.
-
-To add poll events, edit the crontab with the command crontab -e
- At the bottom of that file there is an example of how to do that.
-Now that the crontab is installed, all maintenance will now work, automatic
-dialout, scanning and tossing mail etc. In other words, the bbs is up and
-running.
-
-
- Go Back
-
+
+
+Now it is time to check the starting and stopping of the BBS. As you have
+installed everything, setup the BBS etc, you must check if the shutdown and
+reboot work properly. As root type shutdown -r now and
+watch the console. You should see messages that the BBS is closing while
+the systems shuts down. This should be one of the first things to happen.
+Because Slackware up to version 7.0.0 is tricky to automatic install the shutdown scripts,
+you won't see this happen on older Slackware versions. If you want, you can edit
+/etc/rc.d/rc.6 and /etc/rc.d/rc.K and insert the line /opt/mbse/etc/rc.shutdown
+at the proper places.
+
+When your system comes up again, one of the last messages before the login
+prompt appears or just before X-windows starts, you should see messages that
+the BBS is started.
+
+Login as user mbse and check the logfiles if everything looks
+good. If something is wrong, reread the previous documentation and check if
+you did everything right.
+
+Next logon to your BBS locally using the account "bbs". You will then create
+the first user of your BBS, this will be you, the sysop of course.
+After you logout the BBS start as user
+mbse the program mbsetup and edit your user record
+to set your level to that of the sysop. One more thing, the unix account you
+must create when you logon as new BBS user may not be mbse
+as this is the normal Admin account the BBS and its utilities use.
+
+Now login with your unix account and see if everything still works. After all
+this and if you have setup mgetty you may want to test if
+users really can login with a modem. Also check a mailer session, can you
+dialout, ie. poll other nodes and can they call you. There is a lot that can
+go wrong with unix permissions if you are not precise in wat you are doing.
+
+If everything is working it is time to create poll events, and adjust other
+scripts to your local needs to get your BBS full up and running.
+
+To do this you must install a crontab for user mbse As user
+mbse go to the directory ~/mbsebbs-0.33.xx.
+In that directory type
+sh ./CRON.sh and a default crontab will be installed.
+
+To add poll events, edit the crontab with the command crontab -e
+ At the bottom of that file there is an example of how to do that.
+Now that the crontab is installed, all maintenance will now work, automatic
+dialout, scanning and tossing mail etc. In other words, the bbs is up and
+running.
+
+
+ Go Back
+
-
-
-There are always more bugs, but these are known....
-
-
+
+
+There are always more bugs, but these are known....
+
+
-
-
-This is an overview of the licenses that are valid for the use of MBSE BBS or
-parts of it.
-
-
-
+
+
+This is an overview of the licenses that are valid for the use of MBSE BBS or
+parts of it.
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
- Menus sections:
-Global menus
-File areas
-Message areas
-User settings
-Onliners
-BBS lists
-ANSI Control Codes
-
-
-
-
-
+
+
+
+
+
+
+
+
+Last update 07-Aug-2001
-MBSE BBS Basic Installation
-
-Introduction.
-Step 1: planning the filesystems.
-
-
-/opt/mbse binaries, config and user home directories.
-/var/spool/mbse In/outbound, queues, download directories.
-
-Step 2: Running the installation script.
-
-cd /tmp
-tar xfvz /path/to/the/mbsebbs-0.33.nn.tar.gz
-
-To start the script type:
-
-cd mbsebbs-0.33.nn
-bash ./SETUP.sh
-
-Yes, use bash as shell here. On some systems root doesn't use bash
-as login shell, calling the script with bash forces the use of bash.
-The script does the following:
-
-
-Then the script will ask you to give a password for user mbse
-This password is for system maintenance and for you to make changes to the
-bbs. You will need that frequently but you should not make that password
-easy to guess of course. The script will then continue again:
-
-
-Step 3: Check the basic installation
-
-cd /tmp
-rm -Rf mbsebbs-0.33.nn
-
-Step 4: Install the basic packages.
-
-tar xfvz /path/to/mbsebbs-0.33.nn.tar.gz
-
-You now have the subdirectory with sources in the right place.
-Next build the binaries and install them using the folowing commands:
-
-cd ~/mbsebbs-0.33.nn
-./configure
-make
-su
-password: enter root password here
-make install
-exit
-
-The last part of the installation procedure shows you the location of the bbs
-startup script that is added to your system. Because this is your first
-time installation, example menus, textfiles and some databases are installed.
-If they already exist on your systems (when you do an upgrade) they
-will not be installed again.
-Step 5: (RedHat) startup problems.
-/etc/rc.d/init.d/mbsed
that is
-created by the setup script is different then before. The new command
-is su - instead of simply su. It might be
-that other new distributions also need the extra minus sign. If that's the
-case, please let me know and tell me how I can test what version it is.
-Step 6: ready.
-
+
+
+
diff --git a/html/dist.html b/html/dist.html
index 01da8e5f..aa6b70c0 100644
--- a/html/dist.html
+++ b/html/dist.html
@@ -1,74 +1,74 @@
-
-
-
-
-
-
-
-
-Last update 07-Aug-2001
+MBSE BBS Basic Installation
+
+Introduction.
+Step 1: planning the filesystems.
+
+
+/opt/mbse binaries, config and user home directories.
+/var/spool/mbse In/outbound, queues, download directories.
+
+Step 2: Running the installation script.
+
+cd /tmp
+tar xfvz /path/to/the/mbsebbs-0.33.nn.tar.gz
+
+To start the script type:
+
+cd mbsebbs-0.33.nn
+bash ./SETUP.sh
+
+Yes, use bash as shell here. On some systems root doesn't use bash
+as login shell, calling the script with bash forces the use of bash.
+The script does the following:
+
+
+Then the script will ask you to give a password for user mbse
+This password is for system maintenance and for you to make changes to the
+bbs. You will need that frequently but you should not make that password
+easy to guess of course. The script will then continue again:
+
+
+Step 3: Check the basic installation
+
+cd /tmp
+rm -Rf mbsebbs-0.33.nn
+
+Step 4: Install the basic packages.
+
+tar xfvz /path/to/mbsebbs-0.33.nn.tar.gz
+
+You now have the subdirectory with sources in the right place.
+Next build the binaries and install them using the folowing commands:
+
+cd ~/mbsebbs-0.33.nn
+./configure
+make
+su
+password: enter root password here
+make install
+exit
+
+The last part of the installation procedure shows you the location of the bbs
+startup script that is added to your system. Because this is your first
+time installation, example menus, textfiles and some databases are installed.
+If they already exist on your systems (when you do an upgrade) they
+will not be installed again.
+Step 5: (RedHat) startup problems.
+/etc/rc.d/init.d/mbsed
that is
+created by the setup script is different then before. The new command
+is su - instead of simply su. It might be
+that other new distributions also need the extra minus sign. If that's the
+case, please let me know and tell me how I can test what version it is.
+Step 6: ready.
+
-
Last update 06-Jun-2001
-Linux Distributions.
-Which distribution
-Slackware
-Redhat and Mandrake
-SuSe
-Debian
-Famous last words...
-
+
Last update 06-Jun-2001
+Linux Distributions.
+Which distribution
+Slackware
+Redhat and Mandrake
+SuSe
+Debian
+Famous last words...
+
-
-
-
-
+
+
+
+
+
+
+
+
+Last update 06-Jun-2001
-Running a BBS under Linux.
-Introduction
-Waiting for a call .....
-A Human is calling.
-A PPP call is detected.
-A mailer call is detected.
-There is mail in the inbound
-It's time to poll a node
-It's Zone Mail Hour, so now what
-Daily maintenane
-How about system load
-
+
+
+
+
diff --git a/html/ftsc/index.htm b/html/ftsc/index.htm
index 719bbb52..67b0176f 100644
--- a/html/ftsc/index.htm
+++ b/html/ftsc/index.htm
@@ -1,101 +1,101 @@
-
-
-
-
-
-
-
-
-Last update 06-Jun-2001
+Running a BBS under Linux.
+Introduction
+Waiting for a call .....
+A Human is calling.
+A PPP call is detected.
+A mailer call is detected.
+There is mail in the inbound
+It's time to poll a node
+It's Zone Mail Hour, so now what
+Daily maintenane
+How about system load
+
-
-
-
-
+
+
+
+
+
+
+
+
+Last update 11-Aug-2001
-Fidonet Technical Standards
-
-Introduction
-
-FSC Documents
-
-
-
-FSP Documents
-
-
-
-
-FTA Documents
-
-
-
-FTS Documents
-
-
-
-
-
-Back to Index
-
+
+
+
+
diff --git a/html/gwnews.html b/html/gwnews.html
index 708339d3..4bde57e5 100755
--- a/html/gwnews.html
+++ b/html/gwnews.html
@@ -1,381 +1,381 @@
-
-
-
-
-
-
-
-
-Last update 11-Aug-2001
+Fidonet Technical Standards
+
+Introduction
+
+FSC Documents
+
+
+
+FSP Documents
+
+
+
+
+FTA Documents
+
+
+
+FTS Documents
+
+
+
+
+
+Back to Index
+
-
-
-
-
+
+
+
+
+
+
+
+
+Last update 10-Apr-2001
-MBSE BBS - Internet Gateway - INN.
-SETUP INND
-
-
-
-
-## $Revision$
-## inn.conf -- inn configuration data
-## Format:
-##
-
-
-
-## $Revision$
-## expire.ctl - expire control file
-## Format:
-## /remember/:<keep>
-## <patterns>:<modflag>:<keep>:<default>:<purge>
-## First line gives history retention; other lines specify expiration
-## for newsgroups. Must have a "*:A:..." line which is the default.
-## <patterns> wildmat-style patterns for the newsgroups
-## <modflag> Pick one of M U A -- modifies pattern to be only
-## moderated, unmoderated, or all groups
-## <keep> Mininum number of days to keep article
-## <default> Default number of days to keep the article
-## <purge> Flush article after this many days
-## <keep>, <default>, and <purge> can be floating-point numbers or the
-## word "never." Times are based on when received unless -p is used;
-## see expire.8
-
-## If article expires before 14 days, we still remember it for 14 days in
-## case we get offered it again. Depending on what you use for the innd
-## -c flag and how paranoid you are about old news, you might want to
-## make this 28, 30, etc.
-/remember/:14
-
-## Keep for 1-10 days, allow Expires headers to work.
-*:A:1:10:never
-
-fido.*:A:1:30:60
-comp.*:A:1:30:60
-local.*:A:1:30:60
-nl.*:A:1:30:60
-
-## Some particular groups stay forever.
-# Keep FAQ's for a month, so they're always available
-#*.answers:M:1:35:90
-news.announce.*:M:1:35:90
-
-# Some other recommendations. Uncomment if you want
-# .announce groups tend to be low-traffic, high signal.
-# *.announce:M:1:30:90
-# Weather forecasts
-# *.weather:A:1:2:7
-# test posts
-# *.test:A:1:1:1
-
-## Some particular groups stay forever.
-# dc.dining*:A:never:never:never
-# uunet*:A:never:never:never
-
-
-
-## $Revision$
-## Mailing addresses for moderators.
-## Format:
-## <newsgroup>:<pathname>
-## First match found is used.
-## <newsgroup> Shell-style newsgroup pattern or specific newsgroup
-## <pathname> Mail address, "%s" becomes newgroup name with dots
-## changed to dashes.
-
-## Russian hierarchies
-fido7.*:%s@fido7.ru
-medlux.*:%s@news.medlux.ru
-relcom.*:%s@moderators.relcom.ru
-
-## Direct all public hierarchies to the master moderator database.
-*:%s@moderators.isc.org
-
-
-
-## $Revision$
-## newsfeeds - determine where Usenet articles get sent
-## Format:
-## site[/exclude,exclude...]\
-## :pattern,pattern...[/distrib,distrib...]\
-## :flag,flag...\
-## :param
-## Summary of flags:
-## <size Article must be less then size bytes.
-## >size Article must be more then size bytes.
-## Aitems Article checks -- d (must have Distribution header)
-## p (don't check for site in Path header)
-## c (no control messages) C (only control messages)
-## e (all groups must exist).
-## Bhigh/low Internal buffer size before writing to output.
-## Fname Name of the spool file.
-## Gcount Crossposts limited to count groups.
-## H[count] Article must have less then count hops; default is 1.
-## Isize Internal buffer size (if a file feed)
-## Nm Only moderated groups that match the patterns.
-## Nu Only unmoderated groups that match the patterns.
-## Ppriority Nice priority of channel or program feed.
-## Ooriginator First field of X-Trace must match originator (wildmat).
-## Ssize Start spooling if more than size bytes get queued.
-## Ttype Feed types -- f (file) m (funnel; param names the
-## real entry) p (pipe to program) c (send to stdin
-## channel of param's sub-process) x (like c, but
-## handles commands on stdin) x (log entry only).
-## Witems What to write -- b (article bytesize) f (full path)
-## g (first newsgroup) h (Message-ID hash)
-## m (Message-ID) n (relative path) p (posted time)
-## s (site that fed article) t (time received)
-## * (names of funnel feed-in's or all sites that get
-## the article) N (Newsgroups header) D (Distribution
-## header) H (all headers) O (overview data)
-## P (path header) R (replication information)
-## Param field depends on T flag. For Tf, relative paths are from the
-## out.going directory. For Tp and Tc, it is a shell command to execute.
-## If a Tm refers to this entry (which will have its own T param) then "*"
-## is expanded to all the funnel sites that triggered this one. Useful
-## for spawning one mail process, e.g.
-##
-## This file is complicated -- see newsfeeds.5!
-
-## This is the local site.
-## The "pattern" field gives the initial subscription list for
-## all other sites. You might want to put "!control,!junk,!
-
-
-## $Revision$
-## distrib.pats -- specify default Distribution header for newsgroups
-## Format:
-## <weight>:<pattern>:<value>
-## All articles are matched against all patterns, value to be used is the
-## one with the highest weight.
-## <weight> The weight assigned to this match, integer
-## <pattern> Newsgroup name or single wildmat(3) pattern
-## <value> Value of Distribution header.
-##
-##
-## Uncomment to default all local.* groups to a distribution of local.
-#10:local.*:local
-10:local.*:local
-10:fido.*:fido
-
-
-
-## $Revision$
-## nnrp.access - access file for on-campus NNTP sites
-## Format:
-## <host>:<perm>:<user>:<pass>:<groups>
-## <host>:</path/file>
-## Connecting host must be found in this file; the last match found is
-## used, so put defaults first.
-## <host> Wildcard name or IP address
-## <perm> R to read; P to post
-## <user> Username for authentication before posting
-## <pass> Password, for same reason
-## <groups> Newsgroup patterns that can be read or not read
-## </path/file> A second file to scan in the same format as this
-## To disable posting put a space in the <user> and <pass> fields, since
-## there is no way for client to enter one.
-##
-## Default is no access, no way to authentication, and no groups.
-*::::!*
-stdin:Read Post:::*
-localhost:Read Post:::*
-127.0.0.1:Read Post:::*
-*.mbse.nl:Read Post:::*
-
-
-
-Go back
-Go to main
-
-
+
+
+
+
diff --git a/html/images/e_menu.gif b/html/images/e_menu.gif
index a2b773ec69b07fe66f5cd56134dc45710ca0f029..3b225ce2591f8fab7c8810df843c6cc2ccae9121 100644
GIT binary patch
delta 9818
zcmV-gCZ*Z-SDsj~J^=*yB=SL%LIFPn0RI;QlZ63O1ONaR1C!hVJd+y&fFS??F8}~-
z003eDq+$T_a{&J@0KaJV<8&+1Z2$&r06;I3!2(Q^&;kgv4FmB4IVhYq#{;yz_QP#Q
z?DpGp%l)?65Z8^i{@Zph9CzM)@BMcGdhZQ*-E+tNx8jKlemBE~M;Last update 10-Apr-2001
+MBSE BBS - Internet Gateway - INN.
+SETUP INND
+
+
+
+
+## $Revision$
+## inn.conf -- inn configuration data
+## Format:
+##
+
+
+
+## $Revision$
+## expire.ctl - expire control file
+## Format:
+## /remember/:<keep>
+## <patterns>:<modflag>:<keep>:<default>:<purge>
+## First line gives history retention; other lines specify expiration
+## for newsgroups. Must have a "*:A:..." line which is the default.
+## <patterns> wildmat-style patterns for the newsgroups
+## <modflag> Pick one of M U A -- modifies pattern to be only
+## moderated, unmoderated, or all groups
+## <keep> Mininum number of days to keep article
+## <default> Default number of days to keep the article
+## <purge> Flush article after this many days
+## <keep>, <default>, and <purge> can be floating-point numbers or the
+## word "never." Times are based on when received unless -p is used;
+## see expire.8
+
+## If article expires before 14 days, we still remember it for 14 days in
+## case we get offered it again. Depending on what you use for the innd
+## -c flag and how paranoid you are about old news, you might want to
+## make this 28, 30, etc.
+/remember/:14
+
+## Keep for 1-10 days, allow Expires headers to work.
+*:A:1:10:never
+
+fido.*:A:1:30:60
+comp.*:A:1:30:60
+local.*:A:1:30:60
+nl.*:A:1:30:60
+
+## Some particular groups stay forever.
+# Keep FAQ's for a month, so they're always available
+#*.answers:M:1:35:90
+news.announce.*:M:1:35:90
+
+# Some other recommendations. Uncomment if you want
+# .announce groups tend to be low-traffic, high signal.
+# *.announce:M:1:30:90
+# Weather forecasts
+# *.weather:A:1:2:7
+# test posts
+# *.test:A:1:1:1
+
+## Some particular groups stay forever.
+# dc.dining*:A:never:never:never
+# uunet*:A:never:never:never
+
+
+
+## $Revision$
+## Mailing addresses for moderators.
+## Format:
+## <newsgroup>:<pathname>
+## First match found is used.
+## <newsgroup> Shell-style newsgroup pattern or specific newsgroup
+## <pathname> Mail address, "%s" becomes newgroup name with dots
+## changed to dashes.
+
+## Russian hierarchies
+fido7.*:%s@fido7.ru
+medlux.*:%s@news.medlux.ru
+relcom.*:%s@moderators.relcom.ru
+
+## Direct all public hierarchies to the master moderator database.
+*:%s@moderators.isc.org
+
+
+
+## $Revision$
+## newsfeeds - determine where Usenet articles get sent
+## Format:
+## site[/exclude,exclude...]\
+## :pattern,pattern...[/distrib,distrib...]\
+## :flag,flag...\
+## :param
+## Summary of flags:
+## <size Article must be less then size bytes.
+## >size Article must be more then size bytes.
+## Aitems Article checks -- d (must have Distribution header)
+## p (don't check for site in Path header)
+## c (no control messages) C (only control messages)
+## e (all groups must exist).
+## Bhigh/low Internal buffer size before writing to output.
+## Fname Name of the spool file.
+## Gcount Crossposts limited to count groups.
+## H[count] Article must have less then count hops; default is 1.
+## Isize Internal buffer size (if a file feed)
+## Nm Only moderated groups that match the patterns.
+## Nu Only unmoderated groups that match the patterns.
+## Ppriority Nice priority of channel or program feed.
+## Ooriginator First field of X-Trace must match originator (wildmat).
+## Ssize Start spooling if more than size bytes get queued.
+## Ttype Feed types -- f (file) m (funnel; param names the
+## real entry) p (pipe to program) c (send to stdin
+## channel of param's sub-process) x (like c, but
+## handles commands on stdin) x (log entry only).
+## Witems What to write -- b (article bytesize) f (full path)
+## g (first newsgroup) h (Message-ID hash)
+## m (Message-ID) n (relative path) p (posted time)
+## s (site that fed article) t (time received)
+## * (names of funnel feed-in's or all sites that get
+## the article) N (Newsgroups header) D (Distribution
+## header) H (all headers) O (overview data)
+## P (path header) R (replication information)
+## Param field depends on T flag. For Tf, relative paths are from the
+## out.going directory. For Tp and Tc, it is a shell command to execute.
+## If a Tm refers to this entry (which will have its own T param) then "*"
+## is expanded to all the funnel sites that triggered this one. Useful
+## for spawning one mail process, e.g.
+##
+## This file is complicated -- see newsfeeds.5!
+
+## This is the local site.
+## The "pattern" field gives the initial subscription list for
+## all other sites. You might want to put "!control,!junk,!
+
+
+## $Revision$
+## distrib.pats -- specify default Distribution header for newsgroups
+## Format:
+## <weight>:<pattern>:<value>
+## All articles are matched against all patterns, value to be used is the
+## one with the highest weight.
+## <weight> The weight assigned to this match, integer
+## <pattern> Newsgroup name or single wildmat(3) pattern
+## <value> Value of Distribution header.
+##
+##
+## Uncomment to default all local.* groups to a distribution of local.
+#10:local.*:local
+10:local.*:local
+10:fido.*:fido
+
+
+
+## $Revision$
+## nnrp.access - access file for on-campus NNTP sites
+## Format:
+## <host>:<perm>:<user>:<pass>:<groups>
+## <host>:</path/file>
+## Connecting host must be found in this file; the last match found is
+## used, so put defaults first.
+## <host> Wildcard name or IP address
+## <perm> R to read; P to post
+## <user> Username for authentication before posting
+## <pass> Password, for same reason
+## <groups> Newsgroup patterns that can be read or not read
+## </path/file> A second file to scan in the same format as this
+## To disable posting put a space in the <user> and <pass> fields, since
+## there is no way for client to enter one.
+##
+## Default is no access, no way to authentication, and no groups.
+*::::!*
+stdin:Read Post:::*
+localhost:Read Post:::*
+127.0.0.1:Read Post:::*
+*.mbse.nl:Read Post:::*
+
+
+
+Go back
+Go to main
+
+4c(Sa+XlJKn_b67jlmzm&KU94U;Tg4@ExL;O`qrT
z(95Xb7s1~kt-}fa-w*+~4F2HGEZ=ncn-E^%4B_Cod#2%A&gOj1;(f}q%-*TJ-s}0{
z9BSg~9Nx%H;vD|C(p$?SPN>T*;;L!l=h@*Pp5j!h<0X#cC+_1s9^xy$;Wh5#H_nYx$2pbv_l
z5~`mb%Appzq8
ntHL^uvpTHCs*b^WtjY?G#k#D{ijB$o
ztkOD-%~}uwkP!lqt=Fm$*%}esDiTIIt&SS41JSJ)@vQ)Wt_Pv648g7)@u%V{snseF
z*Xpj`N)Yy1uJ<|;@EWht9DWUjgnJnRZDzxV_z#FrWZMjt
z
-
-
-
-
+
+
+
+
+
+
+
+
+Last update 03-Jul-2001
-Installing the BBS.
-
-
-Installing the BBS.
-
-Editing ansi screens can be done on a Linux system with duhdraw,
-this is available from 2:280/2802 as duhdraw.tgz (68 Kbytes).
-The binaries are included in this archive, if you compile it yourself
-it may give trouble so if the binaries work, use these.
-Another editor is available from
-http://www.drastic.net/bmdraw/,
-you can find the tar.gz file in
-http://www.drastic.net/bmdraw/files/bmd022.tgz, it's about 36 Kbytes.
-This is also a thedraw clone for Linux. Note, at my system I needed to run it as root.
-You may also want to edit ~/etc/header.txt and ~/etc/footer.txt, these
-files are the top and bottom of the newfiles/allfiles listings.
-
-the next step.
-
+
+
+
+
diff --git a/html/intergate.html b/html/intergate.html
index 6b341f27..9588140c 100644
--- a/html/intergate.html
+++ b/html/intergate.html
@@ -1,102 +1,102 @@
-
-
-
-
-
-
-
-
-Last update 03-Jul-2001
+Installing the BBS.
+
+
+Installing the BBS.
+
+Editing ansi screens can be done on a Linux system with duhdraw,
+this is available from 2:280/2802 as duhdraw.tgz (68 Kbytes).
+The binaries are included in this archive, if you compile it yourself
+it may give trouble so if the binaries work, use these.
+Another editor is available from
+http://www.drastic.net/bmdraw/,
+you can find the tar.gz file in
+http://www.drastic.net/bmdraw/files/bmd022.tgz, it's about 36 Kbytes.
+This is also a thedraw clone for Linux. Note, at my system I needed to run it as root.
+You may also want to edit ~/etc/header.txt and ~/etc/footer.txt, these
+files are the top and bottom of the newfiles/allfiles listings.
+
+the next step.
+
-
-
-
-
+
+
+
+
+
+
+
+
+Last update 26-Apr-2001
-MBSE BBS - Internet Gateway.
-Introduction.
-Setup a newsgate node with inn.
-Setup a newsgate with rnews.
-Setup a newsgate via UUCP.
-/var/spool/uucp/xs4all
and the UUCP node to
-xs4all
. Your own nodename will be your system's hostname without
-the domain part.
-Setup a email gate.
-
+
+
+
+
diff --git a/html/intro.html b/html/intro.html
index 56443d68..07f54081 100644
--- a/html/intro.html
+++ b/html/intro.html
@@ -1,99 +1,99 @@
-
-
-
-
-
-
-
-
-Last update 26-Apr-2001
+MBSE BBS - Internet Gateway.
+Introduction.
+Setup a newsgate node with inn.
+Setup a newsgate with rnews.
+Setup a newsgate via UUCP.
+/var/spool/uucp/xs4all
and the UUCP node to
+xs4all
. Your own nodename will be your system's hostname without
+the domain part.
+Setup a email gate.
+
-
-
-
-
+
+
+
+
+
+
+
+
+Last update 28-Jan-2001
-Introduction to MBSE BBS.
-Distribution.
-
-
-If you find mbse bbs on another site it may be out of date. I have no control over these sites.
-New versions of mbse bbs are announced in the fidonet area LINUX_BBS. On the official fidonet
-nodes you can request the latest version with the magic MBSEBBS. You will then get a zip file,
-in this zip file is the original tar.gz file. This is to let systems who only support 8.3
-filenames to pickup the distribution package. You can also subscribe to the mailinglist
-mbse-announce@lists.sourceforge.net to receive announcements. This will also work for fidonet
-systems if you send your netmail via the official fido/internet gateway. You can also
-subscribe online at sourceforge
-History.
-Is it Y2K ready?
-Future plans.
-
+
+
+
+
diff --git a/html/invoking.html b/html/invoking.html
index f6c5ac7f..2c74479c 100644
--- a/html/invoking.html
+++ b/html/invoking.html
@@ -1,70 +1,70 @@
-
-
-
-
-
-
-
-
-Last update 28-Jan-2001
+Introduction to MBSE BBS.
+Distribution.
+
+
+If you find mbse bbs on another site it may be out of date. I have no control over these sites.
+New versions of mbse bbs are announced in the fidonet area LINUX_BBS. On the official fidonet
+nodes you can request the latest version with the magic MBSEBBS. You will then get a zip file,
+in this zip file is the original tar.gz file. This is to let systems who only support 8.3
+filenames to pickup the distribution package. You can also subscribe to the mailinglist
+mbse-announce@lists.sourceforge.net to receive announcements. This will also work for fidonet
+systems if you send your netmail via the official fido/internet gateway. You can also
+subscribe online at sourceforge
+History.
+Is it Y2K ready?
+Future plans.
+
-
-
-
-
+
+
+
+
+
+
+
+
+Last update 06-Jun-2001
-Starting and Stopping the BBS.
-
+
+
+
+
diff --git a/html/known_bugs.html b/html/known_bugs.html
index 56034619..de453187 100644
--- a/html/known_bugs.html
+++ b/html/known_bugs.html
@@ -1,37 +1,37 @@
-
-
-
-
-
-
-
-
-Last update 06-Jun-2001
+Starting and Stopping the BBS.
+
-
Last update 28-Jan-2001
-MBSE BBS - Known bugs.
-
-
-
- Go Back
-
-
-
+
+
+
+
+
+
+
+
+
+
Last update 28-Jan-2001
+MBSE BBS - Known bugs.
+
+
+
+ Go Back
+
+
+
diff --git a/html/license/index.htm b/html/license/index.htm
index eec8b7f2..d767ba44 100644
--- a/html/license/index.htm
+++ b/html/license/index.htm
@@ -1,39 +1,39 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+Last update 29-Jan-2001
-Licenses.
-
-Introduction
-
-Michiel Broek.
-License Documents.
-
-
-
-Back to Index
-
+
+
+
+
diff --git a/html/menus/control.html b/html/menus/control.html
index acc11d09..7db3196f 100644
--- a/html/menus/control.html
+++ b/html/menus/control.html
@@ -1,127 +1,127 @@
-
-
-
-
-
-
-
-
-Last update 29-Jan-2001
+Licenses.
+
+Introduction
+
+Michiel Broek.
+License Documents.
+
+
+
+Back to Index
+
-
-
-
-
+
+
+
+
+
+
+
+
+Last update 27-Jun-2001
-MBSE BBS Control Codes in ANSI and ASCII files
-
-
-
-Single Control characters
-
- Code Description
- ---- ---------------------------------------
- A Wait for a key
- B Print text above sec. level
- F Control-code F
- K Control-code K
- P Wait one second
- U Control-code U
-
-
-
-The control-B syntax is: ^B<seclevel>^B<The text to show>^B
-For example: ^B32000^BThis is the text^B
-Control-F followed by:
-
- Code Description
- ---- ---------------------------------------
- ! Display transfer protocol
- A Number of uploads
- B Number of downloads
- C Downloads in Kilobytes
- D Uploads in Kilobytes
- E Download plus upload Kilobytes
- F Download Kilobyte limit
- G Last transfer time
- H Current file area number
- I Current file area description
- J Download files limit
- K Description of user limit
-
-
-
-Control-K followed by:
-
- Code Description
- ---- ---------------------------------------
- A Print date in format DD-MM-YYYY
- B Print time in HH:MM:SS
- C Print date in DD-Mmm
- D Print date in DD-Mmm-YYYY
- E Print locked port baudrate
- F Last caller
- G Total users in userlist
- H Number of system calls
- I Current message area number
- J Current message area description
- K Print random oneliner
- L Print number of messages in current area.
- M Print users LastRead pointer of current message area.
- N Print users current e-mail mailbox name.
- O Print number of messages in current e-mail box.
- P Print users LastRead pointer of current e-mail box.
-
-
-
-Control-U followed by:
-
- Code Description
- ---- ---------------------------------------
- A User's full name
- B User's location
- C User's voice phone
- D User's data phone
- E User's last login date
- F User's first login date
- G User's last login time
- H User's security level
- I User's total calls
- J User's time used today
- K User's connect time this session
- L User's time left today
- M User's screen length
- N User's first name
- O User's last name
- P User's graphics mode (On/Off)
- Q User's news bulletins (On/Off)
- R User's hot-keys (On/Off)
- S User's daily time limit
- T User's date of birth
- U User's messages posted
- X User's language
- Y User's handle
- Z User's do not disturb flag (On/Off)
- 1 User's check for new mail (On/Off)
- 2 User's check for new files (On/Off)
- 3 User's fullscreen editor (On/Off);
-
-
-
-
-
-
-Main Index
-
-Menus Index
-
+
+
+
+
diff --git a/html/menus/index.htm b/html/menus/index.htm
index fa7b5fc3..8bb2d01b 100644
--- a/html/menus/index.htm
+++ b/html/menus/index.htm
@@ -1,166 +1,166 @@
-
-
-
-
-
-
-
-
-Last update 27-Jun-2001
+MBSE BBS Control Codes in ANSI and ASCII files
+
+
+
+Single Control characters
+
+ Code Description
+ ---- ---------------------------------------
+ A Wait for a key
+ B Print text above sec. level
+ F Control-code F
+ K Control-code K
+ P Wait one second
+ U Control-code U
+
+
+
+The control-B syntax is: ^B<seclevel>^B<The text to show>^B
+For example: ^B32000^BThis is the text^B
+Control-F followed by:
+
+ Code Description
+ ---- ---------------------------------------
+ ! Display transfer protocol
+ A Number of uploads
+ B Number of downloads
+ C Downloads in Kilobytes
+ D Uploads in Kilobytes
+ E Download plus upload Kilobytes
+ F Download Kilobyte limit
+ G Last transfer time
+ H Current file area number
+ I Current file area description
+ J Download files limit
+ K Description of user limit
+
+
+
+Control-K followed by:
+
+ Code Description
+ ---- ---------------------------------------
+ A Print date in format DD-MM-YYYY
+ B Print time in HH:MM:SS
+ C Print date in DD-Mmm
+ D Print date in DD-Mmm-YYYY
+ E Print locked port baudrate
+ F Last caller
+ G Total users in userlist
+ H Number of system calls
+ I Current message area number
+ J Current message area description
+ K Print random oneliner
+ L Print number of messages in current area.
+ M Print users LastRead pointer of current message area.
+ N Print users current e-mail mailbox name.
+ O Print number of messages in current e-mail box.
+ P Print users LastRead pointer of current e-mail box.
+
+
+
+Control-U followed by:
+
+ Code Description
+ ---- ---------------------------------------
+ A User's full name
+ B User's location
+ C User's voice phone
+ D User's data phone
+ E User's last login date
+ F User's first login date
+ G User's last login time
+ H User's security level
+ I User's total calls
+ J User's time used today
+ K User's connect time this session
+ L User's time left today
+ M User's screen length
+ N User's first name
+ O User's last name
+ P User's graphics mode (On/Off)
+ Q User's news bulletins (On/Off)
+ R User's hot-keys (On/Off)
+ S User's daily time limit
+ T User's date of birth
+ U User's messages posted
+ X User's language
+ Y User's handle
+ Z User's do not disturb flag (On/Off)
+ 1 User's check for new mail (On/Off)
+ 2 User's check for new files (On/Off)
+ 3 User's fullscreen editor (On/Off);
+
+
+
+
+
+
+Main Index
+
+Menus Index
+
-
Last update 27-Sep-2001
-MBSE BBS Menu System
-
-
-One of the most powerfull features of the BBS is it's menu system. You -have complete control over each individual menu item which can be restricted -according to criteria such as security levels. -
- -
-For the menus to work properly you can draw ANSI screens, this -is what the users will see. For Linux there is "Duh DRAW" written by Ben -Fowler, see sunsite.unc.edu /pub/Lunux/docs. -If you can't find it or have no internet access, you can also use -THEDRAW. This utility can be found on many BBS'es around the world. Unfortunatly -it is a DOS program so you will need dosemu on your Linux box or a seperate -DOS computer. You can define main screens and include screens for each -menu, the include screen may for example show the keys that you have available -in every menu. See the list of control codes. -
- -
-It is also possible to display menu lines with the buildin display option. -The used colors are selectable, a normal color and a bright color. -The normal color is the default, you can toggle bright on and of using -the ^ in the display line. If you end a menu display line with a ; then -no newline is send after that line. If you want to output teh ^ or ; characters -you need to escape them with a backslash like this: \; or \^. The order of menu -entries is important. -
- -
-A menu function is usually executed when a user presses the hot-key -assigned to that particular menu item. But menu functions can also be executed -automatically. Each menu item contains an AutoExec field. By default this -field is set to No, but by toggling it to Yes, the menu item can be made -to execute when it is played back (displayed) by the BBS.
--As you read through the menu function types outlined in this chapter, -you may come to realize that this is a very powerfull feature. For example, -when used with the menu function that displays a text file, you can design -very elaborate, graphical text file menus that you wouldn't normally be -able to display in a line-by-line menu.
--Automatic menu execution can be used in many other instances as well. -Just to give you some ideas, it might be used to display a text file to -users who have a security level equal to or greater than a certain level. -Yet another use is to execute multiple function menus which are used to -execute several functions when a single command is entered. -
- -
-For each language you can define a set of menus. Only for the default -language all menus must exist. It makes sense to make the filenames of -your menus for each language the same and not to translate them. If a menu -is missing for a non default language, the menu from the default language -path is used instead. -
- -
-The order of the menu lines in the setup is not important except for -the autoexec menus, they must be placed in the right order from start, -ie. begin with the menu specific screen display, then the global include -display and finally show the prompt. -
- - -
- -
-If a submenu is missing, the BBS falls back to the main menu. This menu -must be called "main" (or else set another name in the global -setup) or your BBS won't start and complain. Submenus may be nested 50 -levels deep. -
- - Back - - - + +
+ + + + + + +++ + diff --git a/html/menus/menu0.html b/html/menus/menu0.html index 9aa84efc..9716fa4a 100644 --- a/html/menus/menu0.html +++ b/html/menus/menu0.html @@ -1,176 +1,182 @@ - - - - - - - - -Last update 22-Oct-2001
+
+ +
MBSE BBS Menu System
+Menus sections: +Global menus +File areas +Message areas +User settings +Onliners +BBS lists +ANSI Control Codes +
++
+ + +Introduction.
++One of the most powerfull features of the BBS is it's menu system. You +have complete control over each individual menu item which can be restricted +according to criteria such as security levels. +
+ +
ANSI Screens.
++For the menus to work properly you can draw ANSI screens, this +is what the users will see. For Linux there is "Duh DRAW" written by Ben +Fowler, see sunsite.unc.edu /pub/Lunux/docs. +If you can't find it or have no internet access, you can also use +THEDRAW. This utility can be found on many BBS'es around the world. Unfortunatly +it is a DOS program so you will need dosemu on your Linux box or a seperate +DOS computer. You can define main screens and include screens for each +menu, the include screen may for example show the keys that you have available +in every menu. See the list of control codes. +
+ +
Display lines.
++It is also possible to display menu lines with the buildin display option. +The used colors are selectable, a normal color and a bright color. +The normal color is the default, you can toggle bright on and of using +the ^ in the display line. If you end a menu display line with a ; then +no newline is send after that line. If you want to output teh ^ or ; characters +you need to escape them with a backslash like this: \; or \^. The order of menu +entries is important. +
+ +
Automatic commands.
++A menu function is usually executed when a user presses the hot-key +assigned to that particular menu item. But menu functions can also be executed +automatically. Each menu item contains an AutoExec field. By default this +field is set to No, but by toggling it to Yes, the menu item can be made +to execute when it is played back (displayed) by the BBS.
++As you read through the menu function types outlined in this chapter, +you may come to realize that this is a very powerfull feature. For example, +when used with the menu function that displays a text file, you can design +very elaborate, graphical text file menus that you wouldn't normally be +able to display in a line-by-line menu.
++Automatic menu execution can be used in many other instances as well. +Just to give you some ideas, it might be used to display a text file to +users who have a security level equal to or greater than a certain level. +Yet another use is to execute multiple function menus which are used to +execute several functions when a single command is entered. +
+ +
Multiple languages.
++For each language you can define a set of menus. Only for the default +language all menus must exist. It makes sense to make the filenames of +your menus for each language the same and not to translate them. If a menu +is missing for a non default language, the menu from the default language +path is used instead. +
+ +
Editing a menu.
++The order of the menu lines in the setup is not important except for +the autoexec menus, they must be placed in the right order from start, +ie. begin with the menu specific screen display, then the global include +display and finally show the prompt. +
+ + +
+
+- Selection key. This is the key a user must press to activate +this menu. This field is ignored when AutoExec is set to Yes.
+ +- Type nr. this is the menu type to execute. For a description +of all available types see below.
+ +- Optional data. Some menus need optional data, for example the +function goto another menu needs the name of that menu file here.
+ +- Display. What is to be displayed to the user. You can use this instead +of ANSI screens. +
+ +- Security. This is the minimum security level to execute this +selection. The security is a level number combined with 32 bitmapped flags. +NOTE: level 0 and no flags means +everyone can select this menu. Good for logout options and all other options +everyone must be able to execute.
+ +- Min. age. The minumum age the user must be to execute this selection. +You may want to restrict access to certain areas to users older than 18 +years. If you leave this to 0, every one can execute this menu.
+ +- Max. lvl. The maximum level a user must have to execute this +menu. If you leave this at 0 then the maximum level has no effect.
+ +- Password. You can protect the menu selection with a password. +If this field is empty, no password check is done.
+ +- Credit. How much credit a user must have to execute this menu +selection. This field is not in use yet.
+ +- Lo-colors. The normal display color for the display line. +
+ +- Hi-colors. The bright display color for the display line.
+ +- AutoExec. If this is an automatic executed selection.
+ +- No door.sys Suppress writing of a door.sys file in the users +home directory. This item is only visible with menu type 7.
+ +- Y2K style Writes the dates in the door.sys file in the new style, +with 4 digit year numbers, else the old 2 digit style is used. This item +is only visible with menu type 7.
+ +- Use Comport Writes real comport to the door.sys file, this is +for dosemu with the vmodem patch. This item is only visible with menu +type 7.
+ +
+ +
Final warning.
++If a submenu is missing, the BBS falls back to the main menu. This menu +must be called "main" (or else set another name in the global +setup) or your BBS won't start and complain. Submenus may be nested 50 +levels deep. +
+ + Back +
-- - - + + + + + + + + +Last update 26-Sep-2001
-
- -
MBSE BBS Global Menus
-
- -- -
- -- Goto another menu: This will start the execution - of another menu. The current menu level is not stored on the stack.
- Optional data: The name of the new menu.
-- -
- Gosub another menu: This will start the execution - of another menu. The current menu level is stored on the stack. Gosub's may - be nested 50 levels deep.
- Optional data: The name of the new menu.
-- -
- Return from Gosub: This will go back one - gosub level. If you are already at the top level nothing happens.
- Optional data: None.
-- -
- Return to top menu: Return to the top (main) - menu. The name of this menu is set in the global setup. - Default is main.mnu
- Optional data: None.
-- -
- Display .a?? file with controlcodes: This will - display an ANSI file to the user. If the user has Graphics No set - then the ASCII version is shown. Search is done first in the users language - path and if that fails the default language path is used. - Control codes in the - file are substituted with the current values the represent.
- Optional data: The name of the file to display. Do not - give the filename extension!
-- -
- Show menu prompt: Display the menu prompt.
- Optional data: The prompt to display. This string may - contain some control characters that are replaced with information. The - prompt is displayed in White on Black and is hardcoded at the moment. --
-- ~ This will insert the number of minutes the user - has left. -
- @ This will insert the name of the current file area. -
- ^ This will insert the name of the current message area. -
- # This will insert the current local time. -
- -
- Run external program: This will execute - external programs.
- Optional data: The full path and filename of the external - program. This can be a shell too. Look for a lot of programs, for example - if you want to give your users internet mail with elm, the user can get a - shell prompt by typing !/bin/sh. If you want this look for - anyway you might consider using a restricted shell.
-- -
- Show product information: This will show - copyright information about MBSE BBS.
- Optional data: None.
-- -
- Display todays callers: This will display a - list of todays callers to the BBS.
- Optional data: "/H" Show handles instead of real names.
-- -
- Display userlist: Display all users in the - users database except those that are hidden.
- Optional data: "/H" Show handles instead of real names.
-- -
- Time statistics: Display the users time - statistics.
- Optional data: None.
-- -
- Page Sysop: Page sysop for a chat.
- Optional data: A message to the user
- The message to the user could be something like "Calling sysop, please - wait ..." or "I will see if Michiel wants to chat with you, please wait!" - As sysop you will know best what to put in that line. -- -
- Terminate call: Terminale this call and - hangup.
- Optional data: None. -- -
- Make a log entry: This will write a line in - the logfile.
- Optional data: The information you want in the logfile.
-- -
- Print text to screen: Write text to the users - screen.
- Optional data: The text that must appear on the users - screen. The @ character is replaced with a newline.
-- -
- Who is online: Displays the who is online - list and what they are doing. Users that are hidden are not displayed.
- Optional data: "/H" Show handles instead of real names.
-- -
- Comment to sysop: Enter the texteditor and - let the user write a message to the sysop. The area is predefined in the - global setup.
- Optional data: None.
-- -
- Send online message: Send an online message - to a user on another line. - Optional data: "/H" Use handles instead of real names.
-- -
- Display textfile with more: This will display - a textfile to the user. After each full screen the user is prompted with - More Y/n/=.
- Optional data: The full path and filename to the file.
-- -
- Display .a?? file with control codes and wait: - This will display a ANSI or ASCII file to the user with - control codes and wait for Enter when it is finished.
- Optional data: The filename without extension of the - file to display.
-- -
- Display line This entry does nothing except - that it displays the text on the display line. This is always displayed, - even if the display line is empty. In that case an empty line is displayed.
- Optional data: None.
-- -
- Nextuser door: This runs the message to next - user door.
- Optional data: None.
-- -
- Timebank door: This runs the time bank door.
- Optional data: None.
-- -
- Safe cracker door: This runs the Safe Cracker - door.
- Optional data: None.
-
- - Main Index - - Menus Index -
++ + + diff --git a/html/menus/menu100.html b/html/menus/menu100.html index 95e18066..9f63e2d2 100644 --- a/html/menus/menu100.html +++ b/html/menus/menu100.html @@ -1,147 +1,147 @@ - - - - - - - - -Last update 22-Oct-2001
+
+ +
MBSE BBS Global Menus
+
+ ++ +
+ +- Goto another menu: This will start the execution + of another menu. The current menu level is not stored on the stack.
+ Optional data: The name of the new menu.
++ +
- Gosub another menu: This will start the execution + of another menu. The current menu level is stored on the stack. Gosub's may + be nested 50 levels deep.
+ Optional data: The name of the new menu.
++ +
- Return from Gosub: This will go back one + gosub level. If you are already at the top level nothing happens.
+ Optional data: None.
++ +
- Return to top menu: Return to the top (main) + menu. The name of this menu is set in the global setup. + Default is main.mnu
+ Optional data: None.
++ +
- Display .a?? file with controlcodes: This will + display an ANSI file to the user. If the user has Graphics No set + then the ASCII version is shown. Search is done first in the users language + path and if that fails the default language path is used. + Control codes in the + file are substituted with the current values the represent.
+ Optional data: The name of the file to display. Do not + give the filename extension!
++ +
- Show menu prompt: Display the menu prompt.
+ Optional data: The prompt to display. This string may + contain some control characters that are replaced with information. The + prompt is displayed in White on Black and is hardcoded at the moment. ++
+- ~ This will insert the number of minutes the user + has left. +
- @ This will insert the name of the current file area. +
- ^ This will insert the name of the current message area. +
- # This will insert the current local time. +
+ +
- Run external program: This will execute + external programs.
+ Optional data: The full path and filename of the external + program to run. There are a few switches you can give on the commandline: ++
+- /N will be replaced by the current nodenumber. The nodenumber is + faked by using the record number of the tty lines setup. +
- /A will prompt for a filename to enter. The filename the user + enters is then replaced on the commandline. This is a dangerous option! +
- /T=your prompt is an alternate prompt for entering a filename + if used together with the /A option. +
++ +
- Show product information: This will show + copyright information about MBSE BBS.
+ Optional data: None.
++ +
- Display todays callers: This will display a + list of todays callers to the BBS.
+ Optional data: "/H" Show handles instead of real names.
++ +
- Display userlist: Display all users in the + users database except those that are hidden.
+ Optional data: "/H" Show handles instead of real names.
++ +
- Time statistics: Display the users time + statistics.
+ Optional data: None.
++ +
- Page Sysop: Page sysop for a chat.
+ Optional data: A message to the user
+ The message to the user could be something like "Calling sysop, please + wait ..." or "I will see if Michiel wants to chat with you, please wait!" + As sysop you will know best what to put in that line. ++ +
- Terminate call: Terminale this call and + hangup.
+ Optional data: None. ++ +
- Make a log entry: This will write a line in + the logfile.
+ Optional data: The information you want in the logfile.
++ +
- Print text to screen: Write text to the users + screen.
+ Optional data: The text that must appear on the users + screen. The @ character is replaced with a newline.
++ +
- Who is online: Displays the who is online + list and what they are doing. Users that are hidden are not displayed.
+ Optional data: "/H" Show handles instead of real names.
++ +
- Comment to sysop: Enter the texteditor and + let the user write a message to the sysop. The area is predefined in the + global setup.
+ Optional data: None.
++ +
- Send online message: Send an online message + to a user on another line. + Optional data: "/H" Use handles instead of real names.
++ +
- Display textfile with more: This will display + a textfile to the user. After each full screen the user is prompted with + More Y/n/=.
+ Optional data: The full path and filename to the file.
++ +
- Display .a?? file with control codes and wait: + This will display a ANSI or ASCII file to the user with + control codes and wait for Enter when it is finished.
+ Optional data: The filename without extension of the + file to display.
++ +
- Display line This entry does nothing except + that it displays the text on the display line. This is always displayed, + even if the display line is empty. In that case an empty line is displayed.
+ Optional data: None.
++ +
- Nextuser door: This runs the message to next + user door.
+ Optional data: None.
++ +
- Timebank door: This runs the time bank door.
+ Optional data: None.
++ +
- Safe cracker door: This runs the Safe Cracker + door.
+ Optional data: None.
+
+ + Main Index + + Menus Index +
-- - - + + + + + + + + +Last update 02-Feb-2001
-
- -
MBSE BBS File Area Menus
-
- -- -
- -- Select another area: This option will show - a list of available areas and let the user select a new area. If there is - optional data the new area will be selected without user intervention.
- Optional data: If there is an option the area is direct - selected. Current options are: F+ goto next available area. - F- goto previous available area.
-- -
- File List: This option will display a list - of files with their dates, sizes and description. During the display of the - list the user can select (Tag) files for later download.
- Optional data: None.
-- -
- View File: Not yet implemented.
- Optional data: None.
-- -
- Download File(s): This option will start to - transmit files to the user if he has tagged files for download. Tagging files - for download can be done during File List, Keyword Scan, Filename Scan or - Newfile Scan. If a user didn't select a transfer protocol before now he will be - forced to select a file transfer protocol.
- Optional Data: None.
-- -
- Raw Directory: This option will display the - contents of a directory in raw format.
- Optional data: If the option is /F the - contents of the current directory is shown. If the option is the full path - to a directory, the contents of that directory is shown.
-- -
- Keyword Scan: This option will search for - files in the files database for a matching keyword. The search is not case - sensitive. If there are files found the user is able to select (Tag) these - files for later download.
- Optional data: None.
-- -
- Filename Scan: This option will search for - a filename match in the files database. The search is not case sensitive. - If there are files found the user is able to select (Tag) these files for - later download.
- Optional data: None.
-- -
- Newfiles Scan: This option will scan for new - files available for download since the last time the user was online. As - option the user can change that date from which to start the search. Any files - found the user may select (Tag) for later download.
- Optional data: None.
-- -
- Upload: This option will let the user upload - files to the bbs. If the current area has an alternate upload area, the upload - will end up in that area. If the user uses X-modem or another ancient protocol - he will first be asked for a filename. Normal modern protocols don't need this. - The filename is checked before the transfer is done to protect the bbs. Further - the files the user will upload will at first be placed under the users home - directory ~/upl. After the upload(s) the files are checked - for virusses. If all is well, the file is imported in the bbs. If the file - contains a valid FILE_ID.DIZ file inside the archive, that file will be used - for the description of the upload, if not, the uploader will have to describe - the file.
- Optional data: None.
-- -
- Edit Taglist: This option is for the user to - edit the list of files he has tagged for later download.
- Optional data: None.
-- -
- View file in homedir: Not yet implemented.
- Optional data: None.
-- -
- Download Direct: Download a file direct.
- Optional data: The full path and filename to the file to - download.
-- -
- Copy file to Homedir: This option will copy - a file from a download directory to the users home directory. It will be - checked if the user has enough room in his directory, the default Quota for - users is 10 MBytes.
- Optional data: None.
-- -
- List Homedir: This option will list the files - in the users home directory.
- Optional data: None.
-- -
- Delete in Homedir: This option will let the - user delete one or more files from his home directory.
- Optional data: None.
-- -
- Unpack file in Homedir: Not yet implemented.
- Optional data: None.
-- -
- Pack files in Homedir: Not yet implemented.
- Optional data: None.
-- -
- Download Homedir: This option will let the - user download from his home directory.
- Optional data: None.
-- -
- Upload Homedir: This option will let the user - upload files to his home directory.
- Optional data: None.
-
- -Main Index - -Menus Index -
++ + + diff --git a/html/menus/menu200.html b/html/menus/menu200.html index ba4ca392..e8515960 100644 --- a/html/menus/menu200.html +++ b/html/menus/menu200.html @@ -1,138 +1,138 @@ - - - - - - - - -Last update 02-Feb-2001
+
+ +
MBSE BBS File Area Menus
+
+ ++ +
+ +- Select another area: This option will show + a list of available areas and let the user select a new area. If there is + optional data the new area will be selected without user intervention.
+ Optional data: If there is an option the area is direct + selected. Current options are: F+ goto next available area. + F- goto previous available area.
++ +
- File List: This option will display a list + of files with their dates, sizes and description. During the display of the + list the user can select (Tag) files for later download.
+ Optional data: None.
++ +
- View File: Not yet implemented.
+ Optional data: None.
++ +
- Download File(s): This option will start to + transmit files to the user if he has tagged files for download. Tagging files + for download can be done during File List, Keyword Scan, Filename Scan or + Newfile Scan. If a user didn't select a transfer protocol before now he will be + forced to select a file transfer protocol.
+ Optional Data: None.
++ +
- Raw Directory: This option will display the + contents of a directory in raw format.
+ Optional data: If the option is /F the + contents of the current directory is shown. If the option is the full path + to a directory, the contents of that directory is shown.
++ +
- Keyword Scan: This option will search for + files in the files database for a matching keyword. The search is not case + sensitive. If there are files found the user is able to select (Tag) these + files for later download.
+ Optional data: None.
++ +
- Filename Scan: This option will search for + a filename match in the files database. The search is not case sensitive. + If there are files found the user is able to select (Tag) these files for + later download.
+ Optional data: None.
++ +
- Newfiles Scan: This option will scan for new + files available for download since the last time the user was online. As + option the user can change that date from which to start the search. Any files + found the user may select (Tag) for later download.
+ Optional data: None.
++ +
- Upload: This option will let the user upload + files to the bbs. If the current area has an alternate upload area, the upload + will end up in that area. If the user uses X-modem or another ancient protocol + he will first be asked for a filename. Normal modern protocols don't need this. + The filename is checked before the transfer is done to protect the bbs. Further + the files the user will upload will at first be placed under the users home + directory ~/upl. After the upload(s) the files are checked + for virusses. If all is well, the file is imported in the bbs. If the file + contains a valid FILE_ID.DIZ file inside the archive, that file will be used + for the description of the upload, if not, the uploader will have to describe + the file.
+ Optional data: None.
++ +
- Edit Taglist: This option is for the user to + edit the list of files he has tagged for later download.
+ Optional data: None.
++ +
- View file in homedir: Not yet implemented.
+ Optional data: None.
++ +
- Download Direct: Download a file direct.
+ Optional data: The full path and filename to the file to + download.
++ +
- Copy file to Homedir: This option will copy + a file from a download directory to the users home directory. It will be + checked if the user has enough room in his directory, the default Quota for + users is 10 MBytes.
+ Optional data: None.
++ +
- List Homedir: This option will list the files + in the users home directory.
+ Optional data: None.
++ +
- Delete in Homedir: This option will let the + user delete one or more files from his home directory.
+ Optional data: None.
++ +
- Unpack file in Homedir: Not yet implemented.
+ Optional data: None.
++ +
- Pack files in Homedir: Not yet implemented.
+ Optional data: None.
++ +
- Download Homedir: This option will let the + user download from his home directory.
+ Optional data: None.
++ +
- Upload Homedir: This option will let the user + upload files to his home directory.
+ Optional data: None.
+
+ +Main Index + +Menus Index +
-- - - + + + + + + + + +Last update 02-Feb-2001
-
- -
MBSE BBS Message Area Menus
-
- -- -
- -- Select another area: This option will show - a list of all available areas and let the user select a new area. If there - is optional data the area will be selected without user intervention.
- Optional data: If there is an option the area is direct - selected. Current options are M+ goto the next available - area. M- goto the previous available area.
-- -
- Post a Message: This option lets the user - post a new message.
- Optional data: None.
-- -
- Read Messages: This option lets the user - read messages. If he has done that before in that area he will be suggested - to start after the message he has last read. During reading of messages - the user can reply to other messages.
- Optional data: None.
-- -
- Check for Mail: Check for new arrived mail.
- Optional data: None.
-- -
- Quickscan Messages: Make a quick overview - list of all messages in that area.
- Optional data: None.
-- -
- Delete a Message: This option will let the - user delete a specific message. He must the the owner or recipient of that - message or have sysop rights in that area to be able to delete a message.
- Optional data: None.
-- -
- Mail Status: This gives a complete overview - of all available mail at the bbs.
- Optional data: None.
-- -
- OLR: Tag Area: This option lets - the user tag one or more areas to be included in his offline mail packet.
- Optional data: None.
-- -
- OLR: Untag Area: This option lets - the user untag one or more areas not to be included in his offline mail - packet.
- Optional data: None.
-- -
- OLR: View Tags: This option lets - the user view which areas will be included in his offline mail packet.
- Optional data: None.
-- -
- OLR: Restrict Date: Not yet - implemented.
- Optional data: None.
-- -
- OLR: Upload Mail: Let the user upload - mail or a new offline reader setup. The packet format is automatic detected. - Currently BlueWave is supported. QWK support will be added later.
- Optional data: None.
-- -
- OLR: Download BlueWave: Download mail in - BlueWave version 2 format.
- Optional data: None.
-- -
- OLR: Download QWK: Download mail in QWK - format.
- Optional data: None.
-- -
- OLR: Download ASCII: Download mail in flat - ASCII format. Not yet implemented.
- Optional data: None.
-- -
- Read Email Read users private email.
- Optional data: None.
-- -
- Write Email Post an email message.
- Optional data: None.
-- -
- Trash Email Put email in the trashcan. - Not Yet implemented.
- Optional data: None.
-- -
- Choose Mailbox Choose another private - mailbox. Valid boxes are: mailbox (normal in/out), archive and trash.
- Optional data: If there is an option the area is direct - selected. Current options are M+ goto the next mailbox. - M- goto the previous mailbox.
-- -
- Quickscan Email Make a quick overview - list of all messages in the selected e-mail area.
- Optional data: None.
--
- -Main Index - -Menus Index -
++ + + diff --git a/html/menus/menu300.html b/html/menus/menu300.html index 3fd35ae1..2f2f9335 100644 --- a/html/menus/menu300.html +++ b/html/menus/menu300.html @@ -1,99 +1,99 @@ - - - - - - - - -Last update 02-Feb-2001
+
+ +
MBSE BBS Message Area Menus
+
+ ++ +
+ +- Select another area: This option will show + a list of all available areas and let the user select a new area. If there + is optional data the area will be selected without user intervention.
+ Optional data: If there is an option the area is direct + selected. Current options are M+ goto the next available + area. M- goto the previous available area.
++ +
- Post a Message: This option lets the user + post a new message.
+ Optional data: None.
++ +
- Read Messages: This option lets the user + read messages. If he has done that before in that area he will be suggested + to start after the message he has last read. During reading of messages + the user can reply to other messages.
+ Optional data: None.
++ +
- Check for Mail: Check for new arrived mail.
+ Optional data: None.
++ +
- Quickscan Messages: Make a quick overview + list of all messages in that area.
+ Optional data: None.
++ +
- Delete a Message: This option will let the + user delete a specific message. He must the the owner or recipient of that + message or have sysop rights in that area to be able to delete a message.
+ Optional data: None.
++ +
- Mail Status: This gives a complete overview + of all available mail at the bbs.
+ Optional data: None.
++ +
- OLR: Tag Area: This option lets + the user tag one or more areas to be included in his offline mail packet.
+ Optional data: None.
++ +
- OLR: Untag Area: This option lets + the user untag one or more areas not to be included in his offline mail + packet.
+ Optional data: None.
++ +
- OLR: View Tags: This option lets + the user view which areas will be included in his offline mail packet.
+ Optional data: None.
++ +
- OLR: Restrict Date: Not yet + implemented.
+ Optional data: None.
++ +
- OLR: Upload Mail: Let the user upload + mail or a new offline reader setup. The packet format is automatic detected. + Currently BlueWave is supported. QWK support will be added later.
+ Optional data: None.
++ +
- OLR: Download BlueWave: Download mail in + BlueWave version 2 format.
+ Optional data: None.
++ +
- OLR: Download QWK: Download mail in QWK + format.
+ Optional data: None.
++ +
- OLR: Download ASCII: Download mail in flat + ASCII format. Not yet implemented.
+ Optional data: None.
++ +
- Read Email Read users private email.
+ Optional data: None.
++ +
- Write Email Post an email message.
+ Optional data: None.
++ +
- Trash Email Put email in the trashcan. + Not Yet implemented.
+ Optional data: None.
++ +
- Choose Mailbox Choose another private + mailbox. Valid boxes are: mailbox (normal in/out), archive and trash.
+ Optional data: If there is an option the area is direct + selected. Current options are M+ goto the next mailbox. + M- goto the previous mailbox.
++ +
- Quickscan Email Make a quick overview + list of all messages in the selected e-mail area.
+ Optional data: None.
++
+ +Main Index + +Menus Index +
-- - - + + + + + + + + +Last update 02-Feb-2001
-
- -
MBSE BBS User Settings Menus
-
- -- -
- -- Change Transfer Protocol: Let the user - select a new file transfer protocol.
- Optional data: None.
-- -
- Change Password: Let the user change - his FidoNet password.
- Optional data: None.
-- -
- Change Location: Let the user change - his location.
- Optional data: None.
-- -
- Change Graphics: Let the user toggle - graphics mode on or off.
- Optional data: None.
-- -
- Change Voicephone: Let the user change - his voice phonenumber.
- Optional data: None.
-- -
- Change Dataphone: Let the user change - his data phonenumber.
- Optional data: None.
-- -
- Change Expertmode: This command will be - removed.
- Optional data: None.
-- -
- Change Scrennlength: This command will - let the user set a new screenlength, the default is 24.
- Optional data: None.
-- -
- Change Date of Birth: Let the user set a - new date of birth. Check's are done if the date is more or less realistic. - This command should not be made available users if you use the regular - date of birth validation check.
- Optional data: None.
-- -
- Change Language: Let the user select a new - default language.
- Optional data: None.
-- -
- Change Hotkeys: Let the user toggle the - use of Hotkeys on or off..
- Optional data: None.
-- -
- Change Handle: Let the user select a new - handle (nickname).
- Optional data: None.
-- -
- Change Don't Disturb: Let the user toggle - the "do not disturb" flag.
- Optional data: None.
-- -
- -Main Index - -Menus Index -
++ + + diff --git a/html/menus/menu400.html b/html/menus/menu400.html index 68b341a9..0854a008 100644 --- a/html/menus/menu400.html +++ b/html/menus/menu400.html @@ -1,60 +1,60 @@ - - - - - - - - -Last update 02-Feb-2001
+
+ +
MBSE BBS User Settings Menus
+
+ ++ +
+ +- Change Transfer Protocol: Let the user + select a new file transfer protocol.
+ Optional data: None.
++ +
- Change Password: Let the user change + his FidoNet password.
+ Optional data: None.
++ +
- Change Location: Let the user change + his location.
+ Optional data: None.
++ +
- Change Graphics: Let the user toggle + graphics mode on or off.
+ Optional data: None.
++ +
- Change Voicephone: Let the user change + his voice phonenumber.
+ Optional data: None.
++ +
- Change Dataphone: Let the user change + his data phonenumber.
+ Optional data: None.
++ +
- Change Expertmode: This command will be + removed.
+ Optional data: None.
++ +
- Change Scrennlength: This command will + let the user set a new screenlength, the default is 24.
+ Optional data: None.
++ +
- Change Date of Birth: Let the user set a + new date of birth. Check's are done if the date is more or less realistic. + This command should not be made available users if you use the regular + date of birth validation check.
+ Optional data: None.
++ +
- Change Language: Let the user select a new + default language.
+ Optional data: None.
++ +
- Change Hotkeys: Let the user toggle the + use of Hotkeys on or off..
+ Optional data: None.
++ +
- Change Handle: Let the user select a new + handle (nickname).
+ Optional data: None.
++ +
- Change Don't Disturb: Let the user toggle + the "do not disturb" flag.
+ Optional data: None.
++ +
+ +Main Index + +Menus Index +
-- - - + + + + + + + + +Last update 02-Feb-2001
-
- -
MBSE BBS Oneliner Menus
-
- -- -
- -- Oneliner Add: Let the user add a new - oneliner.
- Optional data: None.
-- -
- Oneliner List: Let the user list all the - available oneliners.
- Optional data: None.
-- -
- Oneliner Show: Let the user show a - specific oneliner.
- Optional data: None.
-- -
- Oneliner Delete: Let the user delete a - oneliner. In order to do so he must be the owner of that oneliner or - he must have sysop access level. The oneliner is not really removed, only - marked for deletion.
- Optional data: None.
-- -
- Oneliner Print: Show a random chosen - oneliner on the screen. If you make this command automatic, each time that - this menu is executed a new oneliner will popup.
- Optional data: None.
-- -
- -Main Index - -Menus Index -
++ + + diff --git a/html/menus/menu500.html b/html/menus/menu500.html index bc2972b9..3db58ecf 100644 --- a/html/menus/menu500.html +++ b/html/menus/menu500.html @@ -1,56 +1,56 @@ - - - - - - - - -Last update 02-Feb-2001
+
+ +
MBSE BBS Oneliner Menus
+
+ ++ +
+ +- Oneliner Add: Let the user add a new + oneliner.
+ Optional data: None.
++ +
- Oneliner List: Let the user list all the + available oneliners.
+ Optional data: None.
++ +
- Oneliner Show: Let the user show a + specific oneliner.
+ Optional data: None.
++ +
- Oneliner Delete: Let the user delete a + oneliner. In order to do so he must be the owner of that oneliner or + he must have sysop access level. The oneliner is not really removed, only + marked for deletion.
+ Optional data: None.
++ +
- Oneliner Print: Show a random chosen + oneliner on the screen. If you make this command automatic, each time that + this menu is executed a new oneliner will popup.
+ Optional data: None.
++ +
+ +Main Index + +Menus Index +
-- - - + + + + + + + + +Last update 02-Feb-2001
-
- -
MBSE BBS BBS List Menus
-
- -- -
- -- Add a BBS: Let the user add a BBS to the - BBS advertising database.
- Optional data: None.
-- -
- List BBS'es: Show a list of BBS'es in the - BBS database.
- Optional data: None.
-- -
- Show BBS: Show a specific BBS.
- Optional data: None.
-- -
- Delete BBS: Delete a specific BBS. The BBS - must have been entered by the user or the user must have sysop rights to - be able to delete a BBS.
- Optional data: None.
-- -
- Search BBS: Search for a specific BBS.
- Optional data: None.
-- -
- -Main Index - -Menus Index -
++ + + diff --git a/html/mgetty.html b/html/mgetty.html index 0b7e6c23..a3ce2e20 100644 --- a/html/mgetty.html +++ b/html/mgetty.html @@ -1,172 +1,172 @@ - - - - - - - - -Last update 02-Feb-2001
+
+ +
MBSE BBS BBS List Menus
+
+ ++ +
+ +- Add a BBS: Let the user add a BBS to the + BBS advertising database.
+ Optional data: None.
++ +
- List BBS'es: Show a list of BBS'es in the + BBS database.
+ Optional data: None.
++ +
- Show BBS: Show a specific BBS.
+ Optional data: None.
++ +
- Delete BBS: Delete a specific BBS. The BBS + must have been entered by the user or the user must have sysop rights to + be able to delete a BBS.
+ Optional data: None.
++ +
- Search BBS: Search for a specific BBS.
+ Optional data: None.
++ +
+ +Main Index + +Menus Index +
-- - - + + + + + + + + +Last update 29-Jan-2001
-
- -
Setup mgetty for MBSE BBS
--To handle incoming calls you can use mgetty written by -Gert Doering, (gert@greenie.muc.de). Others may work. You have to compile -mgetty with the -DFIDO flag to accept Fidonet mailer calls. -If you want incoming PPP calls as well, add the -DAUTO_PPP as well. Below -you can see the mgetty.config and login.config for mgetty that I use. I -have also included a part of my /etc/inittab to show how mgetty - will spawn from init. -
- -
--# inittab This is only a part of my /etc/inittab! -# In this example it runs in runlevel 3 and 4. -# -# Serial lines -s1:34:respawn:/usr/local/sbin/mgetty -i /opt/mbse/etc/issue ttyS0 -# -# End of /etc/inittab --
--# mgetty configuration file: mgetty.config -# -# ----- global section ----- -# -# In this section, you put the global defaults, per-port stuff is below -# -# set the global debug level to "4" (default from policy.h) -debug 4 -# -# set the local fax station id -fax-id ++31-255-515973 -# -# access the modem(s) with 38400 bps -speed 38400 -# -# use these options to make the /dev/tty-device owned by "uucp.uucp" -# and mode "rw-rw-r--" (0664). *LEADING ZERO NEEDED!* -port-owner uucp -port-group uucp -port-mode 0664 -# -# use these options to make incoming faxes owned by "root.uucp" -# and mode "rw-r-----" (0640). *LEADING ZERO NEEDED!* -fax-owner root -fax-group uucp -fax-mode 0640 -# -# -# ----- port specific section ----- -# -# Here you can put things that are valid only for one line, not the others -# -# Dynalink 1428EXTRA faxmodem at port 0 (COM1). -# -port ttyS0 -speed 57600 -switchbd 19200 -modem-type cls2 -init-chat "" \d\dAT&F&C1&D3X4W2B0M0Q0V1H0&K3S0=0 OK -# -# end of mgetty.config --
--# login.config -# -# This is a sample "login dispatcher" configuration file for mgetty -# -# Format: -# username userid utmp_entry login_program [arguments] -# -# Meaning: -# for a "username" entered at mgettys login: prompt, call -# "login_program" with [arguments], with the uid set to "userid", -# and a USER_PROCESS utmp entry with ut_user = "utmp_entry" -# -# -# Use this one for fido calls (login name /FIDO/ is handled specially) -# -# mgetty has to be compiled with "-DFIDO", otherwise a fido call won't -# be detected. -# -/FIDO/ mbse fido /opt/mbse/bin/mbcico @ -# -# -# Automatic PPP startup on receipt of LCP configure request (AutoPPP). -# mgetty has to be compiled with "-DAUTO_PPP" for this to work. -# Warning: Case is significant, AUTOPPP or autoppp won't work! -# Consult the "pppd" man page to find pppd options that work for you. -# See also PPP-HOWTO on how to set this up. -# -/AutoPPP/ - a_ppp /etc/ppp/paplogin -# -# This is the "standard" behaviour - *dont* set a userid or utmp -# entry here, otherwise /bin/login will fail! -# This entry isn't really necessary: if it's missing, the built-in -# default will do exactly this. -# -* - - /bin/login @ -# -# You might use this instead, it will directly start the BBS when the call -# is not a PPP call and not a Fidonet mailer. Use only one of these two! -# THIS IS NOT YET TESTED! -# -* - - /opt/mbse/bin/mbsebbs -# -# end of login.config --
- --If you use /bin/login the users can get confused by the Unix login prompt. -Most of them are used to DOS based bbs systems and will try to login with -two names which won't work of course. For this reason I have added the --i /opt/mbse/etc/issue options to the mgetty -line in /etc/inittab. The file /opt/mbse/etc/issue is a plain textfile -explaining users how to login to start the bbs. It could look like this:
-- - .--. Welcome at MBSE BBS Development. - |o_o | -------------------------------- - |:_/ | - // \ \ This may or may not work today... - (| | ) - /'\_ _/`\ - \___)=(___/ -Powered by Linux. - -To start the bbs login with "bbs" without quotes. -Voor het bbs login met "bbs" zonder aanhalingstekens. --There is a default /opt/mbse/etc/issue installed by the installation script. -You need to edit this to insert your bbs name in it or even completely replace -this file for a nicer one. Don't make it too big, don't put control characters -in it as this may prevent some mailers to connect to your system. --I discovered that some systems don't have the right permissions on the serial -port for MBSE BBS. To fix this type the following commands: -
-su -password: enter root password here -chmod 666 /dev/ttyS0 -chown uucp.uucp /dev/ttyS0 -exit --Note that /dev/ttyS0 is for COM1, /dev/ttyS1 for COM2 etc. -- - Go Back -
++ + + diff --git a/html/misc/dropfile.html b/html/misc/dropfile.html index f4e86ebc..1cb819f1 100644 --- a/html/misc/dropfile.html +++ b/html/misc/dropfile.html @@ -1,117 +1,117 @@ - - - - - - - - -Last update 29-Jan-2001
+
+ +
Setup mgetty for MBSE BBS
++To handle incoming calls you can use mgetty written by +Gert Doering, (gert@greenie.muc.de). Others may work. You have to compile +mgetty with the -DFIDO flag to accept Fidonet mailer calls. +If you want incoming PPP calls as well, add the -DAUTO_PPP as well. Below +you can see the mgetty.config and login.config for mgetty that I use. I +have also included a part of my /etc/inittab to show how mgetty + will spawn from init. +
+ +
++# inittab This is only a part of my /etc/inittab! +# In this example it runs in runlevel 3 and 4. +# +# Serial lines +s1:34:respawn:/usr/local/sbin/mgetty -i /opt/mbse/etc/issue ttyS0 +# +# End of /etc/inittab ++
++# mgetty configuration file: mgetty.config +# +# ----- global section ----- +# +# In this section, you put the global defaults, per-port stuff is below +# +# set the global debug level to "4" (default from policy.h) +debug 4 +# +# set the local fax station id +fax-id ++31-255-515973 +# +# access the modem(s) with 38400 bps +speed 38400 +# +# use these options to make the /dev/tty-device owned by "uucp.uucp" +# and mode "rw-rw-r--" (0664). *LEADING ZERO NEEDED!* +port-owner uucp +port-group uucp +port-mode 0664 +# +# use these options to make incoming faxes owned by "root.uucp" +# and mode "rw-r-----" (0640). *LEADING ZERO NEEDED!* +fax-owner root +fax-group uucp +fax-mode 0640 +# +# +# ----- port specific section ----- +# +# Here you can put things that are valid only for one line, not the others +# +# Dynalink 1428EXTRA faxmodem at port 0 (COM1). +# +port ttyS0 +speed 57600 +switchbd 19200 +modem-type cls2 +init-chat "" \d\dAT&F&C1&D3X4W2B0M0Q0V1H0&K3S0=0 OK +# +# end of mgetty.config ++
++# login.config +# +# This is a sample "login dispatcher" configuration file for mgetty +# +# Format: +# username userid utmp_entry login_program [arguments] +# +# Meaning: +# for a "username" entered at mgettys login: prompt, call +# "login_program" with [arguments], with the uid set to "userid", +# and a USER_PROCESS utmp entry with ut_user = "utmp_entry" +# +# +# Use this one for fido calls (login name /FIDO/ is handled specially) +# +# mgetty has to be compiled with "-DFIDO", otherwise a fido call won't +# be detected. +# +/FIDO/ mbse fido /opt/mbse/bin/mbcico @ +# +# +# Automatic PPP startup on receipt of LCP configure request (AutoPPP). +# mgetty has to be compiled with "-DAUTO_PPP" for this to work. +# Warning: Case is significant, AUTOPPP or autoppp won't work! +# Consult the "pppd" man page to find pppd options that work for you. +# See also PPP-HOWTO on how to set this up. +# +/AutoPPP/ - a_ppp /etc/ppp/paplogin +# +# This is the "standard" behaviour - *dont* set a userid or utmp +# entry here, otherwise /bin/login will fail! +# This entry isn't really necessary: if it's missing, the built-in +# default will do exactly this. +# +* - - /bin/login @ +# +# You might use this instead, it will directly start the BBS when the call +# is not a PPP call and not a Fidonet mailer. Use only one of these two! +# THIS IS NOT YET TESTED! +# +* - - /opt/mbse/bin/mbsebbs +# +# end of login.config ++
+ ++If you use /bin/login the users can get confused by the Unix login prompt. +Most of them are used to DOS based bbs systems and will try to login with +two names which won't work of course. For this reason I have added the +-i /opt/mbse/etc/issue options to the mgetty +line in /etc/inittab. The file /opt/mbse/etc/issue is a plain textfile +explaining users how to login to start the bbs. It could look like this:
++ + .--. Welcome at MBSE BBS Development. + |o_o | -------------------------------- + |:_/ | + // \ \ This may or may not work today... + (| | ) + /'\_ _/`\ + \___)=(___/ +Powered by Linux. + +To start the bbs login with "bbs" without quotes. +Voor het bbs login met "bbs" zonder aanhalingstekens. ++There is a default /opt/mbse/etc/issue installed by the installation script. +You need to edit this to insert your bbs name in it or even completely replace +this file for a nicer one. Don't make it too big, don't put control characters +in it as this may prevent some mailers to connect to your system. ++I discovered that some systems don't have the right permissions on the serial +port for MBSE BBS. To fix this type the following commands: +
+su +password: enter root password here +chmod 666 /dev/ttyS0 +chown uucp.uucp /dev/ttyS0 +exit ++Note that /dev/ttyS0 is for COM1, /dev/ttyS1 for COM2 etc. ++ + Go Back +
-- - - + + + + + + + + +Last update 02-Feb-2001
-
- -
BBS doors dropfiles.
-- -
Dropfiles for Unix BBS systems.
--Not all options that are available under DOS or OS/2 can be used with Unix -BBS systems and must be faked. -
- -
DOOR.SYS format.
--The door.sys format is a 52 lines ascii textfile, each line is terminated with -a cr/lf pair. In the setup it is possible to force the creation of MM-DD-YYYY -dates instead of the MM-DD-YY style. Newer doors sometimes need that. -
-Line Description ------ ----------------------------------------------------------------- -1 Port, 2 characters in DOS format, p.e. COM1 -2 Effective Baudrate -3 Databits -4 Nodenumber, 1..9999 -5 Locked baudrate -6 Screen display, Y=snoop on, N=snoop off. On Linux allways N. -7 Printer Y=on N=off -8 Page Bell Y=on N=off -9 Caller alarm Y=on N=off -10 Users first name and lastname -11 Users location -12 Voice/Home phone -13 Work/Dataphone -14 Password, empty if not available (stored coded). -15 Security level, 0..32768 -16 Users number of calls -17 Users last call date MM-DD-YY -18 Seconds remaining this call -19 Time left in minutes -20 ANSI, "GR" is yes, otherwise ? -21 Screen length -22 User mode, always N -23 Always blank -24 Always blank -25 Subscription expire date MM-DD-YY -26 Users record number -27 Default protocol -28 Users total number of uploads -29 Users total number of downloads -30 Users daily download kilobytes total -31 Daily download kilobyte limit -32 Users date of birth MM-DD-YY -33 Path to users database files Cannot be used on Linux. -34 Path to message database files -35 Sysop first and last name -36 Users handle -37 Next event starting time or "none" -38 Error-free connection Y=Yes or N=No -39 Always set to N -40 Always set to Y -41 Text color as defined in setup 7 = gray. -42 Always 0 -43 Last new files scan date MM-DD-YY -44 Time of this call HH:MM -45 Time of last call HH:MM -46 Always set to 32768 -47 Number of files downloaded today -48 Total kilobytes uploaded -49 Total kilobytes downloaded -50 Comment stored in users record -51 Always set to 0 -52 Total number of messages posted --
- -
DORINFOn.DEF dropfile.
--The DORINFOn.DEF file is a 12 lines ascii textfile, each line terminated with -a cr/lf pair. All characters in the file are uppercase. The n in the filename -represents the current line number and will be between 1 and 9. Using number -1 seems always fine. -
-Line Description ------- ------------------------------------------------------------------ -1 System name -2 Sysop's first name -3 Sysop's last name -4 Port name, like COM1, COM2 etc. COM0 = local -5 Baudrate format: "19200 BAUD-R,N,8,1" -6 Always 0 -7 Users firstname -8 Users lastname -9 Users location -10 Graphics mode: 0=no, 1=ANSI, 2=Avatar, 3=ANSI+Avatar -11 Security level, 0..32767 -12 Time left in minutes --- - Go Back -
++ + + diff --git a/html/misc/ftpserver.html b/html/misc/ftpserver.html index 0a817406..cabbf033 100644 --- a/html/misc/ftpserver.html +++ b/html/misc/ftpserver.html @@ -1,98 +1,98 @@ - - - - - - - - -Last update 22-Oct-2001
+
+ +
BBS doors dropfiles.
++ +
Dropfiles for Unix BBS systems.
++Not all options that are available under DOS or OS/2 can be used with Unix +BBS systems and must be faked. +
+ +
DOOR.SYS format.
++The door.sys format is a 52 lines ascii textfile, each line is terminated with +a cr/lf pair. In the setup it is possible to force the creation of MM-DD-YYYY +dates instead of the MM-DD-YY style. Newer doors sometimes need that. +
+Line Description +----- ----------------------------------------------------------------- +1 Port, 5 characters in DOS format, p.e. COM1: +2 Effective Baudrate +3 Databits +4 Nodenumber, 1..9999 +5 Locked baudrate +6 Screen display, Y=snoop on, N=snoop off. On Linux allways N. +7 Printer Y=on N=off +8 Page Bell Y=on N=off +9 Caller alarm Y=on N=off +10 Users first name and lastname +11 Users location +12 Voice/Home phone +13 Work/Dataphone +14 Password, empty if not available (stored coded). +15 Security level, 0..32768 +16 Users number of calls +17 Users last call date MM-DD-YY +18 Seconds remaining this call +19 Time left in minutes +20 ANSI, "GR" is yes, otherwise ? +21 Screen length +22 User mode, always N +23 Always blank +24 Always blank +25 Subscription expire date MM-DD-YY +26 Users record number +27 Default protocol +28 Users total number of uploads +29 Users total number of downloads +30 Users daily download kilobytes total +31 Daily download kilobyte limit +32 Users date of birth MM-DD-YY +33 Path to users database files Cannot be used on Linux. +34 Path to message database files +35 Sysop first and last name +36 Users handle +37 Next event starting time or "none" +38 Error-free connection Y=Yes or N=No +39 Always set to N +40 Always set to Y +41 Text color as defined in setup 7 = gray. +42 Always 0 +43 Last new files scan date MM-DD-YY +44 Time of this call HH:MM +45 Time of last call HH:MM +46 Always set to 32768 +47 Number of files downloaded today +48 Total kilobytes uploaded +49 Total kilobytes downloaded +50 Comment stored in users record +51 Always set to 0 +52 Total number of messages posted ++
+ +
DORINFOn.DEF dropfile.
++The DORINFOn.DEF file is a 12 lines ascii textfile, each line terminated with +a cr/lf pair. All characters in the file are uppercase. The n in the filename +represents the current line number and will be between 1 and 9. Using number +1 seems always fine. +
+Line Description +------ ------------------------------------------------------------------ +1 System name +2 Sysop's first name +3 Sysop's last name +4 Port name, like COM1, COM2 etc. COM0 = local +5 Baudrate format: "19200 BAUD-R,N,8,1" +6 Always 0 +7 Users firstname +8 Users lastname +9 Users location +10 Graphics mode: 0=no, 1=ANSI, 2=Avatar, 3=ANSI+Avatar +11 Security level, 0..32767 +12 Time left in minutes +++ + Go Back +
-- - - + + + + + + + + +Last update 06-Jun-2001
-
- -
How to setup an FTP server to work with MBSE BBS.
-- -In order to let MBSE BBS and your FTP server to both function together you must -organize a special file structure. Note that even if you don't setup an FTP -server you must still create a structure like this for the fidonet mailer, -if you don't, mail and files will get lost! -Note that this description is written for wu-ftpd, on your distribution there -may be another ftpd installed. Don't use mbftpd yet! -
-
The filestructure I used is as follows:
--/var/spool/mbse/ftp/pub/dos_util/dos_4dos - Public download areas - | | | /dos_disk - | | | /dos_file - | | /virnet/mcafee - | | /win16 - | | /win32 - | /bin - FTP bin directory - | /etc - FTP etc directory - | /incoming - FTP public upload. - /mail/out - Your default outbound - | /out.009 - Outbound Zone 9 - | /inbound - Inbound directory - /raonly/upload - Non-public download areas - | /sysop - | /logfiles - /tic_queue - Queue for .tic files. - -- -In order to give DOS style names for fidonet sessions you must set the -DOS path and Unix path in mbsetup (1.3.11 and 1.3.12) to -"m:" and "/var/spool/mbse". Note that to get -forwarding of .tic files to work the tic_queue must be a -subdirectory of "/var/spool/mbse" too. You could actually use any drive letter for -the DOS path. --This means that a fidonet file attach from the dos_4dos public download -directory shall get the subject "M:\FTP\PUB\DOS_UTIL\DOS_4DOS\COMMAND.ZIP". - -
-As you can see, anonymous ftp users can't get to the mail, non-public -downloads etc. Normally, your BBS users have unix accounts and will be able -to do a ftp login and access any directory on your system. Because the bbs -users have mbsebbs as their shell and this shell is not in the file -/etc/shells the ftp daemon will not let the bbs users in. So even -your own bbs users must login as anonymous to get files from the ftp server. -
-Note the following directory permissions MUST BE SET!!!!::: See also -the man pages for the DARPA ftpd server. -
- -
-Directory owner group mode perms -------------------------------- ----- ----- ---- ---------- -/var/spool/mbse mbse bbs 0755 drwxr-xr-x -/var/spool/mbse/ftp root wheel 0555 dr-xr-xr-x -/var/spool/mbse/ftp/bin root wheel 0555 dr-xr-xr-x -/var/spool/mbse/ftp/bin/ls root bin 0111 ---x--x--x -/var/spool/mbse/ftp/etc root root 0555 dr-xr-xr-x -/var/spool/mbse/ftp/etc/passwd root root 0444 -r--r--r-- -/var/spool/mbse/ftp/etc/group root root 0444 -r--r--r-- -/var/spool/mbse/ftp/pub mbse bbs 0775 drwxrwxr-x -/var/spool/mbse/ftp/incoming ftp users 0755 drwxr-xr-x - --Note that all subdirectories under ../pub also must be owned by mbse - and group bbs and have at least mode 775 as long -as it are real bbs subdirectories. The bbs will maintain these directories -automatic and must have the rights to do so. - --In the /var/spool/mbse/ftp/etc/group file, add the group bbs so that your directory -listings give the proper groupname instead of a number. -
- - Go Back -
++ + + diff --git a/html/misc/index.htm b/html/misc/index.htm index 56b80af0..b8671b77 100644 --- a/html/misc/index.htm +++ b/html/misc/index.htm @@ -1,46 +1,46 @@ - - - - - - - - -Last update 06-Jun-2001
+
+ +
How to setup an FTP server to work with MBSE BBS.
++ +In order to let MBSE BBS and your FTP server to both function together you must +organize a special file structure. Note that even if you don't setup an FTP +server you must still create a structure like this for the fidonet mailer, +if you don't, mail and files will get lost! +Note that this description is written for wu-ftpd, on your distribution there +may be another ftpd installed. Don't use mbftpd yet! +
+
The filestructure I used is as follows:
++/var/spool/mbse/ftp/pub/dos_util/dos_4dos - Public download areas + | | | /dos_disk + | | | /dos_file + | | /virnet/mcafee + | | /win16 + | | /win32 + | /bin - FTP bin directory + | /etc - FTP etc directory + | /incoming - FTP public upload. + /mail/out - Your default outbound + | /out.009 - Outbound Zone 9 + | /inbound - Inbound directory + /raonly/upload - Non-public download areas + | /sysop + | /logfiles + /tic_queue - Queue for .tic files. + ++ +In order to give DOS style names for fidonet sessions you must set the +DOS path and Unix path in mbsetup (1.3.11 and 1.3.12) to +"m:" and "/var/spool/mbse". Note that to get +forwarding of .tic files to work the tic_queue must be a +subdirectory of "/var/spool/mbse" too. You could actually use any drive letter for +the DOS path. ++This means that a fidonet file attach from the dos_4dos public download +directory shall get the subject "M:\FTP\PUB\DOS_UTIL\DOS_4DOS\COMMAND.ZIP". + +
+As you can see, anonymous ftp users can't get to the mail, non-public +downloads etc. Normally, your BBS users have unix accounts and will be able +to do a ftp login and access any directory on your system. Because the bbs +users have mbsebbs as their shell and this shell is not in the file +/etc/shells the ftp daemon will not let the bbs users in. So even +your own bbs users must login as anonymous to get files from the ftp server. +
+Note the following directory permissions MUST BE SET!!!!::: See also +the man pages for the DARPA ftpd server. +
+ +
+Directory owner group mode perms +------------------------------- ----- ----- ---- ---------- +/var/spool/mbse mbse bbs 0755 drwxr-xr-x +/var/spool/mbse/ftp root wheel 0555 dr-xr-xr-x +/var/spool/mbse/ftp/bin root wheel 0555 dr-xr-xr-x +/var/spool/mbse/ftp/bin/ls root bin 0111 ---x--x--x +/var/spool/mbse/ftp/etc root root 0555 dr-xr-xr-x +/var/spool/mbse/ftp/etc/passwd root root 0444 -r--r--r-- +/var/spool/mbse/ftp/etc/group root root 0444 -r--r--r-- +/var/spool/mbse/ftp/pub mbse bbs 0775 drwxrwxr-x +/var/spool/mbse/ftp/incoming ftp users 0755 drwxr-xr-x + ++Note that all subdirectories under ../pub also must be owned by mbse + and group bbs and have at least mode 775 as long +as it are real bbs subdirectories. The bbs will maintain these directories +automatic and must have the rights to do so. + ++In the /var/spool/mbse/ftp/etc/group file, add the group bbs so that your directory +listings give the proper groupname instead of a number. +
+ + Go Back +
-- - - + + + + + + + + +Last update 02-Feb-2001
-
- -
Miscellaneous Documents
- -Introduction
--This is an overview of used unofficial documents for the development of the -MBSE BBS package. -
-Michiel Broek. -
-
-Documents
--
- -- Implementation and Usage of Filefind Utilities, R.Williamson -
- Integration of IP-Nodes in the nodelist, L.Behet -
- FILE_ID.DIZ Information, R.Moller -
- How to setup an FTP server with MBSE BBS, M.Broek -
- JAM Message Base Proposal, J.Homrighausen -
- Binkley style mailer outbound for MBSE BBS, M.Broek -
- Semafore files for MBSE BBS, M.Broek -
- System load and usleep() code, M.Broek -
- BBS doors dropfiles, M. Broek -
- -Back to Index -
++ + + diff --git a/html/misc/ipmailer.html b/html/misc/ipmailer.html index 8faf1c1b..63ef8587 100644 --- a/html/misc/ipmailer.html +++ b/html/misc/ipmailer.html @@ -1,172 +1,172 @@ - - -Last update 02-Feb-2001
+
+ +
Miscellaneous Documents
+ +Introduction
++This is an overview of used unofficial documents for the development of the +MBSE BBS package. +
+Michiel Broek. +
+
+Documents
++
+ +- Implementation and Usage of Filefind Utilities, R.Williamson +
- Integration of IP-Nodes in the nodelist, L.Behet +
- FILE_ID.DIZ Information, R.Moller +
- How to setup an FTP server with MBSE BBS, M.Broek +
- JAM Message Base Proposal, J.Homrighausen +
- Binkley style mailer outbound for MBSE BBS, M.Broek +
- Semafore files for MBSE BBS, M.Broek +
- System load and usleep() code, M.Broek +
- BBS doors dropfiles, M. Broek +
+ +Back to Index +
-Publication: FSP-???? -Revision: 1 -Title: Integration of IP-Nodes in the nodelist (FTS-0005) -Author: Lothar Behet, 2:2446/301 -Revision Date: 25 October 1998 -Expiry Date: ----------------------------------------------------------------------- - -Contents: -1. Required fields according to FTS-0005, basic flags for ip-nodes -2. Optional extensions -3. Addendum ----------------------------------------------------------------------- - -1. Description of the nodelist format --------------------------------------- - -Every node entry contains the following 8 fields: - -keyword,node_number,node_name,location,sysop_name, -phone_number,baud_rate,flags - -Certain fields have defined values according to FTS-0005. - -1.1. Implementation for IP-connectivity - Because of the limited characterset in the phone_field and - to avoid any misinterpretion by conventional dialing, the - ip-specific address-information is entered in another field - and there are additional flags required. - -1.1.1. Field #1 (keyword) is PVT for an ip-only node without - conventional phone number related connectivity. In this - case, the phone field contains "-Unpublished-" according - to FTS-0005. - -1.1.2. Field #2 (node_number) contains the node number within his - net and zone. - -1.1.3. Field #3 (node_name) is used for the FQDN (Fully Qualified - Domain Name) or the ip-address. - -1.1.4. Field #4 (location) contains the geographical location of - the node. While some nets/regions cannot supply their - ip-only nodes with a adequate link, these nodes may be - collected in a seperate net or region, until their original - net/region support additional ip-connectivity. This special - net/region is definitely a temporary solution for routing - within a region or zone! - -1.1.5. Field #5 (sysop_name) represants the name of the system - operator. - -1.1.6. Field #6 (phone_number) contains the phone_number for - conventional connectivity. In case of an ip-only node - it must contain "-Unpublished-". - -1.1.7. Field #7 (baud_rate) contains the maximum baud rate for - conventional connectivity or 300 in case of an ip_only node. - -1.1.8. Field #8 (flags) represents operational definitions for the - node. - Note that these are user flags. - The ip-flags consist of two parts: - A basic transport and an optional non-standard port, - seperated by a colon. - The default port may be omitted, but is listed as optional - parameter in this document. In some cases, two flag names - are mentioned: - The second one is supported by some software nowadays, but - these values may conflict with other programs, which not - completely decode the length of each individual flag (i.e. - TELN conflicts with the T-flag for online-time) - Additional flags for ip-nodes are: - -1.1.8.1. IBN[:24554] (Argus: BND[:24554]) - BinkP protocol - -1.1.8.2. IFC[:60179] - Raw protocol as used by ifcico - -1.1.8.3. ITN[:23] (Argus: TEL[:23]) - Telnet protocol. Some variants of ifcico support Telnet - on port 60177, which should be added as additional flag - ITN:60177. - -1.1.8.4. IVM[:3141] - Vmodem protocol - -1.1.8.5. IP - General flag for special protocol specifications, if the - flags conforming to 1.1.8.1. to 1.1.8.4. are not relevant. - -1.1.9. Comments on the proposed nodelist flags - The additional flagnames in () are supported at this moment - by Argus, based on the use in z2r50. But the TEL[NET]-flag - stays in conflict with the generally in all zones and - regions used T-flag (online time according to FSC-0062). - - -2. Optional extensions for future use --------------------------------------- - -While the above mentioned flags (1.1.8.1 to 1.1.8.4) define a -minimum set of operational flags for ip-nodes, several additions -are already foreseeable at this moment. - -2.1. Additional sessions_handshake parameters - There is at least one program, which supports several - transport protocols according to chapter 1.1.8. on a - single port. If other programs should imitate this habit, - then the following extension to the flag suite 1.1.8. - (transport[:port[:handshake]])is advised: - -2.1.1. FTS-0001 session handshake: 1 -2.1.2. Yoohoo session handshake : Y -2.1.3. EMSI sessions handshake : E -2.1.4. BinkP sessions handshake : B - -2.2. Non-handshaking protocols - While the definitions until this chapter describe direct - handshaking sessions with optional password authentification, - there are several other methods for the tunneling of fidonet - data via the internet available. - The setup of these connections does not rely on the nodelist - (at this moment of writing), but we can think of standard - setup procedures to use the nodelist for configuration of - this additional transport methods. - Therefore the following flags 2.2.1. to 2.2.4. are advised - for at least informational purpose. - -2.2.1. IFT - FTP (File Transfer Protocol) - -2.2.2. ITX - TransX, an Email based variant - -2.2.3. IUC - Uuencoded packet (one packet per message) - -2.2.4. IEM - Email based (generally, without exact specification at - this moment) - - -3. Addendum ------------- - -This proposal is based on a maximum compatibility to generally used -definitions and standards within the Fidonet community. -Future developments might make additions necessary, if they can not -be expressed with the existing set of flags as defined by this FSP. -- - Go Back - - - - + + +
+Publication: FSP-???? +Revision: 1 +Title: Integration of IP-Nodes in the nodelist (FTS-0005) +Author: Lothar Behet, 2:2446/301 +Revision Date: 25 October 1998 +Expiry Date: +---------------------------------------------------------------------- + +Contents: +1. Required fields according to FTS-0005, basic flags for ip-nodes +2. Optional extensions +3. Addendum +---------------------------------------------------------------------- + +1. Description of the nodelist format +-------------------------------------- + +Every node entry contains the following 8 fields: + +keyword,node_number,node_name,location,sysop_name, +phone_number,baud_rate,flags + +Certain fields have defined values according to FTS-0005. + +1.1. Implementation for IP-connectivity + Because of the limited characterset in the phone_field and + to avoid any misinterpretion by conventional dialing, the + ip-specific address-information is entered in another field + and there are additional flags required. + +1.1.1. Field #1 (keyword) is PVT for an ip-only node without + conventional phone number related connectivity. In this + case, the phone field contains "-Unpublished-" according + to FTS-0005. + +1.1.2. Field #2 (node_number) contains the node number within his + net and zone. + +1.1.3. Field #3 (node_name) is used for the FQDN (Fully Qualified + Domain Name) or the ip-address. + +1.1.4. Field #4 (location) contains the geographical location of + the node. While some nets/regions cannot supply their + ip-only nodes with a adequate link, these nodes may be + collected in a seperate net or region, until their original + net/region support additional ip-connectivity. This special + net/region is definitely a temporary solution for routing + within a region or zone! + +1.1.5. Field #5 (sysop_name) represants the name of the system + operator. + +1.1.6. Field #6 (phone_number) contains the phone_number for + conventional connectivity. In case of an ip-only node + it must contain "-Unpublished-". + +1.1.7. Field #7 (baud_rate) contains the maximum baud rate for + conventional connectivity or 300 in case of an ip_only node. + +1.1.8. Field #8 (flags) represents operational definitions for the + node. + Note that these are user flags. + The ip-flags consist of two parts: + A basic transport and an optional non-standard port, + seperated by a colon. + The default port may be omitted, but is listed as optional + parameter in this document. In some cases, two flag names + are mentioned: + The second one is supported by some software nowadays, but + these values may conflict with other programs, which not + completely decode the length of each individual flag (i.e. + TELN conflicts with the T-flag for online-time) + Additional flags for ip-nodes are: + +1.1.8.1. IBN[:24554] (Argus: BND[:24554]) + BinkP protocol + +1.1.8.2. IFC[:60179] + Raw protocol as used by ifcico + +1.1.8.3. ITN[:23] (Argus: TEL[:23]) + Telnet protocol. Some variants of ifcico support Telnet + on port 60177, which should be added as additional flag + ITN:60177. + +1.1.8.4. IVM[:3141] + Vmodem protocol + +1.1.8.5. IP + General flag for special protocol specifications, if the + flags conforming to 1.1.8.1. to 1.1.8.4. are not relevant. + +1.1.9. Comments on the proposed nodelist flags + The additional flagnames in () are supported at this moment + by Argus, based on the use in z2r50. But the TEL[NET]-flag + stays in conflict with the generally in all zones and + regions used T-flag (online time according to FSC-0062). + + +2. Optional extensions for future use +-------------------------------------- + +While the above mentioned flags (1.1.8.1 to 1.1.8.4) define a +minimum set of operational flags for ip-nodes, several additions +are already foreseeable at this moment. + +2.1. Additional sessions_handshake parameters + There is at least one program, which supports several + transport protocols according to chapter 1.1.8. on a + single port. If other programs should imitate this habit, + then the following extension to the flag suite 1.1.8. + (transport[:port[:handshake]])is advised: + +2.1.1. FTS-0001 session handshake: 1 +2.1.2. Yoohoo session handshake : Y +2.1.3. EMSI sessions handshake : E +2.1.4. BinkP sessions handshake : B + +2.2. Non-handshaking protocols + While the definitions until this chapter describe direct + handshaking sessions with optional password authentification, + there are several other methods for the tunneling of fidonet + data via the internet available. + The setup of these connections does not rely on the nodelist + (at this moment of writing), but we can think of standard + setup procedures to use the nodelist for configuration of + this additional transport methods. + Therefore the following flags 2.2.1. to 2.2.4. are advised + for at least informational purpose. + +2.2.1. IFT + FTP (File Transfer Protocol) + +2.2.2. ITX + TransX, an Email based variant + +2.2.3. IUC + Uuencoded packet (one packet per message) + +2.2.4. IEM + Email based (generally, without exact specification at + this moment) + + +3. Addendum +------------ + +This proposal is based on a maximum compatibility to generally used +definitions and standards within the Fidonet community. +Future developments might make additions necessary, if they can not +be expressed with the existing set of flags as defined by this FSP. ++ + Go Back + + + + diff --git a/html/misc/jam.html b/html/misc/jam.html index c1ca8d50..d30d847a 100644 --- a/html/misc/jam.html +++ b/html/misc/jam.html @@ -1,638 +1,638 @@ - - -
-Filename....: JAM-001 -Rev.........: 001 -Dated.......: 93-07-01 -Status .....: Released -Subject.....: JAM message base proposal -Author......: Joaquim Homrighausen -Co-Authors..: Andrew Milner, Mats Birch, Mats Wallin - - --------------------------------------------------------------------- - JAM(mbp) - The Joaquim-Andrew-Mats Message Base Proposal - --------------------------------------------------------------------- - Copyright 1993 Joaquim Homrighausen, Andrew Milner, - Mats Birch, Mats Wallin. - ALL RIGHTS RESERVED. - --------------------------------------------------------------------- - - - ===================================================================== - Restrictions - --------------------------------------------------------------------- - JAM may be used by any developer as long as these specifications are - followed exactly. JAM may be used free-of-charge by any developer - for any purpose, commercially or otherwise. - - This document may be freely copied and distributed, but must NEVER be - distributed in a modified form. If you have an enhancement request, - please contact the author of this document; do not change it - yourself. - - All applications that support JAM must include one of the following - notices in their documentation and somewhere in the product's credit - section: - - "JAM(mbp) - Copyright 1993 Joaquim Homrighausen, Andrew Milner, - Mats Birch, Mats Wallin. - ALL RIGHTS RESERVED." - - or - - "This product uses the JAM(mbp) API - - Copyright 1993 Joaquim Homrighausen, Andrew Milner, Mats Birch, - Mats Wallin. ALL RIGHTS RESERVED." - - No organization, company, person, entity, or other being may impose - any fees for any reason for providing this document or the - accompanying API. This document and the accompanying API may not be - sold or otherwise transferred for personal or company gain under any - circumstances. - - ===================================================================== - Definitions and general notes - --------------------------------------------------------------------- - CURRENTREV 1 - - JAM The JAM message base format. - - CRC Cyclic Redundancy Check. All CRC values - calculated on strings must assume that the - data within the string has been converted - to lowercase (A-Z = a-z). - - CRC-32 32-bit CRC (as used in the Zmodem file - transfer protocol) value. The polynom for - a CRC-32 is edb88320H and the CRC-32 seed - is -1L (ffffffffH). - - uchar Unsigned 8-bit value - - ushort Unsigned 16-bit value - - ulong Unsigned 32-bit value - - UNIX date An ulong representing the number of seconds - since midnight, January 1, 1970. UNIX-style - dates is the only form of time stamps used - in JAM (1). - - Message # The physical record number within the index - file is used as a message number. The - lowest message number is one (1) and the - highest message number is 4294967295 - (ffffffffH). - - FTN FidoNet Technology Network - - FTS FidoNet Technical Standard - - (1) All timestamps created locally (i.e. those not imported from - other systems) are stored in local time. - - ===================================================================== - Files - --------------------------------------------------------------------- - Each conference is made up from four files. How and where these files - are stored and named is implementation dependant. The only file with - a fixed minimum size is the .JHR (header data) file. It has a 1024- - byte block used to hold information about a specific message area as - described later. - - filename.JHR - Message header data - filename.JDT - Message text data - filename.JDX - Message index - filename.JLR - Lastread information - - A future revision of JAM may also include a file that holds the - following three items: - - - The highest assigned user number - - The last generated message ID - - A global conference list with the conference name, description, - and physical location of the message base. - - ===================================================================== - .JHR file header - --------------------------------------------------------------------- - Below is the format of the 1024-byte record at the beginning of all - .JHR files. The first actual message header starts at offset 1024 in - the .JHR file. - - FixedHeaderInfoStruct: - ulong Signature; //- - Go Back - - - - + + +followed by - ulong datecreated; // Creation date - ulong modcounter; // Update counter - ulong activemsgs; // Number of active (not deleted) msgs - ulong passwordcrc; // CRC-32 of password to access - ulong basemsgnum; // Lowest message number in index file - uchar RESERVED[1000]; // Reserved space - end; - - MODCOUNTER must be incremented and updated on disk each time an - application modifies the contents of the message base. When it - reaches ffffffffH, it wraps to zero. - - --------------------------------------------------------------------- - BaseMsgNum Lowest message number in index file - --------------------------------------------------------------------- - This field determines the lowest message number in the index file. - The value for this field is one (1) when a message area is first - created. By using this field, a message area can be packed (deleted - messages are removed) without renumbering it. If BaseMsgNum contains - 500, the first index record points to message number 500. - - BaseMsgNum has to be taken into account when an application - calculates the next available message number (for creating new - messages) as well as the highest and lowest message number in a - message area. - - --------------------------------------------------------------------- - ????????.JHR Message headers - --------------------------------------------------------------------- - The .JHR file contains none or more Header records. Each record - define one message and contains information about the message and its - text (if any). The Header record is of variable length. The layout of - the Header record follows. - - MessageHeader: - MessageFixedHeader: - ulong Signature; // followed by - ushort Revision; // Revision level of header (1) - ushort ReservedWord; // Reserved for future use - ulong SubfieldLen; // Length of subfields (2) - ulong TimesRead; // Number of times message read - ulong MSGIDcrc; // CRC-32 of MSGID line (3) - ulong REPLYcrc; // CRC-32 of REPLY line (3) - ulong ReplyTo; // This msg is a reply to.. - ulong Reply1st; // First reply to this msg - ulong Replynext; // Next msg in reply chain - ulong DateWritten; // When msg was written - ulong DateReceived; // When msg was read by recipient - ulong DateProcessed;// When msg was processed by tosser/ - // scanner - ulong MessageNumber;// Message number (1-based) - ulong Attribute; // Msg attribute, see "Msg Attributes" - ulong Attribute2; // Reserved for future use - ulong Offset; // Offset of text in ????????.JDT file - ulong TxtLen; // Length of message text - ulong PasswordCRC; // CRC-32 of password to access message - ulong Cost; // Cost of message - end; - SubField1 // Extra fields as defined below - . - . - SubFieldXX - end; - - (1) This field is intended for future revisions of the specifications - to allow the use of a different fixed-length binary message - header. The current revision level is one (1). - - (2) The SubfieldLen field is set to zero (0) if the header does not - have any subfield data. I.e. the length of the binary header is - not included in this field. - - (3) When calculating the CRC-32 of the MSGID and REPLY lines, the - text ^aMSGID: and ^aREPLY: should be removed as well as all - leading and trailing white space characters. - - - The SubField structure is made up of an ID, a length specifier, and - a block of data. Zero or more subfields may follow the fixed-length - binary header. SubFields are not stored in any specific order and - are not terminated by any specific character unless otherwise - specified. - - SubField: - ushort LoID; // Field ID, 0-65535 - ushort HiID; // Reserved for future use - ulong datlen; // Length of buffer that follows - uchar Buffer[datlen]; // DATLEN bytes of data - end; - - --------------------------------------------------------------------- - Defined LoID codes - --------------------------------------------------------------------- - - ID=0, Name=OADDRESS - - A network address. This is used to specify the originating address. - More than one OADDRESS field may exist. DATLEN must not exceed 100 - characters. For a FidoNet-style address, this field must follow the - ZONE:NET/NODE.POINT@DOMAIN format where .POINT is excluded if zero - and @DOMAIN is excluded if unknown. - - - ID=1, Name=DADDRESS - - A network address. This is used to specify the destination address. - More than one DADDRESS field may exist (e.g. carbon copies). DATLEN - must not exceed 100 characters. For a FidoNet-style address, this - field must follow the ZONE:NET/NODE.POINT@DOMAIN format where .POINT - is excluded if zero and @DOMAIN is excluded if unknown. - - - ID=2, Name=SENDERNAME - - The sender (author) of the message. DATLEN must not exceed 100 - characters. - - - ID=3, Name=RECEIVERNAME - - The recipient of the message. DATLEN must not exceed 100 characters. - - - ID=4, Name=MSGID - - Used to store the message identification data. All data not relevant - to the actual ID string, including leading and trailing white space - characters should be removed. DATLEN must not exceed 100 characters. - - - ID=5, Name=REPLYID - - Used to store the message reply data. All data not relevant to the - actual reply string, including leading and trailing white space - characters should be removed. DATLEN must not exceed 100 characters. - - - ID=6, Name=SUBJECT - - The subject of the message. DATLEN must not exceed 100 characters. - Note that this field may not be used for FidoNet-style file attaches - or file requests. - - - ID=7, Name=PID - - Used to store the FTN PID kludge line. Only the actual PID data is - stored and ^aPID: is stripped along with any leading and trailing - white space characters. DATLEN must not exceed 40 characters. - - - ID=8, Name=TRACE - - This is also referred to as ^aVia information in FTNs. It contains - information about a system which the message has travelled through. - The format of the field is where: - - YYYY is the year (1992-9999) - MM is the month (01-12) - DD is the day (01-31) - HH is the hour (00-23) - MM is the minute (00-59) - SS is the second (00-59) - - The timestamp is stored in ASCII (0-9) characters. The network - address is the address of the system. It is expressed in ASCII - notation in the native format of the forwarding system. - - - ID=9, Name=ENCLOSEDFILE - - A file attached to the message. Only one filename may be specified - per subfield. No wildcard characters are allowed. If this subfield - is present in a message header, the ATTRIBUTE must include the - MSG_FILEATTACH bit. - - - ID=10, Name=ENCLOSEDFILEWALIAS - - Identical to ENCLOSEDFILE with the exception that the filename is - followed by a (00H) and an alias filename to be transmited to - the remote system in place of the local name of the file. - - - ID=11, Name=ENCLOSEDFREQ - - A request for one or more files. Only one filemask may be specified - per subfield. If the filemask contains a complete path, it is to be - regarded as an update file request. If this subfield is present in a - message header, the ATTRIBUTE must include the MSG_FILEREQUEST bit. - To indicate that a password is to be transmitted along with the - request, a (00H) character followed by the password is - appended. E.g. SECRET*.* MYPASSWORD. - - - ID=12, Name=ENCLOSEDFILEWCARD - - One or more files attached to the message. Only one filename may be - specified per subfield. Wildcard characters are allowed. If this - subfield is present in a message header, the ATTRIBUTE must include - the MSG_FILEATTACH bit. - - - ID=13, Name=ENCLOSEDINDIRECTFILE - - One or more files attached to the message. The filename points to an - ASCII file with one filename entry per line. If alias filenames are - to be used, they are specified after the actual filename and - separated by a (00H) character, e.g. C:\MYFILE.LZH NEWS. - Wildcard characters are not allowed. - - - ID=1000, Name=EMBINDAT - - Reserved for future use. - - - ID=2000, Name=FTSKLUDGE - - An FTS-compliant "kludge" line not otherwise represented here. All - data not relevant to the actual kludge line, including leading and - trailing white space and ^A (01H) characters should be removed. - DATLEN must not exceed 255 characters. The FTS kludges INTL, TOPT, - and FMPT must never be stored as separate SubFields. Their data must - be extracted and used for the address SubFields. - - - ID=2001, Name=SEENBY2D - - Used to store two-dimensional (net/node) SEEN-BY information often - used in FTN conference environments. Only the actual SEEN-BY data is - stored and ^aSEEN-BY: or SEEN-BY: is stripped along with any leading - and trailing white space characters. - - - ID=2002, Name=PATH2D - - Used to store two-dimensional (net/node) PATH information often used - in FTN conference environments. Only the actual PATH data is stored - and ^aPATH: is stripped along with any leading and trailing white - space characters. - - - ID=2003, Name=FLAGS - - Used to store the FTN FLAGS kludge information. Note that all FLAG - options that have binary representation in the JAM message header - must be removed from the FLAGS string prior to storing it. Only - the actual flags option string is stored and ^aFLAGS is stripped - along with any leading and trailing white space characters. - - - ID=2004, Name=TZUTCINFO - - Time zone information. This subfield consists of four mandatory - bytes and one optional. The first character may be a plus (+) or a - minus (-) character to indicate a location east (plus) or west - (minus) of UTC 0000. The plus character is implied unless the first - character is a minus character. The following four bytes must be - digits in the range zero through nine and indicates the offset in - hours and minutes. E.g. 0100 indicates an offset of one hour east of - UTC. - - --------------------------------------------------------------------- - Message attributes - --------------------------------------------------------------------- - MSG_LOCAL (0x00000001L) // Msg created locally - MSG_INTRANSIT (0x00000002L) // Msg is in-transit - MSG_PRIVATE (0x00000004L) // Private - MSG_READ (0x00000008L) // Read by addressee - MSG_SENT (0x00000010L) // Sent to remote - MSG_KILLSENT (0x00000020L) // Kill when sent - MSG_ARCHIVESENT (0x00000040L) // Archive when sent - MSG_HOLD (0x00000080L) // Hold for pick-up - MSG_CRASH (0x00000100L) // Crash - MSG_IMMEDIATE (0x00000200L) // Send Msg now, ignore restrictions - MSG_DIRECT (0x00000400L) // Send directly to destination - MSG_GATE (0x00000800L) // Send via gateway - MSG_FILEREQUEST (0x00001000L) // File request - MSG_FILEATTACH (0x00002000L) // File(s) attached to Msg - MSG_TRUNCFILE (0x00004000L) // Truncate file(s) when sent - MSG_KILLFILE (0x00008000L) // Delete file(s) when sent - MSG_RECEIPTREQ (0x00010000L) // Return receipt requested - MSG_CONFIRMREQ (0x00020000L) // Confirmation receipt requested - MSG_ORPHAN (0x00040000L) // Unknown destination - MSG_ENCRYPT (0x00080000L) // Msg text is encrypted (1) - MSG_COMPRESS (0x00100000L) // Msg text is compressed (1) - MSG_ESCAPED (0x00200000L) // Msg text is seven bit ASCII (1) - MSG_FPU (0x00400000L) // Force pickup - MSG_TYPELOCAL (0x00800000L) // Msg is for local use only - MSG_TYPEECHO (0x01000000L) // Msg is for conference distribution - MSG_TYPENET (0x02000000L) // Msg is direct network mail - MSG_NODISP (0x20000000L) // Msg may not be displayed to user - MSG_LOCKED (0x40000000L) // Msg is locked, no editing possible - MSG_DELETED (0x80000000L) // Msg is deleted - - (1) This revision of JAM does not include compression, encryption, or - escaping. The bits are reserved for future use. - - ===================================================================== - ????????.JDT Message text - --------------------------------------------------------------------- - The .JDT file contains the text of messages. The text is stored as an - stream of seven or eight bit ASCII data. Allowed characters in the - text are 00H through ffH unless the header ATTRIBUTE field has the - MSG_ESCAPED bit enabled, in which case the legal range of data is 20H - through 7eH. - - An escaped character is stored as \ where is the two digit - hexadecimal ASCII value of the character. A single \ is stored as \\ - or \5C. The case of the hexadecimal ASCII value is irrelevant, i.e. - 5c is treated as 5C. - - ===================================================================== - ????????.JDX Message index - --------------------------------------------------------------------- - The .JDX file is used to quickly locate messages for any given user - name or to locate a message with a specific number. Each record in - the file consists of two ulongs. The first ulong holds the CRC-32 of - the recipient's name (lowercase), the second ulong holds the - physical offset of the message header in the .JHR (header) file. - - The record number (+BaseMsgNum) within the .JDX file determines a - message's number. - - If both ulongs are -1 (ffffffffH), there is no corresponding message - header. - - ===================================================================== - ????????.JLR Lastread storage - --------------------------------------------------------------------- - The .JLR file is used to maintain a user's position within a message - area. The layout of the "lastread" record follows. One record per - user is required. - - LastRead: - ulong UserCRC; // CRC-32 of user name (lowercase) (1) - ulong UserID; // Unique UserID - ulong LastReadMsg; // Last read message number - ulong HighReadMsg; // Highest read message number - end; - - (1) The functions to convert a string to lowercase characters that - are provided in the API will only convert characters A-Z (into - a-z). It is required that this convention is followed by all - applications. - - The UserID field is a unique number for each user. If the "lastread" - record is deleted, UserCRC and UserID are both set to -1 - (ffffffffH). An application may not depend on any specific order in - the .JLR file. A user's "lastread" record may appear anywhere in the - file and must be searched for when retrieving it and when storing an - updated record. - - ===================================================================== - Updating message headers - --------------------------------------------------------------------- - If a header record grows after is has been retrieved from the .JHR - file, it must be appended to the end of the .JHR file since it would - overwrite the following header otherwise. The .JDX file must be - properly updated to indicate the new location of the header record. - The old header record must be changed to indicate that it has been - deleted by setting the MSG_DELETED bit in the Attribute field and the - TextLen field to zero (to prevent a maintenance program from removing - the message text that is now pointed to by another header). - - ===================================================================== - Message base sharing and locking - --------------------------------------------------------------------- - To allow several programs to access the message base at any given - time, region locking is used to protect the message base from being - corrupted during updates. - - When an application needs to write to any of the message base files, - it must first attempt to lock the first byte of the .JHR (header) - file. If the lock call fails, the application must either fail or - attempt to lock the file again. The message base files may under no - circumstances be updated if the application cannot successfully lock - the .JHR file. - - Note that data acquired (read) from the message base may not be used - when writing data to the message base, unless the application has - maintained a lock of the message base from the time the data was - acquired or the MODCOUNTER field is the same as when the data was - acquired. - - The application must open the files in shareable (DENYNONE) read/ - write or readonly mode. The only exception to this is an application - that requires exclusive access to the message base, such as a message - base maintenance utility, it should open the files in non-shareable - (DENYALL) read/write mode. - - ===================================================================== - Reply threads and linking - --------------------------------------------------------------------- - JAM introduces a new reply link pointer, not commonly used today. - This section is an attempt to describe how reply threads, reply - linking, and this new reply link pointer is implemented in JAM. - - One of the major differences is that reply threads in JAM are not - based on similar or identical subjects of messages since this method - does not allow for proper reply threads. - - The method used in JAM is based on the immediate relation between any - given message and direct replies to it. This is supported by many - message editors by using the MSGID and REPLY FTS kludge fields. These - are common, although expressed differently, in messages not based on - FidoNet technology, such as RFC-822. The obvious advantages include - allowing a program to easily find the original message to a reply, - and to find all replies to any given message. - - The reply thread information consists of three fields: ReplyTo, - Reply1st, and ReplyNext. The reason for three fields, as opposed to - just two, is that with two fields, it is only possible to keep track - of the original message of a reply (which is sufficient) and one - reply to any given message (which is not sufficient). With three - fields, it is possible to maintain a thread of any number of replies - to any given message. - - In the description of the different fields below, the following - messages and message numbers will be referred to: - - 1 -> 2 -> 4 -> 5 - : : - : +--> 8 - : - +--> 3 -> 7 - : - +--> 6 - - Message number two, three, and six are replies to message number one. - Message number four and eight are replies to message number two. - Message number seven is a reply to message number three. - Message number five is a reply to message number four. - - --------------------------------------------------------------------- - ReplyTo - --------------------------------------------------------------------- - This field holds the number of the message that this message is a - reply to. In the example above, the ReplyTo field would contain the - following values: - - Message number one would contain zero; message number two, three, and - six, would contain one; message number four and eight would contain - two; message number seven would contain three, and message number - five would contain four. - - --------------------------------------------------------------------- - Reply1st - --------------------------------------------------------------------- - This field holds the number of the first message that is a reply to - this message. In the example above, the Reply1st field would contain - the following values: - - Message number one would contain two, message number three would - contain seven, and message number four would contain five. All other - messages would contain zero. - - --------------------------------------------------------------------- - ReplyNext - --------------------------------------------------------------------- - This field is used to create the actual message thread or chain. In - the event that there is more than one reply to any given message, it - is necessary to maintain a thread of all the replies; this is due to - the fact that the original message can only hold information about - the first reply (the Reply1st field) to it. - - The first reply (which the original message's Reply1st field holds), - has its ReplyNext field pointing to the second reply, the second - reply's ReplyNext field poinst to the third reply, and so on. - - In the example above, the ReplyNext field would contain the following - values: - - Message number two would contain three, message number three would - contain six, and message number four would contain eight. All other - messages would contain zero. - - ===================================================================== - Contacts - --------------------------------------------------------------------- - Joaquim Homrighausen Telefax: +352 316 702 - 389, route d'Arlon Modem: +352 316 702 - L-8011 Strassen eMail: 2:270/17@fidonet - Luxembourg joho@abs.lu - - Andrew Milner Telefax: +352 251 621 - 9a, Boulevard Joseph II Modem: +352 251 621 - L-1840 Belair eMail: 2:270/18@fidonet - Luxembourg andrew@fido.lu - - Mats Wallin Telefax: +46 8 6453285 - F”rskottsv„gen 11 Modem: +46 8 6453882 - S-126 44 H„gersten eMail: 2:201/329@fidonet - Sweden mw@fido.lu -
+Filename....: JAM-001 +Rev.........: 001 +Dated.......: 93-07-01 +Status .....: Released +Subject.....: JAM message base proposal +Author......: Joaquim Homrighausen +Co-Authors..: Andrew Milner, Mats Birch, Mats Wallin + + --------------------------------------------------------------------- + JAM(mbp) + The Joaquim-Andrew-Mats Message Base Proposal + --------------------------------------------------------------------- + Copyright 1993 Joaquim Homrighausen, Andrew Milner, + Mats Birch, Mats Wallin. + ALL RIGHTS RESERVED. + --------------------------------------------------------------------- + + + ===================================================================== + Restrictions + --------------------------------------------------------------------- + JAM may be used by any developer as long as these specifications are + followed exactly. JAM may be used free-of-charge by any developer + for any purpose, commercially or otherwise. + + This document may be freely copied and distributed, but must NEVER be + distributed in a modified form. If you have an enhancement request, + please contact the author of this document; do not change it + yourself. + + All applications that support JAM must include one of the following + notices in their documentation and somewhere in the product's credit + section: + + "JAM(mbp) - Copyright 1993 Joaquim Homrighausen, Andrew Milner, + Mats Birch, Mats Wallin. + ALL RIGHTS RESERVED." + + or + + "This product uses the JAM(mbp) API - + Copyright 1993 Joaquim Homrighausen, Andrew Milner, Mats Birch, + Mats Wallin. ALL RIGHTS RESERVED." + + No organization, company, person, entity, or other being may impose + any fees for any reason for providing this document or the + accompanying API. This document and the accompanying API may not be + sold or otherwise transferred for personal or company gain under any + circumstances. + + ===================================================================== + Definitions and general notes + --------------------------------------------------------------------- + CURRENTREV 1 + + JAM The JAM message base format. + + CRC Cyclic Redundancy Check. All CRC values + calculated on strings must assume that the + data within the string has been converted + to lowercase (A-Z = a-z). + + CRC-32 32-bit CRC (as used in the Zmodem file + transfer protocol) value. The polynom for + a CRC-32 is edb88320H and the CRC-32 seed + is -1L (ffffffffH). + + uchar Unsigned 8-bit value + + ushort Unsigned 16-bit value + + ulong Unsigned 32-bit value + + UNIX date An ulong representing the number of seconds + since midnight, January 1, 1970. UNIX-style + dates is the only form of time stamps used + in JAM (1). + + Message # The physical record number within the index + file is used as a message number. The + lowest message number is one (1) and the + highest message number is 4294967295 + (ffffffffH). + + FTN FidoNet Technology Network + + FTS FidoNet Technical Standard + + (1) All timestamps created locally (i.e. those not imported from + other systems) are stored in local time. + + ===================================================================== + Files + --------------------------------------------------------------------- + Each conference is made up from four files. How and where these files + are stored and named is implementation dependant. The only file with + a fixed minimum size is the .JHR (header data) file. It has a 1024- + byte block used to hold information about a specific message area as + described later. + + filename.JHR - Message header data + filename.JDT - Message text data + filename.JDX - Message index + filename.JLR - Lastread information + + A future revision of JAM may also include a file that holds the + following three items: + + - The highest assigned user number + - The last generated message ID + - A global conference list with the conference name, description, + and physical location of the message base. + + ===================================================================== + .JHR file header + --------------------------------------------------------------------- + Below is the format of the 1024-byte record at the beginning of all + .JHR files. The first actual message header starts at offset 1024 in + the .JHR file. + + FixedHeaderInfoStruct: + ulong Signature; //+ + Go Back + + + + diff --git a/html/misc/outbound.html b/html/misc/outbound.html index 4a350c05..2ea29459 100644 --- a/html/misc/outbound.html +++ b/html/misc/outbound.html @@ -1,114 +1,114 @@ - - - - - - - - -followed by + ulong datecreated; // Creation date + ulong modcounter; // Update counter + ulong activemsgs; // Number of active (not deleted) msgs + ulong passwordcrc; // CRC-32 of password to access + ulong basemsgnum; // Lowest message number in index file + uchar RESERVED[1000]; // Reserved space + end; + + MODCOUNTER must be incremented and updated on disk each time an + application modifies the contents of the message base. When it + reaches ffffffffH, it wraps to zero. + + --------------------------------------------------------------------- + BaseMsgNum Lowest message number in index file + --------------------------------------------------------------------- + This field determines the lowest message number in the index file. + The value for this field is one (1) when a message area is first + created. By using this field, a message area can be packed (deleted + messages are removed) without renumbering it. If BaseMsgNum contains + 500, the first index record points to message number 500. + + BaseMsgNum has to be taken into account when an application + calculates the next available message number (for creating new + messages) as well as the highest and lowest message number in a + message area. + + --------------------------------------------------------------------- + ????????.JHR Message headers + --------------------------------------------------------------------- + The .JHR file contains none or more Header records. Each record + define one message and contains information about the message and its + text (if any). The Header record is of variable length. The layout of + the Header record follows. + + MessageHeader: + MessageFixedHeader: + ulong Signature; // followed by + ushort Revision; // Revision level of header (1) + ushort ReservedWord; // Reserved for future use + ulong SubfieldLen; // Length of subfields (2) + ulong TimesRead; // Number of times message read + ulong MSGIDcrc; // CRC-32 of MSGID line (3) + ulong REPLYcrc; // CRC-32 of REPLY line (3) + ulong ReplyTo; // This msg is a reply to.. + ulong Reply1st; // First reply to this msg + ulong Replynext; // Next msg in reply chain + ulong DateWritten; // When msg was written + ulong DateReceived; // When msg was read by recipient + ulong DateProcessed;// When msg was processed by tosser/ + // scanner + ulong MessageNumber;// Message number (1-based) + ulong Attribute; // Msg attribute, see "Msg Attributes" + ulong Attribute2; // Reserved for future use + ulong Offset; // Offset of text in ????????.JDT file + ulong TxtLen; // Length of message text + ulong PasswordCRC; // CRC-32 of password to access message + ulong Cost; // Cost of message + end; + SubField1 // Extra fields as defined below + . + . + SubFieldXX + end; + + (1) This field is intended for future revisions of the specifications + to allow the use of a different fixed-length binary message + header. The current revision level is one (1). + + (2) The SubfieldLen field is set to zero (0) if the header does not + have any subfield data. I.e. the length of the binary header is + not included in this field. + + (3) When calculating the CRC-32 of the MSGID and REPLY lines, the + text ^aMSGID: and ^aREPLY: should be removed as well as all + leading and trailing white space characters. + + + The SubField structure is made up of an ID, a length specifier, and + a block of data. Zero or more subfields may follow the fixed-length + binary header. SubFields are not stored in any specific order and + are not terminated by any specific character unless otherwise + specified. + + SubField: + ushort LoID; // Field ID, 0-65535 + ushort HiID; // Reserved for future use + ulong datlen; // Length of buffer that follows + uchar Buffer[datlen]; // DATLEN bytes of data + end; + + --------------------------------------------------------------------- + Defined LoID codes + --------------------------------------------------------------------- + + ID=0, Name=OADDRESS + + A network address. This is used to specify the originating address. + More than one OADDRESS field may exist. DATLEN must not exceed 100 + characters. For a FidoNet-style address, this field must follow the + ZONE:NET/NODE.POINT@DOMAIN format where .POINT is excluded if zero + and @DOMAIN is excluded if unknown. + + + ID=1, Name=DADDRESS + + A network address. This is used to specify the destination address. + More than one DADDRESS field may exist (e.g. carbon copies). DATLEN + must not exceed 100 characters. For a FidoNet-style address, this + field must follow the ZONE:NET/NODE.POINT@DOMAIN format where .POINT + is excluded if zero and @DOMAIN is excluded if unknown. + + + ID=2, Name=SENDERNAME + + The sender (author) of the message. DATLEN must not exceed 100 + characters. + + + ID=3, Name=RECEIVERNAME + + The recipient of the message. DATLEN must not exceed 100 characters. + + + ID=4, Name=MSGID + + Used to store the message identification data. All data not relevant + to the actual ID string, including leading and trailing white space + characters should be removed. DATLEN must not exceed 100 characters. + + + ID=5, Name=REPLYID + + Used to store the message reply data. All data not relevant to the + actual reply string, including leading and trailing white space + characters should be removed. DATLEN must not exceed 100 characters. + + + ID=6, Name=SUBJECT + + The subject of the message. DATLEN must not exceed 100 characters. + Note that this field may not be used for FidoNet-style file attaches + or file requests. + + + ID=7, Name=PID + + Used to store the FTN PID kludge line. Only the actual PID data is + stored and ^aPID: is stripped along with any leading and trailing + white space characters. DATLEN must not exceed 40 characters. + + + ID=8, Name=TRACE + + This is also referred to as ^aVia information in FTNs. It contains + information about a system which the message has travelled through. + The format of the field is where: + + YYYY is the year (1992-9999) + MM is the month (01-12) + DD is the day (01-31) + HH is the hour (00-23) + MM is the minute (00-59) + SS is the second (00-59) + + The timestamp is stored in ASCII (0-9) characters. The network + address is the address of the system. It is expressed in ASCII + notation in the native format of the forwarding system. + + + ID=9, Name=ENCLOSEDFILE + + A file attached to the message. Only one filename may be specified + per subfield. No wildcard characters are allowed. If this subfield + is present in a message header, the ATTRIBUTE must include the + MSG_FILEATTACH bit. + + + ID=10, Name=ENCLOSEDFILEWALIAS + + Identical to ENCLOSEDFILE with the exception that the filename is + followed by a (00H) and an alias filename to be transmited to + the remote system in place of the local name of the file. + + + ID=11, Name=ENCLOSEDFREQ + + A request for one or more files. Only one filemask may be specified + per subfield. If the filemask contains a complete path, it is to be + regarded as an update file request. If this subfield is present in a + message header, the ATTRIBUTE must include the MSG_FILEREQUEST bit. + To indicate that a password is to be transmitted along with the + request, a (00H) character followed by the password is + appended. E.g. SECRET*.* MYPASSWORD. + + + ID=12, Name=ENCLOSEDFILEWCARD + + One or more files attached to the message. Only one filename may be + specified per subfield. Wildcard characters are allowed. If this + subfield is present in a message header, the ATTRIBUTE must include + the MSG_FILEATTACH bit. + + + ID=13, Name=ENCLOSEDINDIRECTFILE + + One or more files attached to the message. The filename points to an + ASCII file with one filename entry per line. If alias filenames are + to be used, they are specified after the actual filename and + separated by a (00H) character, e.g. C:\MYFILE.LZH NEWS. + Wildcard characters are not allowed. + + + ID=1000, Name=EMBINDAT + + Reserved for future use. + + + ID=2000, Name=FTSKLUDGE + + An FTS-compliant "kludge" line not otherwise represented here. All + data not relevant to the actual kludge line, including leading and + trailing white space and ^A (01H) characters should be removed. + DATLEN must not exceed 255 characters. The FTS kludges INTL, TOPT, + and FMPT must never be stored as separate SubFields. Their data must + be extracted and used for the address SubFields. + + + ID=2001, Name=SEENBY2D + + Used to store two-dimensional (net/node) SEEN-BY information often + used in FTN conference environments. Only the actual SEEN-BY data is + stored and ^aSEEN-BY: or SEEN-BY: is stripped along with any leading + and trailing white space characters. + + + ID=2002, Name=PATH2D + + Used to store two-dimensional (net/node) PATH information often used + in FTN conference environments. Only the actual PATH data is stored + and ^aPATH: is stripped along with any leading and trailing white + space characters. + + + ID=2003, Name=FLAGS + + Used to store the FTN FLAGS kludge information. Note that all FLAG + options that have binary representation in the JAM message header + must be removed from the FLAGS string prior to storing it. Only + the actual flags option string is stored and ^aFLAGS is stripped + along with any leading and trailing white space characters. + + + ID=2004, Name=TZUTCINFO + + Time zone information. This subfield consists of four mandatory + bytes and one optional. The first character may be a plus (+) or a + minus (-) character to indicate a location east (plus) or west + (minus) of UTC 0000. The plus character is implied unless the first + character is a minus character. The following four bytes must be + digits in the range zero through nine and indicates the offset in + hours and minutes. E.g. 0100 indicates an offset of one hour east of + UTC. + + --------------------------------------------------------------------- + Message attributes + --------------------------------------------------------------------- + MSG_LOCAL (0x00000001L) // Msg created locally + MSG_INTRANSIT (0x00000002L) // Msg is in-transit + MSG_PRIVATE (0x00000004L) // Private + MSG_READ (0x00000008L) // Read by addressee + MSG_SENT (0x00000010L) // Sent to remote + MSG_KILLSENT (0x00000020L) // Kill when sent + MSG_ARCHIVESENT (0x00000040L) // Archive when sent + MSG_HOLD (0x00000080L) // Hold for pick-up + MSG_CRASH (0x00000100L) // Crash + MSG_IMMEDIATE (0x00000200L) // Send Msg now, ignore restrictions + MSG_DIRECT (0x00000400L) // Send directly to destination + MSG_GATE (0x00000800L) // Send via gateway + MSG_FILEREQUEST (0x00001000L) // File request + MSG_FILEATTACH (0x00002000L) // File(s) attached to Msg + MSG_TRUNCFILE (0x00004000L) // Truncate file(s) when sent + MSG_KILLFILE (0x00008000L) // Delete file(s) when sent + MSG_RECEIPTREQ (0x00010000L) // Return receipt requested + MSG_CONFIRMREQ (0x00020000L) // Confirmation receipt requested + MSG_ORPHAN (0x00040000L) // Unknown destination + MSG_ENCRYPT (0x00080000L) // Msg text is encrypted (1) + MSG_COMPRESS (0x00100000L) // Msg text is compressed (1) + MSG_ESCAPED (0x00200000L) // Msg text is seven bit ASCII (1) + MSG_FPU (0x00400000L) // Force pickup + MSG_TYPELOCAL (0x00800000L) // Msg is for local use only + MSG_TYPEECHO (0x01000000L) // Msg is for conference distribution + MSG_TYPENET (0x02000000L) // Msg is direct network mail + MSG_NODISP (0x20000000L) // Msg may not be displayed to user + MSG_LOCKED (0x40000000L) // Msg is locked, no editing possible + MSG_DELETED (0x80000000L) // Msg is deleted + + (1) This revision of JAM does not include compression, encryption, or + escaping. The bits are reserved for future use. + + ===================================================================== + ????????.JDT Message text + --------------------------------------------------------------------- + The .JDT file contains the text of messages. The text is stored as an + stream of seven or eight bit ASCII data. Allowed characters in the + text are 00H through ffH unless the header ATTRIBUTE field has the + MSG_ESCAPED bit enabled, in which case the legal range of data is 20H + through 7eH. + + An escaped character is stored as \ where is the two digit + hexadecimal ASCII value of the character. A single \ is stored as \\ + or \5C. The case of the hexadecimal ASCII value is irrelevant, i.e. + 5c is treated as 5C. + + ===================================================================== + ????????.JDX Message index + --------------------------------------------------------------------- + The .JDX file is used to quickly locate messages for any given user + name or to locate a message with a specific number. Each record in + the file consists of two ulongs. The first ulong holds the CRC-32 of + the recipient's name (lowercase), the second ulong holds the + physical offset of the message header in the .JHR (header) file. + + The record number (+BaseMsgNum) within the .JDX file determines a + message's number. + + If both ulongs are -1 (ffffffffH), there is no corresponding message + header. + + ===================================================================== + ????????.JLR Lastread storage + --------------------------------------------------------------------- + The .JLR file is used to maintain a user's position within a message + area. The layout of the "lastread" record follows. One record per + user is required. + + LastRead: + ulong UserCRC; // CRC-32 of user name (lowercase) (1) + ulong UserID; // Unique UserID + ulong LastReadMsg; // Last read message number + ulong HighReadMsg; // Highest read message number + end; + + (1) The functions to convert a string to lowercase characters that + are provided in the API will only convert characters A-Z (into + a-z). It is required that this convention is followed by all + applications. + + The UserID field is a unique number for each user. If the "lastread" + record is deleted, UserCRC and UserID are both set to -1 + (ffffffffH). An application may not depend on any specific order in + the .JLR file. A user's "lastread" record may appear anywhere in the + file and must be searched for when retrieving it and when storing an + updated record. + + ===================================================================== + Updating message headers + --------------------------------------------------------------------- + If a header record grows after is has been retrieved from the .JHR + file, it must be appended to the end of the .JHR file since it would + overwrite the following header otherwise. The .JDX file must be + properly updated to indicate the new location of the header record. + The old header record must be changed to indicate that it has been + deleted by setting the MSG_DELETED bit in the Attribute field and the + TextLen field to zero (to prevent a maintenance program from removing + the message text that is now pointed to by another header). + + ===================================================================== + Message base sharing and locking + --------------------------------------------------------------------- + To allow several programs to access the message base at any given + time, region locking is used to protect the message base from being + corrupted during updates. + + When an application needs to write to any of the message base files, + it must first attempt to lock the first byte of the .JHR (header) + file. If the lock call fails, the application must either fail or + attempt to lock the file again. The message base files may under no + circumstances be updated if the application cannot successfully lock + the .JHR file. + + Note that data acquired (read) from the message base may not be used + when writing data to the message base, unless the application has + maintained a lock of the message base from the time the data was + acquired or the MODCOUNTER field is the same as when the data was + acquired. + + The application must open the files in shareable (DENYNONE) read/ + write or readonly mode. The only exception to this is an application + that requires exclusive access to the message base, such as a message + base maintenance utility, it should open the files in non-shareable + (DENYALL) read/write mode. + + ===================================================================== + Reply threads and linking + --------------------------------------------------------------------- + JAM introduces a new reply link pointer, not commonly used today. + This section is an attempt to describe how reply threads, reply + linking, and this new reply link pointer is implemented in JAM. + + One of the major differences is that reply threads in JAM are not + based on similar or identical subjects of messages since this method + does not allow for proper reply threads. + + The method used in JAM is based on the immediate relation between any + given message and direct replies to it. This is supported by many + message editors by using the MSGID and REPLY FTS kludge fields. These + are common, although expressed differently, in messages not based on + FidoNet technology, such as RFC-822. The obvious advantages include + allowing a program to easily find the original message to a reply, + and to find all replies to any given message. + + The reply thread information consists of three fields: ReplyTo, + Reply1st, and ReplyNext. The reason for three fields, as opposed to + just two, is that with two fields, it is only possible to keep track + of the original message of a reply (which is sufficient) and one + reply to any given message (which is not sufficient). With three + fields, it is possible to maintain a thread of any number of replies + to any given message. + + In the description of the different fields below, the following + messages and message numbers will be referred to: + + 1 -> 2 -> 4 -> 5 + : : + : +--> 8 + : + +--> 3 -> 7 + : + +--> 6 + + Message number two, three, and six are replies to message number one. + Message number four and eight are replies to message number two. + Message number seven is a reply to message number three. + Message number five is a reply to message number four. + + --------------------------------------------------------------------- + ReplyTo + --------------------------------------------------------------------- + This field holds the number of the message that this message is a + reply to. In the example above, the ReplyTo field would contain the + following values: + + Message number one would contain zero; message number two, three, and + six, would contain one; message number four and eight would contain + two; message number seven would contain three, and message number + five would contain four. + + --------------------------------------------------------------------- + Reply1st + --------------------------------------------------------------------- + This field holds the number of the first message that is a reply to + this message. In the example above, the Reply1st field would contain + the following values: + + Message number one would contain two, message number three would + contain seven, and message number four would contain five. All other + messages would contain zero. + + --------------------------------------------------------------------- + ReplyNext + --------------------------------------------------------------------- + This field is used to create the actual message thread or chain. In + the event that there is more than one reply to any given message, it + is necessary to maintain a thread of all the replies; this is due to + the fact that the original message can only hold information about + the first reply (the Reply1st field) to it. + + The first reply (which the original message's Reply1st field holds), + has its ReplyNext field pointing to the second reply, the second + reply's ReplyNext field poinst to the third reply, and so on. + + In the example above, the ReplyNext field would contain the following + values: + + Message number two would contain three, message number three would + contain six, and message number four would contain eight. All other + messages would contain zero. + + ===================================================================== + Contacts + --------------------------------------------------------------------- + Joaquim Homrighausen Telefax: +352 316 702 + 389, route d'Arlon Modem: +352 316 702 + L-8011 Strassen eMail: 2:270/17@fidonet + Luxembourg joho@abs.lu + + Andrew Milner Telefax: +352 251 621 + 9a, Boulevard Joseph II Modem: +352 251 621 + L-1840 Belair eMail: 2:270/18@fidonet + Luxembourg andrew@fido.lu + + Mats Wallin Telefax: +46 8 6453285 + F”rskottsv„gen 11 Modem: +46 8 6453882 + S-126 44 H„gersten eMail: 2:201/329@fidonet + Sweden mw@fido.lu +
-- - - + + + + + + + + +Last update 02-Feb-2001
-
- -
Binkly style outbound documentation for MBSE BBS.
--The MBSE BBS outbound directory structure is BinkleyTerm compatible, with -domains and point subdirectories (full 5d). There are separate "protected" and -"unknown" inbound directories for incoming sessions. Files received during -outbound sessions are always placed in the "protected" inbound directory. Only -the "protected" inbound directory is processed automatic. -
- -
-Note that this is a very simple document and that it is not even finished. -
-
-.pol Poll flag, is handled as crash immediate, the length is always 0 bytes. - - Flow files are files with the full pathnames to the files to send - on disk. Names are translated by MBSE BBS to full DOS filenames and - paths depending on your setup. - If you use it then it is importand that you think about the directory - structure to use. See also the documentation about the setup of the - ftp server - The filenames may be prepended with a special character: - # = Truncate file after sent. - - or ^ = Kill file after sent. - @ = Leave file after sent, this is the default. - -.flo Normal flow file (contains complete filenames to send). -.clo Crash flow file. -.hlo Hold flow file. -.ilo Immediate flow file, overrides CM flag. - - The following are .pkt files, during the mail session they will be - renamed to nnnnnnnn.pkt with an unique name and added to the spool - file. Messages can allways be added to the outbound as long as the - node isn't locked. - -.out Normal .pkt file. -.cut Crash .pkt file. -.hut Hold .pkt file. -.iut Immediate .pkt file. - - It seems that these are subdirectories used by ifpack during packing - of mail. These are used for the news/e-mail gate. - -.opk -.cpk -.hpk -.ipk - - -.req Request file. Contains filenames in ascii with <cr><lf>. - -.su0 Arcmail bundles, the last digit may be any digit or letter. -.mo0 -.tu0 -.we0 -.th0 -.fr0 -.sa0 - -.sts Node status file created by mbcico. These are data files containing - three values: - 1. 'time', this is the last call attempt time (in time_t format). - 2. 'retries', is the number of retries to try to connect that node. This - field is zeroed when the call succeeds or when that node calls in. - It is also zeroed when a new poll is created. Currently, mbcico stops - calling a node if the counter is higher then 30. - 3. 'code', is the return code of the last attempt. - 0 - Successfull call - 1 - No dialout port available - 2 - No CONNECT or TCP connect failed - 3 - Could not reset the modem - 4 - System is locked - 5 - Retry time not reached? - 6 - Fatal error in nodelist lookup - 7 - Call prohibited by config options - 8 - Phone number unavailable - 9 - No free matching port - 10 - Unused - 11..29 - Session (handshake) errors. - This file is not compatible with the .sts files created by ifcico.- --.spl Spool file, created by mbcico. - -.bsy Busy file, for locking nodes. The 'pid' of the process who locked that - node is inserted into this file. All programs of the MBSE BBS package - (and ifcico package) check if the pid exists if a .bsy file is found. - If there is no pid found, the lock is a stale lock and is removed. - -- - -Go Back -
++ + + diff --git a/html/misc/semafore.html b/html/misc/semafore.html index edf1a0ca..b4145f44 100644 --- a/html/misc/semafore.html +++ b/html/misc/semafore.html @@ -1,63 +1,63 @@ - - - - - - - - -Last update 02-Feb-2001
+
+ +
Binkly style outbound documentation for MBSE BBS.
++The MBSE BBS outbound directory structure is BinkleyTerm compatible, with +domains and point subdirectories (full 5d). There are separate "protected" and +"unknown" inbound directories for incoming sessions. Files received during +outbound sessions are always placed in the "protected" inbound directory. Only +the "protected" inbound directory is processed automatic. +
+ +
+Note that this is a very simple document and that it is not even finished. +
+
+.pol Poll flag, is handled as crash immediate, the length is always 0 bytes. + + Flow files are files with the full pathnames to the files to send + on disk. Names are translated by MBSE BBS to full DOS filenames and + paths depending on your setup. + If you use it then it is importand that you think about the directory + structure to use. See also the documentation about the setup of the + ftp server + The filenames may be prepended with a special character: + # = Truncate file after sent. + - or ^ = Kill file after sent. + @ = Leave file after sent, this is the default. + +.flo Normal flow file (contains complete filenames to send). +.clo Crash flow file. +.hlo Hold flow file. +.ilo Immediate flow file, overrides CM flag. + + The following are .pkt files, during the mail session they will be + renamed to nnnnnnnn.pkt with an unique name and added to the spool + file. Messages can allways be added to the outbound as long as the + node isn't locked. + +.out Normal .pkt file. +.cut Crash .pkt file. +.hut Hold .pkt file. +.iut Immediate .pkt file. + + It seems that these are subdirectories used by ifpack during packing + of mail. These are used for the news/e-mail gate. + +.opk +.cpk +.hpk +.ipk + + +.req Request file. Contains filenames in ascii with <cr><lf>. + +.su0 Arcmail bundles, the last digit may be any digit or letter. +.mo0 +.tu0 +.we0 +.th0 +.fr0 +.sa0 + +.sts Node status file created by mbcico. These are data files containing + three values: + 1. 'time', this is the last call attempt time (in time_t format). + 2. 'retries', is the number of retries to try to connect that node. This + field is zeroed when the call succeeds or when that node calls in. + It is also zeroed when a new poll is created. Currently, mbcico stops + calling a node if the counter is higher then 30. + 3. 'code', is the return code of the last attempt. + 0 - Successfull call + 1 - No dialout port available + 2 - No CONNECT or TCP connect failed + 3 - Could not reset the modem + 4 - System is locked + 5 - Retry time not reached? + 6 - Fatal error in nodelist lookup + 7 - Call prohibited by config options + 8 - Phone number unavailable + 9 - No free matching port + 10 - Unused + 11..29 - Session (handshake) errors. + This file is not compatible with the .sts files created by ifcico.+ ++.spl Spool file, created by mbcico. + +.bsy Busy file, for locking nodes. The 'pid' of the process who locked that + node is inserted into this file. All programs of the MBSE BBS package + (and ifcico package) check if the pid exists if a .bsy file is found. + If there is no pid found, the lock is a stale lock and is removed. + ++ + +Go Back +
-- - - + + + + + + + + +Last update 27-jul-2001
-
- -
Semafore files with MBSE BBS.
- -The directory $MBSE_ROOT/sema is the hardcoded semafore directory where all -semafore's must be created, tested and removed. When the system is booting, -the init script will erase all semafore's just before the BBS is started. -This description is valid from MBSE BBS v0.33.18 and newer. - --zmh Purpose: to mark the state of Zone Mail Hour. - Created by "mbtask" at the start of Zone Mail Hour. - Removed by "mbtask" at the end of Zone Mail Hour. - -upsalarm Purpose: Signal that the system is running on battery power. - Created and removed by UPS software. - Checked by mbtask to suspend processing. - Checked by mbfido to stop processing. - -upsdown Purpose: Signal that the system will go down on low battery. - Created and removed by UPS software. - Checked by mbtask to go down. - Checked by several scripts and "mbstat wait". - -newnews Purpose: Signal that there are new articles on the news server. - Checked by mbtask to start news processing. - Removed by mbtask as soon as it is detected. - -mailout Purpose: Signal that there is mail posted in the message base. - Checked by mbtask to start scan the message base. - Removed by mbtask as soon as it is detected. - -mailin Purpose: Signal that there is new mail in the inbound. - Checked by mbtask to start the tosser. - Removed by mbtask as soon as it is detected. - -scanout Purpose: Signal that the outbound must be rescanned. - Checked by mbtask to check the outbound. - Removed by mbtask as soon as it is detected. - -mbtask.last Purpose: A timestamp created and touched by "mbtask" every - minute so you can check it is running. -- - Go Back -
++ + + diff --git a/html/misc/usleep.html b/html/misc/usleep.html index fc64d73c..37159285 100644 --- a/html/misc/usleep.html +++ b/html/misc/usleep.html @@ -1,61 +1,61 @@ - - -Last update 27-jul-2001
+
+ +
Semafore files with MBSE BBS.
+ +The directory $MBSE_ROOT/sema is the hardcoded semafore directory where all +semafore's must be created, tested and removed. When the system is booting, +the init script will erase all semafore's just before the BBS is started. +This description is valid from MBSE BBS v0.33.18 and newer. + ++zmh Purpose: to mark the state of Zone Mail Hour. + Created by "mbtask" at the start of Zone Mail Hour. + Removed by "mbtask" at the end of Zone Mail Hour. + +upsalarm Purpose: Signal that the system is running on battery power. + Created and removed by UPS software. + Checked by mbtask to suspend processing. + Checked by mbfido to stop processing. + +upsdown Purpose: Signal that the system will go down on low battery. + Created and removed by UPS software. + Checked by mbtask to go down. + Checked by several scripts and "mbstat wait". + +newnews Purpose: Signal that there are new articles on the news server. + Checked by mbtask to start news processing. + Removed by mbtask as soon as it is detected. + +mailout Purpose: Signal that there is mail posted in the message base. + Checked by mbtask to start scan the message base. + Removed by mbtask as soon as it is detected. + +mailin Purpose: Signal that there is new mail in the inbound. + Checked by mbtask to start the tosser. + Removed by mbtask as soon as it is detected. + +scanout Purpose: Signal that the outbound must be rescanned. + Checked by mbtask to check the outbound. + Removed by mbtask as soon as it is detected. + +mbtask.last Purpose: A timestamp created and touched by "mbtask" every + minute so you can check it is running. ++ + Go Back +
- usleep.doc - - -At some time when developping MBSE BBS I decided that background utilities -did't need full speed to do their jobs. BBS utilities under DOS needed -to run as fast as possible because you needed to bring the bbs down to run -these programs and users couldn't login during that time. - -Starting with mball, the allfiles creator, I inserted code that does usleep(1) -after each 5 processed files. The 1 microsecond is not really the time the -program pauses, it's probably a lot longer. I think this depends on the -hardware type, (Intel, Sparc, Alpha etc) how long Linux will really suspends -executing the utility. - -The program speed downgrade at the development machine that mball needed was -3 times the original exection time, while system loading stayed under 30%. -At that time the development machine is an 486DX2-66 with a Seagate ST32151N -SCSI harddisk. - -The extra usleep code is only active if you run these utils with the -quiet -switch and when this is set in mbsetup. See menu 1->5. -With this switch, the program is mostly run by cron. If you onmit -this switch, this is probably when you start the program manually, it will -then always run at full speed, no matter what the setting in mbsetup is. - -If you have a fast system or don't care that the performance of your system -drops because of background processing, you can turn this future off with -mbsetup in the global section. (menu 1->5). - -Remember, if you have a PII-400 MMX or so with IDE disks, you may still have -performance problems and need to set that switch to yes. There is only one -way to find out if you need it. - -Well, actually, I tested this on a Dell Latitude PII-266, setting the switch to -yes gave better performance then no. Why? The CPU has more time for the slow -IDE disk. With the slow switch on programs runs even faster then with the switch -off. - -Michiel. - -- - Go Back - - - - + + +
+ usleep.doc + + +At some time when developping MBSE BBS I decided that background utilities +did't need full speed to do their jobs. BBS utilities under DOS needed +to run as fast as possible because you needed to bring the bbs down to run +these programs and users couldn't login during that time. + +Starting with mball, the allfiles creator, I inserted code that does usleep(1) +after each 5 processed files. The 1 microsecond is not really the time the +program pauses, it's probably a lot longer. I think this depends on the +hardware type, (Intel, Sparc, Alpha etc) how long Linux will really suspends +executing the utility. + +The program speed downgrade at the development machine that mball needed was +3 times the original exection time, while system loading stayed under 30%. +At that time the development machine is an 486DX2-66 with a Seagate ST32151N +SCSI harddisk. + +The extra usleep code is only active if you run these utils with the -quiet +switch and when this is set in mbsetup. See menu 1->5. +With this switch, the program is mostly run by cron. If you onmit +this switch, this is probably when you start the program manually, it will +then always run at full speed, no matter what the setting in mbsetup is. + +If you have a fast system or don't care that the performance of your system +drops because of background processing, you can turn this future off with +mbsetup in the global section. (menu 1->5). + +Remember, if you have a PII-400 MMX or so with IDE disks, you may still have +performance problems and need to set that switch to yes. There is only one +way to find out if you need it. + +Well, actually, I tested this on a Dell Latitude PII-266, setting the switch to +yes gave better performance then no. Why? The CPU has more time for the slow +IDE disk. With the slow switch on programs runs even faster then with the switch +off. + +Michiel. + ++ + Go Back + + + + diff --git a/html/nodelist.html b/html/nodelist.html index 07dff033..bda77168 100644 --- a/html/nodelist.html +++ b/html/nodelist.html @@ -1,131 +1,131 @@ - - - - - - - - -
-- - - + + + + + + + + +Last update 07-Jun-2001
-
- -
Nodelist and Nodediff processing
-- -
Introduction
--A received a lot of questions about nodelist and nodediff processing, so -I will describe here the setup of the development system for the Fidonet -nodelist. First of all, it is very important that you -use three separate directories to do the nodelist processing. This is to -make sure that all stages are independent of each other, and if something -goes wrong, you still have a working system. The three directories are:
--
-In short the steps to process the nodediff's is as follows: -- /var/spool/mbse/ftp/pub/fido/nodelist, this is the public -download area, the received diff's are stored here as well as the final -compressed nodelists for download. -
- /opt/mbse/tmp/nlwork, this is the working directory -to apply diffs to the previous nodelist. This directory should allways -contain the latest uncompressed nodelist. -
- /var/spool/mbse/nodelist, this is the systems nodelist -directory defined in mbsetup, menu 1.3.4 -
-
-Next I will describe these steps in detail. -- Receive the nodediff and store it for download. -
- Apply the diff to the latest nodelist. -
- Hatch the new compressed nodelist. -
- Store the new nodelist for download. -
- Unpack the new nodelist in the nodelist compiler directory. -
- Set the compile semafore. -
- Compile the nodelists. -
- -
The download area
--First define the download area for the bbs. In my case, this is area 20. From -here users can download the nodelists and nodediffs, files to the downlinks -are send from here. Below is the example of my system. -
- -
- -
The NODEDIFF tic area
--From your uplinks you usually receive NODEDIFF files. Create a tic area for -that purpose. I have keep# set to 5, this means the last 5 diff's are stored -in the download directory, older ones are removed. Now you can receive -nodediff files, store them for download, and send them to other nodes. -
- -
- -
Apply the diff
--We do this with the tic magic processor. In this example -I have NODELIST.007 in the /opt/mbse/tmp/nlwork directory. -Note that this filename is uppercase, they are usually stored and distributed -as uppercase names. As I receive the diff files as arc, the filemask on -my system is nodediff.a##. -This means that the file with the name nodediff.a14 in the area NODEDIFF -is a match. The command that is executed expands to -mbdiff /opt/mbse/tmp/nlwork/NODELIST /var/spool/mbse/ftp/pub/fido/nodelist/nodediff.a14 -quiet if the received nodediff is -nodediff.a14.
The mbdiff program applies -nodediff.a14 against NODELIST.007 in the -/opt/mbse/tmp/nlwork directory. If this is successfull, a -new NODELIST.014 is created there, a compressed -nodelist.z14 is created there and NODELIST.007 is -removed.
If this operation fails, only NODELIST.007 will stay -in that directory. -Because the ARC program for Linux isn't good for files, I -left the Arc files command empty in the archiver setup. As a fallback the -mbdiff program uses zip to create the compressed archive.
-If creating the new nodelist fails for some reason, a missed diff or so, -the whole processing stops here. The previous nodelist is still here and -you can manually correct the situation. So, if you missed a diff, see that -you get it and manually give the mbdiff commands as user -mbse until you are up to date. Or, place the latest -uncompressed nodelist in the directory /opt/mbse/tmp/nlwork. -- -
- -
Processing the new nodelist
--Now that we have created the new compressed nodelist, it has to go somewhere. -The file nodelist.z14 is in the directory -/opt/mbse/tmp/nlwork. The example for the hatch manager -is shown below. The hatch manager runs automatic with the comand -mbfido tic. This setup will hatch the new nodelist in the -tic area NODELIST The two screens below show the tic and -hatch setup for this area. -
- - -
-Now that we have hatched the new nodelist and stored in in the download area, -and maybe send some copies to downlinks, we have to feed it to the nodelist -compiler for our own system. We use a tic magic command to do -that. In this case we unpack the nodelist in /var/spool/mbse/nodelist -and set the compile semafore so that the mbindex - will compile the new nodelist. Don't be afraid that the unpacked -nodelists will acumulate in the nodelist directory, mbindex -will handle that, only the latest two nodelists are kept there. The -mbindex program is started by the taskmanager -mbtask. -
- -
- - Go Back -
++ + + diff --git a/html/postfix.html b/html/postfix.html index 5331ecb7..d93aff3c 100644 --- a/html/postfix.html +++ b/html/postfix.html @@ -1,160 +1,160 @@ - - - - - - - - -Last update 07-Jun-2001
+
+ +
Nodelist and Nodediff processing
++ +
Introduction
++A received a lot of questions about nodelist and nodediff processing, so +I will describe here the setup of the development system for the Fidonet +nodelist. First of all, it is very important that you +use three separate directories to do the nodelist processing. This is to +make sure that all stages are independent of each other, and if something +goes wrong, you still have a working system. The three directories are:
++
+In short the steps to process the nodediff's is as follows: +- /var/spool/mbse/ftp/pub/fido/nodelist, this is the public +download area, the received diff's are stored here as well as the final +compressed nodelists for download. +
- /opt/mbse/tmp/nlwork, this is the working directory +to apply diffs to the previous nodelist. This directory should allways +contain the latest uncompressed nodelist. +
- /var/spool/mbse/nodelist, this is the systems nodelist +directory defined in mbsetup, menu 1.3.4 +
+
+Next I will describe these steps in detail. +- Receive the nodediff and store it for download. +
- Apply the diff to the latest nodelist. +
- Hatch the new compressed nodelist. +
- Store the new nodelist for download. +
- Unpack the new nodelist in the nodelist compiler directory. +
- Set the compile semafore. +
- Compile the nodelists. +
+ +
The download area
++First define the download area for the bbs. In my case, this is area 20. From +here users can download the nodelists and nodediffs, files to the downlinks +are send from here. Below is the example of my system. +
+ +
+ +
The NODEDIFF tic area
++From your uplinks you usually receive NODEDIFF files. Create a tic area for +that purpose. I have keep# set to 5, this means the last 5 diff's are stored +in the download directory, older ones are removed. Now you can receive +nodediff files, store them for download, and send them to other nodes. +
+ +
+ +
Apply the diff
++We do this with the tic magic processor. In this example +I have NODELIST.007 in the /opt/mbse/tmp/nlwork directory. +Note that this filename is uppercase, they are usually stored and distributed +as uppercase names. As I receive the diff files as arc, the filemask on +my system is nodediff.a##. +This means that the file with the name nodediff.a14 in the area NODEDIFF +is a match. The command that is executed expands to +mbdiff /opt/mbse/tmp/nlwork/NODELIST /var/spool/mbse/ftp/pub/fido/nodelist/nodediff.a14 -quiet if the received nodediff is +nodediff.a14.
The mbdiff program applies +nodediff.a14 against NODELIST.007 in the +/opt/mbse/tmp/nlwork directory. If this is successfull, a +new NODELIST.014 is created there, a compressed +nodelist.z14 is created there and NODELIST.007 is +removed.
If this operation fails, only NODELIST.007 will stay +in that directory. +Because the ARC program for Linux isn't good for files, I +left the Arc files command empty in the archiver setup. As a fallback the +mbdiff program uses zip to create the compressed archive.
+If creating the new nodelist fails for some reason, a missed diff or so, +the whole processing stops here. The previous nodelist is still here and +you can manually correct the situation. So, if you missed a diff, see that +you get it and manually give the mbdiff commands as user +mbse until you are up to date. Or, place the latest +uncompressed nodelist in the directory /opt/mbse/tmp/nlwork. ++ +
+ +
Processing the new nodelist
++Now that we have created the new compressed nodelist, it has to go somewhere. +The file nodelist.z14 is in the directory +/opt/mbse/tmp/nlwork. The example for the hatch manager +is shown below. The hatch manager runs automatic with the comand +mbfido tic. This setup will hatch the new nodelist in the +tic area NODELIST The two screens below show the tic and +hatch setup for this area. +
+ + +
+Now that we have hatched the new nodelist and stored in in the download area, +and maybe send some copies to downlinks, we have to feed it to the nodelist +compiler for our own system. We use a tic magic command to do +that. In this case we unpack the nodelist in /var/spool/mbse/nodelist +and set the compile semafore so that the mbindex + will compile the new nodelist. Don't be afraid that the unpacked +nodelists will acumulate in the nodelist directory, mbindex +will handle that, only the latest two nodelists are kept there. The +mbindex program is started by the taskmanager +mbtask. +
+ +
+ + Go Back +
-- - - + + + + + + + + +Last update 25-Aug-2001
-
- -
MBSE BBS - Internet Gateway - Postfix setup.
--Of course you need to make all these changes as root. -Add the mbmail program as service to the postfix system by -adding two lines to master.cf. -
--# -# Postfix master process configuration file. Each line describes how -# a mailer component program should be run. The fields that make up -# each line are described below. A "-" field value requests that a -# default value be used for that field. -# -# Service: any name that is valid for the specified transport type -# (the next field). With INET transports, a service is specified as -# host:port. The host part (and colon) may be omitted. Either host -# or port may be given in symbolic form or in numeric form. Examples -# for the SMTP server: localhost:smtp receives mail via the loopback -# interface only; 10025 receives mail on port 10025. -# -# Transport type: "inet" for Internet sockets, "unix" for UNIX-domain -# sockets, "fifo" for named pipes. -# -# Private: whether or not access is restricted to the mail system. -# Default is private service. Internet (inet) sockets can't be private. -# -# Unprivileged: whether the service runs with root privileges or as -# the owner of the Postfix system (the owner name is controlled by the -# mail_owner configuration variable in the main.cf file). -# -# Chroot: whether or not the service runs chrooted to the mail queue -# directory (pathname is controlled by the queue_directory configuration -# variable in the main.cf file). Presently, all Postfix daemons can run -# chrooted, except for the pipe and local daemons. The files in the -# examples/chroot-setup subdirectory describe how to set up a Postfix -# chroot environment for your type of machine. -# -# Wakeup time: automatically wake up the named service after the -# specified number of seconds. Specify 0 for no wakeup. Presently, -# only the local pickup and queue manager daemons need a wakeup timer. -# -# Max procs: the maximum number of processes that may execute this -# service simultaneously. Default is to use a globally configurable -# limit (the default_process_limit configuration parameter in main.cf). -# -# Command + args: the command to be executed. The command name is -# relative to the Postfix program directory (pathname is controlled by -# the program_directory configuration variable). Adding one or more -# -v options turns on verbose logging for that service; adding a -D -# option enables symbolic debugging (see the debugger_command variable -# in the main.cf configuration file). -# -# In order to use the "uucp" message tranport below, set up entries -# in the transport table. -# -# In order to use the "cyrus" message transport below, configure it -# in main.cf as the mailbox_transport. -# -# SPECIFY ONLY PROGRAMS THAT ARE WRITTEN TO RUN AS POSTFIX DAEMONS. -# ALL DAEMONS SPECIFIED HERE MUST SPEAK A POSTFIX-INTERNAL PROTOCOL. -# -# ========================================================================== -# service type private unpriv chroot wakeup maxproc command + args -# (yes) (yes) (yes) (never) (50) -# ========================================================================== -smtp inet n - n - - smtpd -pickup fifo n n n 60 1 pickup -cleanup unix - - n - 0 cleanup -qmgr fifo n - n 300 1 qmgr -rewrite unix - - n - - trivial-rewrite -bounce unix - - n - 0 bounce -defer unix - - n - 0 bounce -smtp unix - - n - - smtp -showq unix n - n - - showq -error unix - - n - - error -local unix - n n - - local -cyrus unix - n n - - pipe - flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user} -uucp unix - n n - - pipe - flags=F user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) -ifmail unix - n n - 1 pipe - flags=F user=fido argv=/usr/local/bin/ifmail -r $nexthop ($recipient) -mbmail unix - n n - 1 pipe - flags=F user=mbse argv=/opt/mbse/bin/mbmail ($recipient) -bsmtp unix - n n - - pipe - flags=F. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient --
-In main.cf change or add the line:
--relay_domains = $mydestination, f2802.n280.z2.fidonet.org --The fidonet address will be your fidonet address of course. If you have more -fidonet aka's, add them as well seperated with commas. -- -Next you need to add mbmail to the -transport file. -
--# /etc/postfix/transport -# -# execute "postmap /etc/postfix/transport" after changing this file -# -# Local destinations -# -seaport.mbse.nl local: -www.mbse.nl local: -news.mbse.nl local: -# -# Fidonet mailers at this machine. Test on several strings to make sure -# it will catches everything. -# -z1 mbmail:f2802.n280.z2.fidonet -.z1 mbmail:f2802.n280.z2.fidonet -z2 mbmail:f2802.n280.z2.fidonet -.z2 mbmail:f2802.n280.z2.fidonet -z3 mbmail:f2802.n280.z2.fidonet -.z3 mbmail:f2802.n280.z2.fidonet -z4 mbmail:f2802.n280.z2.fidonet -.z4 mbmail:f2802.n280.z2.fidonet -z5 mbmail:f2802.n280.z2.fidonet -.z5 mbmail:f2802.n280.z2.fidonet -z6 mbmail:f2802.n280.z2.fidonet -.z6 mbmail:f2802.n280.z2.fidonet -fidonet mbmail:f2802.n280.z2.fidonet -.fidonet mbmail:f2802.n280.z2.fidonet -fidonet.org mbmail:f2802.n280.z2.fidonet -.fidonet.org mbmail:f2802.n280.z2.fidonet --
-Don't forget to run postmap /etc/postfix/transport. Now all -files are changed, run postfix reload to activate the -changes. - -- - -Go back - Go to main -
++ + + diff --git a/html/programs/mbfile.html b/html/programs/mbfile.html index 1afc6dfb..9365a430 100644 --- a/html/programs/mbfile.html +++ b/html/programs/mbfile.html @@ -1,93 +1,97 @@ - - - - - - - - -Last update 25-Aug-2001
+
+ +
MBSE BBS - Internet Gateway - Postfix setup.
++Of course you need to make all these changes as root. +Add the mbmail program as service to the postfix system by +adding two lines to master.cf. +
++# +# Postfix master process configuration file. Each line describes how +# a mailer component program should be run. The fields that make up +# each line are described below. A "-" field value requests that a +# default value be used for that field. +# +# Service: any name that is valid for the specified transport type +# (the next field). With INET transports, a service is specified as +# host:port. The host part (and colon) may be omitted. Either host +# or port may be given in symbolic form or in numeric form. Examples +# for the SMTP server: localhost:smtp receives mail via the loopback +# interface only; 10025 receives mail on port 10025. +# +# Transport type: "inet" for Internet sockets, "unix" for UNIX-domain +# sockets, "fifo" for named pipes. +# +# Private: whether or not access is restricted to the mail system. +# Default is private service. Internet (inet) sockets can't be private. +# +# Unprivileged: whether the service runs with root privileges or as +# the owner of the Postfix system (the owner name is controlled by the +# mail_owner configuration variable in the main.cf file). +# +# Chroot: whether or not the service runs chrooted to the mail queue +# directory (pathname is controlled by the queue_directory configuration +# variable in the main.cf file). Presently, all Postfix daemons can run +# chrooted, except for the pipe and local daemons. The files in the +# examples/chroot-setup subdirectory describe how to set up a Postfix +# chroot environment for your type of machine. +# +# Wakeup time: automatically wake up the named service after the +# specified number of seconds. Specify 0 for no wakeup. Presently, +# only the local pickup and queue manager daemons need a wakeup timer. +# +# Max procs: the maximum number of processes that may execute this +# service simultaneously. Default is to use a globally configurable +# limit (the default_process_limit configuration parameter in main.cf). +# +# Command + args: the command to be executed. The command name is +# relative to the Postfix program directory (pathname is controlled by +# the program_directory configuration variable). Adding one or more +# -v options turns on verbose logging for that service; adding a -D +# option enables symbolic debugging (see the debugger_command variable +# in the main.cf configuration file). +# +# In order to use the "uucp" message tranport below, set up entries +# in the transport table. +# +# In order to use the "cyrus" message transport below, configure it +# in main.cf as the mailbox_transport. +# +# SPECIFY ONLY PROGRAMS THAT ARE WRITTEN TO RUN AS POSTFIX DAEMONS. +# ALL DAEMONS SPECIFIED HERE MUST SPEAK A POSTFIX-INTERNAL PROTOCOL. +# +# ========================================================================== +# service type private unpriv chroot wakeup maxproc command + args +# (yes) (yes) (yes) (never) (50) +# ========================================================================== +smtp inet n - n - - smtpd +pickup fifo n n n 60 1 pickup +cleanup unix - - n - 0 cleanup +qmgr fifo n - n 300 1 qmgr +rewrite unix - - n - - trivial-rewrite +bounce unix - - n - 0 bounce +defer unix - - n - 0 bounce +smtp unix - - n - - smtp +showq unix n - n - - showq +error unix - - n - - error +local unix - n n - - local +cyrus unix - n n - - pipe + flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user} +uucp unix - n n - - pipe + flags=F user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) +ifmail unix - n n - 1 pipe + flags=F user=fido argv=/usr/local/bin/ifmail -r $nexthop ($recipient) +mbmail unix - n n - 1 pipe + flags=F user=mbse argv=/opt/mbse/bin/mbmail ($recipient) +bsmtp unix - n n - - pipe + flags=F. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient ++
+In main.cf change or add the line:
++relay_domains = $mydestination, f2802.n280.z2.fidonet.org ++The fidonet address will be your fidonet address of course. If you have more +fidonet aka's, add them as well seperated with commas. ++ +Next you need to add mbmail to the +transport file. +
++# /etc/postfix/transport +# +# execute "postmap /etc/postfix/transport" after changing this file +# +# Local destinations +# +seaport.mbse.nl local: +www.mbse.nl local: +news.mbse.nl local: +# +# Fidonet mailers at this machine. Test on several strings to make sure +# it will catches everything. +# +z1 mbmail:f2802.n280.z2.fidonet +.z1 mbmail:f2802.n280.z2.fidonet +z2 mbmail:f2802.n280.z2.fidonet +.z2 mbmail:f2802.n280.z2.fidonet +z3 mbmail:f2802.n280.z2.fidonet +.z3 mbmail:f2802.n280.z2.fidonet +z4 mbmail:f2802.n280.z2.fidonet +.z4 mbmail:f2802.n280.z2.fidonet +z5 mbmail:f2802.n280.z2.fidonet +.z5 mbmail:f2802.n280.z2.fidonet +z6 mbmail:f2802.n280.z2.fidonet +.z6 mbmail:f2802.n280.z2.fidonet +fidonet mbmail:f2802.n280.z2.fidonet +.fidonet mbmail:f2802.n280.z2.fidonet +fidonet.org mbmail:f2802.n280.z2.fidonet +.fidonet.org mbmail:f2802.n280.z2.fidonet ++
+Don't forget to run postmap /etc/postfix/transport. Now all +files are changed, run postfix reload to activate the +changes. + ++ + +Go back + Go to main +
-- - - + + + + + + + + +Last update 30-Jan-2001
-
- -
mbfile - File database maintenance program.
-- -
Synopsys.
-mbfile [commands] <options>
-
- -
Description.
--mbfile -is the filedatabase maintenance program for mbsebbs. In order to run mbfile you -must have started mbsed, -this is the deamon which controls all bbs activities. -
-The main purpose of mbfile -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 mbfile -from the crontab. example: -
-30 05 * * * export MBSE_ROOT=/opt/mbse; /opt/mbse/bin/mbfile kill pack check index -quiet --
- -
Environment.
--In order to run the bbs you need to set one global environment variable -$MBSE_ROOT -This variable must point to the root of the bbs directoy structure. The -main configuration file config.data -must exist in the subdirectory ~/etc. -
- -
Commands.
--
mbfile check
-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. --
mbfile index
-Create fast filerequest index for the mbcico filerequest -processor. --
mbfile pack
-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 mbfile pack. --
mbfile kill
-Delete or move files in areas that have the download age -set or the filedate age 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. -
- -
Options.
--
mbfile [command] -quiet
-Quiet mode, no screen output. Use this switch if you run mbfile from the crontab. -- - Back to index - Back to Main index -
++ + + diff --git a/html/routing.html b/html/routing.html index 75a1d088..cd5e4c25 100644 --- a/html/routing.html +++ b/html/routing.html @@ -1,211 +1,211 @@ - - - - - - - - -Last update 22-Oct-2001
++ +
mbfile - File database maintenance program.
++ +
Synopsys.
+mbfile [commands] <options>
+
+ +
Description.
++mbfile +is the filedatabase maintenance program for mbsebbs. In order to run mbfile you +must have started mbsed, +this is the deamon which controls all bbs activities. +
+The main purpose of mbfile +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 mbfile +from the crontab. example: +
+30 05 * * * export MBSE_ROOT=/opt/mbse; /opt/mbse/bin/mbfile kill pack check index -quiet ++
+ +
Environment.
++In order to run the bbs you need to set one global environment variable +$MBSE_ROOT +This variable must point to the root of the bbs directoy structure. The +main configuration file config.data +must exist in the subdirectory ~/etc. +
+ +
Commands.
++
mbfile check
+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. ++
mbfile index
+Create fast filerequest index for the mbcico filerequest +processor. ++
mbfile kill
+Delete or move files in areas that have the download age +set or the filedate age 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. ++
mbfile list
+List all defined file areas, the number of files, the total size of the files +and the primary group. ++
mbfile pack
+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 mbfile pack. +
+ +
Options.
++
mbfile [command] -quiet
+Quiet mode, no screen output. Use this switch if you run mbfile from the crontab. ++ + Back to index + Back to Main index +
-- - - + + + + + + + + +Last update 07-Jun-2001
-
- -
MBSE BBS Netmail routing behaviour
- -Introduction
--The mbfido program that is responsible for unpacking, -importing, exporting and routing of netmail has a build in default routing -plan. In general this is quite simple, if we know the destination node or -his uplink, (that node or uplink is in our setup), then we will route via -that node in our setup. If the node or his uplink is not in our setup, then -the nodelist is used and normal fidonet routing is used. This means, if you -are a node, everything goes to your hub, if you are a hub, then mail for -your downlinks will go direct to the downlinks because they are in your setup, -everything else goes to the host. -If you are a host, then your own downlinks will get the mail direct, -the downlinks of the hubs in your net well be routed via the hubs below you. -If it is for a node in your region but outside your net, mail will be routed via -the other hosts in your region. Mail to outside your region will go to the -region coordinators system. -
- -
Tracking and bouncing
--At this moment there is no bouncing of undeliverable mail. I will built this -in, but it will only work inside your own net. I will never include code for -bouncing mail outside your net, because nodelists are always not uptodate. -
- -
Special routing
--What if you need special routing. The solution is simple, add the routing -nodes to your setup and fill in the "route via" field. If you don't have a -session password with that node, leave the password fields blank. This node -will never know that he is in your setup as long as you have the notify -settings for that node switched off. To figure -out such solutions yourself, I have included the flow diagrams for the tracking -module. -
- -
Main tracking routine:
---- +=============================+ - | Trackmail to dest. | - +--------------+--------------+ - | - ++-------------+-------------++ - || rc = GetRoute to dest || (See next diagram). - ++-------------+-------------++ - | - +--------------+--------------+ yes - | rc = R_NOROUTE +-----------------+ - +--------------+--------------+ +-------+--------+ - | no | res: R_NOROUTE | - | +================+ - +--------------+--------------+ yes - | rc = R_UNLISTED +-----------------+ - +--------------+--------------+ +-------+--------+ - | | res: R_UNLISTED| - | +----------------+ - +--------------+--------------+ yes - | rc = R_LOCAL +-----------------+ - +--------------+--------------+ +-------+--------+ - | no | result: R_LOCAL| - | +================+ - +--------------+--------------+ no - | routing node in setup ? +-----------------+ - +--------------+--------------+ +-------+--------+ - | yes | result: rc | - | +================+ - +--------------+--------------+ no - | "Route via" filled in ? +-----------------+ - +--------------+--------------+ +-------+--------+ - | yes | res: R_ROUTE | - | +================+ - +--------------+--------------+ - | Change route to address | - | result = R_ROUTE | - +=============================+ -
-Sub function GetRoute:
--- - Go Back -- +=============================+ - | GetRoute | - +--------------+--------------+ - | - +--------------+--------------+ - | Add domain name | - +--------------+--------------+ - | - +--------------+--------------+ yes - | Is dest our own address ? +------------------+ - +--------------+--------------+ +--------+-------+ - | no | rc = R_LOCAL | - | +================+ - +--------------+--------------+ yes - | Is dest our point address ? +------------------+ - +--------------+--------------+ +--------+-------+ - | no | rc = R_DIRECT | - | +================+ - +--------------+--------------+ yes (route to boss) - | Are we a point system +------------------+ - +--------------+--------------+ +--------+-------+ - | no | dest is my Boss| - | | res: R_DIRECT | - | +----------------+ - +--------------+--------------+ yes - | Dest. addr. in nodes setup? +------------------+ - +--------------+--------------+ +--------+-------+ - | no | rc = R_DIRECT | - | +================+ - +--------------+--------------+ yes - | Boss of point dest in setup +------------------+ - +--------------+--------------+ +--------+-------+ - | no | rc = R_DIRECT | - | | dest = Boss | - | +================+ - +--------------+--------------+ - | Is node listed and do we | yes - | know his uplink in setup ? +------------------+ - +--------------+--------------+ +--------+-------+ - | no | dest is uplink | - | | rc = R_DIRECT | - | +================+ - +--------------+--------------+ yes - | Are we host in network ? +------------------+ - +--------------+--------------+ +--------+-------+ - | no | Set host addr. | - | +--------+-------+ - | +----------+ - +--------------+--------------+ yes | - | Are we hub in domain ? +------------------+ | - +--------------+--------------+ +--------+-------+ | - | no | Set hub addr. | v - | +--------+-------+ | - | | | - +---------------<-----------------+-----<----+ - | - +--------------+--------------+ - | Set our region number | - +--------------+--------------+ - | - | - +--------------+--------------+ no - | Host address set ? +-----------------------------+ - +--------------+--------------+ | - | yes | - | | - +--------------+--------------+ - | Dest region <> our region | yes | - | or Dest zone <> our zone +------------------+ | - +--------------+--------------+ +--------+-------+ | - | no | Dest to RC | | - | | rc = R_ROUTE | | - | +================+ | - +--------------+--------------+ yes | - | Dest net <> our net +------------------+ | - +--------------+--------------+ +--------+-------+ | - | no | to host destnet| | - | | rc = R_ROUTE | | - | +================+ | - +--------------+--------------+ yes | - | Has node a hub +------------------+ | - +--------------+--------------+ +--------+-------+ | - | yes | to node's hub | | - +------+--------+ | rc = R_ROUTE | | - | dest is direct| +================+ | - | rc = R_ROUTE | | - +===============+ | - | - +------------------------<-------------------+ - +--------------+--------------+ no - | Hub address set ? +-----------------+ - +--------------+--------------+ +-------+--------+ - | yes | via our hub | - | | rc = R_ROUTE | - | +================+ - +--------------+--------------+ yes - | Dest node of our hub addr +-----------------+ - +--------------+--------------+ +-------+--------+ - | no | rc = R_DIRECT | - | +================+ - +------+-------+ - | dest is host | - | rc = R_ROUTE | - +==============+ -
-
++ + + diff --git a/html/ups.html b/html/ups.html index 249a3cce..9e0b1157 100644 --- a/html/ups.html +++ b/html/ups.html @@ -1,45 +1,45 @@ - - - - - - - - -Last update 22-Oct-2001
+
+ +
MBSE BBS Netmail routing behaviour
+ +Introduction
++The mbfido program that is responsible for unpacking, +importing, exporting and routing of netmail has a build in default routing +plan. In general this is quite simple, if we know the destination node or +his uplink, (that node or uplink is in our setup), then we will route via +that node in our setup. If the node or his uplink is not in our setup, then +the nodelist is used and normal fidonet routing is used. This means, if you +are a node, everything goes to your hub, if you are a hub, then mail for +your downlinks will go direct to the downlinks because they are in your setup, +everything else goes to the host. +If you are a host, then your own downlinks will get the mail direct, +the downlinks of the hubs in your net well be routed via the hubs below you. +If it is for a node in your region but outside your net, mail will be routed via +the other hosts in your region. Mail to outside your region will go to the +region coordinators system. +
+ +
Tracking and bouncing
++At this moment there is no bouncing of undeliverable mail. I will built this +in, but it will only work inside your own net. I will never include code for +bouncing mail outside your net, because nodelists are always not uptodate. +
+ +
Special routing
++What if you need special routing. The solution is simple, add the routing +nodes to your setup and fill in the "route via" field. If you don't have a +session password with that node, leave the password fields blank. This node +will never know that he is in your setup as long as you have the notify +settings for that node switched off. To figure +out such solutions yourself, I have included the flow diagrams for the tracking +module. +
+ +
Main tracking routine:
++++ +=============================+ + | Trackmail to dest. | + +--------------+--------------+ + | + ++-------------+-------------++ + || rc = GetRoute to dest || (See next diagram). + ++-------------+-------------++ + | + +--------------+--------------+ yes + | rc = R_NOROUTE +-----------------+ + +--------------+--------------+ +-------+--------+ + | no | res: R_NOROUTE | + | +================+ + +--------------+--------------+ yes + | rc = R_UNLISTED +-----------------+ + +--------------+--------------+ +-------+--------+ + | | res: R_UNLISTED| + | +----------------+ + +--------------+--------------+ yes + | rc = R_LOCAL +-----------------+ + +--------------+--------------+ +-------+--------+ + | no | result: R_LOCAL| + | +================+ + +--------------+--------------+ no + | routing node in setup ? +-----------------+ + +--------------+--------------+ +-------+--------+ + | yes | result: rc | + | +================+ + +--------------+--------------+ no + | "Route via" filled in ? +-----------------+ + +--------------+--------------+ +-------+--------+ + | yes | res: R_ROUTE | + | +================+ + +--------------+--------------+ + | Change route to address | + | result = R_ROUTE | + +=============================+ +
+Sub function GetRoute:
+++ + Go Back ++ +=============================+ + | GetRoute | + +--------------+--------------+ + | + +--------------+--------------+ + | Add domain name | + +--------------+--------------+ + | + +--------------+--------------+ yes + | Is dest our own address ? +------------------+ + +--------------+--------------+ +--------+-------+ + | no | rc = R_LOCAL | + | +================+ + +--------------+--------------+ yes + | Is dest our point address ? +------------------+ + +--------------+--------------+ +--------+-------+ + | no | rc = R_DIRECT | + | +================+ + +--------------+--------------+ yes (route to boss) + | Are we a point system +------------------+ + +--------------+--------------+ +--------+-------+ + | no | dest is my Boss| + | | res: R_DIRECT | + | +----------------+ + +--------------+--------------+ yes + | Dest. addr. in nodes setup? +------------------+ + +--------------+--------------+ +--------+-------+ + | no | rc = R_DIRECT | + | +================+ + +--------------+--------------+ yes + | Boss of point dest in setup +------------------+ + +--------------+--------------+ +--------+-------+ + | no | rc = R_DIRECT | + | | dest = Boss | + | +================+ + +--------------+--------------+ + | Is node listed and do we | yes + | know his uplink in setup ? +------------------+ + +--------------+--------------+ +--------+-------+ + | no | dest is uplink | + | | rc = R_DIRECT | + | +================+ + +--------------+--------------+ yes + | Are we host in network ? +------------------+ + +--------------+--------------+ +--------+-------+ + | no | Set host addr. | + | +--------+-------+ + | +----------+ + +--------------+--------------+ yes | + | Are we hub in domain ? +------------------+ | + +--------------+--------------+ +--------+-------+ | + | no | Set hub addr. | v + | +--------+-------+ | + | | | + +---------------<-----------------+-----<----+ + | + +--------------+--------------+ + | Set our region number | + +--------------+--------------+ + | + | + +--------------+--------------+ no + | Host address set ? +-----------------------------+ + +--------------+--------------+ | + | yes | + | | + +--------------+--------------+ + | Dest region <> our region | yes | + | or Dest zone <> our zone +------------------+ | + +--------------+--------------+ +--------+-------+ | + | no | Dest to RC | | + | | rc = R_ROUTE | | + | +================+ | + +--------------+--------------+ yes | + | Dest net <> our net +------------------+ | + +--------------+--------------+ +--------+-------+ | + | no | to host destnet| | + | | rc = R_ROUTE | | + | +================+ | + +--------------+--------------+ yes | + | Has node a hub +------------------+ | + +--------------+--------------+ +--------+-------+ | + | yes | to node's hub | | + +------+--------+ | rc = R_ROUTE | | + | dest is direct| +================+ | + | rc = R_ROUTE | | + +===============+ | + | + +------------------------<-------------------+ + +--------------+--------------+ no + | Hub address set ? +-----------------+ + +--------------+--------------+ +-------+--------+ + | yes | via our hub | + | | rc = R_ROUTE | + | +================+ + +--------------+--------------+ yes + | Dest node of our hub addr +-----------------+ + +--------------+--------------+ +-------+--------+ + | no | rc = R_DIRECT | + | +================+ + +------+-------+ + | dest is host | + | rc = R_ROUTE | + +==============+ +
+
-Last update 08-Jun-2001
-
-
MBSE BBS - Using UPS semafore's.
-- - -If you have a UPS and you are able to let your UPS software create semafore's when powerfail conditions -occur then read on. The MBSE BBS taskmanager and a lot of utilities will act on two special semafore's, -they are: - -
-
-I know not all UPS software can do this but most UPS software is open source so you can change it to create -these semafore's. It is not a problem that UPS semafore's still exist if the systems boots, the MBSE BBS -startup scripts will remove them before the bbs is started. -upsalarm
, this semafore should be set when there is no mains power, but there is enough - power left to operate your system. All background tasks will be suspended as long as this condition - is true. If the power comes back, the UPS software should remove this semafore. -upsdown
, this semafore should be set when the UPS sofware signals your system to go down. - This is a fatal condition and there is no way back. Even if the power comes back your system should - shutdown and the UPS will disconnect the power to your system. After a while it will turn the power on - again and your system boots. MBSE BBS will if this semafore is seen kick users out of the bbs, and the - system shutdown script will try to close MBSE BBS as quick as possible. Normal the close timeout is - one hour to let users normal finnish what they were doing, now it is only 30 seconds and if they were - not logged out, they will be disconnected anyway. -
- - - Go Back - - - + +
+ + + + + + +Using UPS semafore's. + + + ++Last update 08-Jun-2001
+
+
MBSE BBS - Using UPS semafore's.
++ + +If you have a UPS and you are able to let your UPS software create semafore's when powerfail conditions +occur then read on. The MBSE BBS taskmanager and a lot of utilities will act on two special semafore's, +they are: + +
+
+I know not all UPS software can do this but most UPS software is open source so you can change it to create +these semafore's. It is not a problem that UPS semafore's still exist if the systems boots, the MBSE BBS +startup scripts will remove them before the bbs is started. +upsalarm
, this semafore should be set when there is no mains power, but there is enough + power left to operate your system. All background tasks will be suspended as long as this condition + is true. If the power comes back, the UPS software should remove this semafore. +upsdown
, this semafore should be set when the UPS sofware signals your system to go down. + This is a fatal condition and there is no way back. Even if the power comes back your system should + shutdown and the UPS will disconnect the power to your system. After a while it will turn the power on + again and your system boots. MBSE BBS will if this semafore is seen kick users out of the bbs, and the + system shutdown script will try to close MBSE BBS as quick as possible. Normal the close timeout is + one hour to let users normal finnish what they were doing, now it is only 30 seconds and if they were + not logged out, they will be disconnected anyway. +
+ + + Go Back + + + diff --git a/lib/mbse.h b/lib/mbse.h index 4ffe6f05..8ebe705c 100644 --- a/lib/mbse.h +++ b/lib/mbse.h @@ -2,10 +2,10 @@ * * File ..................: mbse.h * Purpose ...............: Global variables for MBSE BBS - * Last modification date : 25-Aug-2000 + * Last modification date : 22-Oct-2001 * ***************************************************************************** - * Copyright (C) 1997-2000 + * Copyright (C) 1997-2001 * * Michiel Broek FIDO: 2:280/2802 * Beekmansbos 10 @@ -108,6 +108,7 @@ int iUnixMode; /* Using Unix Accounts */ char sUnixName[9]; /* Unix login name */ time_t Time2Go; /* Calculated time to force logout */ struct tm *l_date; /* Structure for Date */ +int iNode; /* Current node number */ time_t ltime; time_t Time_Now; diff --git a/mbsebbs/funcs.c b/mbsebbs/funcs.c index 76afd529..264a0edf 100644 --- a/mbsebbs/funcs.c +++ b/mbsebbs/funcs.c @@ -290,9 +290,14 @@ void ExtDoor(char *Program, int NoDoorsys, int Y2Kdoorsys, int Comport, int NoSu WhosDoingWhat(DOOR); - if((strstr(Program, "/A")) != NULL) { + if ((strstr(Program, "/N")) != NULL) { + sprintf(temp1, "%d", iNode); + strreplace(Program, (char *)"/N", temp1); + } + + if ((strstr(Program, "/A")) != NULL) { colour(3, 0); - if((String = strstr(Program, "/T=")) != NULL) { + if ((String = strstr(Program, "/T=")) != NULL) { String1 = String + 3; printf("\n%s", String1); } else @@ -305,9 +310,9 @@ void ExtDoor(char *Program, int NoDoorsys, int Y2Kdoorsys, int Comport, int NoSu strreplace(Program, (char *)"/A", temp1); for(i = 0; i < strlen(Program); i++) { - if(*(Program + i) == '\0') + if (*(Program + i) == '\0') break; - if(*(Program + i) == '/') + if (*(Program + i) == '/') *(Program + i) = '\0'; } } @@ -340,7 +345,7 @@ void ExtDoor(char *Program, int NoDoorsys, int Y2Kdoorsys, int Comport, int NoSu fprintf(fp, "0\r\n"); /* Effective baudrate */ } fprintf(fp, "8\r\n"); /* Databits */ - fprintf(fp, "1\r\n"); /* Node number */ + fprintf(fp, "%d\r\n", iNode); /* Node number */ if (Comport) fprintf(fp, "115200\r\n");/* Locked baudrate */ else @@ -425,6 +430,7 @@ int exec_nosuid(char *mandato) if (mandato == NULL) return 1; /* Prevent running a shell */ + Syslog('+', "Execve: /bin/sh -c %s", mandato); pid = fork(); if (pid == -1) diff --git a/mbsebbs/mbsebbs.c b/mbsebbs/mbsebbs.c index 0f21fe9e..a32cfd72 100644 --- a/mbsebbs/mbsebbs.c +++ b/mbsebbs/mbsebbs.c @@ -1,8 +1,8 @@ /***************************************************************************** * - * File ..................: bbs/mbsebbs.c + * File ..................: mbsebbs/mbsebbs.c * Purpose ...............: Main startup - * Last modification date : 28-Jun-2001 + * Last modification date : 22-Oct-2001 * ***************************************************************************** * Copyright (C) 1997-2001 @@ -102,13 +102,6 @@ int main(int argc, char **argv) #endif exit(1); } -// if (seteuid(pw->pw_uid) == -1) { -// perror("Can't seteuid() to \"mbse\" user"); -//#ifdef MEMWATCH -// mwTerm(); -//#endif -// exit(1); -// } /* * Set local time and statistic indexes. @@ -214,13 +207,15 @@ int main(int argc, char **argv) */ sprintf(temp, "%s/etc/ttyinfo.data", getenv("MBSE_ROOT")); + iNode = 0; if ((pTty = fopen(temp, "r")) == NULL) { WriteError("Can't read %s", temp); } else { fread(&ttyinfohdr, sizeof(ttyinfohdr), 1, pTty); while (fread(&ttyinfo, ttyinfohdr.recsize, 1, pTty) == 1) { - if (strcmp(ttyinfo.tty, pTTY) == 0) + iNode++; + if (strcmp(ttyinfo.tty, pTTY) == 0) break; } fclose(pTty); @@ -230,6 +225,7 @@ int main(int argc, char **argv) printf("No BBS on this port allowed!\n\n"); Quick_Bye(0); } + Syslog('b', "Node number %d", iNode); /* * Ask whether to display Connect String diff --git a/script/Makefile.am b/script/Makefile.am index 2314f811..563a29bd 100644 --- a/script/Makefile.am +++ b/script/Makefile.am @@ -22,8 +22,11 @@ install-exec-local: $(INSTALL) -o @OWNER@ -g @GROUP@ -m 0711 monthly $(sysconfdir) ; \ echo "$(INSTALL) -o @OWNER@ -g @GROUP@ -m 0711 monthly $(sysconfdir)" ; \ fi + $(INSTALL) -o @OWNER@ -g @GROUP@ -m 0755 bbsdoor.sh $(bindir) + $(INSTALL) -o @OWNER@ -g @GROUP@ -m 0755 mem $(bindir) @bash ./installinit.sh -EXTRA_DIST = README maint midnight weekly monthly installinit.sh rc rc.shutdown mbse.start mbse.stop +EXTRA_DIST = README maint midnight weekly monthly installinit.sh rc rc.shutdown \ +mbse.start mbse.stop bbsdoor.sh mem diff --git a/script/Makefile.in b/script/Makefile.in index ef584e4a..46966842 100644 --- a/script/Makefile.in +++ b/script/Makefile.in @@ -74,7 +74,8 @@ VERSION = @VERSION@ SUBDIRS = . -EXTRA_DIST = README maint midnight weekly monthly installinit.sh rc rc.shutdown mbse.start mbse.stop +EXTRA_DIST = README maint midnight weekly monthly installinit.sh rc rc.shutdown mbse.start mbse.stop bbsdoor.sh mem + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = @@ -304,6 +305,8 @@ install-exec-local: $(INSTALL) -o @OWNER@ -g @GROUP@ -m 0711 monthly $(sysconfdir) ; \ echo "$(INSTALL) -o @OWNER@ -g @GROUP@ -m 0711 monthly $(sysconfdir)" ; \ fi + $(INSTALL) -o @OWNER@ -g @GROUP@ -m 0755 bbsdoor.sh $(bindir) + $(INSTALL) -o @OWNER@ -g @GROUP@ -m 0755 mem $(bindir) @bash ./installinit.sh # Tell versions [3.59,3.63) of GNU make to not export all variables.