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.