drealmBBS 2.1 is now available.  

The contents of this notice are:
--------------------------------
Packages and files
Where to get them
Compatibility
Overview
Changes from last distribution


Packages and files:
-------------------
drealmBBS-2.1.tar.gz        Source and Linux binaries
drealmBBS-2.1.txt           An overview (probably this file)



Where to get the drealmBBS package:
-----------------------------------

* The drealm BBS in the drealmbbs file area

  +44 (0)181 568 2204 V34 modems 
             568 4316 HST/V32 modem
             568 4305 V32 modem
             232 8592 V22bis modem

* ftp://ftp.ndirect.co.uk/drealmbbs/archive

* http://www.ndirect.co.uk/~drealmbbs


Compatibility
-------------

Currently only Linux directly supported

The source for the current release is developed with GNU make and GCC 2.5.8.
You may be able to port it to others.

The distributed executables were produced on kernel 1.2.13 with libc 4.6.27
in a.out format.

                         
drealmBBS source is known to compile on the following setups:

GCC	Libc	Format
2.5.8	4.6.27	a.out
2.7.0	5.2.8	ELF


drealmBBS a.out binaries as distributed are known to run on:

Kernel	Libc
1.2.13	4.6.27
1.3.100	4.6.27


Overview of drealmBBS facilities 
--------------------------------

drealmBBS is a multi-user BBS system.

drealmBBS runs a separate process for each node, and finds out about
other nodes by interrogating certain files on disk and via IPC.  It
needs about 1Mb virtual memory per user.

ALL data is produced and stored as plain ASCII so it can be accessed by
any other application.

It is highly configurable.  All menu options can have access controlled
by user level, userflags, areaflags, and min/max times of day.  Menus may be
presented in plain text or graphics standards such as ANSI.

You may offer your callers any of eight external file transfer
protocols, any three editors and any three display programs.  We have
included our own line editor (isle) and our own display program (pager)
which are both absolutely free of shell escapes and command access.
There is support for output in up to 10 human languages or styles.

Each BBS user has his/her own account in the passwd file, but may of
course run drealmBBS as his shell for security.  Security is also aided
by reverting user to login permissions when using external file transfer
protocols, editors or file viewers - and other external programs
optionally.

Facilities include:

Private inter-user mail, with interface to external mail.  A quota of
external mail can be set per person, and mail can be made available only
to users over a certain level or with a certain flag set.

Message areas (forums):  Public messages are posted without naming a
recipient and can be read by anyone who may access a particular area.
Areas can be open or private, read only or read/write or moderated.
Each area may have an individual areamask, which represents the flag
settings of the users who may access it. An area may also be restricted
to people of over a certain security level.  In the case of a "private"
area access is restricted to only people who are specifically named
within that area.  Messages are linked as threads, and may be read
threadwise, numerically, or by "reference" (ie always reading down
through replies first).  Messages may be unlinked, relinked in a
different way, and copied to other message areas.  Whole threads or
branches may be copied to other areas, retaining their relationships.

Voting:  Votes are attached to public messages.

File up/downloads:  Functions to descend through directories and
re-ascend. File descriptions held.  Files may be posted between
individual users.  No internal protocol provided, you can use any which
are available on your system.  Rename, delete, edit, view files.
Searches recursively from any named parent directory on filenames or
file descriptions.

Chat:  Realtime chat on a message by message basis via pipes and
sockets.  Users can chat and listen whilst doing other things.  Users
can select chat reception on or off.  Menus may disable or enable chat
at any point.  Broadcast chat to anyone listening, or a private message
to named person.

Timing:  Session timers can be set on, off, or paused.  Also total time
per day can be limited.

User defaults:  An extensive range of user default choices including
inactivity timeout, hotkey mode, chat message colours.  Also interface
with terminfo to allow user to choose his best terminal type for use
with external programs.

Run Unix commands or "doors" either with BBS permissions or with login
permissions, as required for access and security.

All above are under total control of configuration files and the
semi-programmable menus.  Each line of each menu can be made available
only at certain times, or only to people with a certain flag set or
security level.

The nodes themselves may be configured to only accept callers fulfilling
certain criteria.



Changes from 2.0 to 2.1
===========================================================

New facilities
--------------

New menu action "prompt_cr" for use when the menu requires a multi-character
input.  Users with hotkeys selected normally can only input a single
character at any menu.  This suspends hotkeys for duration of prompt.

New menu action forward_mail forwards one mail message to list of
recipients.  Internal mail only at the moment, sorry. Remains "from"
original sender, but "to" recipient of forwarding. "Forwarded by" line at
top of message body



Improvements
------------

Sample menus now also in ANSI colour as example.
MSTRINGCOUNT now set to 50 and using mstrings in sample menus

Changed default to [N]o when deleting message area

Prompted with "delete %s?" (default [N]o) when removing directory

"confirm for each?" prompt when removing files.

Now does not allow all-numeric handles to be created

new strings: Ustring[502] Can only forward mail internally.
             Ustring[503] %s, please try again.
             
Improved security: 
Menu line now fails if action line is too long
Config.drealm now fails if field is too long 
They both used to simply truncate.  This could under extreme circumstances
have resulted in a directory path getting truncated and thus leading the
user into a directory not desired.

New field in config.drealm C.filemode is the octal value of the perms
required on files placed in a public file area.  If downloading is to be
unbuffered the user must have access to the downloads directories under his
natural login permissions.

Catchup to recent messages now defaults to [Y]

Changed transstring to be more strict about word in \@@ but still ignores
case.  

-p parameter added to cp in file_to_public and file_to_user so that it
is easier to see when a file is getting old




Bug fixes
---------

Swapped the comment fields on lines 2 and 3 in config.files as they were the
wrong way round

Fixed bug that left forwarded mail to be read into the workpad later

Changed give_aka to strip ',' and ':' so as not to corrupt the passwd file

In file_to_user and file_to_public it was possible to send "null" files!
Fixed by chopping ends of remaining menu line after looking for child_dir

Bug in downloading permissions etc
Wasn't downloading from .dl directory for some reason!

ustrings.txt Ustring51 didn't agree with menu bar at Ustring55. 
Ustring51 Changed to 'h'

Corrected sizes of Ustring and Mstring arrays.

Wrong string was displayed when storing mail pointers

Incorrect string formatting when gagged user tried to post in area.

prabbit@rabbithole.vnet.net alerted us to the following two bugs - many thanks!

1. A wrong file could be displayed from within the display_it function under
some circumstances. Now fixed.

2. Using \$now$ in a menu line without a format string sometimes crashed the
program as it was trying to output the contents of null memory! Also now
fixed.