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.