README for Waffle DOS version v1.65
(C) Copyright 1992 Darkside International
FILES INCLUDED ON THIS DISK
WAF165.ZIP Waffle 1.65, in ZIP format. Use
"PKUNZIP -D WAF165" to unzip, to preserve
directory structure information.
After unzipping, read docs/DOS.DOC for
detailed DOS installation instructions.
BNU170.ZIP BNU Fossil driver. Provided courtesy
of David Nugent, Unique Computing Ltd.
(Included on mailed disks.)
CAPABILITIES & FUNCTIONS OF WAFFLE/DOS
o Allows a PC to communicate with Unix systems using the UUCP
"g" protocol, giving them capability to exchange UUCP mail
and Usenet news. Contains DOS equivalents for UUCICO, UUXQT,
UUX, UUQ, UUCP, RMAIL, RNEWS, and a news & mail reader.
o Can be run as an single-user, individual UUCP node.
o Can be run as a BBS program, including electronic mail,
messages, editor, transfer section, access controls, external
programs, cookies and numerous other amenities.
o A scheduler can execute DOS commands (such as polling
neighboring sites) at specific times or on a regular basis.
o Mail facilities include mail aliases, address routing,
folders, gatewaying of E-Mail into Usenet newsgroups.
o Usenet News facilities include support for batched &
compressed news, the ability to give other sites newsfeeds,
access control on a per newsgroup basis.
o Hooks are provided for gating both mail & news into
external networks (or specific programs).
o Supports FOSSIL communications driver in addition to native
interrupt package, for those with high speed modems.
BEFORE INSTALLING THIS SOFTWARE
o For More Detailed Instructions
The file DOS.DOC contains a step by step list of instructions
for installation. It is STRONGLY recommended reading if you have
not previously installed Waffle.
If everything looks straightforward, at least read the following
before rushing into things..
o Unpacking the package
WAFxxx.ZIP contains a directory tree underneath \WAFFLE. Unpack
this with PKUNZIP's -D option, to create the required directories.
o If you want to run somewhere other than C:\WAFFLE
You have to change a few file or drive specifications to
match your system's configuration. These are present in files:
/waffle/system/local(Where local newsgroups go)
/waffle/system/static(Main Configuration File)
/waffle/system/usenet(Where Usenet newsgroups go)
/waffle/bin/*.bat(DOS Batch Files)
o Default Passwords
As supplied, the password file has accounts "system", "uucp",
and "default". With the exception of default, the passwords are the
same as the account name (I.E. Login: system Password: system).
The "system" account is a privileged account. CHANGE THEIR PASSWORDS,
except for the "default" account (which does not allow logins).
HAVING PROBLEMS ?
Please direct any requests, suggestions, bug reports, or comments to . This is a continually evolving project and we
will use your questions to improve the programs and documentation for
future generations. If your copy is more than five or six months old,
however, it might do some good to update your copy.
WHERE TO FIND NEW VERSIONS
New Waffle releases occur whenever there has been substantial work
done on it. Currently this is every couple of months, so check around
every once in a while to see if there is a newer version available.
o By X,Y,ZMODEM download
+1 408 245 SPAM (2400 baud), in /files/waffle/wafxxx.zip
o By Anonymous FTP
o By postal mail
[ see REGISTER.DOC for an order form & details ]
We are happy to mail copies to people who preregister,
including airmail overseas.
This package is *shareware*, please read REGISTER.DOC included with this
distribution. Distribution is permitted only of intact, unmodified copies
of this package as it was released (waf165.zip).
Permission is explicitly granted for distribution via Compuserve or
similar information services.
Support for this software is available to registered users of Waffle.
Upgrades are issued frequently. Our USA postal mailing address is
Thomas E Dell
Post Office Box 4436
Mountain View CA 94040-0436
The preferred method of contact is via electronic mail;
you can contact the author at:
[email protected] (...vox!dell)
If you don't have E-Mail access, you can contact the author by
sending FEEDBACK at:
The Dark Side of the Moon
300/1200/2400 bps 24 hours 8N1
A Telecommunications Tradition Since 1985
This process takes longer, as the BBS is not run for the
purpose of supporting Waffle -- please use the E-Mail address.
There also exists the comp.bbs.waffle and alt.bbs.waffle Usenet
newsgroups. Not all sites carry alt, but most do carry the comp groups.
Neither is an "official" support group, but we do keep an eye on
both of them. If you can't receive these newsgroups we may be able to
refer you to a place that does.
UNIX VERSION OF WAFFLE
The Unix version of Waffle runs under any one of A/UX, BSD 4.3, ESIX,
HP/UX, SunOS, Ultrix, SCO Unix, Xenix or ISC 386/ix. The platform is
transparent to the dialup user. Waffle interfaces directly with the
Usenet B or C News software. For more information see the REGISTER.DOC
and UNIX.DOC files.
(C) Copyright 1992 Darkside Int'l
Waffle v1.65 / Administration Reference Manual
(C) Copyright 1992 Darkside International, All Rights Reserved.
C O N T E N T S
II Privileged Commands
IV Electronic Mail
VI Turning Things Off
----------/ MAINTENANCE /----------------------------------------------------
This manual hopes to explain some of the day-to-day operation of
running Waffle as a BBS. Some of these activities include:
o New users must be validated.
o System logs should be monitored, both to make sure
nothing fishy is going on, and to make sure the system
is functioning as it should.
o In particular, if you are a Usenet or UUCP site, related
logs should be monitored. Events on your neighboring
sites may have an adverse effect on yours.
o Pests, or twits, must be dealt with.
o Feedback should be attended to, and questions answered.
----------/ PRIVILEGED COMMANDS /--------------------------------------------
There are a number of commands that are reserved for privileged
users. Generally these are geared towards operations on user
accounts, display of system information and logs, and manipulating
files. More dangerous commands have higher privilege requirements.
o ADMIN command
Accounts may be created, removed, or modified by any privileged
user with the ADMIN command. To change a user's common parameters,
you can use the ADMIN E command. Extended parameters may be
changed with other ADMIN commands (type ADMIN ?).
Remove accounts with ADMIN DELETE (the dreaded admin d').
Generally there is no need to add accounts with ADMIN, as they
are handled by the newuser request mechanism (typing NEW at
the login prompt).
o Reviewing system logs
Waffle keeps records of various interesting occurrences by
writing to logfiles located in the /waffle/admin directory. For
instance, when someone attempts to login to an account but fails,
Waffle writes an entry into the "logfail" log. You can examine
this log by the command "SHOW LOGFAIL", or "SHOW 100 LOGFAIL".
Most important among these logs is the "events" log, containing
information that the SYSTEM 0PERATOR should know about: vital files
missing, use of the ADMIN command, entering the operating system.
It is so often used that "EVENTS" is a synonym for "SHOW EVENTS".
A privilege level of 6 is required to examine system logs.
For more information on individual logs, see the descriptions
of files in the "/waffle/admin" directory in ROADMAP.DOC.
o Reading FEEDBACK
To facilitate multiple SYSTEM 0PERATORS, feedback is sent to a
common "system" account. Use the SYSMAIL command (often
abbreviated SYS) to read and respond to feedback. The responses
will still have your account as the originator, so any replies
are sent to your account.
You should make it a point to read and respond to feedback on a
regular basis. Your users will appreciate it.
o Validating new users
Use the VALIDATE command to validate new users. This should be
run daily, or at minimum every other day. It will read through
the /waffle/system/validate file, selecting new users since
the last VALIDATE command. You are then given a choice to
"Yes/No/Kill" the user. YES will result in an ADMIN EDIT for
that user. NO will postpone the processing of this user until
later. KILL will remove the user; this is recommended for
undesirables and users who have given obviously phony numbers.
If you don't want the hassle of validating your users, set the
default account's access level to 1. Lowering the access required
for various actions is another approach. If you do either of
these, make judicious use of the "refuse" file.
A privilege level of 7 is required to VALIDATE users.
o Entering the operating system
A potentially dangerous command is SHELL. This will place you
in the Unix or DOS shell, which can be Incredibly_Bad in the
wrong hands. To leave the shell, type "exit" (for both Unix and
DOS). Arguments may be given on the command line to execute a
single shell command; for instance "shell copy file1 file2".
The highest privilege, 9, is required for SHELL access.
To change the shell used, edit the "shell" and "command" lines
in the /waffle/extern/_system file. Particularly, the "shell"
line tells Waffle how to enter the OS, and the "command" line
tells Waffle how to spawn a single command or a subprocess
(as when arguments are given to the SHELL command). Any "SHELL"
or "COMSPEC" environment variables are deliberately ignored.
o File Manipulation
Commands that are designed for manipulating files are similar
to the equivalent Unix or DOS commands, and won't be described
in great detail. They include
CD, HOME, DELETE, DIR, EDIT, PATH, RENAME, TAIL, and TYPE.
CD and PATH are equivalent; they are used to change directories.
Please note that the EDIT command can only edit text files whose
line count does not exceed the maximum specified in the static
file's "buflines" parameter, unless you use an external editor.
The TAIL command is used to look at the end of files. To see
the last 100 lines, use the syntax "TAIL 100 FILENAME".
Since file manipulation can be used to manipulate Waffle's control
files, a privilege level 9 is required to use these commands.
Some of these commands are available to nonprivileged users for
operations on their home directories (privileged users may use
these on any file). Additionally, within the FILES section,
privileged users have two additional commands to aide in cleanup;
from the (> prompt in the FILES section, ^E will edit a file
and ^D will delete a file.
----------/ ACCOUNTS /-------------------------------------------------------
o Guest Accounts
To designate that an account has no password, use ADMIN EDIT to
assign it to a single blank space. You might create a "guest" account
with this characteristic.
If you do create guest accounts, we suggest that you assign them
level -1 to prevent password changes.
o Captive accounts
To create a captive account (one that is dedicated to a specific
BBS function) use the ADMIN S command to change that user's shell
to the BBS command of your choice:
mail- account goes directly into MAIL
files- account is for file transfers only
files /special- file transfers from a /special directory
Accounts with a password of a single asterisk, "*", cannot be
used to login. In particular, this is necessary for "default".
o Special accounts
For special purposes, a # in front of the shell will cause
a variety of interesting things to occur:
#exit number- Exit WAFFLE with a given
status code, or errorlevel; for
example, "#exit 40".
#drop filename- Disconnect user after displaying
file. If the filename is omitted, no
file is displayed.
#type filename- Display a file, but do not
#new name pass- Inform user of new name & password.
If you have to change someone's account,
use this technique.
o Frontend accounts
Similar to the captive accounts described above, the shell may
also contain a Unix or DOS command, which will be run instead of
logging in the BBS:
!ps -aux- Run the 4.3 Unix "ps" command
$uucico -b%b - Applies to the DOS version.
Pass the modem speed and device
to the DOS uushell batch file.
WAFFLE.EXE is exited before
running the command.
!game -u%A- Run some unspecified game,
passing the account used as the
argument to the -u option
+game -u%A - Applies to the DOS version.
Run the same game, except have
Waffle handle the COMM I/O.
As shown above, if while running under DOS your command needs to have
Waffle handle its modem input and output, use + instead of !.
o Startup files
If present, a file "waffle" in a user's home directory will be
executed whenever that user logs in. For instance, a user who does
not have lowercase may have the line "term lower" in his waffle
file. By the way, it is considered poor taste (but incredible fun)
to place the line "term wolverine" in a user's waffle file.
Common uses of this include "term lower", "term slow", and
creative applications of the prompt command.
o Negative access levels
Any accounts with access below 0 may not change passwords, or any
configurable information in the STATUS command (there are reasons).
Accounts with level -1 do not show in caller log.
Accounts with level -2 do not show up in the caller log at all.
Level -2 should be used for uucp and other similar external programs.
o Bogus Levels
Bogus levels (the Level: field in ADMIN EDIT) are a text string that
may be anything. This allows cuteness such as "Level 6502:", etc.
These have no real bearing on anything whatsoever, and your system may
elect to not use this field. By default, these are turned off.
o Privileged accounts
Privilege levels determine sysop access. In most cases, this is
0 for a normal user, and 9 for a privileged user (sysop). There are
some intermediate privilege levels available, and are described
elsewhere in this document.
o Restriction by groups
The "group" field in the password file (accessed by admin x) contains
a list of groups the user belongs to. Forums and external commands may
restrict the use of features to people in a specific group by using
the /group= qualifier. Multiple groups are specified in a /group= by
separating them with commas, for example /group=15,16.
As an example, suppose a user has "group: 11,12,22" in his account
profile. He may now access externals that have /group=11, but will be
unable to run anything that has /group=15.
Any group restrictions are ignored if the user is a sysop.
----------/ ELECTRONIC MAIL /------------------------------------------------
o Aliases and mailing lists
The system wide mail alias list is kept in /waffle/system/aliases. It
may contain any number of aliases, but the lines must be kept at 80 chars
or less. Each line consists of the alias, followed by whitespace, and
the list of recipients. Aliases may be nested.
An example of this file is:
remotesbob buddha maddox
Mail sent to "postmaster" gets diverted to the feedback (system) name.
Here "john" is the sysop of the system, and he has three remote sysops:
bob, buddha, and maddox. This is an example of a nested mail alias. Also,
mail sent to root (Unix superuser account) gets sent to the sysops list.
The EXPAND command will print a list of recipients of a given mail alias,
alphabetically sorted with duplicates removed.
o Mail forwarding
Mail may be forwarded in two ways - by use of the /waffle/system/aliases
file described above, or by a "forward" file kept in a user's directory.
This file contains a list of users to which mail is to be forwarded.
For instance, an example forward file may be /user/lunatic/forward, and its
contents may be the single line "[email protected]". Mail sent to lunatic
therefore gets sent to his college account at UCD when he is away at school.
Two advantages to using a forward file are that you can forward a twit
user's mail without his knowledge; and there is no way for normal users
to determine where the mail is going (with the EXPAND command). There is no
need for the user to actually exist, so long as the directory is present.
Thus it is possible to arrange forwarding of mail for a user who no longer
has an account on the system.
o Diverting mail elsewhere
Mail aliases in /waffle/system/aliases are recognized by
UUXQT, and appropriate action taken. Additionally some special
cases are available with the | character in this file:
% Diverting mail into a folder
alias = /user/lunatic/autos
Places the message into the specified folder. Do not include
the .f or .i in the folder name. This is ideal for mailing lists
and the like, where you don't want your mailbox cluttered with
large amounts of material.
With Unix, this is available within the Waffle program.
% Diverting mail into Usenet
alias | post newsgroup
Takes an incoming mail message, and diverts it into a
newsgroup. Appropriate header munging is performed to allow
the message to flow as news.
This feature is mainly used to divert a mailing list into
a local newsgroup, for users to read while not cluttering
a mailbox. (DO NOT do this with mainstream Usenet newsgroups,
people will become VERY upset).
Another use of this feature is to allow people to post
from a remote location.
The Unix version of "| post" works only from within Waffle.
% Artificial bounce messages (DOS version only)
alias | bounce User's account is expired
Send a bounce message with a customized message. Useful
for people who aren't on your system (can inform of
better address) or people who have been "bad".
% Redirection into arbitrary programs
alias | some-program arguments
Will send the text of the letter (including header) into
an arbitrarily specified program. The command line after |
MUST contain a full pathname to the program.
The Unix version of "| program" works only from within the
Waffle binary. To do this on a system-wide basis, you should
use your mailer's aliases file instead.
o Saving to mailbox
Within the mailer, the WRITE (W) command will save a message to "mailbox"
in your home directory. Successive WRITE's will append to the same file. A
filename may be specified as well, as "w letters". Sysops can write to any
file on disk by specifying a full pathname. Similarly, when reading messages
on the boards / newsgroups, the w command will write to a file called
"messages" unless directed otherwise.
A letter may be resent to an individual by using the "FORWARD username"
command. The text is not quoted. One use for this might be to allow a
moderator to forward posts to a newsgroup, by setting up a | alias. See
the "DIVERTING" section above about this.
o Personal aliases, in user directories
A user may have an ALIASES file in his personal directory. This is
the same format as the system aliases file, except |'s and >'s aren't
permitted. Also, the translating is done on a different level than
the system aliases file -- the alias is substituted only if there is
a single destination address. The alias will then completely replace
whatever was in the "To" line originally.
----------/ ADDITIONAL /-----------------------------------------------------
o ROT13 decryption, and about [more]
Messages posted to certain Usenet newsgroups are occasionally
encrypted with rot13 code. These can be decrypted by the undocumented
'X' command while reading messages. Also when done at the [more]
prompt while reading a forum, Waffle refreshes the screen a la rot13.
Similarly, other commands available at [more] include a)gain,
b)ack, n)ext, v)erbose, and x)rot13. These are enabled while reading
forums (and disabled while in MAIL).
o Control characters in text files
When ^L is encountered while typing a text file, [more] is asked
there. If a double ^L is encountered, input is read and the screen
cleared afterward. This can be used for "Press [RETURN] to continue"
prompts within files, such as as the /waffle/text/newusers file.
Please do not place ANSI or any terminal dependent control sequences
in these files. There are a lot of people who do not have PC's.
o Inserting text into the editor
Text from an disk file may be included in the internal editor by
using the YANK command. You must be a privileged user to do this.
o Care & feeding of the VOTE beast
The VOTE program is run as an ordinary external program except
its result code is returned to Waffle. Upon logging in, Waffle will
inform the user when the voting topic has been changed.
Normally the /waffle/extern/vote file would contain the single
line "vote 1 /result vote %A %v %a %i", but you may replace this
if you wish. Only one program should have /result defined.
To change the voting topic, issue VOTE NEW. To see previous results,
issue VOTE RESULTS. It is good to change the voting topic on a
regular (say, weekly) basis.
[ Note, the voting booth is not provided at this time. ]
o Running WAFFLE from another source, DOS versions only
It is possible to run Waffle from an external program, such as another
BBS, a frontend answer program, terminal program, or whatnot. Format:
waffle online 2400
Places the user online at 2400 baud, and
asks for a login & password.
waffle online smith
Logs in the user "smith" locally - do not use
this form over a modem.
waffle online 1200 fojo
Equivalent to above, user "fojo", over the
modem at 1200 baud.
waffle online 2400 smith limit 90
Limits online time to 90 minutes.
We cannot guarantee that this will work in every situation of
every conceivable interface with foreign programs (you may run into
memory limitations or other incompatibilities), so experiment.
This feature may be particularly useful if you are the only user
of a private mail node, and wish to bypass the login procedure by
using a batch file.
----------/ TURNING THINGS OFF /---------------------------------------------
We like to run Waffle in "silly mode". However, many people find this
isn't very appropriate for such things as support BBS's, insurance
companies, government installations, religious establishments, etc.
You *CAN* configure the appearance of Waffle to be as serious as you
desire, by editing the ASCII files in the various directories, and
deconfiguring certain unwanted features:
o Cookies may be disabled by removing the cookie_ok line from the static
file. Users will not see cookies, and will be unable to add them.
o Waffle may be configured for a level/rank system, where access
levels are visible to users, higher levels have the ability to alter
their own information. This behavior can be changed by altering the
static file to fit one of these three configurations:
No levels, ranks, or comments:
Remove (comment, ch_rank, ch_level, ch_name)
Levels *and* ranks (default):
comment: Level %L: %R
Include comments only:
comment: Comments: %R
Remove (ch_level, ch_name)
What you do with Levels & Ranks is your business; you can adopt a
"reward" approach or use them just to be silly. They are only visible
in posts on local message forums and the STATUS command.
o The files section may be removed by removing the "files" line
from the static file. See the manual section concerning FILES.
(C) Copyright 1992 Darkside Int'l