From: Peter Jones <thanatos@drealm.org>
Newsgroups: comp.os.linux.announce
Subject: drealmBBS version 1.1 released
Date: Sun, 23 Jul 95 13:31:50 GMT
Organization: ?
Approved: linux-announce@news.ornl.gov (Lars Wirzenius)
Message-ID: <cola-liw-806506310-9850-1@oravannahka.helsinki.fi>
Summary: Release notice for version 1.1 of drealmbbs
Keywords: drealmbbs bbs


drealmBBS 1.1 is now available.  

The contents of this notice are:
--------------------------------
Packages and files
Where to get them
Overview
Changes from 1.0 to 1.1




Packages and files:
-------------------
dlmlx_11.tgz    Linux binaries and docs
dlmsrc11.tgz    Sources and docs
drealm11.txt    An overview (probably this file)
patch11.gz	Patches from 1.0 to 1.1
patch10.gz	Patches from 0.8 to 1.0
patch08.gz	Patches from 0.7 to 0.8
patch07.gz	Patches from 0.6 to 0.7

The Linux source build supported is:
*   GNU 'make' and 'gcc' 2.5.8
The executables were developed on kernel 1.2.11 and libc 4.6.27.


This is a full source code release under the GNU General Public License. 
The only supported platform is Linux 1.2.11.  However, up to release 0.8,
System V Release 4.2 was supported.  The source code should still compile
with minor changes.  Indeed, the source is intended to be fairly portable.




Where to get them:
------------------
* drealm BBS +44 (0)181 568 4316, in the drealmbbs file area

* The Purple Tentacle BBS +44 (0)173 426 6974, in the Unix and/or Linux
  areas

* Compulink Information Exchange, in the free_software/sources topic

* ftp://ftp.demon.co.uk/pub/unix/drealm/

* ftp://tsx-11.mit.edu/pub/linux/packages/drealmbbs/


In the same locations are the Linux Software Map entries.  There is an
IAFA-PACKAGE file in the archives.




Overview 
-------- 

A multi-user BBS system for Linux (and other unix systems).

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 under
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, user flags, area flags, and min/max times of day.

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.

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:

1) Private inter-user mail, with interface to unix 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.

2) Message areas (forums).  Public messages are grouped into areas. 
Messages in an area are posted without naming a recipient and can be read by
anyone with access to that area.  Areas can be open or private, read only or
read/write, or moderated.  Each area may have an individual usermask, which
represents the flag settings of the users who may access it.  An area may
also be restricted to people over a certain security level.  In the case of
a 'private' area, access is restricted to only people who are specifically
named.

Messages are linked as threads, and may be read threadwise, numerically, or
by 'reference' (i.e. 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.

3) File up/downloads.  Functions to descend through directories and
re-ascend.  File descriptions are held.  Files may be posted between
individual users.  No internal protocols are provided but 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.

4) Chat.  Realtime chat on a message by message basis via named pipes (or
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.  Chat can be to anyone listening, or a private message to named
person.

5) Timing.  Session timers can be set on, off, or paused.  

6) 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.

7) 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.

There is a complete, detailed manual accompanying the package.




Changes from 1.0 to 1.1
-----------------------

menus can now be read into a memory cache in advance, for cases where disk
access appears to be slowing down drealm.  menus in config.preload are
preloaded and kept, menus for current level are loaded in at level change
time and dropped when changing out.  Amount of cache set in config.drealm,
and menus only load if they fit.  Many changes to menu-handling code...

got rid of stralloc(), use standard library strdup() instead.

fixed (again) problems with timers (and chat) - timer would die after
issuing the two minute warning.  Also there is a delay after issuing the
"you've timed out" message, so that it can get to the user before the
hang-up.

Finally added set_arealevel menu command and support functions to allow the
access level for an area to be set.  There is a new variable, $arealevel$,
which contains the current area's level.  Added new functions
arealevel_read() and arealevel_write() to support this.

prompt_read() renamed to do_pmp(); menu_read() renamed to do_cmd().

code error in get_line_details() corrected.

fixed a bug in all string searching actions which would find capital letters
unmatcheable if the pattern was entered as part of the command line.

trans_string(), base_name(), dir_name(), strshift() and shiftword() are now
more efficient.

readfuncs.c functions grouped a little more logically.

new function menushift(), like strshift() but returns FALSE if it did not
reach a separator in the space allowed.  Still strips origin line to past
next separator.

fixed a string overflow in editposting() when using a file or uploading. 
editposting() now clears up the uploaded file after copying it into the
message.  It also handles multiple files being uploaded and adds them all to
the message.

Added resetting of .newshigh for reset_guest and suppressed shell error on
accessing a non-existent .scanlist.


--
Send comp.os.linux.announce submissions to: linux-announce@news.ornl.gov
PLEASE remember a short description of the software.
