drealmBBS 0.8 is now available. The contents of this notice are: -------------------------------- Packages and files Where to get them Overview Changes from 0.7 to 0.8 Packages and files: ------------------- dlmlx_08.tgz Linux binaries and docs dlm42_08.tgz SysV Rel4.2 binaries and docs dlmsrc08.tgz Sources and docs drealm08.txt An overview (probably this file) dlmpch07.08 Patches from 0.7 to 0.8 dlmpch06.07 Patches from 0.6 to 0.7 The System V Release 4.2 source builds supported are: * AT&T CCS 'make' and 'cc'. * GNU 'make' and AT&T CCS 'cc'. * GNU 'make' and 'gcc' 2.5.8. The executables should run on any Intel System V Release 4.2 system. The Linux source build supported is: * GNU 'make' and 'gcc' 2.5.8 The executables were developed on kernel 1.0.9 and libc 4.5.24. This is a full source code release under the GNU General Public License. Supported platforms are Linux 1.0.9 and System V Release 4.2. AT&T cc and GNU GCC are supported on SVR4.2. Development is continuing for Linux but may be dropped for SysV. 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/source/usr.bin/ 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 SysVR4.2 and Linux. 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, 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 FT protocols, editors or file viewers - and other external programs optionally. Facilities include: 1) 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. 2) 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 usermask, 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 listed 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. 3) 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. 4) 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. 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. Changes from 0.7 to 0.8: ------------------------ Removed hard-coded mtalk support (you can do it in the menus and we were). Determine username using cuserid(NULL) to remove a security hole. Prompt used in adduser program now passed by calling program, ready for international language support from release 1.0 (or maybe just a little later...) check_unix_mail now includes people equal to "$extmaillevel$", as well as above. drealmBBS LINT support corrected in Makefile. Chat status when SILENT now in line with normal. Some redundant code deleted. Set stderr to line buffered, just in case. Corrected laston/lastend code and removed a "memory fault". Checked in pager that we have some idea of a controlling terminal. Renamed "log" to "dlm_log" (in the C source, menu command not affected). Fixed "edit_sig" to edit the sig rather than the planfile. Fixed "copy_mail" to truncate the sender's name to 14 characters, as this was causing problems when copying from external mail (like corrupt area headers when replying). A "proper" fix will be forthcoming. Changed some error messages in timer.c to say timer rather than chat. Fixed chatout and timer on Linux not to block on open. This prevents the "timer: open: Interrupted system call" bug. Also now removes time.$user file on drealmBBS start up to prevent problems. Fixed bug whereby a drealm account with no unix account caused drealmBBS to abort (on Linux) when maintaining a user or removing a user's account. Fixed assorted uninitialised variables, which have not yet reared their ugly heads but might have been nasty to track down... Empty strings are now treated as false in field formatting (for "yes/no", "true/false" etc). Changed narrative from "abort" to "abandon" in editing. Added logging of BBS account deletion to newuserlog. Made testing builtin flags consistent - i.e. only use '0' or 'not 0'. Used ferror() to test for errors on streams (not a "< 0" test...). Sorted the variable name tables (in the source) and removed some redundant and undocumented variables. Hopefully this won't break anything. Moved various routines into different files (just for fun :-)) in the source. Fixed copying a list of messages from mail to an area. (It took the header of the first in the list for each message...) Made "N/y" be "y/N" in no_yes. Plugged some memory leaks. Fixed memory fault in catalogue if user-id on file is not in /etc/passwd. Checked all getpw* routines to make sure they cope with an user not in /etc/passwd. Some needed changing. Stopped chatout and timer from thrashing (using up loads of CPU time) on Linux.