Converted from CVS

This commit is contained in:
Mercurial Repos 2009-05-15 22:01:56 +02:00
commit a0f8d8891c
900 changed files with 203942 additions and 0 deletions

11
.hgignore Normal file
View File

@ -0,0 +1,11 @@
.filelist
FILE_ID.DIZ
INSTALL
Makefile.global
autom4te.cache
config.cache
config.h
config.log
config.status
paths.h
stamp-h

60
AUTHORS Normal file
View File

@ -0,0 +1,60 @@
MBSE BBS AUTHORS.
$Id: AUTHORS,v 1.29 2007/08/22 21:14:38 mbse Exp $
The following people are members of the MBSE BBS development team:
Michiel Broek mbroek@mbse.eu 2:280/2802
Ken Bowley kbowley@users.sourceforge.net, 1:114/485@fidonet
Redy Rodriguez redy@users.sourceforge.net 2:283/613.6
Scott Street sstreet98@users.sourceforge.net, 1:266/420@fidonet
All following people have contributed to the MBSE BBS project. I'm sure that
people are missing from this list. The list is not in any special order.
Joaquim Homrighausen joho@abs.lu
Andrew Milner andrew@fido.lu
Mats Wallin mw@fido.lu
Eugene G. Crosser crosser@average.org
Stanislav Voronyi stas@uanet.kharkov.ua
T. Tanaka
Martin Junius
Omen Technology Inc
Arjen G. Lentz
Cristof Meerwald
P. Saratxaga
Dima Maloff
Jan van de Werken
Sean Rima
Juergen Heisel
Jim Hansen
Johannes Lundberg 2:206/149@fidonet, <jojo@chaosdev.org>
Vincent Danen
Francois Thunus francois@telematique.org
Johan Lindh
William McBrine
Harald Wuensch
NERvOus nervous@nervous.it
Bobby Cabral bobbyc@digitelone.com
Johannes Beekhuizen 2:280/1018@fidonet
Lukas De Groen 2:280/1027@fidonet
Vince Coen 2:257/609@fidonet
Joachim Kuwan 2:249/591@fidonet
Greek greek@voyager.nnov.ru
Sergey Nechaev 2:5015/53@fidonet
Serge Terekhov 2:5000/13@fidonet
Vadim Kurland vadim@gu.kiev.ua
Vadim Zaliva lord@crocodile.kiev.ua
Przemyslaw Kwiatkowski 2:480/127@fidonet
Phil Kimble kimerud@users.sourceforge.net 1:14/200@fidonet
David Gonzalez skynetbbs@007mundo.com 4:930/1@fidonet
Malte Tychsen 2:240/9350@fidonet
Dmitry Komissaroff rsprog@mail.ru
skyroam skyroam@users.sourceforge.net
val khokhlov 2:550/180@fidonet
Robert Wolfe 1:2613/4307@fidonet
Alan Ianson
Simon Voortman 2:280/1049.1@fidonet

340
COPYING Normal file
View File

@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

93
CRON.sh Normal file
View File

@ -0,0 +1,93 @@
#!/bin/sh
#
# $Id: CRON.sh,v 1.6 2005/08/26 10:42:43 mbse Exp $
#
# Crontab setup script for MBSE BBS
echo "MBSE BBS for Unix crontab setup. Checking your system..."
# Basic checks.
if [ `whoami` != "mbse" ]; then
cat << EOF
*** Run $0 as "mbse" user only! ***
Because the crontab for mbse must be changed, you must be mbse.
*** SETUP aborted ***
EOF
exit 2
fi
if [ "$MBSE_ROOT" = "" ]; then
echo "*** The MBSE_ROOT variable doesn't exist ***"
echo "*** SETUP aborted ***"
exit 2
fi
if [ "`grep mbse: /etc/passwd`" = "" ]; then
echo "*** User 'mbse' does not exist on this system ***"
echo "*** SETUP aborted ***"
exit 2
fi
if [ "`crontab -l`" != "" ]; then
echo "*** User 'mbse' already has a crontab ***"
echo "*** SETUP aborted ***"
exit 2
fi
MHOME=$MBSE_ROOT
clear
cat << EOF
Everything looks allright to install the default crontab now.
If you didn't install all bbs programs yet, you better hit
Control-C now and run this script when everything is installed.
If you insist on installing the crontab without the bbs is complete
you might get a lot of mail from cron complaining about errors.
The default crontab will have entries for regular maintenance.
You need to add entries to start and stop polling fidonet uplinks.
There is a example at the bottom of the crontab which is commented
out of course.
On most systems you can edit the crontab by typing "crontab -e".
EOF
echo -n "Hit Return to continue or Control-C to abort: "
read junk
echo "Installing MBSE BBS crontab..."
crontab - << EOF
#-------------------------------------------------------------------------
#
# Crontab for mbse bbs.
#
#-------------------------------------------------------------------------
# User maintenance etc. Just do it sometime when it's quiet.
00 09 * * * $MHOME/etc/maint
# Midnight event at 00:00.
00 00 * * * $MHOME/etc/midnight
# Weekly event at Sunday 00:15.
15 00 * * 0 $MHOME/etc/weekly
# Monthly event at the 1st day of the month at 01:30.
30 00 1 * * $MHOME/etc/monthly
#-----------------------------------------------------------------------------
#
# From here you should enter your outgoing mailslots, when to send mail etc.
# Mail slot example.
#00 02 * * * export MBSE_ROOT=$MHOME; \$MBSE_ROOT/bin/mbout poll f16.n2801.z2 -quiet
#00 03 * * * export MBSE_ROOT=$MHOME; \$MBSE_ROOT/bin/mbout stop f16.n2801.z2 -quiet
EOF
echo "Done."

116
ChangeLog Normal file
View File

@ -0,0 +1,116 @@
$Id: ChangeLog,v 1.1225 2008/12/28 12:28:25 mbse Exp $
v0.95.5 29-Nov-2008
upgrade:
Start mbsetup, enter global setup, leave and save.
mbselib:
Newsservers can be connected with a port number from the
setup.
mbsetup:
In screen 1.12 a nntp port number can be set.
Added a switch to force authentication on connect with nntp
servers.
examples:
Added German menus and textfiles, written by Niels Haedecke.
v0.95.4 31-Aug-2008 - 29-Nov-2008
upgrade:
Start mbsetup, enter global menu, leave and save.
mbnntp:
A cosmetic change to add an extra newline before the tearline.
mbfido:
A cosmetic change to add an extra newline before the tearline.
mbsebbs:
Fixed a buffer overflow in lastcallers display.
mbsetup:
Increased the size of the nntp username and password fields to
32 characters.
script:
installinit.sh now knows about Slamd64.
SETUP.sh now knows about Slamd64.
v0.95.3 12-Mar-2008 - 31-Aug-2008.
mbfido:
Fixed another buffer overflow thanks someone who is using a
tic processor that doesn't follow specs and doesn't create
proper ticfiles.
v0.95.2 17-Feb-2008 - 12-Mar-2008.
mbselib.h:
Added stream scanning for F-Prot.
mbfido:
Fixed missing SEENBY entry of our own aka if a echomail
message came from another zone.
mbsetup:
Fixed chapter numbering in the ascii sitedoc.
script:
Fixed hatch script to send File line. Note: you must manually
install hatch.new to hatch in the bin directory and set the
password again, this script will not automatic install.
mbtask:
Call setprgp is not fatal if it fails.
v0.95.1 07-Jan-2008 - 17-Feb-2008.
upgrade:
Start mbsetup and exit. If you have a clamd running on some
server (or bbs machine), you can switch to use stream
scanning. See the manual for details.
mbselib.h:
Added file virscan function.
Added stream scanning for ClamAV, scanning is 10 times faster
compared to the commandline scanner.
Don't log errors if execute unzip returned error 11.
mbtask:
Added last changes for MIB counters.
mbfido:
Changed error message on the news gate.
Switched to virus scanner from library.
mbfile:
Switched to virus scanner from library.
mbsebbs:
Added MIB counters.
Switched to virus scanner from library.
mbsetup:
Added support for TCP stream scanners.
script:
Added support for Zenwalk.
v0.95.0 25-Nov-2007 - 07-Jan-2008
mbcico:
The maximum speed to show to the other end is now 4294976295.
mbsetup:
Changed the maximum linespeed to display for TCP/IP sessions to
4294976295. Numbers above 2147483647 might display on remote
systems as negative numbers.

1393
ChangeLog_1998 Normal file

File diff suppressed because it is too large Load Diff

1602
ChangeLog_1999 Normal file

File diff suppressed because it is too large Load Diff

668
ChangeLog_2000 Normal file
View File

@ -0,0 +1,668 @@
$Id: ChangeLog_2000,v 1.1 2002/06/01 13:55:40 mbroek Exp $
MBSEBBS History in 2000.
v0.33.10 24-Jan-2000
general:
Changed version numbering. From now on, minor odd numbers
are testversions, even are stable. Same as with the
Linux kernel.
Changed the setup script, it should now detect SuSE systems.
This is not tested.
update:
Remove (as root) all bbs users from /etc/ftpusers. They are
not needed (and never were).
Compile and install this release.
Kill mbsed (killall -9 mbsed).
Edit $MBSE_ROOT/etc/mbsed.conf, remove the line with logdebug
and the commentlines above.
Start mbsed again (/opt/mbse/bin/mbsed).
Then start mbsetup, open the global menu 1, and exit. Answer
yes to update.
If you have any echomail passthru areas, give them a
message base path. Passthru doesn't exist anymore.
common.a:
The file_crc function now supports the usleep(1) code
for background processing.
The logfunctions now replace <cr> and <lf> with spaces.
msgbase.a:
Corrected a bug in the Pack function when the headerfile
was corrupt. If the header is corrupt, the index file is
used to find the right recordposition again. Errors are
logged.
mbsed:
Removed the logdebug loglevels. Logging is fixed now.
Changed the answers for the SBBS command.
mbsetup:
Added a global setup screen for the ftp server.
Added a switch in the menus setup for doors to set a flag
to create door.sys files for dosemu/Vmodem use.
Revised the message area setup screen.
Changed text's in global mailer setup to indicate that the
mailer flags are for TCP/IP connections.
mbuseradd:
Doesn't add usernames anymore to /etc/ftpusers. This is not
needed for standard ftp security.
mbcico:
Added send filerequest to the binkp protocol. In single
batch mode, you need to connect a second time to get the
request response. This is normal single batch behaviour.
Nodelist flag for Binkp mode is XX. (For POTS/ISDN XA).
Added received filerequest to the binkp protocol. In single
batch mode this will put the files on hold. Multiple batch
mode works now but is only tested against another mbcico
mailer.
Calling internet nodes could not use a forced hostname or
IP address. Fixed. Added search in nodes setup phone
fields for hostname/IP address, search in nodelist location
entry (2 nodes on the world do that, I needed one of them),
and the IP notation in the nodelist phone field (000-...).
Hostnames after the flags are not resolved, hostnames
should be in the system name field.
In the binkp protocol the flags from the global mailer
setup are sent as our flags.
mbsebbs:
The next two pathes are from Ken Bowley.
Changed the fullscreen editor with patches from Ken Bowley.
Improved behaviour for inserting and deleting text.
Changed the door.sys creation, if the COM port option in
the menu files is on, the door.sys file writes COM1 in
it with a portspeed of 115200. This is for running doors
under dosemu and a patched Vmodem.
Made newmail scan and other checks for personal mail case
insensitive.
The fullscreen editor source now has an extra define FSEDIT
to enable heavy debugging logs.
It didn't respect the BBS closed status on lines that did
not honor ZMH status.
Removed "Re:" debug logging from mail.c
mbfido:
Corrected the queue path for tic passthru areas, the
destination path missed a /.
Delete file from the inbound with passthru areas is now at a
later point.
Removed the message passthru switch, you needed and area
anyway.
mbstat:
Corrected screen output when it was waiting for the bbs to
close.
mbftpd:
New! Special ftp server for MBSE BBS. Should use BBS users
access restrictions etc. Doesn't work yet so don't use it.
It is included in the distribution, but not compiled or
installed.
v0.33.11 07-Mar-2000
upgrade:
Change the CLIENT line in ~/etc/mbsed.conf, the authcode must
now come behind the hostname. Remove the AUTHCODE line.
Kill the old mbsed, start the version from this version.
The same changes must be made to ~/etc/client.conf
Run mbsetup, goto 1.17 and 1.18 and set it up for your system.
Check the QWK area names in the message areas: if there are
areanames longer then 13 characters edit them so that they
fit in the 13 characters limit. In previous versions this field
was 20 characters.
general:
Added global config to create www pages for downloads.
Included the mbftpd directory in the main Makefile. Don't use
the mbftpd program yet!
Updated the documentation, some parts were 2 versions behind.
common.a:
Execute external programs now lowers process priority to 15,
and restores to 0 after execution. This should make running
(de)compressors and other utilities "nicer".
If a client fails server authorization, it will now proper
close the server connection.
mbsed:
The syntax of the client lines in mbsed.conf is changed,
multiple lines are now allowed, hostnames and authcodes must
be on one line now.
It is now possible to close the connection when not authorized.
Minimized the number of response codes. Updated the
documentation.
mbsetup:
Added global setup menu for the html pages creation.
The length of the QWK area names in the message areas setup
is changed from 20 to 13 characters for the QWK specifications.
Removed selection of menu number 216 from the menu editor.
mball:
The index command now also creates index.html files for web
clients. The index files are stored in the download directories.
If a download directory contains .gif or .jpg files then
thumbnails will be created and the thumbnails will be used in
in the index.html files.
You need "convert" of the ImageMagick package to use that
future.
mbfile:
Added 'index*' to the list of filenames that isn't checked
with the mbfile check option.
Pack and Move file functions will now also delete or move the
thumbnail files.
mbcico:
Changed the binkp receiver timeout code to prevent a hanging
receiver. This only happens sometimes on a Sun Sparc (and
still does).
Changed the modem chat logging. It is now visible what is
really send and received from to the modem.
mbsebbs:
Added wordwrap in the fullscreen texteditor. Patches by
Ken Bowley.
Replaced hardcoded prompts in offline.c with language prompts.
New prompts are 66, 228, 229, 256, 260, 277, 297, 338, 374,
377, 391..397, 411, 425, 439..460. Replaced a language prompt
in the Language load function with a hardcoded message.
Removed menu option 216, download pointmail.
Added QWK download and upload. Not fully tested yet!!
Added ASCII download.
File descriptions with color info will now be displayed in
color.
mball:
File descriptions with color info suppresses the color info
in the all/newfiles listings and 00index files.
v0.33.12 24-Apr-2000
upgrade:
After compiling and installing set the amount of free
diskspace in mbsetup menu 1.4.22 to your choice.
Kill and reload mbsed.
If you use the web interface for the file areas create
the directory css in your webserver document root and copy
files.css from the distribution archive in it. Then run
mball index. Customize files.css to your taste.
general:
Changed the ~/tmp/scan.mail file to ~/tmp/echomail.jam and
~/tmp/netmail.jam in the standard JAM format.
Added file README.GoldED
common.a:
Added function to check for free diskspace on ext2, msdos and
vfat filesystems, except floppies.
mbsetup:
New nodes now have "Notify" default off.
Renamed menu 1.4.
Added minimum diskspace setting to menu 1.4.
Added force FNC switch to the nodes setup.
mbfido:
Exported netmail are checked until any tearline, not MBSE's
tearline alone.
If exported echomail doesn't have a ^aPID kludge, the ^aTID
kludge will be inserted anyway.
Removed some debugging info from the ARCmail pack function.
When netmail to points is written with GoldED there was no
^aTOPT kludge. Any missing ^aTOPT, ^aFMPT and ^aINTL kludges
are now added if they were not found during mailscan.
The unarc/viruscheck directory is now completly removed after
use and created again. Sometimes files with strange names
were left behind with a normal recursive remove.
Now checks at regualar points the free diskspace. Execution
aborts if it is too low.
mbsebbs:
Inserted ^aINTL: kludge instead of ^aINTL without colon.
Corrected the users age calculation, the users age increased
one month after his birthday.
mbsed:
Added some fsync() calls to ensure disk writes.
Now starts logging reginfo locking after the fifth attempt.
mbcico:
Made some small changes to the binkp batch function.
Added free diskspace check during outbound calls.
Added BSY command support for binkp during file transfer stage.
Changed binkp timer reset points during file transfer stage.
The binkp receiver now checks diskspace before accepting a
new file, it sends BSY if too low to the remote.
If in nodes setup the FNC flag is set, the binkp protocol
will now send old 8.3 uppercase filenames to the remote.
mball:
The WWW pages now include a stylesheet so it is more easy
to create a personal look and feel for the pages. The
stylesheet goes into htdocsroot/css/files.css An example
is included in this distribution.
mbaff:
Added free diskspace check.
mbindex:
Added free diskspace check.
mbdiff:
Added free diskspace check.
mbmsg:
Added free diskspace check.
mbuser:
Added free diskspace check.
v0.33.13 12-Jun-2000
upgrade:
Make all files and install them as root.
If you use GoldED or other mail utilities as another user
change $MBSE_ROOT/sema and $MBSE_ROOT/tmp to mode 777.
Kill mbsed with signal 9.
Now start mbsed again (/opt/mbse/bin/mbsed).
general:
The install script now sets the $MBSE_ROOT/sema and tmp
directories to mode 777.
Updated the internet news gate documentation.
msgbase.a:
Now creates all JAM files with mode 0666.
mbcico:
The binkp driver skipped aka's when the node number
was zero.
Changed on hold logmessage.
mbfido:
When forwarding a netmail, a temp file was closed twice,
this caused a segfault on glibc-2 systems.
In the logfile areamgr notify messages had the same orgin
and destination address.
mbsed:
Changed the signal handlers. It will now allways try to
cleanup lost clients. It will also not hang anymore when a
client aborts for 10 minutes and use 100% cpu time.
mbsebbs:
Changed logging in filearea select.
Permanent removed download checktime function, this was
already off.
Added error logging for setting filearea 0 during logoff.
Only netmail replies via an internet gate are now readressed
to a UUCP address.
v0.33.14 03-Jul-2000
upgrade:
Read this section carefully!!! This is a large update.
Backup the whole BBS configuration.
Compile and install all programs.
Kill -9 pid of mbsed. Restart mbsed.
Delete file ~/var/mailer.hist
Delete in all outbounds the *.sts files.
Start mbsetup, set item 1.5.14 if you want new users to
get an email box, you should do this.
Set 1.13.4, 1.13.5 and 1.13.6 to the node where the pop3,
smpt and nntp servers are, normally this is "localhost".
Set 1.13.10 to the Fidonet aka you will use for incoming
and outgoing email via the Fidonet UUCP gate.
Set 1.13.11 to the node address of the Fidonet UUCP gate.
Set 1.13.12: use "No ISP" if you dont't have internet
access, you will then use the default Fidonet UUCP gate.
Set it to "Dial ISP" if you connect sometimes to the internet
of have a cable modem without a DNS entry. Set it to
"Perm ISP" if you have a permanent connection to the internet
and you system has a valid DNS name.
With mbsetup open the userbase, close it and answer yes to
the save question. If you want existing users to have
private email, set 15.36 for each user to yes. You should
do this to accept email from the UUCP gate.
Open the message areas setup (9.2), exit and answer yes to
the save question, this will update this database.
Remove any existing email areas in the normal mail setup,
menu 9.2 (you should not have had any yet).
With mbsetup open menu 16, this will add the default services
database. Add entries as needed.
With mbsetup open menu 17, this will add the default domain
translate database. Insert entries as needed. Move the new
entries so that the .fidonet .ftn translation is the last
entry.
Go back to the start of this section and check!
general:
Introduced users private email. Each user has (if set) three
email boxes: mailbox, archive and trash.
New system settings GiveEmail, POP3 host, SMTP host, Email Aka,
UUCP gate aka and Email mode.
New menus for email: 216 Read email, 217 Post email, 218 Trash
email, 219 Choose mailbox, 220 Quickscan email.
New user settings Email and plain password.
All users can now have private email boxes.
In normal mail areas you can't create email boards anymore.
Some documentation is updated for new features and some
changes are made to explain some things better.
Added a services database. These are mail accounts that can
perform certain actions.
Added domain translation database, this will translate fido
domains to internet domains and back.
Changed the message areas to contain newsgroups information.
common.a:
The nodelist lookup function didn't recognize the internet
protocol flags followed by a colon and portnumber.
Move some functions from mbfido and mbmsg in here.
Added characterset convertor from ifmail. It uses the same
maptabs.
Moved some other functions into this library.
mbinet.a:
New library, internet protocol interfaces. Has interfaces
to SMTP, NNTP and POP3 protocols.
msgbase.a:
The MsgIdCRC and ReplyIdCRC values were not set in the message
headers.
Added protection for too long subfield strings.
Made some stringlengths longer, following JAM specs.
clcomm.a:
When closing the server connection the autorisation table will
now be freed before the program ends.
mbcico:
During binkp calls the mailer history wasn't filled with
session information.
Some system names were too long for the history info.
Will now properly initialize the mailer history file when it
doesn't exist.
With incoming calls the "Node not in setup..." debug log
message at startup is supressed.
Will send netmail with Immediate flag set allways.
Will now also poll non-CM systems outside ZMH. You should
know what you are doing!
The format of the outbound .sts files is changed to prevent
problems on Sparc systems.
Made the FTS-0001 sessions work again.
With outbound sessions the RH1 link option is set.
If a file is received and there is alread an empty file with
the same name, that one is removed to prevent filename extension
bumping. This may be a leftover from a previous failed session.
mbout:
Won't create polls for nodes not in the nodelist, nodes that
are Down or Hold. Removing polls is always possible.
When multiple polls on the commandline are given, if one of
these nodes is down/hold, then all other polls are still
created.
When creating a poll for a non-CM node outside ZMH, a warning
is given and written in the log.
Added the fileattach command.
The format of the outbound .sts files is changed to prevent
problems on Sparc systems.
mbfido:
In the rollover function the mailer history is truncated each
month. The current and previous month records stay.
When forwarding .tic files, the files are now attached to the
routevia address if this is set for a node.
Processes scanning of netmail with the immediate flag set.
Added more debugging info for the scan function.
Uses the services database to decide incoming netmail to handle
by AreaMgr, FileMgr or Email.
Moved some functions to common.a
Configuration errors found during mailscan are now logged.
Removed a small memory leak from the magic manager.
Added experimental email import from a FTN UUCP gateway.
The AreaMgr now refuses to disconnect a node who is cutoff from
an mail area to prevent reconnection.
If from a received tic file the accompaning file is missing in
the inbound the errormessage will now say that instead of the
wrong message "Permission denied".
mbsetup:
In edit fido aka's when you remove a secondary nodelist the aka
is now automatic erased.
The line editor now checks if a line only contains spaces, if
so, the line is returned erased. Trailing spaces are still
possible!
Added global settings and user settings for the new options.
Added 5 new menu choices, Post Email, Read Email, Trash Email,
Choose Mailbox and Quickscan Email.
Added setup for the services database.
Added setup for the domain translation database.
Corrected some sitedocs chapters numberings.
Added setup parameters for news in the message areas editor.
For new installations there will now be a default system
location filled in. This will prevent "mbstat open" to hang
for sysops that didn't do proper system setup.
mbmsg:
The post function created the semafore scanout instead of
mailout.
Moved some functions to common.a
Messages written with GoldED were deleted by age because some
GoldED versions don't set the Processed date.
mbsebbs:
Added DoNop() to message read function to prevent losing the
connection with mbsed with long messages.
Added netmail Immediate option for non CM nodes.
Replaced some hardcoded prompts by language prompts.
Duplicate phonenumbers check is finally working.
Added better check for personal mail.
The messagearea overview now also counts messages written by
the user as personal messages.
Changed the newuser function to set system and bbs password
in one function so the user creates the password only once.
During normal login (via user bbs) the plain user password is
stored in the userbase. This will not work with Unix login.
New textcontrolcode: Control-K + N, current e-mail mailbox name.
Updated the change password menu command to use the new
mbpasswd wrapper.
If a user decided to Quit check for newmail, the bbs crashed
with a segfault.
Will not insert Re: in the subject of the subject contained a
Re^2: produced by GoldED.
Patched the fullscreen editor with code from Johannes Lundberg
to correct the "invalid screencoordinates" problem.
Adds the ^aCHRS kludge with CP437.
Will now free the server authorisation tables on exit.
The users plain password is now written to door.sys
mbsed:
Removed the fsync calls in the logfile write functions,
it never did any harm and the fsync calls do really slowdown
the system.
The locking functions only waited for 2,5 second instead of 15.
mbpasswd:
New wrapper, sets a new password for a user from the
commandline.
mbuseradd:
Doesn't ask the user for a new Unix password anymore, mbpasswd
is used instead to set the password.
lang:
Added 10 new language prompts, 461 upto 470.
Changed language prompts 39, 40 and 388.
mblang:
Corrected a bug reported by Johannes Lundberg (2:206/149).
mbuser:
Will now remove blank records at the end of the database.
mball:
The index function now translates the characterset from CP437
to ISO-8859-1.
mbdiff:
Removed a small memory leak.
mbindex:
Writes an error in the logfile when no nodelist is defined for
a network that is defined in the network setup. Processing of
all other lists will be completed.
mbmon:
Will now free the server autorisation table at exit.
mbmail:
New program, use this to replace ifmail from the ifmail package
for the email gateway if you had that installed. If it is then
it's probably configured in /etc/sendmail.cf or whatever other
MTA you are using.
v0.33.15 08-Oct-2000
upgrade:
After installing the new binaries kill mbsed. Start mbsed.
Start mbsetup, open global menu 1, exit and save. This will
set the default value for newsarticles dupe database size.
Set the real news areas to the type News instead of Echomail.
Copy mbsebbs-0.33.15/script/run_inout to $MBSE_ROOT/etc
Compile the nodelists again with mbindex.
general:
All version information for the sources now comes from the
generated file config.h
Tested on Slackware 7.1 (i386) and Debian 2.2 potato (Sparc).
Changed the SS() macro to MBSE_SS() to prevent conflicts
with system libraries.
Changed the way debug logging is, see the file DEBUG for
details.
Updated the ftscprod list with version 006 of 22 jan 2000.
I dared to ask for a product code with the FTSC commitee.
Removed the McMail.bug file from the distribution because
later releases (after 1.0) don't have problems anymore with
EMSI handshake.
Added nodelist capability flag IFT for future extension.
Added forgotten nodelist capability flag Z19.
Changed the analogue modems priority.
lib:
When there was more then 6 Gig diskspace free, several programs
complained about negative diskspace available.
The logger now registers the /dev/pts/n devices correct.
Changed the logger for the new debug way of logging.
The logger is now protected for stringlength overflow.
mbfido:
When exporting echomail all system aka's in the same zone are
now added to the SEEN-BY lines.
Experimentail newsgroup postings from local posted echomail
and received echomail.
Now closes active SMTP and NNTP servers only once if they have
been used instead of opening and closing for each message.
The filemover now creates destination directories if they don't
exist.
Added patches from Redy Rodriguez of 2:283/613.6:
. Added %RESCAN and %MSGS to the Areamgr.
. It also fixes two bugs in %QUERY: it incorrectly listed the
linked areas (I have added the great totals at the end of
answers to %QUERY and %LIST); and it also corrects its not
recognizing the area tag if you ask for it in lower case
letters (should always be in upper case).
. The AREA: kludge in echomail is now only tested if it is the
first line of the message.
. Added the message area autocreate function. See the manual
for details how to set it up.
mbfido now creates MBSE-FIDO ^aPID and ^aTID kludges.
Crashmail to points will be sent to their boss node.
Sending email now uses the mkrfcmsg function.
Incoming .pkt files not ending with a zero word are now
processed as if they were ok. The will not end up in the bad
directory anymore.
In magic unpackfile for test there is now an calloc for the
cwd buffer to see if that removes a NULL pointer free'd error.
SETUP.sh
Added extra check for Slackware systems. Since 7.0 there is
an extra check needed to prevent detecting a Mandrake system.
Corrected a minor typo for Debian startup script.
mbsetup:
The PickAka function loaded the global setup again when
editing the global setup so you did loose all recent changes.
Added a menu entry in menu 1.13 to set the size of the news
articles dupes database.
In screen 9.2 changed the order of fields 19, 20, 21 and 22
because item 8. got partly overwritten by linewrapping.
mbsed:
Corrected the data given for disk statistics for large disks.
The log function now prints all characters to the logfile.
mbsebbs:
New users have now default the fullscreen message editor.
Added patches from Redy Rodriguez of 2:283/613.6:
. Changed language prompts 136...141 and added 471. Changed
the timestatistics output in funcs4.c for the changed
language prompts. It is now full international.
mbsebbs now creates MBSE-BBS ^aPID kludges.
It is now possible to reply crash to points by testing the
status of the bossnode. Also crash posting to points is
now possible.
Changed some debugging code of the fullscreen editor.
Message reading on Sparc systems works again.
The offline reader functions Tag areas, Untag areas and View
tags will now display the more/y/= prompt when the listings are
longer then the screenlength. Patches by Redy.
When posting a news article the To: field is automatic filled
with "All".
Postings to email and newsgroups now add some RFC headers for
mbfido to process. The style of GoldED is used.
mbcico:
mbcico now creates MBSE-CICO ^aPID kludges.
The binkp transmitter now sends a zero length dataframe after
the transmitted file to all mailers except mbcico.
Removed a small bug in EMSI handshake routine.
Revised modem7 timeouts. Corrected checksum error for first
time receive of filename.
Did final testing for FTS-0001 sessions, a lot of bugs are
repaired. Note that most of them may be present in ifcico.
In a FTS-0001 session wazoo filerequests are also honored.
Sometimes received wazoo requests were renamed to temp
filenames and not responded to.
Corrected the helpscreen for the TCP/IP modes.
Improved the random dial delay time generation.
mbmon:
The logger now registers the /dev/pts/n devices correct.
mbchat:
Patches for new device pty names by Redy Rodriguez.
fbutil:
New utility written and maintained by Johannes Lundberg,
2:206/149@fidonet, <jojo@chaosdev.org>.
run_inout:
Changed this script to check for the inbound/bad directory,
if it doesn't exist it is created.
Removed all old news/email gateway stuff.
The goldnode compiler is called if it is in $MBSE_ROOT/bin.

933
ChangeLog_2001 Normal file
View File

@ -0,0 +1,933 @@
$Id: ChangeLog_2001,v 1.1 2002/06/01 13:55:40 mbroek Exp $
MBSEBBS History in 2001.
v0.33.16 07-Jan-2001
upgrade:
Edit the crontab to comment out the lines with run_inout,
mailer and mbstat check.
Compile the sources.
Stop the bbs, kill mbsed.
Install the new binaries.
Start the bbs as root with the new init script. It will be
in some init.d subdirectory depending on your distribution.
If you can't find it, reboot.
If you want to start using the newsgate, run mbfido news -learn
the first time to learn which articles there are.
Edit menu item 1.14.3 and check that it's empty if you don't
use it.
CRON.sh:
Removed the lines that ware replaced by the mbtask program.
SETUP.sh
Changed binkd into binkp because binkp is the official protocol
name.
Corrected a problem installing on a system without shadow
passwords.
Removed the part where the init scripts are installed. They
are now in a new script in the script directory.
clcomm.a:
New function Syslogp, to log unformatted strings, the normal
formatted string logfunction did hang sometimes when logging
strings containing the % character.
Improved some error messages in the NNTP and SMTP connections.
common.a:
Protected uniq_list and sort_list against NULL pointers.
Handles the error strings now if there is a $ at the start
of an logstring. This was only in the daemon but that didn't
give the right errorstrings. Nobody noticed this error has
been here from the beginning.
Protected the chkftnmsgid function from NULL input.
libdbase.a:
Dupe checking databases are now loaded in memory when needed
and written to disk only once when ready.
general:
Two new global switches, don't regate and allow control
messages.
Changed the maptab cp437__iso-8859-1 to translate 8bits dos
graphics to 7bits characters to make all fancy dos like
textboxes more readable on Unix systems.
New setup parameters for UUCP newsfeeds.
Added support for the PPC cpu.
mbtask:
New daemon. Takes over the functions of the run_inout and
mailer scripts. This program launches every program needed
to run the bbs. It will also check Zone Mail Hour.
mbsed:
Corrected a spelling error in the program header.
Made the userlog full transparant.
Fixed a memory leak in the userlog function.
Changed file locking of mbsed status files to use fcntl()
instead of placing lockfiles.
mbfido:
Protected the rfcmsgid function against NULL input.
Build some protection against too long lines in ftn messages
that were gated from rfc and regated to news.
Removed a lot of #ifdef statements for gating behaviour and
made a lot of code permamenent.
Original code for #ifdef ALLOW_CONTROL and DONT_REGATE is now
under control of configuration settings.
Forwarded files had an old copyright message in the tic files.
When sending messages to the SNMP or NNTP servers a line with
only a dot in it will be sent as a space and a dot to prevent
that the server thinks it's the end of the message.
When sending or forwarding messages to a destination with a
routevia address, the arcmail will be packed with the flavor
of the new destination node.
Magic execute uses the exec call now instead of the system
call, the programs to execute must now be in MBSE_ROOT/bin or
it will fail.
If a MSGID is missing the dupecheck includes the message text
in the dupecheck. (Redy).
Local posted echomail gated to news has now the right From:
address format and the right UTC time.
Imported news messages had an AREA: line in the message text.
Gating news to echomail doesn't crash anymore. Fixed several
bugs to make this finally work.
During gating news to echomail the mbmon program now displays
what is going on.
Added usleep code during news scanning.
The program is now installed setuid mbse and setgid bbs. This
allows it to be called by other users as mbse.
New commandline, uucp. This allows mbfido to process incoming
uucp newsbatches. Call it from uucp by:
cat newsbatch | /opt/mbse/bin/mbfido uucp -quiet or
cat newsbatch | /opt/mbse/bin/mbnews
It will handle compressed and uncompressed newsbatches.
If a scanned netmail should be send via your own UUCP gate, the
message will be handled further by the ExportEmail function.
All other UUCP destinations will be send via the remote UUCP
systems.
News articles that need to be send via NNTP are now first stored
in a temporary file. At the end of the mbfido run it will try
to post these articles. If it fails (newsserver down), the temp
file stays for a later try.
Added newsserver options for submitting articles via rnews and
to an UUCP remote host.
Added alias database again that was in the original ifmail.
Made a universal email post function.
Removed sourcefiles addos.*, they were not used.
If in configuration the root for the html pages is blank, then
no html pages will be created.
Netmail send to "ping" are bounced back to the sender if your
system is the final destination. If such a netmail is passing
thrue, the receiver is notified (trace). All ^aVia lines are
added to the replies. Systems running MBSE 0.33.16 and up may
now add the PING flag to the nodelist.
mbmail:
If there is no Organization header, the BBS default origin
line will be used.
Removed a lot of #ifdef statements for gating behaviour and
made a lot of code permamenent.
Original code for #ifdef ALLOW_CONTROL and DONT_REGATE is
now under control of configuration settings.
The packet routing is now determined using the mail tracker.
The point of splitting large messages is now set at the point
from the setup instead of hardcoded at 12 Kbytes.
The program is now installed setuid mbse and setgid bbs so that
braindead MTA's can still deliver mail to the Fidonet.
Mail for users at your own bbs is now imported into the netmail
board.
Added REPLYTO: REPLYADDR: and MSGID: kludges if these where
not yet present in the message.
Added alias database again that was in the original ifmail.
mbsetup:
In menu 1.13 added allow control and don't regate setup.
In all menus the default prompt selection is now "-" instead
of "0", so just pressing enter will leave from a menu.
When editing a new message area the area is automatic made
active when you assign a group to the area.
Most databases now create default records the first time.
The sitedoc pages for the tty lines were to big for each
printed page.
Splitted menu 1.13 in a Fidonet and Internet part, added setup
parameters for UUCP newsfeeds.
In the services setup the UUCP/Email entry is now added for
first time installations.
mbmon:
In all menus the default prompt selection is now "-" instead
of "0", so just pressing enter will leave from a menu.
mbout:
Fixed the helpscreen.
mbstat:
Removed the check command, this is now done by the mbtask
daemon.
mbcico:
Doesn't use tmpnam anymore during execute magic request.
The openfile function doesn't use tempnam anymore if a filename
is created after 62 name bumps.
When searching for a matching aka and your first aka is
disabled the first active aka is used as default.
The closefile function doesn't use the tempnam function anymore.
mbsebbs:
When posting news articles when not permament connected to the
internet, the From address will be Fido style.
Messages for offline packets are now packed using the
following tests:
- If area is netmail then only personal messages are
included (unchanged).
- If area is not netmail, and msg-kinds are private then
only personal messages are included.
- If area is not netmail, and msg-kinds are both (pvt/pub)
then personal messages and messages without pvt flag are
included.
- Otherwhise all messages are included in the packet.
Removed debug messages for the POP3 protocol.
mbpasswd:
Fixed a compile problem on systems without shadow passwords.
Thanks to Mario Mure.
Corrected a missing library in salt.c
Corrected a missing conditional header file in encrypt.c
mbmsg:
Wrote wrong CHRS kludge in the post function.
mbfile:
Warns about empty file areas during kill files.
v0.33.17 21-May-2001
upgrade:
Compile the sources.
Stop the bbs using the init script mbsed as root:
Slackware 7.0 and older: /opt/mbse/etc/rc.shutdown
Slackware 7.1 and newer: /etc/rc.d/init.d/mbsed stop
RedHat and Mandrake: /etc/rc.d/init.d/mbsed stop
SuSE: /sbin/init.d/mbsed stop
Debian: /etc/init.d/mbsebbs stop
Install the new programs.
Start the bbs using the examples above and use the word start.
Use mbsetup menu 1.18 to change the Zone Mail Hour if you are
not in Fidonet zone 2.
general:
The daemon mbsed is now obsolete, all these functions are now
in the mbtask daemon. For client/server communications Unix
Datagram sockets are used instead of TCP stream sockets.
Italian language added, translated by nervous@nervous.it
Spanish language added, translated by Redy Rodriguez.
JAM messagebase locking is now according to the JAM specs.
docs:
Added fsc-0088, fts-4001 and a page to describe the use of a
UPS with MBSE BBS.
Updated documentation to show all changes.
Added in file area setup and message area setup the description
of the global commands.
SETUP.sh:
Removed installing mbse as port in /etc/services
common.a:
The diskfree check now ignores a mounted filesystem at /boot
because that filesystem is usually small and not needed by
mbse.
The diskfree check should support reiserfs now (not tested).
Code and logging cleanup in packet.c
dbase.a:
Removed debug logging from the dupes databases.
mbinet.a:
When an NNRP server asked for authentication after the first
command instead of after connect, the user authentication
wasn't started.
mbsed:
Obsolete and removed.
mbtask:
Does all things mbsed used to do, it uses Unix Datagram sockets
to communicate with the clients.
If IP addresses to test are entered in the setup it will check
if the internet connection is available with ICMP ping.
Added Internet connection status, system running status and
system load average to the GSTA command for mbmon.
Create's the file ~/etc/config.data if it doesn't exist and
fills it with default parameters.
Note: the internet connection status is for future use.
mbfido:
The pktdate logresult is now only displayed if there was
something wrong.
The Checkdupe fallback logmessage is removed.
Corrected a small bug in the news to echomail gate to get the
correct replyto and replyaddr kludges in the messages.
Changed the tosspkt messages read functions back to the way it
was so the namefield may be exactly 36 characters long excluding
the null terminator.
The PING function didn't work if the message came from a node
not in the setup.
The PING reply now has a Re: prepended.
The scannews function now acts better on nntp error conditions.
Local posted echomail dropped the subject when it was gated to
news.
If imported netmail doesn't have a FMPT kludge and there is
pointinfo in the MSGID line, the pointinfo is taken from the
MSGID line.
Improved the TRACE message of the PING function to make it
more clear that it is a TRACE message.
The PING reply now uses the aka from address that was original
the destination address instead of the matched aka in the
reply message.
Added a hack to try to process .tic files that are not lowercase
filenames.
Added support for a system alias file to convert fidonet
addresses to RFC addresses.
In the mbnews function the tests for the headers Newsgroups:
and Message-ID: are now case insensitive.
File attaches with the leave case option set did not get the
TFS or KFS flags set in the attachement.
mbdiff:
Removed some debugging logmessages.
mbfile:
Removed some unnecessary logmessages.
mbmon:
When viewing the bbs lastcaller list the clock wasn't updated.
The <host> commandline option doesn't work anymore because we
now use Unix Datagram sockets to communicate with the server,
so we must be on the same system.
Added Internet status, running status and system load average
to the Server Statistics screen.
Minor adjustments to the screen layout of the Filesystem Usage
screen.
mbindex:
Sends the correct IsDoing information to mbtask during sort and
write.
mbsetup:
Added setup screen for the task manager.
Some menus didn't have the default "-" character in the prompt.
The language setup now adds Italian and Spanish on new
installations.
In main system aka's shortened the domain names from 12 to 11
characters length to prevent SIGSEGV in mbsetup.
Improved help messages when editing aka's.
Corrected chapter numbering in sitedoc.
Changed page layout sitedoc 8.1
Removed initialisation of ~/etc/config.data, this is now in
mbtask.
In golded.inc AKAMATCHECHO is no YES.
In golded.inc writing the AKAMATCH aka's other then fidonet
didn't really match the aka's, the main aka was written instead.
mball:
Removed two redundant log messages.
mbmail:
The program wrote mbfido instead of mbmail in the logfile.
mbsebbs:
During login with two names the second name now also checks
for empty responses from the user.
Removed some IEMSI debugging messages.
Removed the timeleft debug message.
Removed logmessage if no newfiles were found.
Removed rendunant log message abount start newfiles scan.
Removed logmessage if no newmail was found.
Removed debug email setarea message.
The list of languages to select is now divided in two columns.
The message to sysop function now doesn't quote and doesn't
write "Sysop wrote to ..." anymore. Thanks to Harald Wuensch.
The program now uses umask(007) instead of umask(000)
In the displayfile function the ^B syntax (show text above
sec. level) is now: ^B<level>^B<text to display>^B without
the < and > characters. Thanks to Harald Wuensch.
Removed (press enter to Quit) from language prompt 379 since
there is no default choice.
Adjusted a lot of strings for filenames and paths to PATH_MAX
in stead of 80 characters length.
Moved the Nopper call in the fullscreen editor to a place were
it always should work.
mbcico:
The session debug logmessages are set to the special loglevel.
Implemented EMSI-II, FSC-0088.
When calling a TCP/IP node with hostname in nodelist system
name and a valid phonenumber, and if the hostname could not
be resolved, mbcico would dialout and try to establish a
TCP/IP session over the modem connection. Now the TCP/IP
flags are cleared and mbcico will fallback to valid old style
phone sessions.
In binkp added the M_NUL PHN and M_NUL OPM to log if they are
received from the remote. We also send these flags.
In binkp we now always send and empty dataframe after a file
is sent, most binkp implementations need this to detect EOF.
We don't log received empty frames anymore, we just drop them.
mbpasswd:
Added check that username and password may not be longer then
16 characters.
Fixed the error message on some systems about USERGROUPS_ENAB.
mbuseradd:
Error messages now go to stderr.
Increased stringslength of some internal variables to PATH_MAX.
Check all arguments that they are no longer then 80 characters.
The user is now the owner of his homedir. In this homedir a
directory Maildir with subdirs cur, new and tmp are created,
also owned by the user. Some MTA's need this (Qmail).
Doesn't create the .hushlogin file anymore, not needed.
mbmsg:
Now runs umask(007)
mbuser:
If users at the end of the userbase are deleted and the database
should be truncated, these users were not removed from the Unix
system and their homedirectories weren't removed also.
Added a check to see if the sysop defined in the main config
also exists in the user database because these two must match.
mbstat:
Added the semafore command to set internal mbtask semafore's.
script/installinit:
Corrected a bug for Slackware 7.0.0 were the wrong initscripts
were installed.
examples:
Replaced the internet menu and txtfiles with versions that work
with the current menu structure.
v0.33.18 27-Jul-2001
General:
The development team now has five members and the sources are
on sourceforge's cvs server.
Changed the name to MBSE BBS for Unix instead of Linux.
This version is ported but not well tested to FreeBSD.
Upgrade:
In your Mail Transport Agent (if you use it) replace the line
"mbmail -r <nexthop> (recipients)" to mbmail "(recipients)".
In postfix this is in the master.cf file.
With mbsetup menu 1.3.8 fill in the path to the *.msg path.
MBSE.FAQ:
New, maintained by P.E. Kimble aka King Kimerud
lang:
Added Galego language by Redy Rodriguez.
Corrected Spanish language.
SETUP.sh:
Doesn't create .huslogin anymore for user bbs.
Script does now work on FreeBSD but needs bash.
common.a:
Corrected some defines in parsedate.c to include/exclude the
right code.
Changed the rawio to termios style instead of termio.
Added ufs filesystem as normal filesystem to the diskfree
function.
msg.a:
When locking the JAM messagebase failed due to a lock error
nothing was logged and the error was not flagged.
mbftpd:
Removed the subdirectory for this not finished program. It may
or may not return later.
mbfido:
Filefind replies had a wrong ^aREPLY kludge.
Rewrote a lot of code so that similar functions are only once
present. This will make bughunting and maintaining much easier.
Scanned netmail from point addresses created with GoldED are
now always checked for missing FMPT, TOPT and INTL kludges and
they are inserted when missing.
The checkdupe switch also work in uucp mode (mbnews).
The code for mbmail is now merged into mbfido. A symlink from
mbmail to mbfido is created to let mbfido run in mail mode.
The syntax to call mbmail is changed.
Implemented processing ^aFLAGS for received netmail (FSC-0053).
mbmail:
Obsolete, the functions are now in mbfido.
mbtask:
Removed all references to the Memwatch debugger, mbtask is oke
but the debugger fills up the harddisk (very fast).
Does now respond again to external semafore's mailout, mailin
and scanout in the semafore directory.
Removes stale socket file if found.
Runs mbsetup init if config.data is created on new systems.
Fixed a SIGBUS fault for Sparc systems
mbpasswd:
Added CLOSE_SESSIONS and ENV_ROOTPATH to getdef to prevent new
user error messages on some distributions.
Ported to work on FreeBSD.
mbindex:
Patched by Ken Bowley to prevent a crash when the 300 baud
field is the last item on the nodelist line.
mbmon:
Changed the rawio to termios style instead of termio.
Shows the OS name in the info screen.
mbsetup:
Shows the OS name in the info screen.
Creates default tty records with tty names for the right
OS (I hope).
Fixed a bug in the menu editor, deleted menus were not really
deleted.
Added setup items for the menu Display colors.
Added a no suid switch to the menu for doors.
Added setup for *.msg directory in menu 1.3.
When changing the number of newfiles groups, the newfiles
reports database is converted on the fly.
All path variables now have a length of PATH_MAX.
When mbsetup is started, all databases not present are created
and when needed filled with default records.
There is now one possible commandline parameter: init. This
should be used only once (but doesn't hurt if run more then
once) on a new installation.
A check is build in that mbsetup is started by user mbse.
Fixed segfault error during exit of mbsetup when writing the
golded.inc file when the bbs is more or less unconfigured.
The file golded.inc is now only rewritten if changes are made
to the main configuration, fidonet data or message areas.
Added default archiver record for the Russian ARJ archiver.
mbcico:
Renamed sendfile function in zmsend.c to sendzfile to prevent a
conflict with an existing library call on FreeBSD.
Removed some debug logmessages.
The filerquest response message doesn't use the tmpnam function
anymore, this was the last one of the unsafe tmpnam calls.
mball:
Removed some compiler warnings on some systems.
mbsebbs:
Removed some compiler warnings on some systems.
Added menu Display lines.
Added menu item 21, display text only.
When a user has no download files limit and no download Kbytes
limit he may download unlimited.
When a user has no timelimit set in the limits, he will get
a 24 hours session limit.
The written door.sys file now has EOF character at the end.
The written door.sys file now has a : after the comport.
Executing doors in nosuid mode (as real user) is now possible.
This can be switched on using mbsetup. Info will be in FAQ.
Fixed security problem in Unix username and password entry.
Now stoped nicely if started without controling tty.
Many bugs fixed in the full screen editor.
Last line of message is no longer deleted when saving message.
Segfault problem with deleting characters fixed.
Improved word wrapping. (still needs work)
Reduced amount of debug logging messages in editor.
mbuseradd:
Ported to work on FreeBSD.
mbpasswd:
Ported to work on FreeBSD.
mbfile:
All path string variables are now of length PATH_MAX.
Added list file areas.
fbutil:
Removed list file areas.
htmldoc:
Upgraded the FTSC documents to the current state.
v0.33.19 26-Oct-2001
upgrade:
Announce any new files you might have. If you run mbtoberep
it should display no data anymore.
Change the file /opt/mbse/etc/issue like the example in the
subdirectory mbtask.
Change the shell for user "bbs" to /opt/mbse/bin/mbnewusr
The make install fixes several permissions that are wrong for
the new style (not setuid) of mbsebbs.
Remove /opt/mbse/etc/maint to let it replace with a new
version, or change it by hand.
On RedHat, Mandrake or e-smith systems remove the existing
start and stop commands with the runlevel editor, they will
be installed with other values when the system is installed.
If you forget this then mbsebbs will start and stop twice.
After compilation and installation run "mbfile check" to
update all file entries in the files database. This give a lot
of output in the logfile, don't worry about it.
In mbsetup 18 (task manager) set the fields 18, 19 and 20 to
the right values of your system. Also consider the setting
of field 13, set it to Yes if you cannot have a internet
connection at the same time when normal dial to fidonet is
needed. All other users, (more modems, cable/ADSL etc) set
this to No.
Fill in the right IP addresses in fields 11 and 12 of your
ISP's nameservers. If you don't have internet, fill these
with 192.168.1.1 and 192.168.1.2 as dummy addresses.
Change the startup program in /etc/inetd.conf for telnet if
you previously used mbsebbs to mblogin.
Change the default login program in mgetty's login.config to
* - - /opt/mbse/bin/mblogin @
general:
Made the Makefile system more simple. The bbs program now
doesn't run setuid anymore! This makes the system more secure.
A new program, mblogin, is written to allow logins with
Fidonet style names from mgetty and telnetd. This is a login
replacement for bbs use only. Normal shell users can't login,
not even root!
On FreeBSD the installed files are not removed anymore from
the source tree.
Added German language file made by Harald Wuensch.
The mbtask daemon now handles the calling of Fidonet nodes.
The sourcetree has now a new subdirectory called unix. Here
are all the system specific programs such as mbpasswd,
mblogin and mbuseradd.
Started NetBSD port, is in testing fase.
Added support for xinetd.
Fixed filemodes for some directories and data files.
SETUP.sh:
Better grep to check for existing usernames like bbs, mbse.
Ported to NetBSD.
Added support for xinetd configuration.
Changed distribution test for Mandrake.
Changed to recognize the e-smith server based on RedHat.
If system runs xinetd instead of inetd, the configuration for
xinetd is updated with info for mbsebbs.
installinit.sh:
Changed to recognize the e-smith server based on RedHat.
On RedHat, Mandrake and e-smith systems the symlinks to start
and stop the bbs are now added.
Reorganized the init scripts.
libcommon.a:
When adding seenby entries, the zone number is copied from the
previous adress just like with the net numbers. This is for
old style tic files, they were not full 3d.
Fixes for Sparc systems.
The nodelist information now also holds the Txx flags.
The mkdirs function now needs a mode parameter for directory
creation.
The filesystem space check is now reliable on FreeBSD and
NetBSD.
lang:
Changed language prompts 6, 71, 429.
Added language prompts 472 and 473 for FS editor.
Added language prompts 474, 475 and 476 for address entry.
Added language prompts 477 and 478 for post with user alias.
Deleted language prompts 387, 388, 389, 390
examples:
Changed menu setup.mnu and textfiles setup.* to show the new
setup entries for the users.
mbsetup:
Changed usereditor, new layout, added new settings and
changed password reset function. The system password is
now also updated.
Added setup item for menus 317 and 318.
Changed the order of menu 1, global settings. The screens are
now in a more logical order for a first system setup.
Most datafiles are now saved mode 0640 exept the files that
need to be rewritten by users, they have mode 0660.
The filemodes are always checked and corrected during startup.
In the file database editor the default choice was 0 in stead
of -.
When a file area is made unavailable in menu 8.4, first the
files in that area area checked. If there are none, the area
is completly removed, including paths, indexes and database.
When an new area is made available, the database is created.
The AREADEF lines in golded.inc now contain the aka to use
instead of a dot.
Fixes for Sparc systems.
Now logs in the normal system logfile.
On new systems it will now also create one filearea, three
default mail areas, a newfilereport and the groups belonging
to these areas. Also 10 oneliners are installed.
Changed help for nodes billing flag.
Changed users password length to 14 characters instead of 12.
When you make a tty line available, some settings are
automatic set to reasonable defaults.
The color editor now has a rangecheck.
Rewrote calling of the color editor for Sparc systems.
Added setup items in global and message areas to limit the
fetching of newsgroups headers.
The edit field now shows the contents correctly if the field
contains the % character.
In several menus after leaving a edit record records were
displayed from start again, now shows last screen.
When editing a node's connected file/mail groups it can now
handle more then 40 groups without messing up the screen.
Fixed area selection in filedatabase editor.
Protected help string display for boolean edit against buffer
overflow.
Menu 5.1.14, helpstring was too long, causing a buffer
overflow without the previous protection.
mbsebbs:
Added menu 317, change FS editor shortcut keys to (Emacs/
Wordstar) style. This has no effect on the editor for now.
Added menu 318, change users address.
Added control-U 4, ON/OFF for FS edit Emacs shortcut keys.
Now updates the lastcaller information when a call is finished
and now also sets all the action bits what the user has been
doing. Also time online is correct now.
Added control-U 5, 6, 7, display users address lines 1, 2
and 3.
If a user doesn't have a .signature file in his homedir, a
simple one will be created.
If a user saves a new message at the bbs, the message will be
signed using the .signature file.
Patches from Bobby Cabral:
- Fixed display file with more that stopped after every line.
- Added display file "mainlogo" before the "welcome" file.
- Added display files "welcome2..9" after "welcome1" file.
Posting message with users alias is now possible.
If in menu entries "Display prompt" the fore and background
colors are set, the prompt is displayed with these colors.
If not, the prompt defaults to white on black.
Does now run as the users uid, not suid anymore. You are not
able to login with Fidonet style name anymore, the mblogin
program does this. Removed IEMSI support, this has no use
anymore. New users need to register with the mbnewuser
program, mbsebbs is only for registered users. This should
fix all kinds of setuid and security problems with previous
versions.
In the door.sys files is now a nodenumber written. This is
actually the tty record number.
QuickScan messages in netmail areas now only shows personal
messages.
The whoson list now uses mbtask to get the information.
The users exitinfo file is now stored in his homedirectory
with mode 0600.
A lot of code rewrites to make it more modular.
The bbs datafiles that users create now have mode 0660.
The file taglists now work internally with long and short
filenames.
The file listings are displayed with the short filenames.
Download files are sent with short filenames.
File search is done on long and short filenames.
Uploaded files are accepted with long filenames, the short
name is created when the upload is processed.
The virus scan after files upload tried also to use scanners
that were not available.
The upload virus file scan now also scans files that are not
known archives. Should catch macro viri and worms.
The file CRC is now set when importing an uploaded file.
Fixed quote initials of the original user containing a space
character if there was a dot followed by a space in the users
name.
If Ask Date of Birth is not set in the configuration the user
can't change his date of birth and his age is 0 years. You
should not disable this if you restrict access to some file
areas if you want to test the users age. Also the age in the
users record is invalid.
Fixes for Sparc systems.
System calls for archivers and virus scanners are replaced
with execute.
During startup the username is tried from the environment
variables LOGNAME and USER.
Added some automatic file permission corrections.
mbnewusr:
New program, run by user bbs. This is only to register a new
bbs user. Should be started by the bbs account.
Ask Date of Birth now only is asked if set in configuration.
Fixes for Sparc systems.
mbpasswd:
Added more checks to see if it's legal invoked.
Password change on FreeBSD finally works.
Moved to new sourcetree.
Ported to NetBSD.
mblogin:
New program. Replaces standard login, allows Fidonet style
usernames. Has it's own login.defs file.
mbcico:
Undefined IEMSI support since mbsebbs doesn't support it
anymore.
Filerequest responses are now created with long filenames.
When sending files, if the remote has the FNC link flag, the
filename is mangled to DOS 8.3 format when transmitted.
File request response messages now display the long and
short filename in the reply.
Filerequest response messages now have a random quote added.
The binkp driver now sends 8.3 mangled filenames if that
option is set for the remote node in the setup.
The hydra driver now sends 8.3 mangled filenames and long
filenames as specified in the specs.
Corrected the location of the modem lockfile on FreeBSD.
Fixes for Sparc systems.
When a session fails, the node status retry time is current
time + random dial delay time. Needed for mbtask.
mbout:
Fixes for Linux Sparc systems.
The node query now displays the system open times (Txx) flags.
The node query now also displays the CM,MO flags etc.
mbtask:
Changed to handle the External Doors flag in the lastcaller
information.
On new systems, ~/etc/config.data and ~/etc/task.data are
created with mode 0640.
On new systems, the DOS path isn't set anymore by default,
most people don't need it.
Starting utilities is now more relaxed using a 3 seconds
pause timer. Fixed some potential Sparc problems.
On new systems, all paths for MBSE are now created in the
/opt/mbse root.
When scanning outbound, flags are set if flo or mail pkt files
are present.
When the internet connection status changes, the outbound is
rescanned.
Implemented Txx nodelist flags, FSC-0062.
Added code to see which nodes could be called depending on
outbound status, nodelist flags etc. Experimental.
Added code to do outbound calling, experimental. Calling
systems in parallel is now possible.
Creates the semafore do_inet if there is an internet node to
call even if there's no internet connection. Removes this
semafore if there are no internet nodes to call. This can be
used by ppp scripts to see if there is work and when there is
no more work to do. Not important for permament connected
systems.
Made the FreeBSD and NetBSD disk status calls reliable now
that I know how to really get the mounted filesystems.
The system load value is implemented on FreeBSD and NetBSD.
mbmon:
Changed the lastcaller screen to display the External Door
information.
When lastcaller info is scrolling, the lines are first proper
erased.
Fixes for Sparc systems.
Added support for display do_inet semafore in menu 2.
mbmsg:
Corrected header in logfile for pack function.
Fixes for Sparc systems.
import:
Removed users import, could not work anymore.
mbfido:
When running in mbmail mode, it will try to get the lock on
the program for 10 minutes before aborting and waits until
another mbfido program is ready.
Fixed the problem that the KillSent flag was set on processed
netmail.
Reset the KillSent and Hold flags when storing netmail in the
message base.
The tic file import function now sorts and tests on long file-
names, with the new mangle function an DOS 8.3 filename is
also stored in the file database.
For all files received in tic area, the crc of the tic area
name is stored in the filerecord. This is for the future
rescan option.
Implemented long filenames with hatch. Now uses ticfile key-
word Fullname for the long filename.
Fixes for Sparc systems.
File forwarding now really depends on the downlink billing
flag.
Now limits fetching of newsheaders according to area setting.
Added the Size parameter to the tic files, this appeared to
be missing since a while.
Fixes for Fido->internet gate for dropped characters during
linewrap. Experimental.
Added netmail bounce function.
Protected the postemail function from posting to local FTN
addresses, this will cause a mailloop for undeliverable mail.
These mails will be bounced back.
mbfile:
During checks the file databases are reset to filemode 0660.
Implemented "mbfile adopt" function.
Started working on long filename support. The real name on
disk is the long filename, the database records also holds
an uppercase mangled 8.3 filename. In most cases this is just
the same name in upper and lowercase. Name mangling like Win$
is performed on the long filenames.
Implemented "mbfile import" function, this imports complete
areas from files.bbs information.
Added "mbfile toberep" function, this gives an overview of the
toberep database. The program mbtoberep does this as well, but
that one gives a complete dump and is for developer use.
The "mbfile index" function now also writes files.bbs files,
the index.html files for http download and 00index files in
all available areas. The files.bbs files have download
counters included.
The mbfile check function now converts the short filenames
to DOS 8.3 filenames. (The first time this logs lots of
errors).
The mbfile list function now gives a listing of the contents
of a file area if the area number is given as argument.
Implemented "mbfile move" command. You can only move one file
at the same time.
Implemented "mbfile delete" and "mbfile undelete" commands.
The command mbfile check now removes obsolete file databases.
Fixes for Sparc systems.
Fixed index screens to prevent negative totals with large
filebases.
Added standard doctype header and commentline to the html
pages.
The mbfile check function deletes double filerecords in the
database.
mball:
The index function is now obsolete, this is added to mbfile.
You may need to adjust your scripts that call "mball index".
Fixes for Sparc systems.
Fixed to prevent negative values with large filebases.
mbaff:
Fixes for Sparc systems.
Fix for large filebases, could not run longer then 10 minutes.
mbindex:
Fixes for Sparc systems.
mbdiff:
Fixes for Sparc systems.
mbfbgen:
Obsolete and removed from the distribution. The function is
now in mbfile.
fbutil:
Removed from the distribution. Thanks to Johannes Lundberg,
2:206/149@fidonet to let us use his program until mbfile could
take over.

973
ChangeLog_2002 Normal file
View File

@ -0,0 +1,973 @@
$Id: ChangeLog_2002,v 1.1 2003/07/06 10:06:45 mbroek Exp $
MBSEBBS History in 2002.
v0.36.00 26-Dec-2002 - stable release
update:
These are the total update instructions for the upgrade from
v0.33.21 until v0.36.00. Read and perform this upgrade with
great care, this one is quite complicated.
Make sure you don't have download files with case differences
in download directories like FileName.zip and FILENAME.ZIP.
With this upgrade files with such names will be deleted!
Rename them before you upgrade!
Make sure your outbound is empty, "mbout stat" should not show
anything in the outbounds. You may delete ~/bin/mbfido before
you do this so when you deliver all pending mail no new mail
will be tossed. New mail will stay in your inbound now.
Now backup your whole bbs and download areas!
Compile the new bbs programs, do not yet install them.
Shutdown the bbs with "mbstat close". Kill the mbtask daemon.
Depending on your distribution as root you can do
"/etc/rc.d/init.d/mbsed stop", the location may vary.
Delete ~/etc/lastcall.data
Delete ~/etc/archiver.data
Delete ~/etc/virscan.data
Because the macro template files are changed and you may have
personalized them, these files are not automatic upgraded. If
you want them to be upgraded delete all files in
~/english/macro .
Now install all new binaries (su to root, make install).
Delete ~/bin/mbfido again (to prevent tossing mail).
Back as user mbse again, start mbtask by typing mbtask at the
commandline. Now you are ready to check and update the changes.
Start mbsetup, enter global configuration and exit and save.
This will set defaults for area-/filemgr logging and security.
The noderecords are updated with new security flags.
This will setup the new outbound queue path, default is
/opt/mbse/var/queue.
The filegroups, ticgroups, tic areas and message areas are
updated with default security flags.
In mbsetup enter Edit Fidonet Nodes. You might want to check
if all the session passwords are still ok. Also check all
nodes if the Pack mail flag is ok, this setting now also
affects echomail!
In nodes screen 1, enter item 2: "Outbox dir" to set a outbox
directory if you want that. This will propose a directory name,
change that if you like to for example to a system or sysop
name. Don't use spaces!
Check new settings in nodes setup, screen 6, items 9 and 10.
Item 9 does not work if the node uses BBBS and maybe others.
If the node uses Allfix or MBSE, 9 and 10 can be Yes.
Check TIC magic records (menu 10.4), all filenames tested are
now uppercase 8.3 names, adjust your filemasks.
In mbsetup enter the Edit Archiver Programs. The new values
should now be set. Do the same for Virus scanners.
This is all for mbsetup.
Run "mbfile check". This will create an error in the logfile
for each file! It will update the filenames on disk to have
both short and long filenames. Just ignore the errors but check
for real deleted files.
Now you are ready, install the binaries again so that mbfido
is present again and you can toss mail. Do this with
"mbstat set mailin", after a while all mail and files will be
tossed and you are back in bussines again.
Have fun.
changes:
See all changes from development version 0.35.01 upto 0.33.07.
MBSEBBS History.
v0.35.07 11-Dec-2002 - 26-Dec-2002
general:
On FreeBSD the lsz and lrz programs are found as alternate for
lz and sz.
common.a:
For testing purposes of the ESLF (Extended St. Louis Format)
nodelist, debugging is added to show the information in the
ESLF lines. Only visible with utilities debug 's'.
mbsebbs:
With menu 201 there is now a new optional data parameter N.
When used if a user selects a different message area, areas
with new unread mail are marked with a yellow star.
Also with menu 201 these is now options U+ and U-, which
takes the user to the next or previous Unread message area.
mbfile:
The index command displays LFN names in the webpages again.
The real download still sends the 8.3 name.
mbfido:
Better detection of zone information in netmails when netmail
was stored in a netmail packet of a different network and the
netmail misses a lot of kludges. Better logging of processed
netmails.
If a TIC file woth lowercase 8.3 filename is received the name
is forced to uppercase 8.3.
mbcico:
Code cleanup in opentcp, better handling of given ports and
better logging.
v0.35.06 13-Nov-2002 - 11-Dec-2002
templates:
The html templates are changed by Joachim Kuwan and now they
are valid html files validated at http://validator.w3.org/
This upgrade is not automatic because you might have personal
changes in the templates that I do not want to overwrite.
Another one changed is areamgr.status, that one had an error
and did display garbage for the routevia address.
They are in ~/mbsebbs-0.xx.xx/examples/templates.tar and should
go into ~/english/macro/
Some other templates are changed because they had spelling
errors, you may want to replace all templates.
general:
Added better support for 8.3 and long filenames by creating
symbolic links in the download directories.
common.a:
Changed the LFN name mangle functions to prevent 8.3 name
collisions. Now the basepart is 4 characters followed by the
tilde char and then a 3 characters code calculated from the
16 bits crc of the original filename. Original this was base 5
followed by a tilde and 2 characters code calculated from the
checksum of the string modulo 1849. Both methods are different
then what MS does.
Added long extension to 3 char extensions for mpeg, smil, perl,
jpeg and tiff.
The unpack function doesn't complain anymore when it was
testing for the archive format on files smaller then 257 bytes.
mbsebbs:
Several user input functions don't allow comma's anymore.
Uploaded files will now also have a symbolic link to then
long filename from the real 8.3 filename.
Filesearch on filename now uses regexp to find the files.
The caller id didn't show up when the info was available.
A user with only a limit on download files or download Kb could
not download at all.
mbfido:
TIC file forwarding now uses a list of qualified systems to
forward to, and with this information builds more reliable
seen-by lines.
Imported tic files with a new banner file in the archive got
the wrong filetime in the files database. The mbfile check
command would detect and correct this.
TIC files added to the bbs will now also have a long filename
symbolic link.
With TIC file attaches, the filename attached is the 8.3 name.
TIC processing completly modified to make better LFN support,
internal everything works on the 8.3 filename.
When writing ticfiles for downlinks, the To line now depends
on the new nodes setting.
When writing ticfiles for downlinks, the format of the Seenby
lines now depends on the new nodes setting.
When adding unpacked mail for a directory node, the mail
packets had the wrong filename.
Changed some logging to debug with auto create areas.
Request messages sent to the uplinks are now logged in the
manager logfile.
Removed heavy debugging on some parts of RFC message
processing.
During toss the Nopper code is called to prevent timeout when
a very large packet is tossed that takes longer then 10 mins.
When more then 1024 dupes were tossed, mbfido crashed because
a temp file wasn't closed.
The echomail dupecheck doesn't check the seconds of the message
date anymore. This will catch some rescanned dupes that modify
the seconds of the original messages.
mbcico:
With filetransfer errors, the attempts counter was not
increased.
mbfile:
Finished complete support for 8.3 and long filenames.
The check function now creates symbolic links in the download
areas with the 8.3 filename to the long filename so that the
files seem to exist under both names.
The delete and move functions can now use 8.3 or long
filenames as argument.
The index function now creates web pages with the uppercase
8.3 filename (including thumbnails) because webservers don't
allow downloads from symlinks and the LFN is a symlink. You
could allow your webserver to do this but this is a big
security hole.
mbsetup:
In filedatabase editor, if a file is deleted the name is
displayed in light blue.
Added setup switches in nodes setup, files, to toggle sending
advanced seen-by lines and the To line in ticfiles.
mbtask:
The outbound status didn't show the new error codes.
v0.35.05 19-Oct-2002 - 13-Nov-2002.
general:
There is now a mberrors.h file that defines all errorcodes
returned by all programs.
faq:
Changed the section about ftp feeds.
Added Q&A about failing internet polls.
mbsebbs:
Email posted at the bbs was not signed with the signature.
Fixed the bug where the filearea number was lost. This was
caused when a user was logged off before the login procedure
was complete.
If user was displaying the whoson list and there was no
matching isdoing action then browsing will be displayed
instead of system error.
Sends Unix name instead of long name to mbtask.
During login the OS and CPU type is displayed.
mbnewusr:
Sends Unix name instead of long name to mbtask.
During login the OS and CPU type is displayed.
mbmon:
In screen 1, username field decreased ro 8 characters and the
doing field is increased to 26 characters.
mbcico:
Fixed crash with incoming YooHoo session with bad password.
Still used the phone override fields for hostname override
with internet calls if there was something filled in.
For inbound sessions if the remote is listed in some nodelist,
mbtask is updated with the sysop name and location.
mbout:
The stat command now also shows what is on hold for a node
with an directory outbound (ftp node). Status is always hold.
mbmsg:
The summary counters in the logfile are increased to 6 digits.
mbsetup:
When installing the default unarchivers (new installations)
the rar is used to unarchive instead of unrar when available,
rar is compiled static and prefered.
Added support for the nomarch unarchiver. Files are extracted
with the -U switch for nodelists.
Removed from Screen 1.13 the unused switches Res Future and
Repl ext. Fixed some help texts.
Added in screen 1.14 settings for Plus All, Notify, Passwd and
Pause.
Removed the default Virnet record from the fidonet setup.
In node setup the pack netmail switch is renamed and is now
for all mail. Default for new records is Yes.
Added length check when importing taglines.
Now writes also ~/etc/msg.txt for MsgEd after messagebase is
updated.
When a new echomail area was created with a default group
setting, then when the group was selected setup would create
the jam basepath itself instead of using the base from the
group.
New JAM areas will not have spaces anymore in the pathnames.
Spaces are replaced by underscores.
mbfido:
With ticfile processing, the KeepDate setup setting now works.
The FileMgr requests now honor the setting of the switches
Plus All, Notify, Passwd, Message, Tic on/off and Pause.
The AreaMgr reuqests now honor the setting of the switches
Plus All, Notify, Passwd and Pause.
Echomail is now also packed or not according to the packmail
switch in mbsetup.
Statistics count for exported echomail now works.
Email posted in the email box in full domain mode was refused
by SMTP servers because of bad address formatting.
Addex extra check to prevent overflow of arcmail packets
extension. This is logged with a warning when this happens.
If filenames were exhausted and the last one (ending on z) is
truncated in the outbound (has been sent already) it is erased
before the archiver is called to reuse that filename again.
When mail/files were moved to the inbound from a directory
node, this was not processed in the same session.
Moved the ^aTID kludge to the top of the exported message
after the last kludge so people won't complain anymore.
With local hatched files, the aka of the tic area was not added
to the seenby list.
mbtask:
Removed debug logging of "does" info.
v0.35.04 29-Sep-2002 - 19-Oct-2002.
general:
Added mail and files security flags for nodes.
clcomm.a:
Added Mgrlog function, logs default to manager.log. Does also
log to Syslog with level '+'.
mbfido:
Area- and FileMgr requests are now also logged in manager.log
Auto created and removed areas are also logged in manager.log
Auto created area now get the link security from the group.
With message areas auto update it should now only delete
missing echomail areas.
File attaches to our own points were placed in the node's
outbound directory instead of the point outbound.
Files and echomail security flags implemented.
Echomail rescan will also work with newsgroups.
Removed some debug logging with files replace.
Fixed trashing news dupes file when mbfido was called multiple
times. Improved program locking.
Netmail received for a zone/net without netmail board will be
stored in the badmail area.
mbsetup:
Added setup for the nodes record for security flags.
Added setup for the ticgroups default security flags.
Added setup for the mailgroups default security flags.
Added setup for the tic areas security flags.
Added setup for the message areas security flags.
Menu 14, edit files database had the wrong selection prompt.
Fixed backspace/delete key issue.
mbmon:
Fixed backspace/delete key issue.
mbindex:
Removed debug logging.
v0.35.03 06-Jul-2002 - 29-Sep-2002
general:
Now compiles and installs on HP-PARISC hardware, tested with
Debian 3.0 on a HP 712/80.
common.a:
Added nodelist override to the nodelist lookup function.
Added protection against emty rfc headers with only a space.
Added test for HA archiver.
mbinet.a:
If during a connect a newsserver refuses the connection then
don't close our side of the connection. This is a temporary
solution, we should disconnect with timeout instead.
lang:
Corrected a spelling error in the Dutch language file.
mbcico:
Changed IsDoing information.
Makes use of the node nodelist override settings.
Fixed a bug that mbcico refused to do internet calls when one
of the No IBN, No ITN or No IFC flags was set.
mbout:
Makes use of the node nodelist override settings.
The file attach function now adds the file to the queue, by
setting the semafore mailin mbfido will place the file in the
real outbound.
mbfido:
Rollover now only sets IsDoing when it really does a date
rollover.
When a new tic area was created the first file received for
that area was refused.
Fixed a few problems with local UUCP created netmails.
Added routing tables for special cases. Most systems don't
need this.
The route test command now works exactly as netmails do.
Implemented directory inbound tossing and outbound queueing.
Rewrote the outbound queue system, the queue now works for
files also.
Removed debug logline with extract of FILE_ID.DIZ.
When a file is imported with a name that is already present,
the existing filerecord is updated and not replaced.
There are people using M$ wordprocessors to create TIC files,
there is now better filtering to get that garbage out of the
received tic files. We will forward plain ascii of course.
Fixed the outbound queue to send to nodes not in the setup.
When mbfido stops with error 110 it doesn't remove any locks
because this error is only being used before that main lock is
made.
Changed the error codes during init until the main lock is
made, this must prevent destroying a another lock.
Added extra check to unlock directory function to check that
only the owned lock is removed.
newuser:
Check for Unix accounts is now case sensitive.
Check existing usernames now also checks handles.
Check for existing Unix names now also includes the name ping
and services names.
Check for handle now also checks Unix names.
The setting for single usernames does work again.
mbsebbs:
Check existing usernames now also checks handles.
When a user paged the sysop for a chat, after the timer was
expired, the bbs crashed.
Fixed a problem with extra spaces in UUCP replyto address.
Added test for HA archiver.
When changing a Handle, Unix names are checked as forbidden
names as well.
Improved import of FILE_ID.DIZ with file uploads. Only if
FILE_ID.DIZ is processed successfull the user will see that
this file has been used.
Corrected length for manual file description to prevent string
overflow.
Added missing space in message to user about file unpack.
mbtask:
Changed logging of multiple logmessages that are equal.
Changed semafore debug logmessages.
Fixed log problem not always showing the Call flag.
Now forces callmode to None if the callflag was cleared.
The test to add a node to the calllist now also checks the
internal call flag.
Makes use of the node nodelist override settings.
Added default setting for outbound queue.
mbsetup:
Enabled setting of nodelist override settings in menu 7.x.3
After nodes setup edit the semafore scanout is set.
When a JAM messagebase path is changed in one of the message
area, filefind and newfiles records are automatic updated if
they were connected to that area.
Added setup for routing the table.
Corrected several page layouts for printing on A4 paper.
Added setup for nodes connected via directories (we are the
FTP server side).
Added setup setting for outbound queue in global setup.
Added support for default setup of the HA archiver.
Changed Rubout key to do the same as Backspace. (experimental)
mbmon:
Changed Rubout key to do the same as Backspace. (experimental)
script:
The bbsdoor.sh and rundoor.sh scripts are now only installed
if they were not installed before.
Added better support for different locations of the external
editor joe.
examples:
With the aid of a little utility (endian) the right menus are
now installed on little or big endian machines.
v0.35.02 22-Jun-2002 - 06-Jul-2002
general:
Added checks for GoldED in external program checks.
Added new empty path /opt/mbse/var/boxes.
Implemented nodes private outbound boxes.
Revised the dependencies for all sourcefiles.
common.a:
Added debug nodelist IFT flag for logging.
Added archive detection for tar, gzip and compress.
mbsetup:
Changed node records layout into 8 screens to be able to add
more settings. New settings not in use yet are disabled.
Added settings for node contact information. This is private
for mbsetup use only.
Implemented nodes special outbound box setup. When you enter
that item for the first time, it fills this with a suggested
path.
Changed description and filetype for default tar gzipped files
in archiver setup.
Added default records for bzip2 and uncompressed tar files.
mbcico:
Implemented nodes special outbound boxes.
Corrected a problem with getting modem aftercall info from ISDN
modems.
mbout:
Implemented nodes special outbound boxes.
mbfido:
In newsmode when a mesage is received with an illegal formated
date headerline, the date is replaced with the current date
and time. Possible cause: SunMail 1.0
When reading taglists if there was no description after the
tag, mbfido would crash.
Filefind netmail replies now set the private flag.
Removed debugging messages displaying the incoming tic files.
The mbfido test command now needs a extra parameter, the final
destination to test. It doesn't use the internal fixed table
anymore.
mbindex:
Fixed a crash when a pointlist contained Point,5,reservered,
and nothing more.
Added nopper code to prevent timeout on slow systems with
large pointlists to compile.
mbsebbs:
The email address in new created .signature files is only
added if global Give Email is true and in the userecord the
email is also enabled.
The whoson list now supports the /H and /U optional data to
display handles or unix names.
The send online message now supports the /H and /U optional
data to use handles or unix names.
The display userlist function now supports the /H and /U
optional data to use handles or unix names.
The display lastcaller list now also supports the /U optional
data to display Unix names.
Code cleanup in offline reader.
Messages posted using BlueWave format now correct the timezone
difference.
Messages posted using BlueWave now show the tearline of the
OLR client if this is present.
When messages are uploaded with BlueWave or QWK the netmail.jam
or echomail.jam is updated.
With QWK messages upload, if a tearline is already present, it
will not be added again.
mbmsg:
The isdoing messages now has the area number included.
mbtask:
When first run the goldnode command is only filled in if it
exists in the mbtask configuration.
Implemented nodes special outbound boxes.
Added debug info for isdoing messages.
v0.35.01 05-Jun-2002 - 22-Jun-2002
general:
Added structures for netmail routing file.
Expanded nodes structures for FTP and Directory transfers.
Splitted nodes session/mail password in mail and session
password.
Added more external program checks to get the right paths of
archivers, virus scanners etc for default settings in the
setup.
mbtask:
Removed some debug logging and corrected some spelling.
The ping test now also works if operations are suspended.
Rewrote the ping state machine.
mbcico:
Now uses the new session password field for session handshake.
The binkp version string now includes the OS and CPU type.
If a transmitted file via binkp is skipped by the remote it
will stay in the queue for the next session.
The binkp protocol now supports the CRC option proposed by
Tobias Ernst. This unofficial extension is also supported by
Irex and patched BinkP versions.
Better error handling for error conditions during a binkp
session.
Fixed a problem with the calculated filetransfer speed with
large files on fast connections.
mbout:
Removed a small memory leak.
mbfido:
When creating uplink area requests the from aka used is now
the aka defined in the group.
Removed several memory leaks again.
Fixed a bug when a news article was received with a header
line without a key value such as created by wrong configured
newsreaders.
mbfile:
Added -v commandline switch to suppress virus checking for the
adopt and import commands. Use with great care.
mbsebbs:
Bluewave reply packets now also process an incoming *.olc file
so now bluewave if fully Bluewave V3 compatible. Internally it
works by converting the *.olc file to a *.pdq file. Patch made
by Redy Rodriguez.
mbsetup:
Upgrades the nodes records, the new session password is copied
from the old combined mail/session password.
In nodes submenu 14 the session and mail passwords can now be
edited seperatly. This will change again!
Archivers, file transfer protocols and virus scanners found
during first configure of this program are automatic installed
in the setup and enabled. Others are shown there with default
paths but are disabled, they can be used as examples.
Fixed crashing mbsetup in menus 10.3.2, 10.4.5 and 10.4.6.
Menu 1.1 system aka's now has the option to move aka's to
other positions. Added some check's on the main aka's.
mbtask:
The pinger now uses a fixed sequence number to check if this
is the problem that sometimes the internet seems down.
v0.33.21 04-Jun-2002
This is the final release of the 0.33.20 development version.
v0.33.20 10-Feb-2002 - 04-Jun-2002
upgrade:
Remove /opt/mbse/etc/safe.data
Compile sources and install binaries. Restart the BBS.
Enter mbsetup, this will upgrade the databases.
Go into global configuration, exit and save, this will update
the main configuration (add default macro path).
Edit the message groups and file groups for new settings.
Run mbfile check to fix download directory permissions.
Check the setting in menu 10.2.13 if it does what you want it
to do.
general:
Added structures for area maintenance with area lists.
Installing the maptabs don't give any errors anymore when
installed as user mbse. The location of the source isn't
important anymore to install the maptabs.
Updated German, Spanish and Galego languages.
The location of the sourcefiles is not important anymore.
Added detection of vpopmail in default installation path.
Changed language prompts 372, 373, 387, 388, 389, 390 and 438.
Added the turbodiesel macro language so that reports can be
customized per language and reports. Thanks to Redy Rodriguez
for finding this one and implement it into mbse bbs.
Splitted the No TCP settings in No IBN, No IFC and No ITN.
Removed settings for Non-hold mail and Pickup Primary.
Removed several setting for http setup, this is now handled
by the macro templates.
The rc files for joe, the external editor are now copied to
/usr/lib/joe or /etc/joe depending on your distribution.
Several readme files are now in a new html file, the FAQ.
common.a:
Added 2 functions to return the OS name and CPU family.
Added a function to return the right tearline.
Added support for ext3 filesystem in diskspace check.
Fixed lharc archives return code to LHA.
Changed mkprod.awk script to support Debian Woody.
The aka2str function now onmits the @ if there is no domain
information.
clcomm.a
Added counter for mailer TCP/IP sessions.
diesel.a
New library for parsing macro templates.
msgbase.a:
Improved logging for opening message bases.
Added function to delete a JAM message base.
Fix for corrupting LastRead pointers on FreeBSD systems.
mbsetup:
In message groups added default settings for auto area
creation.
Added servicename filemgr to the filemgr services.
When adding or deleting a message area, several extra checks
are done. The JAM base is also removed when deleting.
Layout for message area editor changed, more logical now.
If selecting a file/mailgroup in node edit that is outside the
visible range of groups, the view is adjusted.
If changing the path in an existing file area, the files in
that area are moved to the new path.
It is now possible to move file areas.
It is now possible to move JAM message bases.
Added edit of external message editor in menu 1.4.
Added edit of NoPrompt setting in menus for doors.
Changed edit of message editor in user editor.
Double noderecords are automatic removed with error logging.
Corrected screen layout in menu 1.4.11.
When editing analogue modem lines, the locked portspeed was
in a lot of cases set to 0.
In newfiles and filefind reports sets default template files
during init.
When adding a new newfiles or filefind record some defaults
are automatic filled in.
Splitted no TCP into no IBN, no IFC and no ITN in global and
nodes setup.
When editing a new message area, and the area was made active,
all entered data was erased.
Removed setting for http setup which are now in the macro
templates.
Changed the screen layout of menu 10.2 a bit as suggested by
Vince Coen.
Fixed a non understandable logmessage in check if nodes are
connected to file and or mail groups.
It is now possible to reset a users time left for today.
The top statusbar now displays the bbs Free/Down/Busy status.
Some dangerous menus cannot be entered anymore while some
programs are being used, ie. the bbs must be free. When these
menus are entered, the bbs will be closed for use.
Added menu 8.6, edit BBS list entries.
Fixed numbering of menu 8.7, edit oneliners.
Added menu 8.8 for safe crackers data. If the safe is cracked
it can now be reset.
Protected convert-all setting in menus 10.1 and 10.2 when no
default archiver is defined.
Changed page layout in site.doc
Changed the confusing No Touch setting in tic areas to Touch.
mbmon:
The top statusbar now displays the bbs Free/Down/Busy status.
Removed nonsense error message when stopped on a signal.
mbfido:
In AreaMgr and FileMgr changed aka matching for area
connections. Code cleanups.
In FileMgr when %tick=on/off command was received, mbfido
crashed.
Implemented auto area create comparing a new received echo
from a uplink which has a echomail taglist in one of the
mailgroups defined. The area is created with the defaults
from the mailgroup.
If mbfido fails to unzip a incoming mailarchive, a second
attempt is done after a sync() and one second delay. This
seems to be a kernel flush problem.
The same goes for adding .pkt files to the outbound, a second
try is done after a sync() to add the .pkt to the archive.
In the To field of a created TIC file there is now a comma
between the sysop name and fidonet aka.
When creating a filefind netmail reply there was no
destination address.
Corrected spelling errors in the Areamgr and Filemgr help
messages.
Removed some debug logging from the RFC->FTN gate.
Implemented the FileMgr and AreaMgr pause and resume commands.
Changed logging when AreaMgr/FileMgr commands did fail.
Some checks improved and fixed some potential sigsegv crashes.
Reduced aka match level for (dis)connect areas to zone, net.
This should fix problems on systems with multiple aka's when
the first aka is not the aka in the areas.
In mgr result reports, lines with connected areas do now also
display the aka to which they are connected.
The file forward function now always puts a 8.3 filename in
the outgoing ticfile. For most files nothing is changed.
AreaMgr and FileMgr netmails are now split into more netmails
when the become too large.
When a downlink requests an echomail area which is not yet
available, and there is a areas file for some uplink, the area
is automatic created and a areamgr request is sent to the
uplink to connect that area. The area is created with the
defaults from the mailgroup.
Experimental patch in mkftnhdr to create a To address in news
articles where a Reply-To: header is present.
It was not possible to disconnect file areas.
Added nopper code to full mailscan.
Fixed a problem that caused a SIGSEGV when a node was in the
ticfiles setup to forward file to and there was no noderecord.
When a ticfile was received while our aka is in the path, the
bad tic counter wasn't increased.
Made error message in AddMsgHdr function more clear.
Removed experimental patch in news->ftn gate were wrong To:
address was created.
The mbfido news functions doesn't abort anymore when a
newsgroup didn't exist.
For points in echomail no seen-by entry is added.
The AreaMgr and FileMgr responses and notify messages now use
the diesel macro language.
The tic file forward function now uses only filenames in the
subject of the netmail messages without the path.
The tic file forward netmails now uses template forward.tic
When started a second time it doesn't destroy the lockfile
anymore.
When a converted email to news listserver message is processed
that has a header line starting with X-MS-, the headerline is
suppressed because there is no key for this header. This looks
like a new kind of M$ standard. mbnews crashed on this one.
Fixed a small problem in magic filename testing.
In rfc2ftn the Approved: header now becomes a kludge instead
of being plain passed.
Auto file area create implemented, it can use plain tagfiles
or filegate.zxx formatted files.
The mbfido web command now uses macro templates.
Areamgr uplink requests the sender name is now set to the
sysop's name, so he/she will get to read the responses.
New command: areas. This will read all defined area lists for
files and mail groups that have the Auto Change set to Yes.
Missing areas are created, areas not present anymore are
removed if they are empty. Good for bulk areas create.
When missing areas are created, uplink requests are sent to
connect the areas.
Added more checks to processing of file_id.diz files. Also
when it is illegal formatted the already processed lines are
cleared to prevent later malformatted descriptions.
The hatch and magic processors now scan the filenames to test
using the regexp library, this should be more reliable.
Increased the size of the buffer for filesort.
Improved error reporting when file copy fails.
When a virus scanner is started, de mbtask connection timeout
is set to one hour.
Changed the confusing No Touch setting in tic areas to Touch.
When a file to be attached doesn't exist, a error message is
logged and the attach is treaded as an error.
mbmsg:
When creating non-existend message bases, the path is created
first if it doesn't exist.
Removed nonsense error message when stopped on a signal.
mbfile:
The mbfile index command now creates the html pages using the
macro templates html.main and html.areas. The files.css file
is no longer needed.
The check function now checks download directory permissions
and tries to correct errors.
Missing download directories are created mode 0775.
Moved check for empty areas to mbfile check function.
The mbfile move command now also moves the thumbnails.
Better console error reporting when files are copied.
Removed nonsense error message when stopped on a signal.
The html file indexes now have better translation from ANSI
to low ascii and html codes.
The import function didn't import files starting with the
letter 't'.
When a virus scanner is started, de mbtask connection timeout
is set to one hour.
The virus scanner was sometimes not executed in the right
directory with the adopt and import functions.
mball:
Will not crash anymore when it needs more then 10 minutes to
create the allfiles and newfiles lists.
Removed nonsense error message when stopped on a signal.
mbaff:
The High-ascii table to translate to lowercase has now the
right values to translate the ansi graphics.
Now uses the template newfiles and filefind to create the
reports.
Removed nonsense error message when stopped on a signal.
mbdiff:
Removed nonsense error message when stopped on a signal.
Improved error reporting when copy fails.
mbindex:
Removed nonsense error message when stopped on a signal.
mbtask:
Removed some debug logging.
Creates the semafore is_inet when the internet connections is
available, and removes it when it is down.
Added test for ISDN/modem lines in use. If a line status
change lasted 5 seconds or longer, the oubound will be
rescanned.
Lots of code cleanup.
No setup setting anymore for maximum POTS and ISDN lines, this
is now automatic.
mbtask will now update internal counters how many ISDN and POTS
lines are free to use for dialout.
For ISDN and POTS calls, mbtask now decides which tty to use,
mbcico gets the tty to use as option on the commandline.
Keeps track of the number of mailers running.
Added default path for arealists.
Keeps track of total mailer TCP/IP sessions and will not start
new sessions if the limit from the setup is reached. This will
hopefully prevent that mbcico will use too much bandwidth on
TCP/IP trafic.
Splitted no TCP settings in no IBN, no IFC and no ITN.
Improved the ping tests, better errorlogging and suppresion of
icmp replies that are not for mbtask. Better protected against
flood pings. This should fixes the problem that the internet
seemed down while it was available.
mbcico:
Fixed binkp driver to accept incoming unprotected sessions.
If a binkp session comes in and there already is a session
with that node, mbcico stopts the binkp session with an error.
Remove some obsolete code that is handled by mbtask.
Added some debug logmessages in ttyio.
Added experimental support for binkp GET command frame, under
test now, seems to work, although the offset request is not
supported.
Registers TCP/IP sessions with mbtask.
All filetransfer times and cps rates are calculated in mSecs.
Splitted no TCP settings in no IBN, no IFC and no ITN.
Removed settings for Non-hold mail and Pickup Primary.
Removed nonsense error message when stopped on a signal.
Fixed some small problems with the history data log. Added tty
information when it is available.
mbout:
The status display has now 9 digits for the outbound size.
New command, mbout reset <node>, unconditionally resets the
nodes "try" counter, ie. make an undiable node try to call
again.
The status command displays the call attempts.
Removed nonsense error message when stopped on a signal.
mbsebbs:
On some systems the download taglists contained garbage after
the short filename causing wrong filenames at the users side.
Added support for external message editor written by Redy.
Doors are now passed the parameter to display a prompt after
the door or return silently.
Fixed lharc file return code to LHA.
Calling file transfer protocols now uses the execute call
instead of system.
Improved error logging for file downloads.
When a user has no Location filled in, the bbs doesn't crash
anymore.
The new files scan colored areasnames bar length is corrected.
Fixed the problems with the safecracker door. Removed the
cheat codes and added a delay for the display of the safe
opening.
Removed nonsense error message when stopped on a signal.
mbnewusr:
New users have the default internal fullscreen editor.
Removed nonsense error message when stopped on a signal.
mbuser:
If a new user has registered and not yet used the bbs, mbuser
would kill that user because the last login date wasn't set.
It will use the registration date instead.
mbstat:
The timeout for the wait command was wrong due to a wrong
upsdown semafore test.
Corrected a spelling error.
hatch:
A new shellscript to hatch files in a tic area.
mbuseradd:
Added support for vpopmail, vadduser command.
mbpasswd:
Added support for vpopmail, vpasswd command.
Corrected a define for temp variable.
mbuser:
Added support for vpopmail, vdeluser command.
examples:
The Makefile now selects the right little or big endian menu
files to install.
Rebuild the menus and txtfiles for the new external editor.
Removed the mbsetup door from the sample sysop menus.
Added templates.tar, these are the default english macro files
for the diesel library.
rundoor.sh
Called door.bat instead of doors.bat
installinit.sh
Modified for SuSE 7.1 and later, the location of the startup
script moved from /sbin to /etc. Patch by Joachim Kuwan.
Also modified init.SuSE for Yast2 on SuSE 8.0
mbse.stop:
Added path /usr/local/bin for FreeBSD. Needs the psmisc
package from the ports collection to work.
init.Debian
Changed user from mbtask to mbse.

457
ChangeLog_2003 Normal file
View File

@ -0,0 +1,457 @@
$Id: ChangeLog_2003,v 1.1 2004/02/09 14:36:36 mbroek Exp $
v0.38.0 26-Dec-2002 - 03-Oct-2003
upgrade:
Note: if upgrading from a 0.37.8 or 0.37.9 development version,
then no upgrade procedure is needed. All others read the next
carefully!
A bit tricky to upgrade and start using the new debug logfile,
follow the next steps exactly!!
1. Download and install the source
2. Run "./configure"
3. Run "make" (and do not install yet)
4. Run "mbstat close"
5. Backup /opt/mbse/bin and /opt/mbse/etc.
6. Run "mbstat close"
7. Kill mbtask, mostly "kill `/sbin/pidoff mbtask`" will do.
8. Run (as root) "make install" to install the new software.
9. Make sure you are user mbse again.
10. Start mbtask manual, "mbtask"
11. Run "mbsetup", enter menu 1, exit, save and close.
12. Wait one minute.
13. Run "mbstat open"
After this is done the first time, restarting mbtask can be
done as usual by running the mbsed init script. If something
doesn't work (you get socket errors), it is important that you
kill mbtask during software versions swap. All software must
be of the same build.
Check settings menu 1.5.21 for maximum allowed logins.
Check setting of menu 1.14.15.
Remove ~/etc/archiver.data, start mbsetup menu 3, leave and
save. This updates the archiver view contents commands.
After upgrade you may remove ~/etc/maptabs and it's contents.
After upgrade you may remove ~/etc/bank.data.
After upgrade you may remove ~/etc/safe.data.
If you want, download and install the nu-door and safe-door
packages.
In mbsetup 1.17.3 check if you have the XX,CM,IBN,IFC flags,
which indicates your TCP/IP capabilities. This is only for
systems that use TCP/IP, dialup systems should only have
the XX,CM flags. Important: only protocols that you place
in this entry are supported, so XX,CM,IBN will let your system
only call binkp nodes.
general:
The nodelist lookup functions are now in a separate library.
This will give us easy implemtation of new nodelist formats
and flags.
Introduced a new file, ~/etc/nodelist.conf, this file will
be used for nodelist lookup behaviour.
The current looked-up nodelist strcuture has an extra field,
the URL how that node must be contacted.
Debug logging is now in a separate file, the normal logging is
now only in the normal logfiles.
Changed all Linux references into GNU/Linux.
Changed the address of the FSF in all sources.
Removed memwatch debugger.
Changed all gif and jpg images to png images.
Added a setup switch for the nodes for selecting the wrong
binkp long filenames escape method for Argus and Irex nodes.
Activated the productcode for mbse that is published in the
ftscprod.007, MBSE now has an official product code.
Changed the website address in several sources.
Added switches for binkp CRC mode in global and node records.
Added check for inconv.h in configure script for UNIX98
character set conversion. (Not yet used).
Removed external (sysop) chat, chat paging times and other
chat stuff that is of no use anymore. The sysop shows his
presence by running mbmon. The mbchat program is obsolete.
Menu item 22 is added, this is user chat session.
For chat (and sysop/user paging chat) works now using the
mbtask daemon.
In several messages handling functions the international
charset translations are removed because of several bugs. They
will be replaced by standard library functions. Right now the
messages are 8 bit clean and there is no translation on the
gateway. The maptabs are removed.
Menu items 22 and 23 are removed, menu 319 is added. You may
want to replace the default txtfiles and menus, upgraded
versions are in the distribution but are not automatic
installed.
Documented menu 318, was present for a long time, just not in
the html docs.
The main Makefile now sets each txtfiles directory to mode 775
to allow doors to write ansi/ascii screens.
Removed the safe cracker door, this is now external.
A new developer/translator joined the team, David Gonzalez.
The settings to suppres some IP protocols (global and nodes)
are removed, this behaviour must be set using nodelist flags
configuration.
Debug logging for mail and news now have one setting, the M.
Nodelist debug logging now uses the N character.
In some makefiles the chown user.group syntax changed to
user:group to follow the new POSIX syntax. Please let me know
if you are using an older distribution that complains about
this. This was needed for FreeBSD 4.7.
Added Dutch template macro files. Updated English and German
template macro files. Please remove old ones before installing.
common.a:
Added a set of general purpose timers.
Node locking tests for non-stale lockfiles older then 6 hours.
Added general code for prgram locking.
The getheader function changed to support stone-age .pkt's.
If the packet year has a Y2K bug, the year is fixed. This is
only cosmetic for logging.
If the zone info is missing, the zone is guessed from 2d aka
matching against the system aka's. Then all mail in the .pkt
file is also assumed to be in that zone if there is no zone
info in the messages also.
Guess what, these packets do still exist in Fidonet, it took
5 years to find them! If you want to check, call 5:5/0
Fixed compiler warning in network code.
printable function now escapes all non-printable characters.
In rfcmsg function the Cc: header is now treated as any other
header to prevent a SIGSEGV when the headerline is empty.
Removed charset conversion/translation.
Added integer endian byteorder swapper, usefull for non-Intel
hardware.
The poutCR function for the bbs never did send a newline.
New function to get the real case of a filename.
nodelist.a:
Added experimental support for IP nodes lookup using a default
domain method. This is not the final implementation yet!
Update, this works now as described in a FSP-xxxx that is in
discussion in the FTSC. This will also work for current
practice.
msgbase.a:
Moved messages link from mbmsg program into library.
Resolved a buffer overflow problem with kludges larger then
512 bytes.
mbcico:
Compiled IEMSI code back in, starts mblogin which is not IEMSI
ready yet. A user with an IEMSI terminal can from there do a
manual login.
If doesn't do Multiple Batch mode anymore against binkp/1.1
mailers.
File resync during receive finally works.
In binkp we don't send a empty dataframe after a file anymore.
Completly changed the files inbound receive, all files are now
first stored in a unique per node temporary inbound directory.
Only after a successfull session all received files are moved
to the final inbound directory.
Another goodie is that this is more safe on busy multiline
systems.
A light improvement in session handshake setup timers.
Added EMSI handshake timers, this gives a more relaxed EMSI
handshake.
Set the EMSI receive failure count to 20 instead of 6, we can
now even accept buggy maindoor sessions and still display a
banner.
For FTS-0001 sessions the mail password was used instead of the
session password. Also improved the password check.
The product code was not entered in the FTS-0001 packet headers.
Revised some state tables in the binkp session setup stage.
Fixed a possible buffer overflow in the binkp driver.
Implemented CRAM rev.4 change in binkp driver.
Binkp now sends M_BSY to the remote when the bbs is closed.
Better logging of BSY and ERR messages.
The binkp transmitter does now escape the unsafe filename
characters. Method is selectable in the setup.
The binkp receiver now does process escaped filenames.
The binkp protocol now supports MD5 crypted passwords.
Removed some heavy debug code from ttyio functions to increase
throughput.
Standarized raw ifcico protocol logging.
Some minor changes to the raw ifcico protocol, better error
checking and a check for buffer overflow.
YooHoo transmitter fixed for transmitting 16 bits product
codes.
With binkp and EMSI sessions double received remote aka's are
filtered.
When calling ITN nodes, the default port is now 23.
Call setup changed and uses now the nodelist lookup URL.
Changed raw ifcico debug logging.
mbout:
When a poll was removed, the outbound was not rescanned.
mbfile:
Added program locking to prevent that more than one mbfile can
run at the same time.
When a file was deleted for age or download age, the 8.3
filename was not removed from disk.
A better check againts empty upload dates when purging files.
Also added a log when this happens. Please report if you see
any of these.
In the import function several bugfixes for reading files.bbs.
Fixed upper/lowercase filenames bug with import.
Move old files to another area failed, only the symbolic link
was moved.
Prepared for multilanguage html pages creation.
mbfido:
The rfc to ftn gate now drops the headerlines starting with
X-Spam- because they are only filled with advertisents and are
very large (upto 1200 bytes which is somewhat larger for a
fidonet kludge).
Stone age packet support, see common.a.
Due to a configuration error in some system using some tic
processor mbfido did crash.
Now it will log this and continue processing ticfiles with the
risk of sending files back to the owner of that faulty program.
Added the same check for Seenby lines.
In a scanned netmail destined to our own local UUCP gate the
useless X-FTN-INTL and X-FTN-TOPT kludges are no longer
inserted in the message.
Finding the inbound tic file now uses the new filecase function.
Removed all code for charset translation.
In areamgr/filemgr lists the messages are forced splitted when
the force limit is reached in the middle of a group listing.
The nodes statistics are expanded with flow counters.
If echomail is accepted in a unsecure area or the unsecure
commandline option is set, a violation is logged as warning.
Removed some debugging tests and log messages.
If a tic file was received in uppercase, during import in the
bbs the LFN is converted to lowercase.
Promoted some normal debug logmessages to heavy debug messages
in the outbound queue packer.
Echomail from other zones showed the address of your own zone.
Added logging when other errors are found.
At zonegates, the seenby lines were twice stripped.
Another patch to compensate for sysops that pack pascalnet
files in fidonet packets and send these messages into the world
without zone information.
Made the incoming tic files complete case insensitive, mixed
case is now processed. If such file is received, the LFN will
be set to that name.
The magic unpack command now uses the mail unpack command
instead of file unpack command so that paths in the archive are
junked.
mbsebbs:
When a message is saved, the messages in that area are linked.
Added check for maximum simultaneous logins.
Removed debug logging for userrecord i/o
During virusscan of file uploads, the mbtask timeout timer is
set to one hour to support very long scans.
Changed logging during user login.
Fixed bugs in QWK mail upload processing.
Allow - and _ in email names (GetstrU function).
Increased internal message buffer size to 700 lines.
Fullscreen editor code cleanup, debug messages removed.
When entering a message, the first character of the subject
line was capitalized.
Fixed recognition of tar.gz files.
Added menu function display file.
Display ascii textfiles now uses the More Y/n/= prompt.
When a new message is saved in a local area, the mailout
semafore is not set anymore.
Offline reader, the reply packets are now handled complete
case insensitive.
Dropped BlueWave v2 format completly, obsolete format.
The BlueWave and QWK download packets can have kludges, this
depends on a setting in the userbase.
In downloaded netmail, if message comes from a point, the FMPT
kludge is allways included in the message.
Added some forgotten checks for a valid QWK board name.
Lots of code cleanups in the offline code.
Added menu 320, toggle Offline Reader Extended Info.
Added new control code: control-U + 8, this displays YES or NO
for the new Extended Info setting.
The display file function now displays the ^U8 code.
Added support for door32.sys dropfile.
Fixed user idle logoff when new mailcheck took too long.
Added email reply when reading new (e)mail.
To page the sysop, the CPAG and CCAN commands to mbtask are now
used.
Removed all old chat code that worked on the tty device.
Added chat client site. If the sysop responds to the page
request, the user is dropped into chatmode in the sysop
channel as soon as the user does nothing (ie in a menu or still
in page mode).
It will now refuse to up/download OLR packets when the system
bbs id is not set in the global setup.
When a reply is made on a message in a area which allows
aliases, the user is asked to use his alias.
When a reply is made on a message in a newsgroup and your
systems has a permanent mail domain the email address is used
as from name.
Removed timebank and nextuser doors.
Added editing of user's signature file. New menu item 319.
If the sysop is exporting a echomail message he will have the
option to save to his private directory or to the rules
directory. If saved to the rules directory the message will
have the filename of the area tag. Normal users can only export
to their private directory. Sysops: now you can start
collecting area rules!
New menu 221, display arearules. This function tries to find
the arearules in the rules directory and if found displays
this to the user.
Fixed whoson list to display user real names and handles again.
Fixed send online message to send to user real names, handles
and unix names again.
The menus are machine endian independant.
Maybe removed a bug where the bbs sometimes crashed during
mail reading.
Fixed some minor things to the door.sys file.
Normal users were allowed to delete messages of other users,
now only the writer or those with sysop access to the area are
allowed to delete messages.
Finally wrote Delete Message from the menu (menu 206).
Removed the safe cracker door.
Changed to use the new nodelist lookup methods.
mbsetup:
Made menus editor work on non-intel platforms.
Added support for debug logging in menu 1.3 and removed the
mbtask debug switch from menu 18.
Import and purge oneliners now log what is done.
In the nodes setup a switch is added to fallback to the wrong
binkp escape method.
Added menu entry 1.5.21 for setting maximum allowed logins.
Added program locking, only one mbsetup can run at the same
time.
In menu 1.14 added global switch to disable binkp CRC32 file
transfers.
In menu 7.x.3 added a switch to enable binkp CRC32 file
transfers with this node.
In menu 1.14 added a switch to turn MD5 crypted passwords off.
The edit archiver has now an edit line for the view archive
commands.
Added protection against wrong database sizes depending on
global settings.
When moving a message area to area zero mbsetup doesn't crash
anymore.
Added new menu item 319, removed menu items 22 and 23.
Added setup for rules directory.
Added setup for menu 221. Changed description of menu 103.
The menu editor is machine endian independant.
Removed setup for the safe cracker door.
In menu 8.3 showing long option data lines, the lines were too
long for a 80 characters display.
Removed global flags No-IBN, IFC and ITN from the setup.
Removed nodes flags No-IBN, IFC and ITN from the setup.
removed del/rubout/bs keys logging.
mbtask:
Added support for debug logfile. Dropped the debug switch for
mbtask logging, this is now allways on.
On new installations sets max logins to 1.
Now uses standard locking in ~/var/run
When idle, it now reports the time to the next event to be
seen in mbmon menu 1.
With startup it now shows the tty flags in the log.
Remove some semafore debug messages.
Fixed compiler warnings in network code.
Safer logging of user log messages.
In personal message text the text after a ; character is not
ignored anymore.
With mbtask start, the ports locktimes are reset to zero.
Added CSYS command to report if sysop is available.
Added CPAG command to page the sysop.
Added CCAN command to cancel the sysop page.
Added CCKP command to check for a page.
Added CCON, CCLO, CPUT and CGET commands for chatserver.
Implemented a chatserver, this looks like a simple IRC server
to the users.
Arcmail for non-CM nodes and Txx nodes is now sent during the
node's opening hours or ZMH.
Fixed a bug where one of the nodelists was node closed with
each outbound scan and was causing mbtask to stop functioning
after a few days.
After forking the daemon, the stdin, stdout and stderr are
reopend to /dev/null.
Zero the daily status counters finally works again.
Added experimental code where tossing mail is not started as
long as there are mailers running, but not longer as 30 mins.
This should make the whole system less nervous.
Modified this code, didn't work, the toss was always started
at once.
mbdiff:
If unpacking a diff file fails, a second attempt is done after
a sync and one second delay.
mbmon:
Updated software info screen.
Added program locking, only one mbmon can run at the same time
to prevent troubles with chat and sysop available.
Reports sysop available or left the system when mbmon starts
or stops.
Reports a page from a user in row 3 of the screen (but doesn't
do chat right now).
Adjusts its screensize if the environment variables LINES and
COLUMNS are set.
(in ~/.profile add the line "export LINES COLUMNS").
The show lastcallers now adjusts the number of lines available.
The show server clients screen now adjusts to the number of
lines available.
Added chatserver client, there are 2 modes, one id general chat
and the other is respond to a users page request where the
channel is automatic set.
mbuser:
Added program locking to prevent that more than one mbuser can
run at the same time.
Added nopper code during pack.
mbaff:
Added program locking to prevent that more than one mbaff can
run at the same time.
mball:
Added program locking to prevent that more than one mball can
run at the same time.
mbmsg:
Moved message linking to msgbase library.
unix:
Fixed compiler warning.
examples:
Updated Spaning and English chat menu to use the internal
chatserver.
Removed the last menu item from the offline menu, added new
Extended Info toggle (English only).
Updated offline textfiles to remove point download and add
new Extended Info toggle (English only)
The English and Dutch templates are updated to show the new
nodes flow counters (html.nodes).
English textfiles and menus are updated to show the new menu
functions.
Prepared for more example translations.
Added German template files made by Joachim Kuwan.
script:
Fixed debian init script to allow it to run over the network
by using kill `pidof mbtask` to kill the daemon.
Added full path to pidof command in FreeBSD init script.
Added new init script for FreeBSD.
lang:
Added language prompts 18 and 19.
Added germandu, a German language file in "Du" style instead of
"Sie". Written by Malte Tychsen.
Changed the last Englsh language prompts in the german.txt.
New language prompt number 17.
Erased language prompts 18..36.
Changed language prompts 15, 16 and 152.
Changed english, german and dutch language prompts 11, 12, 13,
14 and 107.
Changed in other languages as well, but in English.
SETUP.sh
Made the script more portable.
CRON.sh
Removed explanation about Zone Mail Hour, this is obsolete
for a long time already.

889
ChangeLog_2004 Normal file
View File

@ -0,0 +1,889 @@
$Id: ChangeLog_2004,v 1.1 2005/10/06 20:49:37 mbse Exp $
v0.70.0 06-Jun-2004 - 26-Oct-2004.
upgrade:
If you run a version older then 0.60.0, first upgrade to 0.60.0
If you run a version older then 0.60.0, first upgrade to 0.60.0
(That was twice).
Don't forget to backup /opt/mbse and all fle areas!
Check if /opt/mbse/var/msgs is empty before using this version.
Make sure that /opt/mbse/queue is empty, then close the
bbs with "mbstat close wait".
Kill mbtask, "kill `/sbin/pidof mbtask` might work.
Now you may do the upgrade with "make install" as root. This
order is important because the files database moves to a new
location (~/var/fdb). Some other directories move too.
Now you may start the bbs again.
Start "mbsetup", enter 1, global setup, leave and save".
Run "mbfile check" and then "mbfile index". This fixes the
thumbnails if supported by your system.
Update all maintenance scripts to change the semafore directory
to ~/var/sema.
If you compiled with ./configure --enable-newsgate you may
need to erase the newsgroup names in the echomail areas you
don't want to gate to news.
In mbsetup menu 1.14 update the TCP/IP connection details.
In the english txtfiles and menus the doors menu and screens
are updated for the newer doors setup, you might want to
upgrade or use them as examples.
In the examples directory type "make macros" to update the
macro templates. Be carefull if you have personalized versions.
To reinstall the corrected macro templates go into the examples
directory and type "make macros".
In mbsetup menu 1.7 check the new items 15, 16 and 17.
If you want to switch running doors as user instead of via sudo
then read doors.html and follow the instructions.
If you have BBBS uplinks and use automatic uplink requests then
change the setup of these nodes in screen 7.10.
general:
Added compile directive for full newsgate. If this switch is
used then mbfido behaves like it did upto version 0.50.0 and
mbnntp is disabled.
Added define for nodelist line length for all programs.
Added -fno-strict-aliasing switch to gcc to prevent some
warnings.
With the newer versions of dosemu running doors as user finally
works. To migrate you need to read doors.html.
Changed security of most directories and files to allow only
bbs users.
In SETUP.sh better xinetd.d system detection.
On Linux SETUP.sh adds user mbse to group wheel and uucp.
SETUP.sh adds disabled telnet service to inetd.conf or xinetd.
libmbse.a:
In nodelist.conf changed the order of fields to search for ip
information, field 8 before field 6.
Added a new keyword 'ipprefix' in nodelist.conf to define a
table with IP prefixes to use in field 6.
When files are attached that should "leave" after sent (not
truncated or removed) they are now prepended with the @
character instead of no character. This is compatible with
ifcico but not with other mailers, but should do no harm
because most mailers only look for the ^ and # characters.
Fixed function to return full 5d address in the outbound when
the address is in a different zone then our own zone.
The socket_connect function now sets the global nodenumber from
the reply of mbtask.
libnodelist.a:
Implemented the ICM flag (FSP-1033).
Fixed IP port override if there is a port added to a protocol.
Removed some debug logging.
libmsgbase.a:
If a message area becomes empty after a pack, all lastread
pointers are reset to zero.
Removed debug logmessage from jamPack.
libdbase.a:
Removed some debug logging from files database module.
The files database is moved from ~/fdb to ~/var/fdb.
Added debug logging to dbfdb to find the problem with not
cleaned magic aliases.
Fixed a problem with the files database were the temp file used
for sorting and inserting files didn't close the temp file.
Changed method of inserting new files so that old magic names
are really cleared.
mbcico:
Implemented the ICM flag (FSP-1033).
In the binkp driver, when files were found to transmit and
didn't exist anymore, they are not added to the list of files
to sent but are marked as already transmitted so they will
be removed from the .flo file. Also, after a successfull
session .flo files with all files marked as transmitted are
removed. With nodes that were marked crash, this will prevent
continuous calling.
Changed to use direct instead of immediate mail.
Changed binkp IsDoing info.
Removed a little debug logging.
mbout:
Implemented the ICM flag (FSP-1033).
Code cleanup for nodelist processing.
Changed to use direct instead of immediate mail.
mbfido:
Added compile directive for full newsgate.
Removed logmessage in addpkt function.
Added code to un_attach files during tic import that are
deleted from the system by replace, or keep # magic actions,
but also for files with the same name that are replaced.
Removed debug logging from toberep function since all problems
are solved.
In rfc2ftn added check for ".\n" to change to " .\n" instead of
only check for ".\r\n".
Added support for *.msg files. If any are found, they are
processed and put in a netmail area. From there the mbfido scan
function is automatic called so that the message is sent out or
stays in the area if it has a local destination. File attaches
are supported. Note that this is not a gate, only put *.msg
files in that directory that originate from one of your own
aka's.
Fixed logging of 0 articles in scannews.
With the command "mbfido areas" without the -q option the user
must confirm this action.
For netmails to uplinks for areamgr/filemgr changes, the wrong
password was used.
In large areamgr/filemgr responses each 2048 bytes was an extra
<cr> inserted.
No help was displayed when no valid command was given.
Echomail for non-existing areas now finally is stored in the
badmail area.
Echomail received from not connected nodes is stored in the
badmail area unless the area allowes it.
Can now send (hopefully) valid uplink requests to BBBS systems.
Removed some debug logging from un_attach, made one into a
normal logmessage.
The postemail and scanemail functions are changed so that
Outlook email addresses are parsed so that we can reply via
smtp.
During scan the Msg_Read function is now called with a width
of 79 characters instead of 78. This fixes the missing address
on Origin lines of 79 characters long.
The *.msg function now uses Fgets instead of fgets to read the
message.
mbmsg:
With te post command, the right number of commandline options
is checked, if this is wrong the help message is displayed.
If a message is posted in a local area, no echomail.jam is
updated and the mailout semafore is not set.
Added checks in the mbmsg post command if the To parameter has
the correct syntax for netmail and all other areas.
Will now return a non-zero error if the post() function
failed.
Fixed counter in logfile that should show the number of linked
messages.
With the post command a check is done to see if the input file
has a tearline and origin line, if not mbmsg will add these
lines, else the lines of the input file are used.
mbfile:
The filenames in the html pages are now the long filenames.
This fixes download problems with some mangled 8.3 filenames.
Fixed a bug where "mbfile k p i" didn't give the help screen.
The html index now uses html named character entities on the
area names on the main index page.
With html index creation if the convert program for the
thumbnails failed, the html pages were wrong.
The thumbnails were created from the 8.3 name but the url was
created to the LFN. Depending on the settings of your apache
server you would see the thumbnails or not.
The check for wrong thumbnails changed from LFN to 8.3 names.
Updated to use the new files database location.
mbindex:
Code cleanup for nodelist processing.
Added a extra check to see if nodelist datalines are valid to
prevent segfaults on Skynet nodelists.
Does finally compile a username index.
Fixed compiling pointlists where on the Boss line when there
is no last comma on the line.
mbdiff:
Added EOF character as last character in the new created list.
mbaff:
In newfiles and filefind reports with the tty info lines, also
display TCP/IP connection details.
mbstat:
In the wait function the semafore directory was scanned direct
instead of using the library functions.
mbsebbs:
Added user@domain login for pop3 mailboxes.
If pop3 login fails, the bbs won't hang.
If a users homedirectory doesn't exist, a correct error message
is displayed and logged.
If a user replied to a email and the system was in Own
maildomain mode, the From address was changed to the Fidonet
style address instead of Unix address.
When a netmail reply is done to a node without a valid address
we ask the user if he wants to continue.
Changed menu logging.
The exec_nosuid function for doors now also has a extra small
delay just like all other execute functions to prevent problems
on fast machines.
Added extra fflush in quickscan mail.
When calling the external editor, the fromaddress if available
is given to joe.
In Quick_Bye reset all signal handlers to prevent that die() is
called in case something goes wrong during Quick_Bye.
The fake nodenumber is now obtained from mbtask instead of a
count of tty line records so the used nodenumbers will be a lot
lower then before.
Changed Msg_Read from 78 to 79 characters.
In menu the semafore directory was scanned direct instead of
using the library functions.
mbnewuser:
Made questions for screenlen, newmail check and newfiles check
dependant of settings in the setup.
During program exit, it tried to remove the wrong socket to
mbtask.
mbnntp:
If compiled in full newsmode, this program acts like a dummy.
mbuser:
Fixed permissions.
mbtask:
Implemented the ICM flag (FSP-1033).
Added defaults for questions for screenlen, newmail check and
newfiles check.
Changed to use direct instead of immediate mail.
When calling mbcico the address passed is now 5d.
Tried to call nodes during ZMH or during a Tyx window when mail
was on hold.
The comm protocol reply to the AINI command now contains a fake
node number.
The magic filenames directory is moved from ~/magic to
~/var/magic.
The semafore directory is moved from ~/sema to ~/var/sema.
When shutting down on UPS semafore "upsdown", the log was
garbled.
When shutting down on an external event and there were users
online, mbtask did not wait.
mbsetup:
In mail and files group edit screens, to make an area active
existing connections check is skipped.
If a node record is deleted, the outbox and directory paths
are removed as well if they are empty.
Added user@domain login for pop3 servers in screen 1.12.
Added compile directive for full newsgate to prevent newsgroup
name creation in default compiled mode.
When editing files, after leaving a file record the file range
displayed stays around the last area.
If a message area is deleted and a rulefile is present, this
rulefile is deleted too.
When a new golded.inc file is written, only fidonet records
that are active are written.
When a file area is deleted, the file path wasn't removed.
In menu 2, added 3 checks to see if enough info is entered to
make a valid network setup.
Changed in menu 1.14 some labels and help messages for TCP/IP
global settings.
In menu 1.7 added 3 new items to ask new users for screenlen,
newmail check and newfiles check.
Changed nodes screens to have a separate uplink managers setup
screen, and added switches for BBBS uplinks.
If the convert program is found and was not found before, the
defaults are set in menu 1.15.6.
The files database is moved from ~/fdb to ~/var/fdb.
The magic filenames directory is moved from ~/magic to
~/var/magic.
The semafore directory is moved from ~/sema to ~/var/sema.
In user setup, if user gets a new security level, his timelimit
is updated with your permission to the new levels.
examples:
Changed the macro templates for filefind and newfiles.
Fixed 2 spelling errors in the dutch macro templates.
Fixed another spelling error in the filemgr.help template of
all languages.
script:
Fixed NetBSD init script reload command.
Changed bbsdoor.sh, it now hase a variable pointing to the dos
directory.
Created runvirtual.sh, this replaces rundoor.sh for old systems
that run doors using the obsoleted sudo method.
Rewrote rundoor.sh for running dosemu with user privileges.
Changed all locations for dosemu so that we run in the mbse
environment with privileges of the user running the door.
In the editor script (that calls joe) made a fix for screens
wider then 80 characters. Also fixed the joe path if it should
run in emacs mode. Added FromAddress in the header.
Changed all init and maint scripts to move the semafore
directory from ~/sema to ~/var/sema.
lang:
Added language prompts 26 and 27.
v0.60.0 09-Feb-2004 - 04-Jun-2004
upgrade:
Before upgrade announce all new files!
Compile all programs.
Close the system with mbstat close.
Install programs as root (as usual).
Start mbsetup, this can take a while on a system with lots of
files, during startup the files database will be converted.
After the menu appears, enter global setup, exit and save.
This will also update the message area records and the message
group permission.
Now stop and restart mbtask.
Open the system with mbstat open.
In all message groups set check/set default character set.
In all message areas set the character set to use with the
global editor (to CP437 for example). Local and netmail
areas must be done by hand because they are most likely not
in a group.
The macro templates are updated, you MUST install the newfiles
macro template at least because the format changed!
Type "make help" in the examples subdirectory to see how.
general:
Reorganized the library header files. This will make it easier
to switch to dynamic libraries so other apps can link to mbse.
Updated to a new files database structure that allows for
expanding the records like most other databases to allow new
features.
Removed all references to costsharing for ticfiles which wasn't
fully implemented.
Added setup items for subprocess priority and sync filesystem.
Added setup parameter for filefind keyword length.
Removed one setup entry for check for free diskspace, there
were two different values for the same purpose. The removed
one was not used.
Moved doc directory from /opt/mbse/doc to /opt/mbse/share/doc.
Added configure test for CPU optimization flags. Use with
./configure --enable-optimize.
Added charset kludges for CP852 2 and CP895 2, Czech Latin-2
and Kamenicky. There are no mapping tables available.
Added new location of joerc files for FreeBSD 4.9
SETUP.sh:
Changed to support Darwin (OS X). Note that in earlier days
mbse did compile under OS X, but things are different since
then. Work is underway to let it compile and run again.
To better support Darwin (OS X) a hardware sponsor is needed.
libmbse.a:
Changed the execute function so it will work on 2.6.x kernels
and fast cpu's.
Added execute_str function for compatibility with the older
api. Added execute_pth function to execute programs in the
path.
Moved the initial delay in the execute functions to the child
process. This solved the "lost child messages".
Added enoughspace function to check diskspace.
libmsgbase.a:
With JAM_Readheader the Msg.Replyid field wasn't filled.
libdbase.a:
Added new Files DataBase functions that will handle FDB io
with locking.
mbaff:
Patched to store long filename in the newfiles database
Writes the ^aCHRS: kludge again in new created messages.
Changed ^aPID to include OS and CPU.
Added macro "u" that holds the magic filerequest name.
When scanning for uploads, files which were hatched now have
the right tic area name instead of AREA n in the announce
record. They also contain the used magic filename if this is
known.
The scan for new uploads function is updated to the new files
database structure.
The filefind function is updated to the new files database
structure.
Updated to use new disk watcher.
Now uses new FDB functions.
mbsebbs:
Added support for the internal editor for hi-ascii
international character sets.
The screenlength is now really set to the users screenlength.
mbsebbs:
Writes the ^aCHRS: kludge again in new created messages.
Changed ^aPID to include OS and CPU.
Added user selecting a character set, menu 321.
Added login check to see if user has a valid character set.
Added Control-U 9 to display file to show the users character
set in the menus screens.
Added experimental characterset translation to message read.
This will translate the message character set used to the users
character set. Code is used from Martin Junius Fidogate
package. (A better solution may follow in a next release).
In delete file in home directory the Y/N keys were read from
the wrong language prompt.
Replaced system() call with execute.
Updated to the new files database structure.
Fixed SIGCHLD logmessages on Fedora.
Added logging of virus scanner results.
Patches for offline reader programs that create messages with
wrong line terminaters (Sempoint).
Now uses new FDB functions.
The users tag directory wasn't properly cleaned before a new
download session.
The message group stat counters were not updated when a user
posted a message at the bbs.
mbnewusr:
Replaced system() call with execute.
Fixed SIGCHLD logmessages on Fedora.
mbout:
Replaced system() call with execute.
In check for T-Mail fileboxes added condition that the zone
must exist in the setup.
mbfido:
Changed ^aTID to include OS and CPU.
For the tic area create and message area create the check is
now case insensitive, also the area tagnames are forced to
uppercase. This should solve the problems with Linuxnet.
Replaced system() call with execute.
New files who already in the toberep database will not be
added again, but may be updated with newer info.
When removing files during tic import due to replace or maximum
files, thumbnails are now also removed from disk.
Updated tic file import function to the new files database
structure.
Fixed a bug in mbfile kill that destroyed the filebase when a
file was deleted or moved.
Doesn't write Magic Request into files description anymore,
this is now handled outsite the description lines.
Updated to use new disk watcher.
The area tags are now created in /opt/mbse/share/doc/tags.
Fixed SIGCHLD logmessages on Fedora.
The last argument '*' which was hardcoded in the virusscan
function is removed, this should be done in the setup for the
virus scanners.
Added loging of virus scanner results.
When a new echomail area is auto created, the creation date and
the newsgroup name will be set.
Fixed news command, only real newsgroup areas are fetched from
the remote newsserver.
Now uses new FDB functions.
When a bbs created file attach is created, the subject line is
converted so that the path information is removed, this is to
keep programs like FD (and maybe others) happy.
mbsetup:
In edit message groups added setup for default character set.
In edit message areas added setup for character set for the
area. Also added global edit for character set.
In several places where groups need to be tagged, there is now
a switch (*) to select/deselect all groups at once.
In the user editor the sex is now changed with the spacebar to
prevent typing errors.
In the user editor added character set edit in the second
screen.
Removed users fullscreen chat setting, not used.
Added menu setup for change character set, menu 321.
Replaced system() call with execute.
Added auto upgrade for the files database.
Changed menus 14, 7.n.6, 10.1 and 8.4.
Changed default charset for new mailgroups and message areas
to CP437.
Added setup for filefind keyword length in menu 13.
Added setup items in menu 1.5 for child priority and filesystem
sync calls.
In several menus that can change paths, a command to mbtask is
given to reread filesystem tables when something is changed.
Fixed error if a file area is deleted that has an empty files
database.
Added html sitedocs creation. The advantage of html over the
old plain doc is to easy see crossreferences using hyperlinks.
The html files are created in /opt/mbse/share/doc/html.
The ~/doc/xref.doc and ~/doc/stat.doc are not created anymore,
there was nothing in it yet.
Removed setup for the unused free diskspace parameter.
In nodes edit aka's it was not possible to delete aka's.
Added auto setup for message area creation date. Also creates
a faked newsgroup name in echomail areas. Both settings are
needed for the newsserver.
It wasn't possible anymore to change the number of systems in
menu 1.11.11
Fixed a header include.
Now uses new FDB functions.
Message group setup now sets mode 660 for ~/etc/mgroups.data.
In menu 1.2 removed Omen Id that was not used.
In menu 18 removed settings for ISP connect and hangup.
mbcico:
Updated file request function to new files database structure.
Fixed a compile problem on FreeBSD 5.1
Fixed a bug when a m_get was received with file offset = file
size that would log a negative transfer time and transfer rate.
Fixed a bug when a m_get message was received with the current
file with offset = file size to properly close the file and
unlink from the outbound queue.
Fixed a bug when a m_get message was received on a file that
was already transmitted to remove that file from the outbound
queue.
Removed some debug logging from inbound handler.
Updated to use new disk watcher.
All heavy debug logmessages are now in defines and are only
enabled with ./configure --enable-newbinkp
In check for T-Mail fileboxes added condition that the zone
must exist in the setup.
Added protection against empty domain names received from
remote systems.
Now uses new FDB functions.
mball:
Replaced system() call with execute.
Added support for files database Magic request field.
Fixed SIGCHLD logmessages on Fedora.
Now uses new FDB functions.
mbfile:
For creating www pages of the download areas, the new mapping
tables are used to translate from ibmpc characters to
iso-8859-1.
Replaced system() call with execute.
Updated kill, index, check, pack, list, adopt, import, move,
delete and sort to the new files database structure.
The file delete function in kill didn't delete the thumbnail.
The mbfile del and undel commands accept wildcards in the
filename.
Fixed an error in check when a mangled 8.3 filename was changed
and the symbolic link was not adjusted.
Added rearc command.
The check command does now also check if the magic alias file
request names are valid and removes the invalid entries.
Updated to use new disk watcher.
Fixed SIGCHLD logmessages on Fedora.
The toberep command now logs the toberep.data in the debug
logfile.
Mbfile check will abort if a header of a files database is
corrupt.
Mbfile check will now accept an area number to just check one
single area.
Now uses new FDB functions.
mbmsg:
Writes the ^aCHRS: kludge again in new created messages.
Changed ^aPID to include OS and CPU.
Updated to use new disk watcher.
mbdiff:
Replaced system() call with execute.
Updated to use new disk watcher.
Fixed SIGCHLD logmessages on Fedora.
mbuseradd:
Uses the execv instead of system to call the systems useradd
program.
Fixed removing of a OS created homedir.
Added msleep delay in execute child process.
On NetBSD fixed the errormessage when a new user is
created.
mbpasswd:
Uses the execv instead of system to call the systems vpassswd
program if needed.
Added msleep delay in execute child process.
mbindex:
Updated to use new disk watcher.
mbuser:
Updated to use new disk watcher.
mbmon:
Switched to use new filesystems command.
On screen 2 added disk status.
On screen 3, the warning colors for diskspace are now triggered
by the global config setting, red for the upper limit, and
yellow for the upper limit * 4. Added RO/RW status indicator.
mbtask:
Added communication commands for disk watch thread.
Added disk watch thread, this will monitor filesystems usage
for only the filesystems that are used by mbse.
Signal handler for sigchld set to sig_dfl, for Fedora.
Removed setup for old diskspace parameter.
Fixed crash on NetBSD Sparc when getsysinfo was called.
Fixed SIGCHLD logmessages on Fedora.
Added mbnntp to the taskregs to count as a user program.
In check for T-Mail fileboxes added condition that the zone
must exist in the setup.
mblogin:
Changed some defines for NetBSD 1.6.2
mbnntp:
New program, news server to read/write echomail with a news
client. Users must be registered bbs users.
examples:
Added change character set in English menus and textfiles.
Updated all newfiles macro template to include the magic file-
request macro (English, German, Spanish and Dutch).
Updated English, German, Spanish and Dutch macro files:
html.nodes and filemgr.status.
lang:
Added language prompts 23, 24 and 25.
removed obsolete prompt 240.
Updated germandu.txt (by Malte Tychsen).
script:
In the maint script removed the check option from the mbfile
command so it will not run every day.
Updated maintenace scripts to check that they are run by user
mbse. The new scripts are not automatic installed, in the ~/etc
directory you will find these scripts with the extension .new
You may need to manually update the scripts before you install
the new scripts manually.
v0.50.0 03-Oct-2003 - 09-Feb-2004
general:
Added menu setup switches for doors: Singe user door and
hidden from lists.
Make dist now creates bzip2 archives.
Two html pages are now under control of configure.
The configure scripts shows the use of zlib compression for
Hydra and Binkp.
Updated all documentation to validate html makeup.
Added installation support for Gentoo Linux, contributed by
Capitán X.
Since this version Posix threads are being used, please let
me know if this doesn't compile on you system.
All Makefiles do not strip the binaries anymore, the binaries
are stripped during make install only. This allows to run the
not yet installed binaries under debuggers.
The configure script has a --enable-debugging option so that
all code can be compiled to let it run under debuggers. Not
usefull for production systems.
This version had a lot of testing using valgrind. Most errors
were minor problems.
Added French language file created by Francois Thunus. This
translation is not yet complete.
Cleanup in main makefile, added help.
Revised configure and all Makefiles for better support of
linking with threads libraries.
Changed endian tests using the configure script.
Upgraded to new released ftscprod.008
Added setup option per node to disable the binkp/1.1 protocol.
Added new binkp/1.1 driver.
In all sources replaced the usleep function with the msleep
function. The usleep function will become obsolete someday.
Incoming and outgoing telnet (ITN) sessions finally works.
upgrade:
If you don't have any personal archivers, then remove
~/etc/archiver.data and start mbsetup to recreate the
archivers setup.
If you didn't change anything of the language defaults then
delete /opt/mbse/etc/language.data and run mbsetup to create
a new language.data including the french setup.
Check setting 7.x.3.18 for each node. If you know the node uses
Irex between 2.24 and 2.29 then set this to Yes or you won't
have good sessions without files with this mailer. Sessions
with Irex that do transfer some file are Ok.
libclcomm:
Fixed a small (not harmfull) buffer overlapped copy detected
by valgrind.
libcommon:
A small fix in printable log function.
Added a safety check for the TCP registrate function to prevent
stale TCP/IP mailer counts.
Fixed a forgotten fclose in proglock.
Allows node locking with zero bytes lockfiles created by some
other OS when enabled in the setup.
The attach function now checks if a file is already attached.
In execute and execsh on Linux systems sync() is called before
and after running the external program to make sure diskbuffers
are committed. Also added a 300 ms pause.
Added a milliseconds timer.
Code cleanup.
libmsgbase:
In JAM_Open replaced a strcpy with memmove.
Fixed invalid memory read/write in Msg_Link.
libdbase:
Code cleanup in dbdupe.
libnodelist:
Fixed a small memory leak.
mbsebbs:
The whoson list displays the doorname if set in the menus.
If a door is single user and the door is in use, the second
user can't start the door but gets a message about this
situation.
Fixed a bug where the bbs goes into a loop after idle timeout
during login (and maybe in other situations).
Fixed chat debug logging to only log to the debug.log file.
Posted netmail messages now support CC: lines. The CC: lines
should be the first lines of the message in the format:
CC: Michiel Broek 2:280/28
The Carbon Copied messages are marked with original sender.
Fixed small memory leak.
Fixed posting to local/echomail areas from bbs users.
A lot of small fixes for problems found with valgrind.
mbsetup:
Added menu settings for single user door and hide door. Added
setting for the door name in the menus and removed the never
used password for the menu (Was only present in the setup).
In node editor, fixed error message when there was no more
room for new nodes to point to the right menus.
Added support for tar compressed archives.
Changed all fidonet domain names to maximum 8 characters so
that we now follow the FTSC specs.
Removed binkp CRC settings.
Fixed a unitialized unlink call in nodes close.
Fixed unclosed tempfile.
Fixed several small memory leaks.
Added default record for french language.
Added setting in menu 1.14 to allow zero bytes lockfiles
created by another OS.
Added setting in menu 7.x.3.18 to disable the use of binkp/1.1
protocol per node.
Corrected a spelling error (thanks Vince).
Removed global setup screen for the ftp server.
Reorganised menu 1.4 screen 1 and 2.
Added settings for T-Mail filebox paths in the second screen
of menu 1.4.
Clearing the working message is now only done by the keyboard
read function.
In several menu items added range check for integer values.
In global main aka setup, added check if a domain name is
present.
Updates to the database is now shown to the user.
mbcico:
Added Hydra zlib compressed data blocks using the idea of Alex
Shakhaylo. The compression will transfer some files about twice
as fast as without compression.
Changed signal handlers to better detect broken TCP links.
Changed two inbound logmessages to debug level.
All internal references to tfido port changed to telnet port
because we now default to telnet port 23 for ITN calls.
Dropped binkp CRC support because it will be incompatible with
future extensions.
Fixed a small memory leak.
New binkp/1.1 driver. Check the upgrade for your Irex links.
In case of troubles please report these.
Added support for T-Mail fileboxes, partly written and info
provided by Przemyslaw Kwiatkowski (2:480/127).
Removed the check to disable calling points.
Added a check to see if we get a URL to call other systems.
If nodelist info fails, increase error counter in steps of 10.
Fixed nodelocks during session handshake after many years. The
problem showed only when mbcico was used together with a mailer
on a different OS. When a aka is busy, the aka is now dropped.
When all akas are busy, a session is impossible and the session
is refused. Thanks to Przemyslaw Kwiatkowski for finding and
documenting this bug.
The total session avg cps is now corrected with the two seconds
session close delay time.
Added PLZ compression option to binkp.
Added telnet input and output filters so we can now call and
answer telnet (ITN) sessions.
mbfile:
When the areanumber with the adopt command was not given, the
help is displayed instead of trying area 0 that doesn't exist.
With the file move, adopt and import command if the file
already exists in the destination area, the action is refused.
Added mbfile sort <area> command. Files are case insensitive
sorted on the long filename. After sort the indexes are rebuild.
Fixed some logging that should have been debug logging.
Fixed a uninitialized memory pointer in the index command.
Fixed a 3 forgotten file closes in mbfile list.
Removed sync calls that are now in execute.
mbfido:
Changed two logmessages to debug level.
Fixed a some small memory leaks.
With scannews after a GROUP command when authorisation was
asked we did not perform a login.
Removed sync calls that are now in execute.
mbtask:
The ping function now runs in a separate thread.
Changed some ping timer logic.
Added a "secret" commandline parameter to allow mbtask to run
under control of debuggers.
The client command server runs in a separate thread.
Fixed some small memory leaks which had no effect on long term
running of mbtask, only leaks during program stop.
Moved the scheduler in a thread.
Rewrote shutdown procedure to make it more portable.
Removed default settings for the ftp server.
Added support for T-Mail fileboxes.
Will call points if a call method is available.
mbout:
Fixed several memory leaks.
Poll, remove poll and request failed to points which had no
point directory in the outbound, now the directory is created.
Added support for T-Mail fileboxes.
mbindex:
Fixed a forgotten file close.
mball:
Fixed 2 forgotten fclose functions.
mbuser:
Fixed a forgotten file close when nothing was done.
mbmon:
Fixed a minor problem with an uninitialized array.
mbdiff:
Removed sync calls that are now in execute.
mbpasswd:
Fixed a small memory leak.
mbuseradd:
Now logs to syslog instead of stderr.
script:
Added install scripts for Gentoo.
Changed all init scripts to allow the slower stopping of mbtask
For the latest Slackware distros a setup script for pkgtool is
added. Most other distro's don't need this.
Dropped support for Slackware pre 7.0.
Changed startup scripts for NetBSD.
Fixed NetBSD init script
All init scripts now clean the ~/var/run directory and start
the bbs allways so that the bbs will try to start after a power
failure.
New scripts are installed with an extension of .new, you need
to check yourself if you can use them to replace your own
possible modified scripts.
Updated the hatch script to abort if it's not configured.
If the user skips to hatch a file, the questions for the magic
and replace command are not shown anymore.
Dropped support for RedHat and Mandrake pre 6.1.
lang:
Added language prompts 20, 21 and 22.
examples:
Updated English and Spanish menus with the new door settings.
Fixed some spelling errors in the Dutch templates.
Updated file menus, added View File command.
Changed Dutch newfiles template file.
html:
Removed the outdated ftsc documents, www.ftsc.org is the place
to look for them
Added upgrade procedure.

451
ChangeLog_2005 Normal file
View File

@ -0,0 +1,451 @@
$Id: ChangeLog_2005,v 1.1 2006/07/23 09:53:53 mbse Exp $
v0.82.0 06-Oct-2005 - 06-Nov-2005
This is a bugfix release for version 0.80.0.
general:
Made changes to structures and sources to make everything
compatible between 32 and 64 bit systems. Special thanks to
Alan Ianson and Robert Wolfe for testing the 64 bit versions.
Added escaping in client/server comms. It is now allowed to
use comma's in user names, locations etc.
upgrade:
The bbs menu Change Screenlength is obsolete. Remove this from
the menus (setup.mnu) and ascii/ansi screens (setup.a??).
Owners of 64 bits systems should check if all *.sts files in
the outbound are 12 bytes log. If not, stop the whole bbs and
remove all these files. Then start the bbs again.
Owners of 64 bit systems that have run version 0.80.0 or older
should really backup everything and be prepared that all data
files are not compatible anymore. Blame the GNU people for
changing the storage format for some variables.
After upgrade databases are compatible between 32 and 64 bit
systems.
libmbse.a:
Added clencode and cldecode to safe escape messages to mbtask.
In nodelock show program name if node is already locked.
mbcico:
Made binkp GZ and BZ2 compression final.
Fixed compile errors when both zlib and bzlib development
packages are not installed on some distro's.
mbfido:
Fixed a segfault when tossing as a point echomail without a
seen-by line.
mbsebbs:
Automatic dynamic detection of the users screensize.
There is no check anymore for a valid tty with network calls,
instead a fake ttyinfo record is created. Modem/ISDN and
console still need a valid configured tty.
Fixed a bug in the email menu that would let the current
mailbox disappear.
Fixed the internal fullscreen editor.
Accepts connections via ssh.
Log close message sent to the user.
Allow comma again in several input functions.
mbnewusr:
There is no check anymore for a valid tty with network calls,
instead a fake ttyinfo record is created. Modem/ISDN and
console still need a valid configured tty.
Accepts connections via ssh.
mbtask:
Logs program name that locks serial ports.
Added clencode and cldecode to safe escape messages with
clients.
mbsetup:
Removed settings for users screenlength.
In tty setup the network records are automatic removed. The
setting for auth log is removed (was never used).
SuSE compile fix.
lang: Removed prompts 64, 80 and 81.
Changed prompt 348.
Added prompt 31.
examples:
removed Change Screenlength from the English menus and
txtfiles.
v0.80.0 27-Oct-2004 - 06-Oct-2005
Yes, this release took too long to complete. But there were too
many problems that a stable release wasn't a good idea.
general:
Due to lack of maintainers italian language support is dropped.
Upgraded to ftscprod.010
Added port to OpenBSD, is under test (and doesn't work yet).
Code cleanup so that compile stops on unknown OSes and CPUs
instead of missing code parts.
Added Unix codepage KOI8-R (Russian) and patches from Dmitry
Komissaroff.
Updated Copyright notices to 2004 to 2005.
From filetranfer records removed the batch and bidirectional
switches, these are no longer needed.
Added new subdirectory mbutils. Some sources from the mbsebbs
subdirectory are moved there.
Changed the CFLAGS back from -O3 to -O2 since there seem some
stablity problems and I want to rule out the possibility that
this is caused by bad gcc optimisation.
upgrade:
In mbsetup menu 8.2 remove the Italian language.
In /opt/mbse "rm -rf italian".
In /opt/mbse/etc "rm italian.lang".
Or keep it, but you need to take care of updating this language
yourself.
Check mbsetup 7.n.3.14 and 7.n.3.15 settings.
You may limit the mailhistory.html size by setting 1.15.8
Check mbsetup 1.13.4 and 1.13.5, they should be empty or point
to valid and readable logfiles. If set then ftp and or www
downloads are counted as valid downloads.
Enter setup menu 8.4 once and leave to clear unused data.
Start mbsetup, in screen 1.2 item 10, add your real internet
name or IP there. This MUST be the name that is returned when
you do a nslookup on your external IP address.
Add the following line to /etc/services:
fido 60179/udp # chatserver
Make sure you remove everything related to bbslist menus from
your menus and txtfiles.
Start mbsetup and leave.
You might want to check menu 8.5, file transfer protocols since
we now have internal protocols.
nodelist.a:
Clear node Hold or Down status if set in nodes setup.
mbselib.a:
Removed some debug logging.
Added a function to clean subject lines from garbage, trailing
spaces etc. to improve message linking.
Added code for Internet BBS Chat.
msgbase.a:
Fixed JAM pack function, the lastread pointers could be wrong
if the last messages of an area were deleted.
libdiesel.a:
Changed the maximum string length from 2560 to 4096 characters.
libmbinet.a:
Fixed error messages when the host to connect to has a DNS
error.
charset:
Changed rfc-2045 name x-mac to mac. Changed x-ibmpc to cp437.
This allows rfc mime headers to show official names.
Added some basic things to support Chinese.
mbcico:
Added support for binkp GZ and BZ2 compression. Can be turned
off per node. To use it configure with --enable-experiment.
Record previous session state so we can better react on failed
sessions.
Added detection of remote options NR, ND and NDA to prepare
for implementation.
Rewrote inbound handling for binkp sessions so that recovery
from failed sessions works, even with compressed transfers.
Fixed crash on received m_get command.
Increased binkp timeout from 180 to 300 seconds.
Added protection during binkp receive for zero bytes compressed
data frames, this will cause uncompress error -5 because zero
bytes can't be compressed at all.
Fixed test for valid aka's in the EMSI handshake that prevented
that host aka's (node /0) were not presented to the remote.
(thanks Przemyslaw Kwiatkowski).
Removed binkp extra debug logging and some standard debug logging.
Added auto workaround for Internet Rex 2.24 upto 2.29 binkp bug.
However, it is still wise to set the "No binkp/1.1" setting in
the node setup if you have a record for such node.
mbout:
Code cleanup.
mbfido:
If some newsarticles are not accepted for post, don't treat
this as fatal and clear the sendqueue.
Removed soft-cr filter during message import.
Code cleanup.
Added debug logging in rfc2ftn to track a rare problem.
Added error logmessage in case *.msg path isn't defined.
Fixed a segfault when echomail.jam or netmail.jam is corrupted
when scanning for outgoing mail.
Fixed fido style from address for posting news.
Reinstalled charset translation on the gateway. Changed the
way how FTN kludges are translated to RFC headers.
Dropped support for newsgroup distribution.
In tic processing changed pointer type for seenby lists.
Fixed running out of file descriptors when there are lots of
bad mailpackets.
Fixed commandline parser for mail recipients.
Added subject line clean in several places.
When message areas are autocreated, golded.inc and msg.txt are
recreated for the external editors.
The web stats can now limit the size of mailhistory.html
The FileMgr command connects news nodes SR if set for the tic
area.
Empty *.msg netmails for our own system are dropped with and
logged (just like received empty netmails). Empty netmails to
remote systems are still stored in the netmail base.
Added debug logging for exporting netmails from the messagebase
so that we later can decide to mark these messages auto deleted.
In rfc2ftn a debug logmessage added to check for unrecognised
message ids.
With html create the general strings are now converted to html
entinities.
mbnntp:
Removed some debug logging.
Added leading zeros for generated msgid's.
Improved charset detection.
Does now send the right mime headers recognised by news clients.
Fixed compile problem with some compilers.
When sending the mime header with the charset used to the news
client, the original message charset is tried first, else the
area charset, else the users charset and if all failed, we send
the us-ascci charset as default.
More patches added from Dmitry Komissaroff to improve charset
support. Also improved msgid linking.
Removed dead timercode.
Code cleanup.
When a message is posted without RFC Messageid, a fidonet MSGID
is fresh created.
Changed X-JAM kludges to X-FTN kludges to make it compatible
with the rest of the gates.
Patches from Dmitry Komissaroff to make charset translation
work on message subject lines. It will now also send the right
charset for the user in the charset header line so that the
client will show the message in the users charset.
mbfile:
Code cleanup.
With the index command only changed areas are indexed. This
removes the feature request for a switch per area from the
TODO list because this solution works better and much faster.
Dropped support for areas on CDrom.
The adopt command now first checks if the filename is 8.3 or a
long filename and the correct format for import is then set.
With mbfile import, download counters in files.bbs are skipped.
When the file description was missing in files.bbs with the
import command, mbfile would crash. Now a dummy description is
inserted.
The directory from which the import is done is first tested for
write access, if forbidden then no import is done. This also
means you cannot import directly from CD's but that you need
to copy the CD contents first to a harddisk.
Better error reporting if something is wrong.
The import command now also figures out the difference between
8.3 and long filenames and does the right thing during import.
During file import the destination is tested for both 8.3 and
LFN for an existing file. Improved error reporting.
With mbfile import the original file isn't renamed anymore.
Fixed error reporting when files in files.bbs were not found
on disk.
In mbfile check added a check for the filemode of the real file
in the download area, if it's not 0644 it will be corrected.
With adopt, import and move allow to overwrite a file with the
same name if the -f option is used on the commandline.
mbsebbs:
Code cleanup.
Changed syntax for calling mbpasswd.
Blocked sysop to chat and page the sysop. Sysops use mbmon.
Fixed errormessage if chatserver is not available.
Added language prompts 29 and 30.
Added logging of remote host and terminal.
Added subject line clean in several places.
Fixed headerlines for posting news.
Fixed headerlines for posting email.
When a message is posted by a user, the CHRS kludge of the user
is used in the message, not the area setting.
When a user logs in, the users locale (guessed value from his
characterset) is set. Experimental to see if libc functions will
support Chinese characters.
Allowed hi-ascii input characters in the internal fs editor,
the chat input and one general input function. This may have
effects for all users not using us-ascii keyboards.
Added more support for Chinese using the traduce function.
Changed color for chat lines with one * at the begin.
The creation of the mailout semafore is now after the hangup
so that mbfido won't start before the bbs is finished.
Removed bbslist menus, this will become a door.
Added #define NFGVMIN 1 in openport.
During hangup we set sighup to ignore.
Some small buffer protections added in addfile.
Fixed keyboad input for all bigendian machines.
Patches from Dmitry Komissaroff to make charset translation
work on message subject lines.
In change handle the first character of the name is not
capitalized.
Changed layout of raw directory listing to support longer
filenames.
Rewrote terminal i/o.
If a user pages the sysop a hint is displayed to fill in the
reason to chat, language prompt 28.
After forced chat, redisplay the last menu.
Removed support for non-batching protocols (xmodem) and for
bidirectional protocols.
Removed Ctrl-F G, this is of no use anymore.
Switched to new modular download and upload functions.
With download from file areas, the long filename is sent to
the users, we will only support protocols that allow this.
When an invalid OLR reply packet is received, it is removed
from the users upload directory.
We don't reward upload time anymore, only bytes. It's more
troubles to implement right then it's worth these days. This
is caused by telnet connections when we never know what the
real linespeed is with to/from the user.
Added the following internal file transfer protocols: Xmodem,
Ymodem, Ymodem-1K, Ymodem-G, Zmodem and Zmodem-8K (aka ZedZap).
Xmodem should not be used, but is available because Ymodem is
available, ie: don't make it available for your users.
For more information see the manual setup/protocol.html.
After upload, files are now stored correctly in the filebase.
In change protocol, changed the colors.
With user chat, the timeout timer wasn't refreshed.
Improved test for users protocol available.
Fixed download K and files setting for users on a new day.
mbnewusr:
Changed syntax for calling mbpasswd.
If we can detect the users screenlength then we don't bother
asking the user.
Added logging during execute of mbuseradd.
Corrected wrong ANSI setting for new users.
Added logging of remote host and terminal.
If the external editor is configured a new user gets the
external editor by default instead of the internal editor.
During hangup we set sighup to ignore.
Fixed keyboad input for all bigendian machines.
Rewrote terminal i/o.
mbsetup:
Removed Italian default record. Rewrote code to create default
language records.
Added node setup switch to override node Hold or Down status.
Changed syntax for calling mbpasswd.
Dropped support for newsgroup distribution.
Added setup switches per node to disable PLZ or GZ and BZ2
compression protocols with binkp.
Added setup entry 1.15.8 to set a limit on the size of the
mailer history html page.
Added setup for Internet BBS Chat.
Added setup items 1.13.4 and 1.13.5. These could point to
a valid apache logfile in common format and ftp xferlog
logfile. If defined then downloads via www and or ftp can
be counted.
Dropped support for file areas on CDrom.
In menu 10 added a switch to default connect downlinks SR
instead if S.
Added language defaults for Chinese.
Removed obsolete bbslist editor.
Made some web sitedoc screens look better.
Changed helplines for areamanager filenames to indicate that
these are case sensitive.
Added support for XxxxBSD console port.
For new systems, there will now be 16 terminal ports created
instead of 10, this is the maximum number of safe created ttys.
The ttys are now sorted on the comment fields.
In file transfers edit, removed switches for batch and bidirect
protocols, added a switch for internal protocols.
New internal protocols are automatic added and the external
protocols are disabled. Some fields of the internal protocols
are protected.
In file areas, free downloads is now default for new areas.
mbtask:
Code cleanup and memory optimisation.
Added check to some chat commands to check if the chat thread
is running so that clients can give a proper message.
Added Internet BBS Chat.
Dropped support for file areas on CDrom.
The created semafore files are now world readable so that low
privileged users like nobody can check the semafore's.
mbmon:
Added Internet BBS Chat.
Changed color for chat lines with one * at the begin.
mbaff:
Fixed a crash when announce a empty description line.
mbdiff:
Code cleanup.
mball:
Code cleanup.
If a valid WWW logfile is specified in menu 1.13.4 then http
downloads are counted and the filedatabase is updated before
the allfiles listings are created. Note that the very first
time only a mark is placed in ~/var and nothing is done.
mbstat:
Code cleanup.
mbuser:
Code cleanup.
mbmsg:
Code cleanup and removed dead code.
mbpasswd:
Added security checks to see if this program is legally called.
Changed commandline syntax.
mbuseradd:
Added security checks to see if this program is legally called.
mblogin:
The file ~/etc/login.defs now has default the issue file
enabled so that it also is displayed for incoming telnet users.
script:
The installinit script now recognizes Fedora Core (but it used
to work anyway).
Added mbfile check to monthly maintenance script.
Fixed the Slackware setup script that didn't make the startup
symlinks in runlevel 4 if the directory /etc/rc.d/rc4.d didn't
exist.
Modified rundoor.sh so that it uses two different dosemu
configuration files, one for virtual modem and one without.
See the manual doors.html.
In the editor script modified the joe header so that it will
work with the new terminal i/o.
lang:
New prompts 28, 29 and 30.
Added Chinese language.
TODO: remove bbslist entries.
Changed width of prompt 261.
Removed leading spaces of prompt 151.
Removed prompts 259 and 276.
examples:
Removed bbs list items from the English menus and txtfiles and
the Spanish menus and txtfiles.
Fixed the menu archives so that they contain menu files again.
Fixed logo display.
Fixed Spanish txtfiles to leave out an old support bbs.
html:
Added batch file upload written by Russell Tiedt to the faq.
porting:
Compiles more or less on x86_64, there are issues with utmp
and struct lastlog
Compiles on NetBSD i386.
Compiles on Alpha.
Doesn't compile on Mac OS X.

184
ChangeLog_2006 Normal file
View File

@ -0,0 +1,184 @@
$Id: ChangeLog_2006,v 1.1 2008/11/29 13:55:33 mbse Exp $
v0.90.0 06-Nov-2005 - 23-Jul-2006
upgrade:
Start mbsetup once and leave, this will update user records
with the wrong editor choice, fixes the files databases if
needed and upgrades the nodes settings.
Add extra switches to unarchiver commands entry 11, see
mbsetup for the archivers.
In menus 7.n.3.14 check if the NR flag is off, unless you need
it (which I doubt).
mbsebbs:
Removed antique line editor.
Added check for users homedirectory permissions and attempt to
fix errors. If fatal the connection is dropped.
Fixed virus scan of uploaded archives.
There are no paths anymore in OLR download packet files.
Made OLR bluewave packets CPU independant.
Fixed a strange bug that ftell didn't work right, this caused
corrupt bluewave download packets.
Bluewave is now big/little endian correct.
Added width marker for chat input and fixed linelength.
Added screen rows detection using ANSI sequences needed for
some terminal programs like minicom.
Writes LINES and COLUMNS environment into data.msg so that the
joe editor can use that.
Changed zmodem transmitter timeout to 60 seconds and changed
the zmodem init fase so that clients that don't start automatic
have a chance to start the transfer.
The zmodem transmitter now uses buffered output.
Added Change archiver menu.
Added crontrol-U0 to display current archiver.
Changes to OLR ASCII download:
- area files are named after area tag if possible, dots are
replaced by underscores and extension is .text.
- If available each message now has a msgid in the header.
- Added a .info file with control information.
Fixed logging of wrong file after upload.
mbtask:
Lots of changes and bugfixes in the IBC chatserver.
Added code to the chatserver thread to handle remote servers
with dynamic dns addresses.
All IBC log lines start now with IBC: to allow easier grep.
Added global reset for chatservers every 24 hours.
Added setup checks for two main configuration settings for IBC
and fail to start if they are missing.
Don't start connections with IBC servers that miss settings in
the chatserver setup.
Several commands now send the server address from the servers
setup to the neighbours.
After server connect send the correct usernames already in chat.
When the IBC server detects a IP change of a remote server it
will completly restart the connection with that remote.
Made several functions multithread aware.
On shutdown also send PART and QUIT messages to all our links
for our own users if they are still online so that the network
will keep the correct state.
Removed all thread programming so that mbtask is now a single
process again.
Fixed startup problem on new installations.
Changed chat welcome message.
Registration info for the clients was send double coded.
Delete users from channel when a server disconnects.
Delete users from a server when server disconnects.
Check for stopped tasks reverted to the old method without
signal handlers.
Fixed comma issue in user/city registration.
Fixed a crash when there is no /etc/services udp port for the
chatserver.
mbsetup:
In users edit screen, removed append record option.
Blocked changing the users unixname.
Removed antique line editor is edit users.
In IBC setup added a switch for dynamic dns.
Added switches to default extract commands for file_id.diz
files to:
nomarch -U
rar -cu
unrar -cu
unzip -L
Other archives don't support forced upper or lowercase.
Added NR switch to the nodes session setup.
When a filearea was moved to another path the symlinks were not
moved to the new path.
Added archiver selection for nodes in node setup.
In archiver select added checks for valid archivers and allowed
escape without selecting an archiver.
Added selection of archiver select menu.
Added setup switch for tic nodes that need a 4d seen-by line.
When saving message areas, the golded.inc file now has the
groupid numbers from the groups in echomail or news areas.
The message groups now handle groupnumbers for golded groups.
In nodes setup added check for paths when directory sessions
are selected.
mbcico:
Don't add files to send anymore when batchnr > 20 to prevent
an infinite session loop.
Implemented binkp NR option.
Assume EXTCMD is set when GZ or BZ2 is active.
Added real error message for failed outgoing IP connections.
mbfido:
Added some experimental code for tic orphans processing.
Fixed crash when receiving bad tics.
Tic orphans and bad crc handling is using a new method.
Now using new tmp workdirectory functions.
When a hatch directory doesn't exist, it is created.
Removed gated SB debug logmessages.
Made searching file file_id.diz case insensitive.
Uses archiver from the setup to pack mail for a node.
If sending crash to a node not in the setup, a default
archiver is now set to ZIP.
Accept unpacket mail for own points.
In created ticfiles in advanced seen-by mode, setting the node
to 4d will add point numbers to the seen-by lines if needed.
When message areas are auto changed, the updated golded.inc
file now has the groupid numbers from the groups in echomail
or news areas.
Seenby addresses in the internal tables did not store the
point numbers.
Added warning log for messages >= 32768 bytes.
mbfile:
Now using new tmp workdirectory functions.
Fixed file importing of non-archived files.
The test for files.bbs for files to import was done in the
wrong directory.
If a file is not removed from disk during pack, a error log
is created instead of a normal log.
Fixed a crash when files.bbs had empty lines.
Made searching file file_id.diz case insensitive.
Import now skips empty lines in files.bbs.
Import now handles properly missing files.
mbaff:
Fixed announce and filefind report problem when there were "
characters in the description.
mbmon:
Improved error message when the chatserver is not configured
in /etc/services.
In chat beeps are heard for system messages.
Added width marker for chat input and fixed linelength.
Better user input checking in chat.
Safer display in chat.
mbstat:
Don't write in errorlog after normal termination.
Added semafore names to help display.
mbmsg:
With the post function the right time is now used.
mbnntp:
Removed AREA:TAG kludge from posted articles.
libmbse.a:
Added temp workdirectory functions.
On socket send error 2, abort the client program.
Fixed another 32/64 bit issue in the files databases and added
automatic correction if detected.
Fixed comma issue in user/city registration.
nodelist.a:
Fixed parsing the nodelist when IBN:1.2.3.4 returned the IP
address 1.2.3.4 with port 1.
lang:
Changed language prompts 373 and 438.
New prompts 86, 87, 88 and 89.
install:
The checkbasic script uses more tricks to see if you are mbse
su to root before install.
examples:
Updated Engish menus and txtfiles.

277
ChangeLog_2007 Normal file
View File

@ -0,0 +1,277 @@
$Id: ChangeLog_2007,v 1.1 2008/11/29 13:55:33 mbse Exp $
v0.92.0 08-Oct-2006 - 16-Oct-2007
general:
With this version de default internal character encoding is
UTF-8. BBS users who have a UTF-8 terminal can use the bbs in
UTF-8 mode and should have no troubles at all reading and
writing messages in several language encodings.
Fixed building on FreeBSD, tested on 5.3 and 6.2.
Added support to link to the GeoIP library. If it's present on
your system, mbcico, mbsebbs, mbnewusr and mbnntp will log the
country from which the connection is made.
Added example telnet login for NetBSD.
Dropped support for NetBSD < 3.0.
Added support for Ubuntu.
Added support for the ARM processor.
upgrade:
Because some directories will be moved, a special upgrade
procedure is needed. Take the following steps:
1. Don't install the new source yet and make a backup!
2. In the source topdir run "make clean".
3. Unpack the new source.
4. Build new source, "./configure" and "make".
5. Run "./mbsetup-0.92.0/mbsetup", enter global setup and
leave with save. this 'should' move all your existing
language files to the new directory structure.
6. "su", run "make install" and restart the bbs.
7. "exit".
If you didn't do steps 1 and 2 (automatic updates) and you
installed the source over the old source, you will have some
extra files in the lang subdir of the source. No big deal.
If you didn't run step 5 then the new language paths have
the default files from source and not your own. Your own files
are then still under ~/english/*.* ~/dutch/*.* etc. Move the
contents of these subdirs into ~/share/int/menus/en/* etc.
Compile and install this new version.
In all macro files html.* change the charset to UTF-8. You will
find these in /opt/mbse/share/int/macro/*/html.*
If you still have all default macro files then in the source
directory mbsebbs/examples simply run "make macros" to install
the updated versions.
Run "mbfile index -f " once to regenerate all download html
index pages with UTF-8 encoding. Check the error.log for
errors.
In mbsetup menu 1.3.7 change logo.asc into logo.ans and make
sure you have that file. A note about the logo file, it will
be displayed before we know if a user has a utf-8 or ansi
terminal, so change your logo screen so that it has no ansi
grafic characters, just plain ascii with ansi color codes.
Start and leave mbsetup, this will upgrade the newfiles and
filefind reports to set a defaults CHRS kludge CP437 2 which
is good for reports with ANSI blockgraphics.
The next step is optional but advised to make the symbolic
links in the download areas without path information:
mbse$ cd /opt/mbse/ftp
mbse$ find pub -type l -exec rm '{}' \;
mbse$ mbfile check
Make sure mbtask is restarted.
libmbse:
Fixed commandline address parsing if a 2d address was given.
Added coding and decoding to strings that are processed by the
diesel macroprocessor.
Fixed a compile warning in the diesel code.
Moved default language paths into ~/share/int
Fixed a too low memory allocation in clencode.
Added support or the ARM processor, thanks to Simon Voortman.
libmsgbase:
Added extra debug info in pack function.
Fixed serveral problems with LastRead pointers created by
GoldED.
LastRead records that don't belong to a valid user are
purged.
libnodelist:
Don't complain if attempt to read an extended nodelist line
fails.
libdiesel:
Fixed linking problem on OpenBSD.
mbcico:
If no suitable compressor found for binkp transfers then don't
complain.
Added mbtask command to update the MIB counters.
Fixed a lot of gcc4 compiler warnings.
Fixed compiling on NetBSD 3.1.
Catch SIGIOT.
Fixed outbound scanning on ARM systems.
Added GeoIP support.
mbout:
Catch SIGIOT.
mbfido:
Check if active marked virusscanner is really present on the
system.
Don't crash on empty ticfiles.
Fixed log message for scanned netmail.
The make web stat command produces UTF-8 webpages.
The add file function now creates links without pathnames.
In rfc2ftn if we cannot find the incoming charset from the
standard table we will fall back to the charset in the
Content-type: header and try to initialize iconv with that
value.
For debug info help to me, the headers Content-Type and
Content-Transfer-Encoding are temporary stored in the fido
message as kludges.
Added mbtask commands to update the MIB counters.
Fixed mbfile import with too many description lines in
files.bbs
Fixed a buffer overflow when processing TIC files with a lot
of garbage in it.
Fixed a lot of gcc4 compiler warnings.
Fixed compiling on NetBSD 3.1.
If the LFN in the tic file is empty, create a lowercase name.
Catch SIGIOT.
Fixed date conversion in netmail-email gate.
Fixed buffer overwrite caused by bad formatted ticfiles.
mbsebbs:
Remove some private user files from the users home directory
during logoff.
Check if active marked virusscanner is really present on the
system.
Moved default language paths into ~/share/int
Added terminal setting UTF-8.
Removed setting ANSI/Textmode, allways graphic now.
All *.asc textfiles are now obsolete, only *.ans are valid.
Display ansi file converts to UTF-8 if the user has UTF-8.
Email and FTN mail reading now translates to the users
characterset using glibc iconv.
Changed menus lastcallers, whoson, userlist, pinfo, fsedit,
timestats, filelist to output UTF-8 code if the user has set
that terminal setting.
Uploaded files now have symlinks without pathnames.
Fixed upload crash when a FILE_ID.DIZ is found but the bbs is
not allowed to open it for reading.
The filelist now displays long filenames (finally).
Searching FILE_ID.DIZ in uploads is now case insensitive.
Improved cleaning users tmp dir after virus scan.
Fixed a lot of gcc4 compiler warnings.
Fixed compiling on NetBSD 3.1.
Catch SIGIOT.
Use both CRC and User ID to search lastread record.
Added missing check to see if a user is allowed to post or
reply a message.
Added GeoIP support.
mbnewusr:
Fixed loading default language for new user.
Catch SIGIOT.
Added GeoIP support.
mbfile:
The check filebase command now also removes dead symlinks from
the download directories.
The index command produces UTF-8 webpages.
The check command now repairs filenames without using absolute
pathnames.
The adopt, import and move functions now make links without
path.
Help message displays quoted description.
The adopt command works even if the description isn't quoted.
Catch SIGIOT.
mbindex:
Check nodelist permissions and try to correct them.
When the first Zone entry is missing in the nodelist, mbindex
aborts with a fatal error and doesn't replace the nodelist
index.
Keep the latest 4 instead of 2 nodelists in the nodelist
directory to allow a few weeks for recovery.
Catch SIGIOT.
mbdiff:
Wrote a lf instead of eof character as last character in the
new nodelist.
Fixed CRC error made by previous change.
Fixed a lot of gcc4 compiler warnings.
Catch SIGIOT.
mbaff:
For each newfiles and filefind report there is now a CHRS
kludge setting. Reports will be converted to the selected
charset. Origin characterset is CP437 for now.
Catch SIGIOT.
Fixed filefind search filenames case insensitive.
Fixed filefind search in description.
mball:
Now also creates allfiles.utf and newfiles.utf with UTF-8
encoded text. These new files will also be added to the zip
archives.
Creates allfiles/newfiles listings with long filenames and
short filenames.
Removed debug logging for checking WWW/FTP downloads.
Catch SIGIOT.
File download checks from http and ftp are now case
insensitive.
mbmsg:
Catch SIGIOT.
mbstat:
Catch SIGIOT.
mbnntp:
Reading news outputs UTF-8 coded articles. Posting is done
with the client side charset and translated when needed.
Suppress logging of passwords.
Catch SIGIOT.
Added GeoIP support.
Removed a lot of debug logging.
mbsetup:
In generated html sitedocs fixed link from node to tic areas.
Moved default language paths into ~/share/int
In newfiles and filefind reports the Hi-ASCII setting is gone
and a CHRS kludge selection is added. Defaults to CP437 2.
Blocked selection of FTN and Usenet moderated message areas.
Changed the F-PROT scanner name into fpscan.
Removed a not used setting for filefind.
mbmon:
Added support or the ARM processor.
Catch SIGIOT.
mbtask:
Some code cleanup.
Fixed s SIGBUS on Sparc/NetBSD systems.
Moved default language paths into ~/share/int
Fixed a too low memory allocation in clencode.
Added SNMP MIB counters and added set commands to increase
these new counters. Note, there is no SNMP interface yet.
Added support or the ARM processor.
Fixed compiling on NetBSD 3.1.
Fixed a too small buffer.
Catch SIGIOT.
Fixed outbound scanning on ARM systems.
mbuser:
Set default editor on erased records.
mbpasswd:
Added check for FreeBSD > 6.0 and use sysctl for security check.
mbuseradd:
Added check for FreeBSD > 6.0 and use sysctl for security check.
mblogin:
On NetBSD accepts the -a parameter.
script:
Fixed problems with newer joe editor versions.
script:
Adjusted editor script to use nansi.sys if ansi.sys is not
available in the terminfo database.
script:
Improved grep in init scripts.
lang:
Renamed language files and changed installation paths.
Language prompts 44, 75 and 76 are obsolete.
examples:
Upgraded the html macro templates to produce UTF-8 web pages.
Upgraded the txtfiles examples to only have .ans screens. The
logo.ans screen now works on ANSI and UTF-8 terminals.

31
DEBUG Normal file
View File

@ -0,0 +1,31 @@
Debugging with MBSE BBS.
From version 0.33.15 I changed the way debug logging goes. There are no more
#ifdef .. #endif directives in the code that change the loging behaviour.
Lines that could be logged in the code for debug are now written in two
possible ways:
Syslog('b', "This is always logged for debug");
Syslog('B', "This is logged if most_debug flag is true");
The difference is the uppercase or lowercase logclass. Uppercase is only logged
if the global flag most_debug is set to true. If you want to use it in one of
the sources declare that flag like this:
extern int most_debug;
Then, from the moment you need the extra debugging, insert
most_debug = TRUE;
in the code, and set it to FALSE when you are done.
I did this because the extra debug is good for developers but not for regualar
users that need some extra logging. The log output with the most_debug flag
set to TRUE can be huge and does affect system performance.
For those who are developing code for MBSE BBS, use two kinds on debug logging.
Michiel Broek.

164
Makefile Normal file
View File

@ -0,0 +1,164 @@
# Top-level makefile for MBSE BBS package
# $Id: Makefile,v 1.73 2007/09/01 15:35:47 mbse Exp $
include Makefile.global
OTHER = AUTHORS ChangeLog COPYING DEBUG CRON.sh FILE_ID.DIZ.in \
INSTALL.in Makefile Makefile.global.in NEWS cpuflags \
ChangeLog_1998 ChangeLog_1999 ChangeLog_2000 ChangeLog_2001 \
ChangeLog_2002 ChangeLog_2003 ChangeLog_2004 ChangeLog_2005 \
README SETUP.sh \
TODO UPGRADE aclocal.m4 checkbasic config.h.in configure \
configure.ac \
paths.h.in README.Gentoo README.Ubuntu
TARFILE = ${PACKAGE}-${VERSION}.tar.bz2
###############################################################################
all depend:
@if [ -z ${MBSE_ROOT} ] ; then \
echo; echo " MBSE_ROOT is not set!"; echo; exit 3; \
else \
for d in ${SUBDIRS}; do (cd $$d && ${MAKE} $@) || exit; done; \
fi
help:
@echo " Help for MBSE BBS make:"
@echo ""
@echo "make [all] Compile all sources"
@echo "make install Install everything (must be root)"
@echo "make depend Update source dependencies"
@echo "make dist Create distribution archive"
@echo "make clean Clean sourcetree and configuration"
@echo "make crontab Install default crontab for mbse"
@echo "make filelist Create filelist for make dist"
@echo ""
install:
@./checkbasic
@if [ "`id -un`" != "root" ] ; then \
echo; echo " Must be root to install!"; echo; exit 3; \
fi
@if [ -z ${PREFIX} ] ; then \
echo; echo "PREFIX is not set!"; echo; exit 3; \
fi
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0755 ${PREFIX}
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0770 ${PREFIX}/bin
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0770 ${PREFIX}/etc
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/etc/dosemu
@if [ -f ${PREFIX}/etc/lastcall.data ] ; then \
chmod 0660 ${PREFIX}/etc/lastcall.data ; \
fi
@if [ -f ${PREFIX}/etc/sysinfo.data ] ; then \
chmod 0660 ${PREFIX}/etc/sysinfo.data ; \
fi
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0770 ${PREFIX}/log
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0770 ${PREFIX}/tmp
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0770 ${PREFIX}/home
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0755 ${PREFIX}/share
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0755 ${PREFIX}/share/doc
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0755 ${PREFIX}/share/doc/html
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0755 ${PREFIX}/share/doc/tags
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/menus
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/menus/en
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/menus/es
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/menus/nl
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/menus/de
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/menus/gl
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/menus/zh
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/macro
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/macro/en
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/macro/es
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/macro/nl
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/macro/de
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/macro/gl
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/macro/zh
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/txtfiles
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/txtfiles/en
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/txtfiles/es
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/txtfiles/nl
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/txtfiles/de
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/txtfiles/gl
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/share/int/txtfiles/zh
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0775 ${PREFIX}/ftp
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0775 ${PREFIX}/ftp/pub
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0775 ${PREFIX}/ftp/pub/local
@${INSTALL} -d -o ${ROWNER} -g ${RGROUP} -m 0750 ${PREFIX}/ftp/incoming
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0775 ${PREFIX}/var
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/var/arealists
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/var/badtic
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0770 ${PREFIX}/var/boxes
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0770 ${PREFIX}/var/bso
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0770 ${PREFIX}/var/bso/outbound
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0770 ${PREFIX}/var/boxes
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0770 ${PREFIX}/var/dosemu
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0770 ${PREFIX}/var/dosemu/c
@if [ ! -d ${PREFIX}/var/fdb ] && [ -d ${PREFIX}/fdb ]; then \
echo "Migrate files database..." ; \
${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0770 ${PREFIX}/var/fdb ; \
mv ${PREFIX}/fdb/file*.data ${PREFIX}/var/fdb ; \
echo "...done. You may remove ${PREFIX}/fdb" ; \
fi
@if [ ! -d ${PREFIX}/var/magic ] && [ -d ${PREFIX}/magic ]; then \
echo "Migrate magic filenames..." ; \
${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/var/magic ; \
mv ${PREFIX}/magic/* ${PREFIX}/var/magic ; \
rmdir ${PREFIX}/magic ; \
echo "...done." ; \
fi
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0770 ${PREFIX}/var/fdb
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/var/hatch
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/var/inbound
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/var/magic
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0770 ${PREFIX}/var/mail
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0770 ${PREFIX}/var/msgs
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/var/nodelist
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/var/queue
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0770 ${PREFIX}/var/rules
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0770 ${PREFIX}/var/run
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0775 ${PREFIX}/var/sema
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/var/ticqueue
@${INSTALL} -d -o ${OWNER} -g ${GROUP} -m 0750 ${PREFIX}/var/unknown
@chmod 0775 ${PREFIX}/var
@chmod 0775 ${PREFIX}/var/sema
@if [ -x ${BINDIR}/mbtelnetd ]; then \
rm ${BINDIR}/mbtelnetd ; \
echo "removed ${BINDIR}/mbtelnetd"; \
fi
@for d in ${SUBDIRS}; do (cd $$d && ${MAKE} -w $@) || exit; done
@if [ -d ${PREFIX}/doc ] ; then \
echo; echo "If there is nothing important in ${PREFIX}/doc" ; \
echo "you may remove that obsolete directory." ; \
fi
@for d in de en es fr gl it nl; do \
if [ -d ${PREFIX}/share/int/$$d ] ; then \
rmdir ${PREFIX}/share/int/$$d ; \
echo "Removed directory ${PREFIX}/share/int/$$d" ; \
fi ; \
done
@rm -f ${PREFIX}/etc/charset.bin
@rm -f ${PREFIX}/bin/mbcharsetc
@rm -rf ${PREFIX}/sema
@rm -rf ${PREFIX}/tmp/arc
dist tar: ${TARFILE}
clean:
rm -f .filelist core ${TARFILE} paths.h config.h
for d in ${SUBDIRS}; do (cd $$d && ${MAKE} $@) || exit; done;
${TARFILE}: .filelist
cd ..; ln -s ${PACKAGE} ${PACKAGE}-${VERSION} ; rm -f ${TARFILE}; \
${TAR} cvTf ./${PACKAGE}-${VERSION}/.filelist - | bzip2 >${TARFILE} ; \
rm -f ${PACKAGE}-${VERSION}
crontab:
sh ./CRON.sh
.filelist filelist:
(for f in ${OTHER} ;do echo ${PACKAGE}-${VERSION}/$$f; done) >.filelist
for d in ${SUBDIRS}; do (cd $$d && ${MAKE} filelist && cat filelist >>../.filelist) || exit; done;

0
NEWS Normal file
View File

28
README Normal file
View File

@ -0,0 +1,28 @@
$Id: README,v 1.8 2006/07/03 20:27:21 mbse Exp $
MBSE BBS Packages.
Distribution naming scheme:
mbsebbs-0.33.18.tar.bz2
| | | |
| | | +-------- minor patchlevel
| | +----------- minor version
| +------------- major version
+------------------- package name
For fidonet distribution, the tar archive and FILE_ID.DIZ are
zipped together in a file like mbb03318.zip
The odd minor version numbers are developent versions only. From 0.35.1 and up
these will not be released anymore but are only available via cvs.
The even minor version numbers will be stable releases, they will be available
at http://www.mbse.eu and at 2:280/2802. The first version using this
scheme is 0.36.00
For first time installing, see the file INSTALL. After installation, the html
guide is installed in /opt/mbse/html.

19
README.Gentoo Normal file
View File

@ -0,0 +1,19 @@
$Id: README.Gentoo,v 1.4 2004/09/26 11:40:55 mbse Exp $
Unlike most distributions, Gentoo doesn't install programs that may be usefull
for mbsebbs by default. Before you run ./configure emerge the following
programs to make mbsebbs run with most features:
Package Provides
-------------- --------------------------------------------------------------
xinetd Icoming TCP/IP networking.
netkit-telnetd Telnet sessions to the bbs.
zip Includes unzip. The default archiver.
arj ARJ archiver.
unarj UnARJ archiver.
rar RAR archiver.
lha LHArc archiver.
arc Arc archiver.
zoo ZOO archiver.
lrzsz Zmodem, Ymodem file transfers for the bbs.

28
README.Ubuntu Normal file
View File

@ -0,0 +1,28 @@
$Id: README.Ubuntu,v 1.2 2007/09/02 10:00:40 mbse Exp $
Unlike most distributions, Ubuntu doesn't install programs that may be usefull
for mbsebbs by default. Before you run ./configure install the following
packages to make mbsebbs run with most features:
Package Provides
-------------- --------------------------------------------------------------
xinetd Icoming TCP/IP networking.
libc6-dev To allow compiling of programs.
libz-dev To allow mailer zlib compression.
libbz2-dev To allow mailer bz2 compression.
automake To rebuild configure if needed.
telnetd Telnet sessions to the bbs.
arj ARJ archiver.
rar RAR archiver.
lha LHArc archiver.
arc Arc archiver.
zoo ZOO archiver.
lrzsz Zmodem, Ymodem file transfers for the bbs (obsolete).
joe External editor for the bbs.
Install these programs by using 'sudo apt-get install Package'.
The xinetd and libc6-dev package are mandatory!
sudo bash /path/to/SETUP.sh

55
README.developer Normal file
View File

@ -0,0 +1,55 @@
$Id: README.developer,v 1.30 2007/11/25 14:37:48 mbse Exp $
README.developer for MBSE BBS
This file is only available on CVS, not in the distribution. This file will
hold information about CVS tags, scheduled releases and other info for
development only. There are no secrets in this file because it's public
available.
Wordlengths.
From bits/types.h:
Here we assume what is presently the case in all the GCC configurations
we support: long long is always 64 bits, long is always word/address size,
and int is always 32 bits.
IOW: Never use long in the sources because it breaks between 32/64 bit
hardware.
How about time_t, it seems an alias for long! (and it is).
CVS tags.
mbsebbs-0_33_17 17-Aug-2001 Initial CVS import by Ken.
mbsebbs-0_33_18_current 25-Aug-2001 Upgraded to 0.33.18 current development.
mbsebbs-0_33_18_final 02-Nov-2001 Version 0.33.18 released.
mbsebbs-0_33_19_current 02-Nov-2001 Start 0.33.19 current development.
mbsebbs-0_33_19_final 10-Feb-2002 Version 0.33.19 released.
mbsebbs-0_33_20_current 10-Feb-2002 Start 0.33.20 current development.
mbsebbs-0_33_20_final 04-Jun-2002 Version 0.33.20 finished (not released).
mbsebbs-0_33_21_release 04-Jun-2002 Version 0.33.21 release.
mbsebbs-0_35_01_current 05-Jun-2002 Start 0.35.01 development.
mbsebbs-0_36_00_release 26-Dec-2002 Version 0.36.00 release.
mbsebbs-0_37_00_current 26-Dec-2002 Start version 0.37 development.
mbsebbs-0_38_00_release 03-Oct-2003 Version 0.38.00 release.
mbsebbs-0_39_00_current 09-Oct-2003 Start version 0.39 development.
mbsebbs-0_50_00_release 09-Feb-2004 Version 0.50.0 release.
mbsebbs-0_51_00_current 09-Feb-2004 Start 0.51 development.
mbsebbs-0_60_00_release 04-Jun-2004 Version 0.60.0 release.
mbsebbs-0_61_00_current 06-Jun-2004 Start 0.61 development.
mbsebbs-0_70_00_release 26-Oct-2004 Version 0.70.0 release.
mbsebbs-0_71_00_current 27-Oct-2004 Start 0.71 development.
mbsebbs-0_80_00_release 06-Oct-2004 Version 0.80.0 release.
mbsebbs-0_81_00_current 07-Oct-2005 Start 0.81 development.
mbsebbs-0_82_00_release 06-Nov-2005 Version 0.82.0 release.
mbsebbs-0_83_00_current 06-Nov-2005 Start 0.83 development.
mbsebbs-0_90_00_release 23-Jul-2006 Version 0.90.0 release.
mbsebbs-0_91_00_release 08-Oct-2006 Version 0.91.0 development.
mbsebbs-0_92_00_release 16-Oct-2007 Version 0.92.0 release.
mbsebbs-0_95_00_current 25-Nov-2007 Version 0.95.9 development.
Michiel.

669
SETUP.sh Normal file
View File

@ -0,0 +1,669 @@
#!/bin/bash
#
# $Id: SETUP.sh,v 1.38 2008/11/29 13:42:39 mbse Exp $
#
# Basic setup script for MBSE BBS
#
# (C) Michiel Broek
#
# Customisation section, change the next variables to your need.
# However, all docs refer to the setup below.
#
# Basic bbs root directory.
clear
MHOME=/opt/mbse
PATH=/bin:/sbin:/usr/bin:/usr/sbin:
DISTNAME=
DISTVERS=
OSTYPE=$( uname -s )
#------------------------------------------------------------------------
#
# Logging procedure, needs two parameters.
#
log() {
/bin/echo $( date +%d-%b-%y\ %X ) $1 $2 >> SETUP.log
}
#------------------------------------------------------------------------
#
cat << EOF
MBSE BBS for Unix, first time setup. Checking your system..."
If anything goes wrong with this script, look at the output of
the file SETUP.log that is created by this script in this
directory. If you can't get this script to run on your system,
mail this logfile to Michiel Broek at 2:280/2802 or email it
to mbroek@mbse.eu
EOF
echo -n "Press ENTER to start the basic checks "
read junk
log "+" "MBSE BBS $0 started by $(whoami)"
log "+" "Current directory is $(pwd)"
# Check the OS type, only Linux for now.
#
if [ "$OSTYPE" != "Linux" ] && [ "$OSTYPE" != "FreeBSD" ] && [ "$OSTYPE" != "NetBSD" ] && [ "$OSTYPE" != "OpenBSD" ] && [ "$OSTYPE" != "Darwin" ]; then
cat << EOF
Your are trying to install MBSE BBS on a $OSTYPE system, however
at this time only Linux, FreeBSD, NetBSD, OpenBSD and Darwin (OS X)
are supported.
EOF
log "!" "Aborted, OS is $OSTYPE"
exit 2
fi
#
# First do various tests to see which Linux distribution this is.
#
if [ "$OSTYPE" = "Linux" ]; then
PW=
if [ -f /etc/slackware-version ]; then
# Slackware 7.0 and later
DISTNAME="Slackware"
# There are two styles, newer releases are like "Slackware 12.0.0"
if grep -q Slackware /etc/slackware-version ; then
DISTVERS=$( cat /etc/slackware-version | awk '{ print $2 }' )
else
DISTVERS=$( cat /etc/slackware-version )
fi
elif [ -f /etc/slamd64-version ]; then
# Slamd64
DISTNAME="Slamd64"
DISTVERS=`cat /etc/slamd64-version`
elif [ -f /etc/zenwalk-version ]; then
DISTNAME="Zenwalk"
DISTVERS=$( cat /etc/zenwalk-version | awk '{ print $2 }' )
elif [ -f /etc/debian_version ]; then
# Debian, at least since version 2.2
DISTNAME="Debian"
DISTVERS=$( cat /etc/debian_version )
# Ubuntu is based on Debian
if grep -q "Ubuntu" /etc/issue ; then
DISTNAME="Ubuntu"
DISTVERS=$( cat /etc/issue | awk '{ print $2 }' )
fi
elif [ -f /etc/SuSE-release ]; then
DISTNAME="SuSE"
DISTVERS=$( cat /etc/SuSE-release | grep VERSION | awk '{ print $3 }' )
# Mandrake test before RedHat, Mandrake has a redhat-release
# file also which is a symbolic link to mandrake-release.
elif [ -f /etc/mandrake-release ]; then
DISTNAME="Mandrake"
# Format: Linux Mandrake release 8.0 (Cooker) for i586
DISTVERS=$( cat /etc/mandrake-release | awk '{ print $4 }' )
elif [ -f /etc/redhat-release ]; then
DISTNAME="RedHat"
if grep -q e-smith /etc/redhat-release ; then
DISTVERS=$( cat /etc/redhat-release | awk '{ print $13 }' | tr -d \) )
else
DISTVERS=$( cat /etc/redhat-release | awk '{ print $5 }' )
fi
elif [ -f /etc/gentoo-release ]; then
DISTNAME="Gentoo"
DISTVERS=$( cat /etc/gentoo-release | awk '{ print $5 }' )
else
DISTNAME="Unknown"
fi
elif [ "$OSTYPE" = "FreeBSD" ]; then
DISTNAME="FreeBSD"
DISTVERS=$(uname -r)
PW="pw "
elif [ "$OSTYPE" = "NetBSD" ]; then
DISTNAME="NetBSD"
DISTVERS=$(uname -r)
elif [ "$OSTYPE" = "OpenBSD" ]; then
DISTNAME="OpenBSD"
DISTVERS=$(uname -r)
elif [ "$OSTYPE" = "Darwin" ]; then
DISTNAME="Darwin"
DISTVERS=$(uname -r)
else
DISTNAME="Unknown"
fi
log "+" "Detected \"${OSTYPE}\" (${HOSTTYPE}) \"${DISTNAME}\" version \"${DISTVERS}\""
# Basic checks.
if [ "$DISTNAME" = "Unknown" ]; then
cat << EOF
Your are trying to install MBSE BBS on $OSTYPE system, however
the distribution is unknown.
EOF
log "!" "Aborted, OS is $OSTYPE, distribution is unknown"
exit 2
fi
if [ $( whoami ) != "root" ]; then
cat << EOF
*** Run $0 as root only! ***
Because some of the system files must be changed, you must be root
to use this script.
*** SETUP aborted ***
EOF
log "!" "Aborted, not root"
exit 2
fi
if [ "$MBSE_ROOT" != "" ]; then
echo "*** The MBSE_ROOT variable exists: $MBSE_ROOT ***"
echo "*** SETUP aborted ***"
log "!" "Aborted, MBSE_ROOT variable exists: ${MBSE_ROOT}"
exit 2
fi
if grep -q ^mbse: /etc/passwd ; then
echo "*** User 'mbse' already exists on this system ***"
echo "*** SETUP aborted ***"
log "!" "Aborted, user 'mbse' already exists on this system"
exit 2
fi
if grep -q ^bbs: /etc/group ; then
echo "*** Group 'bbs' already exists on this system ***"
echo "*** SETUP aborted ***"
log "!" "Aborted, group 'bbs' already exists on this system"
exit 2
fi
if [ -f /etc/passwd.lock ]; then
echo "*** The password file is locked, make sure that nobody"
echo " is using any password utilities. ***"
echo "*** SETUP aborted ***"
log "!" "Aborted, password file is locked"
exit 2
fi
#
# Check if this is Ubuntu. Ubuntu by default has no xinetd installed.
#
if [ "$DISTNAME" = "Ubuntu" ]; then
if [ ! -f /etc/xinetd.d/echo ]; then
echo "*** You seem to be using Ubuntu but have not yet installed xinetd."
echo " 'sudo apt-get install xinetd' will install that for you. ***"
echo "*** SETUP aborted ***"
log "!" "Aborted, Ubuntu without xinetd package"
exit 2
fi
fi
clear
if [ "$OSTYPE" = "Linux" ]; then
if [ -d /opt ]; then
log "+" "Directory /opt already present"
else
mkdir /opt
log "+" "Directory /opt created"
echo "Directory /opt created."
fi
fi
if [ "$OSTYPE" = "FreeBSD" ] || [ "$OSTYPE" = "NetBSD" ] || [ "$OSTYPE" = "OpenBSD" ] || [ "$OSTYPE" = "Darwin" ]; then
#
# FreeBSD/NetBSD/OpenBSD/Darwin uses /usr/local for extra packages
# and doesn't use /opt.
# Also using /opt means that we are in the root partition which
# by default is very small. We put everything in /usr/local/opt
# and create symlinks to it.
#
if [ -d /opt ]; then
log "+" "Directory /opt already present"
else
if [ -d /usr/local/opt ]; then
log "+" "Directory /usr/local/opt already present"
else
mkdir -p /usr/local/opt
log "+" "Directory /usr/local/opt created"
echo "Directory /usr/local/opt created."
fi
ln -s /usr/local/opt /opt
log "+" "Link /opt to /usr/local/opt created"
echo "Link /opt to /usr/local/opt created."
fi
fi
cat << EOF
Basic checks done.
The detected $OSTYPE distribution is $DISTNAME $DISTVERS
Everything looks allright to start the installation now.
Next the script will install a new group 'bbs' and two new
users, 'mbse' which is the bbs system account, and 'bbs' which
is the login account for bbs users. This account will have no
password! The shell for this account is the main bbs program.
One final important note: This script will make changes to some
of your system files. Because I don't have access to all kinds of
distributions and configurations there is no garantee that this
script is perfect. Please make sure you have a recent system backup.
Also make sure you have resque boot disks and know how to repair
your system. It might also be wise to login as root on another
virtual console incase something goes wrong with system login.
Darwin (OS X) Users must install the .dmg image of user utils
available on Version Tracker and within this archive prior
to continuing the installation.
If you are not sure, or forgot something, hit Control-C now or
EOF
echo -n " press Enter to start the installation "
read junk
clear
#------------------------------------------------------------------------
#
# The real work starts here
#
log "+" "Starting installation"
echo "Installing MBSE BBS for the first time..."
echo ""
echo -n "Adding group 'bbs'"
$PW groupadd bbs
log "+" "[$?] Added group bbs"
echo -n ", user 'mbse' $OSTYPE "
if [ "$OSTYPE" = "Linux" ]; then
# Different distros have different needs...
GRPS="uucp"
if grep -q ^wheel /etc/group ; then
GRPS=${GRPS}",wheel"
fi
if [ "$DISTNAME" = "Ubuntu" ]; then
GRPS=${GRPS}",adm,admin"
fi
if grep -q ^dialout /etc/group ; then
GRPS=${GRPS}",dialout"
fi
if grep -q ^dip /etc/group ; then
GRPS=${GRPS}",dip"
fi
log "+" "useradd -c \"MBSE BBS Admin\" -d $MHOME -g bbs -G $GRPS -m -s /bin/bash mbse"
useradd -c "MBSE BBS Admin" -d $MHOME -g bbs -G $GRPS -m -s /bin/bash mbse
elif [ "$OSTYPE" = "FreeBSD" ]; then
pw useradd mbse -c "MBSE BBS Admin" -d $MHOME -g bbs -G wheel,dialer -m -s /usr/local/bin/bash
elif [ "$OSTYPE" = "NetBSD" ]; then
useradd -c "MBSE BBS Admin" -d $MHOME -g bbs -G wheel,dialer -m -s /usr/pkg/bin/bash mbse
elif [ "$OSTYPE" = "OpenBSD" ]; then
useradd -c "MBSE BBS Admin" -d $MHOME -g bbs -G wheel,dialer -m -s /usr/local/bin/bash mbse
elif [ "$OSTYPE" = "Darwin" ]; then
useradd mbse -c "MBSE BBS Admin" -d $MHOME -g bbs -s /bin/bash
fi
log "+" "[$?] Added user mbse"
chmod 755 $MHOME
log "+" "[$?] chmod 755 $MHOME"
echo -n " writing '$MHOME/.profile'"
cat << EOF >$MHOME/.profile
# profile for mbse
#
export PATH=\$HOME/bin:\$PATH
export MBSE_ROOT=\$HOME
export GOLDED=\$HOME/etc
# For xterm on the Gnome desktop:
cd \$HOME
#
export COLUMNS LINES
EOF
chown mbse $MHOME/.profile
chgrp bbs $MHOME/.profile
echo ""
log "+" "Created $MHOME/.profile"
# On some systems there is a .bashrc file in the users homedir.
# It must be removed.
if [ -f $MHOME/.bashrc ] || [ -f $MHOME/.bash_profile ]; then
echo "Removing '$MHOME/.bash*'"
rm -f $MHOME/.bash*
log "+" "Removed $MHOME/.bash* files"
fi
echo ""
echo "Now set the login password for user 'mbse'"
passwd mbse
log "+" "[$?] Password is set for user mbse"
echo -n "Adding user 'bbs'"
if [ ! -d $MHOME/home ]; then
mkdir $MHOME/home
log "+" "[$?] Created directory $MHOME/home"
fi
chown mbse $MHOME/home
log "+" "[$?] chown mbse $MHOME/home"
chgrp bbs $MHOME/home
log "+" "[$?] chgrp bbs $MHOME/home"
chmod 770 $MHOME/home
log "+" "[$?] chmod 770 $MHOME/home"
if [ "$OSTYPE" = "Linux" ]; then
useradd -c "MBSE BBS Login" -d $MHOME/home/bbs -g bbs -s $MHOME/bin/mbnewusr bbs
log "+" "[$?] Added user bbs"
fi
if [ "$OSTYPE" = "FreeBSD" ]; then
pw useradd bbs -c "MBSE BBS Login" -d $MHOME/home/bbs -g bbs -s $MHOME/bin/mbnewusr
log "+" "[$?] Added user bbs"
fi
if [ "$OSTYPE" = "NetBSD" ]; then
useradd -c "MBSE BBS Login" -d $MHOME/home/bbs -m -g bbs -s $MHOME/bin/mbnewusr bbs
log "+" "[$?] Added user bbs"
fi
if [ "$OSTYPE" = "OpenBSD" ]; then
useradd -c "MBSE BBS Login" -d $MHOME/home/bbs -m -g bbs -s $MHOME/bin/mbnewusr bbs
log "+" "[$?] Added user bbs"
fi
if [ "$OSTYPE" = "Darwin" ]; then
useradd bbs -c "MBSE BBS Login" -d $MHOME/home/bbs -g bbs -s $MHOME/bin/mbnewuser
log "+" "[$?] Added user bbs"
fi
# Some systems (RedHat and Mandrake) insist on creating a users homedir.
# NetBSD gives errormessages when not creating a homedir, so we let it create.
# These are full of garbage we don't need. Kill it first.
if [ -d $MHOME/home/bbs ]; then
rm -Rf $MHOME/home/bbs
log "+" "[$?] Removed $MHOME/home/bbs"
fi
mkdir -m 0770 $MHOME/home/bbs
log "+" "[$?] mkdir $MHOME/home/bbs"
chown mbse $MHOME/home/bbs
log "+" "[$?] chown mbse $MHOME/home/bbs"
chgrp bbs $MHOME/home/bbs
log "+" "[$?] chgrp bbs $MHOME/home/bbs"
echo ", removing password:"
if [ "$OSTYPE" = "Linux" ]; then
echo -n "$$" >/etc/passwd.lock
if [ -f /etc/shadow ]; then
log "+" "Standard shadow password system"
# Not all systems are the same...
if grep -q ^bbs:\!\!: /etc/shadow ; then
sed /bbs:\!\!:/s/bbs:\!\!:/bbs::/ /etc/shadow >/etc/shadow.bbs
else
sed /bbs:\!:/s/bbs:\!:/bbs::/ /etc/shadow >/etc/shadow.bbs
fi
log "+" "[$?] removed password from user bbs"
mv /etc/shadow /etc/shadow.mbse
log "+" "[$?] made backup of /etc/shadow"
mv /etc/shadow.bbs /etc/shadow
log "+" "[$?] moved new /etc/shadow in place"
if [ "$DISTNAME" = "Debian" ] || [ "$DISTNAME" = "Ubuntu" ] || [ "$DISTNAME" = "SuSE" ]; then
# Debian, Ubuntu and SuSE use other ownership of /etc/shadow
chmod 640 /etc/shadow
chgrp shadow /etc/shadow
log "+" "[$?] Debian/Ubuntu/SuSE style owner of /etc/shadow (0640 root.shadow)"
else
chmod 600 /etc/shadow
log "+" "[$?] Default style owner of /etc/shadow (0600 root.root)"
fi
echo " File /etc/shadow.mbse is your backup of /etc/shadow"
else
log "+" "Not a shadow password system"
if grep -q ^bbs:\!\!: /etc/passwd ; then
sed /bbs:\!\!:/s/bbs:\!\!:/bbs::/ /etc/passwd >/etc/passwd.bbs
else
sed /bbs:\!:/s/bbs:\!:/bbs::/ /etc/passwd >/etc/passwd.bbs
fi
log "+" "[$?] Removed password of user bbs"
mv /etc/passwd /etc/passwd.mbse
log "+" "[$?] Made backup of /etc/passwd"
mv /etc/passwd.bbs /etc/passwd
log "+" "[$?] Moved new /etc/passwd in place"
chmod 644 /etc/passwd
log "+" "[$?] Changed owner of /etc/passwd"
echo " File /etc/passwd.mbse is your backup of /etc/passwd"
fi
rm /etc/passwd.lock
fi
if [ "$OSTYPE" = "NetBSD" ] || [ "$OSTYPE" = "OpenBSD" ] || [ "$OSTYPE" = "Darwin" ]; then
cat << EOF
READ THIS CAREFULLY NOW READ THIS CAREFULLY NOW
I don't know how to automatic remove the password for the "bbs"
user account in NetBSD/Darwin. You have to do this for me!
Next I start the editor you need to use, remove all the stars"
after the word Password, then save the file with "wq!"
EOF
echo -n "Press Enter when ready "
read junk
chpass bbs
fi
if [ "$OSTYPE" = "FreeBSD" ]; then
#
# FreeBSD has a util to remove a password
#
chpass -p "" bbs
log "+" "[$?] Removed password of user bbs"
fi
echo ""
if grep -q ^binkp /etc/services ; then
BINKD=FALSE
else
BINKD=TRUE
fi
if grep -q 60179\/tcp /etc/services ; then
FIDO_TCP=FALSE
else
FIDO_TCP=TRUE
fi
if grep -q 60179\/udp /etc/services ; then
FIDO_UDP=FALSE
else
FIDO_UDP=TRUE
fi
if grep -q ^tfido /etc/services ; then
TFIDO=FALSE
else
TFIDO=TRUE
fi
log "+" "Services: binkp=$BINKD fido_tcp=$FIDO_TCP fido_udp=$FIDO_UDP tfido=$TFIDO"
if [ "$FIDO_TCP" = "TRUE" ] || [ "$FIDO_UDP" = "TRUE" ] || [ "$TFIDO" = "TRUE" ] || [ "$BINKD" = "TRUE" ]; then
echo -n "Modifying /etc/services"
log "+" "Modifying /etc/services"
mv /etc/services /etc/services.mbse
cat /etc/services.mbse >/etc/services
echo "#" >>/etc/services
echo "# Unofficial for MBSE BBS" >>/etc/services
echo "#" >>/etc/services
if [ "$BINKD" = "TRUE" ]; then
echo -n ", binkp at port 24554"
echo "binkp 24554/tcp # mbcico IBN mode">>/etc/services
fi
if [ "$TFIDO" = "TRUE" ]; then
echo -n ", tfido at port 60177"
echo "tfido 60177/tcp # mbcico ITN mode (alternate port)">>/etc/services
fi
if [ "$FIDO_TCP" = "TRUE" ]; then
echo -n ", fido tcp at port 60179"
echo "fido 60179/tcp # mbcico IFC mode">>/etc/services
fi
if [ "$FIDO_UDP" = "TRUE" ]; then
echo -n ", fido udp at port 60179"
echo "fido 60179/udp # Chatserver">>/etc/services
fi
chmod 644 /etc/services
echo ", done."
fi
if [ -f /etc/inetd.conf ]; then
log "+" "/etc/inetd.conf found, inetd system"
if ! grep -q mbcico /etc/inetd.conf ; then
echo -n "Modifying /etc/inetd.conf"
log "+" "Modifying /etc/inetd.conf"
mv /etc/inetd.conf /etc/inetd.conf.mbse
cat /etc/inetd.conf.mbse >/etc/inetd.conf
cat << EOF >>/etc/inetd.conf
#:MBSE-BBS: bbs service
binkp stream tcp nowait mbse $MHOME/bin/mbcico mbcico -t ibn
fido stream tcp nowait mbse $MHOME/bin/mbcico mbcico -t ifc
tfido stream tcp nowait mbse $MHOME/bin/mbcico mbcico -t itn
# Example Linux telnet to the BBS
#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -L $MHOME/bin/mblogin
# Example FreeBSD telnet to the BBS
#telnet stream tcp nowait root /usr/libexec/telnetd telnetd -p $MHOME/bin/mblogin
# Example OpenBSD telnet to the BBS
#telnet stream tcp nowait root /usr/libexec/tcpd telnetd -L $MHOME/bin/mblogin
# Example NetBSD telnet to the BBS
#telnet stream tcp nowait root /usr/libexec/telnetd telnetd -g mbsebbs
EOF
chmod 644 /etc/inetd.conf
if [ -f /var/run/inetd.pid ]; then
echo -n ", restarting inetd"
kill -HUP $( cat /var/run/inetd.pid )
log "+" "[$?] restarted inetd"
else
log "!" "Warning: no inetd.pid file found"
fi
echo ", done."
fi
fi
if [ "$OSTYPE" = "NetBSD" ]; then
if [ -f /etc/gettytab ]; then
if ! grep mbsebbs /etc/gettytab ; then
log "+" "[$?] adding mbsebbs login to /etc/gettytab"
cat << EOF >>/etc/gettytab
#
# Login entry for mbsebbs.
#
mbsebbs:cd:ck:np:lo=$MHOME/bin/mblogin:sp#38400:
EOF
fi
fi
fi
if [ -f /etc/xinetd.conf ]; then
log "+" "/etc/xinetd.conf found, xinetd system"
if [ -d /etc/xinetd.d ]; then
log "+" "has xinetd.d subdir, writing files"
XINET="/etc/xinetd.d/mbsebbs"
else
log "+" "appending to xinetd.conf"
XINET="/etc/xinetd.conf"
fi
cat << EOF >> $XINET
#:MBSE BBS services are defined here.
#
# Author: Michiel Broek <mbse@mbse.eu>, 27-Sep-2004
service binkp
{
socket_type = stream
protocol = tcp
wait = no
user = mbse
instances = 10
server = $MHOME/bin/mbcico
server_args = -t ibn
}
service fido
{
socket_type = stream
protocol = tcp
wait = no
user = mbse
instances = 10
server = $MHOME/bin/mbcico
server_args = -t ifc
}
service tfido
{
socket_type = stream
protocol = tcp
wait = no
user = mbse
instances = 10
server = $MHOME/bin/mbcico
server_args = -t itn
}
# Telnet to the bbs using mblogin, disabled by default.
#
service telnet
{
disable = yes
protocol = tcp
instances = 10
flags = REUSE
log_on_failure += USERID
socket_type = stream
user = root
server = /usr/sbin/telnetd
server_args = -L $MHOME/bin/mblogin
wait = no
}
EOF
fi
# We made it, copy the logfile to mbse's homedir so that when the
# /tmp directory is cleaned, we still have it.
cat SETUP.log >> $MHOME/SETUP.log
echo ""
echo -n "Press Enter to continue"
read junk
clear
cat << EOF
The script made it to the end, that looks good. Before you logout do some
sanity checks;
1. Can you still login as a normal user.
2. Login on another virtual console, network or whatever as user 'mbse'.
Then type 'echo \$MBSE_ROOT'. Does this show the path to
'$MHOME' or nothing.
3. Login on another virtual console as user 'bbs'. It should not ask for
a password, but should direct try to start the bbs. This is not
installed yet but you should see error messages and then be logged out.
If these three tests weren't successfull, restore /etc/passwd and
or /etc/shadow, the backup copies have the extension '.mbse'.
Then issue (as root of course) the following commands:
EOF
if [ "$OSTYPE" = "Linux" ] || [ "$OSTYPE" = "NetBSD" ] || [ "$OSTYPE" = "OpenBSD" ]; then
if [ "$DISTNAME" = "Ubuntu" ]; then
echo " sudo userdel bbs"
echo " sudo userdel -r mbse"
echo " sudo groupdel bbs"
else
echo " userdel bbs"
echo " userdel -r mbse"
echo " groupdel bbs"
fi
fi
if [ "$OSTYPE" = "FreeBSD" ]; then
echo " pw userdel bbs -r"
echo " pw userdel mbse -r"
echo " pw groupdel bbs"
fi

138
TODO Normal file
View File

@ -0,0 +1,138 @@
$Id: TODO,v 1.353 2008/11/29 13:59:33 mbse Exp $
MBSE BBS V0.95.5 TODO list.
---------------------------
These are a list of things that must be implemented one way or
another. Some things are urgent and necessary to operate the bbs
without human intervention, others are just for comfort, or nice.
I think this list will always contain items, I only hope the urgent
matters will be removed.
Note that most goodies are still in my mind instead of in this file.
Classes: U = Urgent.
N = Normal, second priority.
L = Cosmetic or nice to have.
W = Feature request.
X = Will not be done unless it's really needed.
everything:
W: Implement IPv6.
N: In BSO the i flavor should have been d flavor.
N: Increase size of Unix usernames > 8. The limit on Slackware is 32
characters, defined in utmp.h in UT_NAMESIZE
L: Add personal message area.
N: The ttyinfo.tty field is too short for NetBSD.
W: Implement topic groups for file and message areas, with access level
control.
W: Switch to MySQL as database backend. This can also solve some other
limitations. A php API should be added too.
mbsebbs:
W: OLR, implement file requests.
N: Only count posted messages in local mail areas.
X: OLR: include private email area in download packets. See also global
wish for private mail areas.
X: OLR: implement some global settings from the offline configuration.
X: OLR: check qwke extensions.
N: OLR: qwk, check netmail entered from reader, fido address missing?
W: Implement kermit protocol, external versions don't work right.
mbfido:
N: Don't log an error if no file_id.diz is found.
W: Check all .flo files for dead attachments.
W: Check all .flo files for to old attachments.
W: Count posted messages during mailscan.
W: Code cleanup and make a structure in this program. Remove duplicate
or similar functions.
N: Process GoldED filerequest netmails with the filereq flag set, we
should create a .req file with the contents of the subject line.
N: Process To: and Cc: lines in messages gated from Fido to Internet.
N: Investigate a method to scan and filter messages using the gateway.
W: Add macro's for stats of all months.
W: Implement file requests for directory nodes.
W: Add %from command to areamgr/filemgr.
W: Add netmail notification of changed areas.
W: Make it possible to only virus scan the complete archives.
W: Let mbfido areas with a special switch update area descriptions.
W: Send rulefile via netmail for each new connected mail area.
W: Send notifications to downlinks about changed areas from uplink.
W: Add statistic mail messages. Via AMC??
N: After readalias we need to free the alias list when mbfido ends.
N: Hatch statistics are not updated.
W: Copy personal mail to a personal message area.
W: Someday make retoss from bad possible (volonteers?).
W: AreaMgr %rescan should auto connect disconnected areas.
mbcico:
L: Implement binkp option ND and NDA.
mbnntp:
N: fetched mail doesn't get the status Rcvd if it was for the user.
N: Do a better job for message linking by newsclients. This is a
problem because we use the message numbers and messages are
sometimes renumbered. This will make some clients try to fetch
the wrong messages because they cache the message id's.
N: Lastread pointers are not updated.
N: Investigate a method to scan and filter messages using the gateway.
mbaff:
W: Rewrite filefind search algorithm.
mbsetup:
U: Menu 7.x.4.1 password length too large?
U: Add check for empty data files.
N: Add a check for double areatag names. See MySQL plan.
N: Use some sort of sorting for the system aka's and make sure the
main aka with zone's is listed first. Having zone's mixed gives
too high outbound stats and the outbound is scanned multiple times.
N: Put ZMH fields in the network setup for each zone. Currently Z1-6.
See MySQL plan.
W: Add global setup in menus 9.1 and 10.1 at least to change uplink
data.
W: See if a check can be made in file groups setup for the areas file
format, if a filegate list is installed and the filegate switch
setting is wrong, a lot of wrong areas will be created.

18
UPGRADE Normal file
View File

@ -0,0 +1,18 @@
UPGRADE INSTRUCTIONS.
Read the file ChangeLog from the version you are currently running
until you reach the current version. With every version that needs
upgrade you will find the instructions there. Read them carefully
and perform all necessary steps.
Read the file ChangeLog from the version you are currently running
until you reach the current version. With every version that needs
upgrade you will find the instructions there. Read them carefully
and perform all necessary steps.
Yes, I wrote this twice, please do the same with the update
instructions.
Michiel.

149
aclocal.m4 vendored Normal file
View File

@ -0,0 +1,149 @@
dnl aclocal.m4 generated automatically by aclocal 1.4-p4
dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
dnl PARTICULAR PURPOSE.
dnl aclocal.m4 generated automatically by aclocal 1.4
dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
dnl PARTICULAR PURPOSE.
# Do all the work for Automake. This macro actually does too much --
# some checks are only needed if your package does certain things.
# But this isn't really a big deal.
# serial 1
dnl Usage:
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
AC_DEFUN(AM_INIT_AUTOMAKE,
[AC_REQUIRE([AC_PROG_INSTALL])
PACKAGE=[$1]
AC_SUBST(PACKAGE)
VERSION=[$2]
AC_SUBST(VERSION)
dnl test to see if srcdir already configured
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi
ifelse([$3],,
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
AC_REQUIRE([AM_SANITY_CHECK])
AC_REQUIRE([AC_ARG_PROGRAM])
dnl FIXME This is truly gross.
missing_dir=`cd $ac_aux_dir && pwd`
AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
AC_REQUIRE([AC_PROG_MAKE_SET])])
#
# Check to make sure that the build environment is sane.
#
AC_DEFUN(AM_SANITY_CHECK,
[AC_MSG_CHECKING([whether build environment is sane])
# Just in case
sleep 1
echo timestamp > conftestfile
# Do `set' in a subshell so we don't clobber the current shell's
# arguments. Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
if test "[$]*" = "X"; then
# -L didn't work.
set X `ls -t $srcdir/configure conftestfile`
fi
if test "[$]*" != "X $srcdir/configure conftestfile" \
&& test "[$]*" != "X conftestfile $srcdir/configure"; then
# If neither matched, then we have a broken ls. This can happen
# if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane".
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
alias in your environment])
fi
test "[$]2" = conftestfile
)
then
# Ok.
:
else
AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
rm -f conftest*
AC_MSG_RESULT(yes)])
dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
dnl The program must properly implement --version.
AC_DEFUN(AM_MISSING_PROG,
[AC_MSG_CHECKING(for working $2)
# Run test in a subshell; some versions of sh will print an error if
# an executable is not found, even if stderr is redirected.
# Redirect stdin to placate older versions of autoconf. Sigh.
if ($2 --version) < /dev/null > /dev/null 2>&1; then
$1=$2
AC_MSG_RESULT(found)
else
$1="$3/missing $2"
AC_MSG_RESULT(missing)
fi
AC_SUBST($1)])
# Like AC_CONFIG_HEADER, but automatically create stamp file.
AC_DEFUN(AM_CONFIG_HEADER,
[AC_PREREQ([2.12])
AC_CONFIG_HEADER([$1])
dnl When config.status generates a header, we must update the stamp-h file.
dnl This file resides in the same directory as the config header
dnl that is generated. We must strip everything past the first ":",
dnl and everything past the last "/".
AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
<<am_indx=1
for am_file in <<$1>>; do
case " <<$>>CONFIG_HEADERS " in
*" <<$>>am_file "*<<)>>
echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
;;
esac
am_indx=`expr "<<$>>am_indx" + 1`
done<<>>dnl>>)
changequote([,]))])
dnl AM_PROG_LEX
dnl Look for flex, lex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT
AC_DEFUN(AM_PROG_LEX,
[missing_dir=ifelse([$1],,`cd $ac_aux_dir && pwd`,$1)
AC_CHECK_PROGS(LEX, flex lex, "$missing_dir/missing flex")
AC_PROG_LEX
AC_DECL_YYTEXT])

50
checkbasic Executable file
View File

@ -0,0 +1,50 @@
#!/bin/sh
#
# $Id: checkbasic,v 1.3 2006/07/02 11:07:36 mbse Exp $
#
# checkbasic - A script for mbse bbs that checks if your
# installation is correct. If it is then
# normal installation is allowed. If it is
# pristine, basic installation must be done.
# If it bad or incomplete installed it will
# give an errormessage.
if [ "`grep mbse: /etc/passwd`" != "" ]; then
if [ "`grep bbs: /etc/group`" != "" ]; then
if [ -n "$MBSE_ROOT" ]; then
if [ "$LOGNAME" = "root" ]; then
#
# Newer su versions change logname when su to root without
# environment change. Try to fix LOGNAME variable.
#
export LOGNAME="`who am i | awk -F ' ' '{ print $1 }'`"
fi
if [ "$LOGNAME" = "mbse" ]; then
#
# Looks good, normal mbse user and environment is set.
# Exit with errorcode 0
echo "Hm, looks good..."
exit 0
else
echo "*** You are not logged in as user 'mbse' ***"
exit 1
fi
else
echo "*** MBSE_ROOT environment is not set or you are not 'mbse' ***"
if [ "$LOGNAME" = "root" ]; then
echo "*** You seem to be root, did you use 'su -' instead of 'su' ***"
fi
exit 1
fi
else
echo "*** Group 'bbs' is missing on your system ***"
exit 1
fi
else
echo "*** User 'mbse' is missing on your system ***"
echo " It looks like you need to do a basic install."
echo " Make sure you are root and type ./SETUP.sh and"
echo " read the file INSTALL for instructions."
fi
exit 1

11607
configure vendored Executable file

File diff suppressed because it is too large Load Diff

406
configure.ac Normal file
View File

@ -0,0 +1,406 @@
# Process this file with autoconf to produce a configure script.
# $Id: configure.ac,v 1.29 2008/11/29 13:59:33 mbse Exp $
AC_INIT(lib/mbselib.h)
AM_CONFIG_HEADER(config.h)
SUBDIRS="lib mbcico mbfido mbmon mbsebbs mbutils mbnntp mbtask mbsetup unix lang examples html script"
AC_SUBST(SUBDIRS)
#
# General settings for MBSE BBS
# After changeing the version number, run autoconf!
#
PACKAGE="mbsebbs"
MAJOR="0"
MINOR="95"
REVISION="5"
VERSION="$MAJOR.$MINOR.$REVISION"
COPYRIGHT="Copyright (C) 1997-2008 Michiel Broek, All Rights Reserved"
SHORTRIGHT="Copyright (C) 1997-2008 M. Broek"
GROUP="bbs"
OWNER="mbse"
ROWNER="`id -un root`"
RGROUP="`id -gn root`"
AC_SUBST(PACKAGE)
AC_SUBST(MAJOR)
AC_SUBST(MINOR)
AC_SUBST(REVISION)
AC_SUBST(COPYRIGHT)
AC_SUBST(GROUP)
AC_SUBST(OWNER)
AC_SUBST(ROWNER)
AC_SUBST(RGROUP)
AC_PREFIX_DEFAULT(/opt/mbse)
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
AC_DEFINE_UNQUOTED(VERSION_MAJOR, $MAJOR)
AC_DEFINE_UNQUOTED(VERSION_MINOR, $MINOR)
AC_DEFINE_UNQUOTED(VERSION_REVISION, $REVISION)
AC_DEFINE_UNQUOTED(COPYRIGHT, "$COPYRIGHT")
AC_DEFINE_UNQUOTED(SHORTRIGHT, "$SHORTRIGHT")
AC_SUBST(VERSION)
SYSTEM="`uname -s`"
CPU="`uname -m`"
LDFLAGS="-L/usr/local/lib"
CPPFLAGS="-I/usr/local/include"
#
# Checks for programs.
# Try to find GNU make
#
AC_CHECK_PROG(MAKE, gmake, gmake)
AC_CHECK_PROG(MAKE, make, make)
# Alternate awk check, I skip mawk because it doesn't work for MBSE.
AC_CHECK_PROG(AWK, gawk, gawk)
AC_CHECK_PROG(AWK, nawk, nawk)
AC_CHECK_PROG(AWK, awk, awk)
# Try to find GNU install
AC_CHECK_PROG(INSTALL, ginstall, ginstall)
AC_CHECK_PROG(INSTALL, install, install)
AC_PROG_CC
AC_PROG_MAKE_SET
AC_PROG_RANLIB
AC_PROG_LN_S
AC_CHECK_PROG(TAR, tar, tar)
AC_CHECK_PROG(ZIP, zip, zip)
AC_PATH_PROG(CHOWN, chown, chown, /bin:/sbin:/usr/bin:/usr/sbin:)
AC_C_BIGENDIAN
#
# Additional commandline switches
#
AC_ARG_ENABLE(experiment, [ --enable-experiment Compile experimental code], [ experiment=$enableval ], [ experiment=no ])
if test "$experiment" = "yes"; then
AC_DEFINE(USE_EXPERIMENT)
fi
AC_ARG_ENABLE(debugging, [ --enable-debugging Compile for debugging], [ debugging=$enableval ], [ debugging=no ])
if test "$debugging" = "yes"; then
CFLAGS="-O -g -Wall -Wshadow -Wwrite-strings -Wstrict-prototypes -D_REENTRANT -I/usr/local/include"
else
CFLAGS="-O2 -fno-strict-aliasing -Wall -Wshadow -Wwrite-strings -Wstrict-prototypes -D_REENTRANT -I/usr/local/include"
fi
AC_ARG_ENABLE(optimize, [ --enable-optimize Enable CPU optimize], [ optimize=$enableval ], [ optimize=no ])
if test "$optimize" = "yes"; then
AC_MSG_CHECKING(for cpuflags)
for cpuflagsbin in /usr/bin /usr/local/bin /usr/pkg/bin `pwd` NONE; do
if test "$cpuflagsbin" = "NONE"; then
AC_MSG_RESULT(unknown)
elif test -x $cpuflagsbin/cpuflags; then
CPUFLAGS=`$cpuflagsbin/cpuflags`
AC_MSG_RESULT($CPUFLAGS)
CFLAGS="$CPUFLAGS $CFLAGS"
break
fi
done
fi
#
# Enable full newsgate, this was default upto 0.50.0
#
AC_ARG_ENABLE(newsgate, [ --enable-newsgate Compile with newsgate], [ newsgate=$enableval ], [ newsgate=no ])
if test "$newsgate" = "yes"; then
AC_DEFINE(USE_NEWSGATE)
NEWSGATE="Yes"
else
NEWSGATE="No"
fi
#
# Checks for libraries and functions.
#
AC_CHECK_LIB(compat,re_comp,result=yes,result=no)
if test "$result" = "yes"; then
LIBS="$LIBS -lcompat"
fi
AC_CACHE_CHECK(for pw_age in struct passwd, ac_cv_struct_passwd_pw_age, AC_TRY_COMPILE([#include <pwd.h>],
[ struct passwd pw; pw.pw_age = ""; ], ac_cv_struct_passwd_pw_age=yes, ac_cv_struct_passwd_pw_age=no))
if test "$ac_cv_struct_passwd_pw_age" = "yes"; then
AC_DEFINE(ATT_AGE)
fi
AC_CACHE_CHECK(for pw_comment in struct passwd, ac_cv_struct_passwd_pw_comment, AC_TRY_COMPILE([#include <pwd.h>],
[ struct passwd pw; pw.pw_comment = ""; ], ac_cv_struct_passwd_pw_comment=yes, ac_cv_struct_passwd_pw_comment=no))
if test "$ac_cv_struct_passwd_pw_comment" = "yes"; then
AC_DEFINE(ATT_COMMENT)
fi
AC_CHECK_LIB(shadow,setspent,result=yes,result=no)
if test "$result" = "yes"; then
LIBS="$LIBS -lshadow"
SHADOW_PASSWORD=1
LIBSHADOW=1
else
AC_CHECK_LIB(shadow,getspnam,result=yes,result=no)
if test "$result" = "yes"; then
LIBS="$LIBS -lshadow"
SHADOW_PASSWORD=1
LIBSHADOW=1
else
# some libc's (glibc 2.x) keep shadow functions in -lc
AC_CHECK_LIB(c,setspent,result=yes,result=no)
if test "$result" = "yes"; then
if test -f /etc/shadow; then
SHADOW_PASSWORD=1
fi
fi
fi
fi
if test "$SHADOW_PASSWORD" = "1"; then
if test "$ac_cv_func_fgetspent" != "yes"; then
AC_CHECK_LIB(shadow,fgetspent,result=yes,result=no)
if test "$result" = "yes"; then
if test "$LIBSHADOW" != "1"; then
LIBS="$LIBS -lshadow"
fi
fi
fi
AC_DEFINE(SHADOW_PASSWORD)
fi
AC_CHECK_LIB(crypt,crypt,result=yes,result=no)
if test "$result" = "yes"; then
LIBS="$LIBS -lcrypt"
fi
AC_CHECK_LIB(util,login,result=yes,result=no)
if test "$result" = "yes"; then
LIBS="$LIBS -lutil"
AC_CHECK_HEADERS(util.h)
AC_CHECK_HEADERS(libutil.h)
AC_CHECK_HEADERS(sys/types.h)
fi
#
# Support for zlib and bzlib transfers compression
#
ZLIBSUP=No
AC_CHECK_LIB(z,compress2,result=yes,result=no)
if test "$result" = "yes"; then
LIBS="$LIBS -lz"
AC_CHECK_HEADERS(zlib.h,ZLIBSUP=Yes,ZLIBSUP=No)
fi
BZLIBSUP=No
AC_CHECK_LIB(bz2,BZ2_bzCompressInit,result=yes,result=no)
if test "$result" = "yes"; then
LIBS="$LIBS -lbz2"
AC_CHECK_HEADERS(bzlib.h,BZLIBSUP=Yes,BZLIBSUP=No)
fi
#
# Support for iconv, check libc first.
#
result="no"
AC_CHECK_FUNC(iconv_open,result=yes,
# AC_SEARCH_LIBS(iconv_open,iconv,result=yes,result=no)
AC_CHECK_LIB(iconv,iconv_open,result=yes,result=no)
if test "$result" = "yes"; then
LIBS="$LIBS -liconv"
fi
)
if test "$result" = "yes"; then
AC_CHECK_HEADERS(iconv.h)
fi
#
# Checks for header files.
#
AC_HEADER_STDC
AC_HEADER_DIRENT
AC_HEADER_TIME
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS(termios.h sys/termios.h termio.h sys/termio.h sgtty.h)
AC_CHECK_HEADERS(sys/time.h sys/vfs.h unistd.h netinet/in.h regex.h)
AC_CHECK_HEADERS(sys/resource.h usersec.h gshadow.h shadow.h crypt.h)
AC_CHECK_HEADERS(limits.h utmp.h utmpx.h lastlog.h rpc/key_prot.h)
AC_STRUCT_TIMEZONE
#
# Checks for typedefs, structures, and compiler characteristics.
#
AC_C_CONST
AC_TYPE_UID_T
AC_TYPE_OFF_T
AC_TYPE_PID_T
AC_TYPE_MODE_T
AC_TYPE_SIZE_T
AC_TYPE_SSIZE_T
AC_STRUCT_ST_BLKSIZE
AC_HEADER_STAT
AC_STRUCT_TM
#
# Checks for library functions.
#
AC_CHECK_FUNCS(c64i a64l fchmod fchown fdatasync fsync lckpwdf strcasestr putpwent)
AC_PROG_GCC_TRADITIONAL
AC_FUNC_MEMCMP
AC_TYPE_SIGNAL
AC_FUNC_UTIME_NULL
AC_CHECK_FUNCS(gettimeofday re_comp select statfs statvfs)
AC_CHECK_FUNCS(getspnam initgroups updwtmp updwtmpx)
#
# Check for usefull external programs
#
AC_PATH_PROG(COMPRESS,compress,no-compress-found-during-configure)
AC_PATH_PROG(GZIP,gzip,no-gzip-found-during-configure)
AC_PATH_PROG(ARC,arc)
AC_PATH_PROG(NOMARCH,nomarch)
AC_PATH_PROG(ARJ,arj)
AC_PATH_PROG(UNARJ,unarj)
AC_PATH_PROG(LHA,lha)
AC_PATH_PROG(RAR,rar)
AC_PATH_PROG(UNRAR,unrar)
AC_PATH_PROG(TAR,tar)
AC_PATH_PROG(ZIP,zip)
AC_PATH_PROG(UNZIP,unzip)
AC_PATH_PROG(ZOO,zoo)
AC_PATH_PROG(HA,ha)
AC_PATH_PROG(ANTIVIR,antivir)
AC_PATH_PROG(FPROT,fpscan)
AC_PATH_PROG(UVSCAN,uvscan)
AC_PATH_PROG(CLAMAV,clamscan)
AC_PATH_PROG(RB,rb)
AC_PATH_PROG(RB,lrb)
AC_PATH_PROG(SB,sb)
AC_PATH_PROG(SB,lsb)
AC_PATH_PROG(RZ,rz)
AC_PATH_PROG(RZ,lrz)
AC_PATH_PROG(SZ,sz)
AC_PATH_PROG(SZ,lsz)
AC_PATH_PROG(GOLDEDBIN,golded)
AC_PATH_PROG(GOLDEDBIN,gedlnx)
AC_PATH_PROG(GOLDNODE,goldnode)
AC_PATH_PROG(GOLDNODE,gnlnx)
AC_PATH_PROG(CONVERT,convert)
#
# Check for GeoIP support, see http://www.maxmind.com/
#
GEOIPSUP=No
AC_CHECK_LIB(GeoIP,GeoIP_new,result=yes,result=no)
if test "$result" = "yes"; then
LIBS="$LIBS -lGeoIP"
AC_CHECK_HEADERS(GeoIP.h GeoIPCity.h,GEOIPSUP=Yes,GEOIPSUP=No)
fi
#
# FIX DEL for Del!=207, this was default upto 207 or 126 if no argument
#
AC_ARG_ENABLE(gbkdel, [ --enable-gbkdel Delete key is 126 (default is 207)], [ gbkdel=$enableval ], [ gbkdel=no ])
if test "$gbkdel" = "yes"; then
GBK_DEL=126
DEL=$GBK_DEL
echo "checking delete key... changed into $DEL"
else
DEL="default"
GBK_DEL=0
echo "checking delete key... default"
fi
AC_DEFINE_UNQUOTED(GBK_DEL,$GBK_DEL)
AC_MSG_CHECKING(location of joe editor)
for joebin in /usr/bin /usr/local/bin /usr/pkg/bin NONE; do
if test "$joebin" = "NONE"; then
AC_MSG_RESULT(not found)
elif test -x $joebin/joe; then
AC_SUBST(joebin)
AC_MSG_RESULT($joebin)
break
fi
done
AC_MSG_CHECKING(location of joe rc files)
for joelib in /etc/joe /usr/lib/joe /usr/local/etc /usr/local/etc/joe /usr/local/lib/joe /usr/local/lib /usr/pkg/lib /usr/pkg/etc NONE; do
if test "$joelib" = "NONE"; then
AC_MSG_RESULT(not found)
elif test -f $joelib/joerc; then
AC_SUBST(joelib)
AC_MSG_RESULT($joelib)
break
fi
done
AC_MSG_CHECKING(location of utmp)
for utmpdir in /var/run /var/adm /usr/adm /etc NONE; do
if test "$utmpdir" = "NONE"; then
AC_MSG_WARN(utmp file not found)
elif test -f $utmpdir/utmp; then
AC_DEFINE_UNQUOTED(_UTMP_FILE, "$utmpdir/utmp")
AC_MSG_RESULT($utmpdir)
break
fi
done
AC_MSG_CHECKING(location of lastlog/wtmp)
for logdir in /var/log /var/adm /usr/adm /etc; do
if test -d $logdir; then
AC_DEFINE_UNQUOTED(_WTMP_FILE, "$logdir/wtmp")
AC_DEFINE_UNQUOTED(LASTLOG_FILE, "$logdir/lastlog")
AC_MSG_RESULT($logdir)
break
fi
done
AC_MSG_CHECKING(location of vpopmail)
for vpop in /var/qmail/vpopmail/bin NONE; do
if test "$vpop" = "NONE"; then
AC_MSG_RESULT(not found)
elif test -x $vpop/vadduser; then
AC_DEFINE_UNQUOTED(_VPOPMAIL_PATH, "$vpop")
AC_MSG_RESULT($vpop)
break
fi
done
AC_OUTPUT(
Makefile.global
paths.h
unix/login.defs
INSTALL
FILE_ID.DIZ
script/editor
html/index.htm
html/basic.html
html/upgrade.html
)
#=================================================================================
AC_MSG_RESULT([
-=-=-=-=-=-=-=-=-=-= Configuration Complete =-=-=-=-=-=-=-=-=-=-
Configuration summary :
Version : ..................... ${VERSION}
Hydra/Binkp zlib compression : ${ZLIBSUP}
Binkp bzlib compression : ..... ${BZLIBSUP}
Full newsgate : ............... ${NEWSGATE}
GeoIP support : ............... ${GEOIPSUP}
Delete key : .................. ${DEL}
])
if test x$ac_cv_c_compiler_gnu = xyes ; then
echo -e " Tools :\n"
echo " Compiler is GCC : ............. ${ac_cv_c_compiler_gnu}"
fi
AC_MSG_RESULT([
Installation directories :
Main directory : ........... ${prefix}
Owner and group : ........... ${OWNER}.${GROUP}
Now type 'make' and as root 'make install'
])

140
cpuflags Executable file
View File

@ -0,0 +1,140 @@
#!/bin/sh
#
# $Id: cpuflags,v 1.2 2004/09/25 10:47:33 mbse Exp $
#
# Small script to try to find out the CPU optimisation flags.
# Based on ideas found in the NetBSD cpuflags script.
#
OS=`uname -s`
case $OS in
FreeBSD | NetBSD)
if [ -x /sbin/sysctl ]; then
SYSCTL=/sbin/sysctl
elif [ -x /usr/sbin/sysctl ]; then
SYSCTL=/usr/sbin/sysctl
elif [ -x /bin/sysctl ]; then
SYSCTL=/bin/sysctl
else
SYSCTL=/usr/bin/sysctl
fi
hw_machine_arch=`$SYSCTL -n hw.machine_arch`
hw_model=`$SYSCTL -n hw.model`
case $hw_machine_arch in
alpha)
# cpu0 at mainbus0: ID 0 (primary), 21164A-0 (unknown ...
case "`egrep '^cpu0 ' /var/run/dmesg.boot`" in
*[\(\ ]2106[46][-\ \)]*) FLAGS="-mcpu=21064" ;;
*[\(\ ]21164[-\ \)]*) FLAGS="-mcpu=21164" ;;
*[\(\ ]21164A[-\ \)]*) FLAGS="-mcpu=21164a" ;;
*[\(\ ]21264B[-\ \)]*) FLAGS="-mcpu=21264" ;;
esac
;;
i386)
case $hw_model in
*386-class*) FLAGS='-march=i386' ;;
*486-class*) FLAGS='-march=i486' ;;
*AMD\ K6*) FLAGS='-march=k6' ;;
*Pentium*) FLAGS='-march=pentium' ;;
*586-class*) FLAGS='-march=pentium' ;;
*686-class*) FLAGS='-march=pentiumpro' ;;
esac
;;
sparc | sparc64)
case " $hw_model" in # Examples
*[\ \(]MB86900/1A*) FLAGS='-mcpu=cypress' ;; # ss1+
*[\ \(]CY7C601*) FLAGS='-mcpu=cypress' ;; # ss2
*[\ \(]W8601/8701*) FLAGS='-mcpu=cypress' ;; # elc
*[\ \(]MB86904*) FLAGS='-mcpu=supersparc' ;; # ss5 usparc
*[\ \(]MB86907*) FLAGS='-mcpu=supersparc' ;; # ss5 usparc
*[\ \(]TMS390S10*) FLAGS='-mcpu=supersparc' ;; # classic "
*[\ \(]TMS390Z50*) FLAGS='-mcpu=supersparc' ;; # ss10/ss20
*[\ \(]RT620/625*) FLAGS='-mcpu=supersparc' ;; # ss20 ross
*[\ \(]MB86930*) FLAGS='-mcpu=sparclite' ;; # from gcc
*[\ \(]MB86934*) FLAGS='-mcpu=sparclite' ;; # from gcc
# under 1.5.1 -mcpu=ultrasparc chokes egcs-2.91.66 compiling perl
*[\ \(]SUNW,UltraSPARC*) FLAGS='-mcpu=v9' ;; # Ultra
esac
;;
esac
;;
Linux)
hw_machine_arch=`uname -m`
case $hw_machine_arch in
parisc)
case "`egrep 'cpu family' /proc/cpuinfo | cut -d ' ' -f 4`" in
1.0*) FLAGS='-march=1.0' ;;
1.1*) FLAGS='-march=1.1' ;;
2.0*) FLAGS='-march=2.0' ;;
esac
case "`egrep 'cpu ' /proc/cpuinfo | cut -d ' ' -f 2`" in
PA7100LC) FLAGS=${FLAGS}' -mschedule=7100LC' ;;
esac
;;
i386)
FLAGS='-march=i386'
;;
i486)
FLAGS='-march=i486'
;;
i586)
FLAGS='-march=pentium'
;;
i686)
FLAGS='-march=pentiumpro'
;;
*)
echo "Unsupported Linux arch $hw_machine_arch"
exit 1
;;
esac
;;
*)
echo "Unsupported OS $OS"
exit 1
;;
esac
# Fixup flags for old gcc
if [ -n "$FLAGS" ]; then
gcc_ver=`gcc -v 2>&1 | awk '/gcc version/ {sub("egcs-","");print $3}'`
FLAGS=`awk -v "flags=$FLAGS" -v "gcc_ver=$gcc_ver" '
{if (gcc_ver < $1){map[$2] = ""$3}}
END{if (flags in map) {print map[flags]}else {print flags}}
' <<EOD
2.90 -mcpu=21164a
2.90 -march=i386 -mno-486
2.90 -march=i486 -m486
2.90 -march=pentium -m486
2.90 -march=pentiumpro -m486
2.90 -mcpu=supersparc -msupersparc
2.90 -mcpu=sparclite -msparclite
2.90 -mcpu=cypress -mcypress
2.90 -mcpu=v9 -mv8
2.90 -mcpu=arm610 -m6
2.90 -mcpu=strongarm110 -m6
2.90 -mcpu=arm710 -m6
2.95 -march=k6 -march=pentium
EOD
`
fi
echo $FLAGS
exit 0

1
examples/.cvsignore Normal file
View File

@ -0,0 +1 @@
filelist endian

145
examples/Makefile Normal file
View File

@ -0,0 +1,145 @@
# Copyright (c) M. Broek, 1997-2001
# $Id: Makefile,v 1.26 2008/12/01 19:26:29 mbse Exp $
include ../Makefile.global
OTHER = Makefile header.txt footer.txt \
menus-en.tar txtfiles-en.tar templates-en.tar \
menus-es.tar txtfiles-es.tar templates-es.tar \
menus-de.tar txtfiles-de.tar templates-de.tar \
templates-nl.tar
#####################################################################################
.c.o:
${CC} ${CFLAGS} ${INCLUDES} ${DEFINES} -c $<
all:
help:
@echo "Installation help for the example files"
@echo ""
@echo "make install Installs everything not yet installed"
@echo "make install-force Reinstalls all menus, textfiles and macros"
@echo ""
@echo "make english-menus Force (re)installation of English menus"
@echo "make english-txtfiles Force (re)installation of English textfiles"
@echo "make english-macros Force (re)installation of English macros"
@echo "make english Force (re)installation of all English files"
@echo ""
@echo "make macros Force (re)installation of all macro templates"
@echo ""
@echo "You may replace the word english above with spanish, german or dutch"
english-menus:
@tar xfC menus-en.tar ${PREFIX}/share/int/menus/en
@echo "Installed default English menus"
english-txtfiles:
@tar xfC txtfiles-en.tar ${PREFIX}/share/int/txtfiles/en
@echo "Installed default English txtfiles"
english-macros:
@tar xfC templates-en.tar ${PREFIX}/share/int/macro/en
@echo "Installed default English macro files"
english: english-menus english-macros english-txtfiles
spanish-menus:
@tar xfC menus-es.tar ${PREFIX}/share/int/menus/es
@echo "Installed default Spanish menus"
spanish-txtfiles:
@tar xfC txtfiles-es.tar ${PREFIX}/share/int/txtfiles/es
@echo "Installed default Spanish txtfiles"
spanish-macros:
@tar xfC templates-es.tar ${PREFIX}/share/int/macro/es
@echo "Installed default Spanish macro files"
spanish: spanish-menus spanish-txtfiles spanish-macros
german-menus:
@tar xfC menus-de.tar ${PREFIX}/share/int/menus/de
@echo "Installed default German menus"
german-txtfiles:
@tar xfC txtfiles-de.tar ${PREFIX}/share/int/txtfiles/de
@echo "Installed default German txtfiles"
german-macros:
@tar xfC templates-de.tar ${PREFIX}/share/int/macro/de
@echo "Installed default German macro files"
german: german-menus german-txtfiles german-macros
dutch-macros:
@tar xfC templates-nl.tar ${PREFIX}/share/int/macro/nl
@echo "Installed default Dutch macro files"
dutch: dutch-macros
galego:
install-force: english spanish dutch german galego
macros: english-macros spanish-macros german-macros dutch-macros
install:
@if [ ! -f ${ETCDIR}/header.txt ]; then \
${INSTALL} -c -o ${OWNER} -g ${GROUP} -m 0644 header.txt ${ETCDIR} ; \
echo "${INSTALL} -c -o ${OWNER} -g ${GROUP} -m 0644 header.txt ${ETCDIR}" ; \
fi
@if [ ! -f ${ETCDIR}/footer.txt ]; then \
${INSTALL} -c -o ${OWNER} -g ${GROUP} -m 0644 footer.txt ${ETCDIR} ; \
echo "${INSTALL} -c -o ${OWNER} -g ${GROUP} -m 0644 footer.txt ${ETCDIR}" ; \
fi
@if [ ! -f ${PREFIX}/share/int/menus/en/main.mnu ]; then ${MAKE} -s english-menus ; fi
@if [ ! -f ${PREFIX}/share/int/txtfiles/en/main.ans ]; then ${MAKE} -s english-txtfiles ; fi
@if [ ! -f ${PREFIX}/share/int/macro/en/html.tic ]; then ${MAKE} -s english-macros ; fi
@if [ ! -f ${PREFIX}/share/int/menus/es/main.mnu ]; then ${MAKE} -s spanish-menus ; fi
@if [ ! -f ${PREFIX}/share/int/txtfiles/es/main.ans ]; then ${MAKE} -s spanish-txtfiles ; fi
@if [ ! -f ${PREFIX}/share/int/macro/es/html.tic ]; then ${MAKE} -s spanish-macros ; fi
@if [ ! -f ${PREFIX}/share/int/menus/de/main.mnu ]; then ${MAKE} -s german-menus ; fi
@if [ ! -f ${PREFIX}/share/int/txtfiles/de/main.ans ]; then ${MAKE} -s german-txtfiles ; fi
@if [ ! -f ${PREFIX}/share/int/macro/de/html.tic ]; then ${MAKE} -s german-macros ; fi
@if [ ! -f ${PREFIX}/share/int/macro/nl/html.tic ]; then ${MAKE} -s dutch-macros ; fi
clean:
rm -f *.h~ *.c~ core filelist Makefile.bak
filelist: Makefile
BASE=`pwd`; \
BASE=`basename $${BASE}`; \
(for f in ${SRCS} ${HDRS} ${OTHER} ;do echo ${PACKAGE}-${VERSION}/$${BASE}/$$f; done) >filelist
depend:
@rm -f Makefile.bak; \
mv Makefile Makefile.bak; \
sed -e '/^# DO NOT DELETE/,$$d' Makefile.bak >Makefile; \
${ECHO} '# DO NOT DELETE THIS LINE - MAKE DEPEND RELIES ON IT' \
>>Makefile; \
${ECHO} '# Dependencies generated by make depend' >>Makefile; \
for f in ${SRCS}; \
do \
${ECHO} "Dependencies for $$f:\c"; \
${ECHO} "`basename $$f .c`.o:\c" >>Makefile; \
for h in `sed -n -e \
's/^#[ ]*include[ ]*"\([^"]*\)".*/\1/p' $$f`; \
do \
${ECHO} " $$h\c"; \
${ECHO} " $$h\c" >>Makefile; \
done; \
${ECHO} " done."; \
${ECHO} "" >>Makefile; \
done; \
${ECHO} '# End of generated dependencies' >>Makefile
# DO NOT DELETE THIS LINE - MAKE DEPEND RELIES ON IT
# Dependencies generated by make depend
# End of generated dependencies

9
examples/footer.txt Normal file
View File

@ -0,0 +1,9 @@
MBSE Support BBS is the main development system for the MBSE BBS package.
MBSE BBS is available from 2:280/2802, magic request is MBSEBBS.
Also available at http://www.mbse.eu
MBSE Support BBS es el sistema principal de sdesarrollo de paquete
MBSE BBS.
MBSE BBS esta disponible en 2:280/2802, peticion de magic MBSEBBS.
Tambien esta disponible en http://www.mbse.eu

28
examples/header.txt Normal file
View File

@ -0,0 +1,28 @@
----------========== MBSE BBS Support System NL. ==========----------
Sysops : Michiel Broek
Online : 24 hrs/day
Line #1 : 31-(0)255-515973 1200-28K8 bps, V34,V42B,V32B,X75
Requests : minimum 1200 bps, no limits.
Request times: except ZMH.
Request flag : XA
AKAs : 2:280/2802
Alle files op dit bbs die onder MS-DOS draaien zijn gecontroleerd met
de laatste beschikbare virusscanners voordat ze voor download op het
bbs geplaatst zijn.
Desondanks aanvaarden wij geen enkele aansprakelijkheid voor eventuele
schade die ontstaat door het gebruik van deze files.
All files on this bbs running under MS-DOS are checked with the latest
available virusscanners before they were made available for download from
the bbs.
Nevertheless we take no responibility for any damage due to the use of
these files.
Todos los ficheros en esta bbs nativos de MS-DOS son verificados con
los mas recientes antivirus disponibles antes de ser puestos para
descarga desde la bbs.
Aun asi nosotros no somos responsables por cualquier daño casusado
debido al uso de estos archivos.

BIN
examples/menus-de.tar Normal file

Binary file not shown.

BIN
examples/menus-en.tar Normal file

Binary file not shown.

BIN
examples/menus-es.tar Normal file

Binary file not shown.

BIN
examples/templates-de.tar Normal file

Binary file not shown.

BIN
examples/templates-en.tar Normal file

Binary file not shown.

BIN
examples/templates-es.tar Normal file

Binary file not shown.

BIN
examples/templates-nl.tar Normal file

Binary file not shown.

BIN
examples/txtfiles-de.tar Normal file

Binary file not shown.

BIN
examples/txtfiles-en.tar Normal file

Binary file not shown.

BIN
examples/txtfiles-es.tar Executable file

Binary file not shown.

1
html/.cvsignore Normal file
View File

@ -0,0 +1 @@
filelist index.htm basic.html upgrade.html

125
html/Makefile Normal file
View File

@ -0,0 +1,125 @@
# Copyright (c) M Broek, 1997-2000
# Top-level makefile for MBSE BBS html documentation.
# $Id: Makefile,v 1.43 2007/03/01 19:12:54 mbse Exp $
include ../Makefile.global
H_BASE = dist.html manual.css errcodes.html \
flow.html postfix.html ups.html doors.html \
intergate.html intro.html invoking.html faq.html \
known_bugs.html mgetty.html routing.html nodelist.html
H_FTSC = ftsc/index.htm
H_IMAGES = images/b_arrow.png images/magic.png images/nodes1.png \
images/connec.png images/mbsetup0.png images/nodes2.png \
images/domains.png images/mbsetup1.6.S.png images/nodes3.png \
images/e_menu.png images/mbsetup1.6.png images/nodes4.png \
images/emareas.png images/mbsetup2.png images/nodes5.png \
images/nodes6.png images/nodes7.png images/nodes8.png \
images/nodes9.png images/nodes10.png images/doors.png \
images/emgroup.png images/modems0.png images/oneliner.png \
images/fdb.png images/newfiles.png images/protocol.png \
images/fegroup.png images/newgroups.png images/rarrow.png \
images/fileecho.png images/nodelist.png images/security.png \
images/filefind.png images/nodelist1.png images/tty.png \
images/files.png images/nodelist2.png images/tty1.png \
images/go_to.png images/nodelist3.png images/tty2.png \
images/hatch.png images/nodelist4.png \
images/language.png images/nodelist5.png images/uarrow.png \
images/larrow.png images/users.png images/doors2.png \
images/mbse.png images/taskmgr.png images/mbsebbs-s.png \
images/mbsebbs.png images/users2.png images/hand.up.png \
images/dream1.png images/dream2.png images/dream3.png \
images/tdream1.png images/tdream2.png images/tdream3.png \
images/route1.png images/route2.png images/mbmon1.png \
images/mbmon2.png images/mbmon1-tn.png images/mbmon2-tn.png \
images/nodes11.png
H_LICENSE = license/copying.html license/hydracom.html license/index.htm \
license/jam.html
H_MENUS = menus/control.html menus/index.htm menus/menu100.html \
menus/menu300.html menus/menu500.html \
menus/menu0.html menus/menu200.html menus/menu400.html
H_MISC = misc/dropfile.html misc/fileid.html misc/index.htm \
misc/jam.html misc/semafore.html misc/filefind.html \
misc/ftpserver.html misc/ipmailer.html misc/outbound.html \
misc/usleep.html misc/webserver.html
H_PROGS = programs/mbfido.html programs/mbmon.html \
programs/mbtoberep.html programs/mblogin.html \
programs/index.htm programs/mbcico.html \
programs/mbfile.html programs/mbmsg.html \
programs/mbseq.html programs/mbuser.html \
programs/mbaff.html programs/mbdiff.html \
programs/mbindex.html programs/mbout.html \
programs/mbsetup.html programs/mbuseradd.html \
programs/mball.html programs/mbnntp.html \
programs/mblang.html programs/mbsebbs.html \
programs/mbstat.html programs/mbpasswd.html \
programs/mbtask.html
H_SETUP = setup/archiver.html setup/index.htm setup/bbs.html \
setup/language.html setup/oneliner.html \
setup/emareas.html setup/magic.html setup/mail.html \
setup/protocol.html setup/emgroup.html setup/chat.html \
setup/fdb.html setup/security.html setup/sitedoc.html \
setup/fegroup.html setup/modems.html setup/softinfo.html \
setup/fidonet.html setup/tic.html \
setup/fileecho.html setup/newfiles.html setup/filefind.html \
setup/newgroups.html setup/files.html setup/nodes.html \
setup/ttyinfo.html setup/global.html setup/users.html \
setup/hatch.html setup/virscan.html setup/services.html \
setup/domains.html setup/taskmgr.html setup/route.html
H_OTHER = index.htm basic.html upgrade.html
H_IN = index.htm.in basic.html.in upgrade.html.in
FILES = $(H_IN) $(H_BASE) $(H_FTSC) $(H_IMAGES) $(H_LICENSE) $(H_MENUS) $(H_MISC) $(H_PROGS) $(H_SETUP) Makefile
#########################################################################################################
all depend clean depend:
install:
@echo "Installing html documentation in ${PREFIX}/html"
@rm -Rf ${PREFIX}/html
@mkdir -p ${PREFIX}/html
@mkdir -p ${PREFIX}/html/ftsc
@mkdir -p ${PREFIX}/html/images
@mkdir -p ${PREFIX}/html/license
@mkdir -p ${PREFIX}/html/menus
@mkdir -p ${PREFIX}/html/misc
@mkdir -p ${PREFIX}/html/programs
@mkdir -p ${PREFIX}/html/setup
@${CHOWN} ${OWNER}:${GROUP} ${PREFIX}/html
@${CHOWN} ${OWNER}:${GROUP} ${PREFIX}/html/ftsc
@${CHOWN} ${OWNER}:${GROUP} ${PREFIX}/html/images
@${CHOWN} ${OWNER}:${GROUP} ${PREFIX}/html/license
@${CHOWN} ${OWNER}:${GROUP} ${PREFIX}/html/menus
@${CHOWN} ${OWNER}:${GROUP} ${PREFIX}/html/misc
@${CHOWN} ${OWNER}:${GROUP} ${PREFIX}/html/programs
@${CHOWN} ${OWNER}:${GROUP} ${PREFIX}/html/setup
@${INSTALL} -p -c -o ${OWNER} -g ${GROUP} -m 0444 ${H_BASE} ${PREFIX}/html
@${INSTALL} -p -c -o ${OWNER} -g ${GROUP} -m 0444 ${H_OTHER} ${PREFIX}/html
@${INSTALL} -p -c -o ${OWNER} -g ${GROUP} -m 0444 ${H_FTSC} ${PREFIX}/html/ftsc
@${INSTALL} -p -c -o ${OWNER} -g ${GROUP} -m 0444 ${H_IMAGES} ${PREFIX}/html/images
@${INSTALL} -p -c -o ${OWNER} -g ${GROUP} -m 0444 ${H_LICENSE} ${PREFIX}/html/license
@${INSTALL} -p -c -o ${OWNER} -g ${GROUP} -m 0444 ${H_MENUS} ${PREFIX}/html/menus
@${INSTALL} -p -c -o ${OWNER} -g ${GROUP} -m 0444 ${H_MISC} ${PREFIX}/html/misc
@${INSTALL} -p -c -o ${OWNER} -g ${GROUP} -m 0444 ${H_PROGS} ${PREFIX}/html/programs
@${INSTALL} -p -c -o ${OWNER} -g ${GROUP} -m 0444 ${H_SETUP} ${PREFIX}/html/setup
clean:
rm -f filelist
filelist: Makefile
BASE=`pwd`; \
BASE=`basename $${BASE}`; \
(for f in ${FILES}; \
do echo ${PACKAGE}-${VERSION}/$${BASE}/$$f; \
done) >filelist

287
html/basic.html.in Normal file
View File

@ -0,0 +1,287 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<!-- $Id: basic.html.in,v 1.23 2007/10/14 13:58:22 mbse Exp $ -->
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META NAME="Language" content='en'>
<META name="author" lang="en" content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>MBSE BBS basic installation.</TITLE>
<LINK rel=stylesheet HREF="manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<div align="right"><h5>Last update 14-Oct-2007</h5></div>
<div align="center"><h1>MBSE BBS Basic Installation</h1></div>
<h3>Introduction.</h3>
<p>
Before you compile and install MBSE BBS you must first setup the basic
environment. If you don't do this, things will fail.
<p>
To compile and install MBSE BBS most distributions have installed all needed packages.
If important packages are missing then the configure script will tell you. There are also
less important packages which if missinng still let you compile MBSE BBS, but you will miss
some features. Here is a short list of these packages:
<ol>
<li><b>Zlib</b>. On some distributions you also need <b>zlib development</b>. When you have
zlib installed, then in <b>mbcico</b> extra code will be compiled in the Hydra and Binkp protocol drivers
that will allow the PLZ extension. In the binkp protocol GZ compression will be enabled as well.</li>
<li><b>Bzlib</b>. On some distributions you need to install <b>bzlib2 development</b> to add
support for binkp BZ2 compression.</li>
<li><b>GeoIP</b>. Allows logging of the origin of the network connections by country and continent.
You need at least GeoIP 1.4.3 to compile without errors. See
<A HREF="http://www.maxmind.com/app/geoip_country">www.maxmind.com</A>.
</ol>
If you use Gentoo or Ubuntu, read the files README.Gentoo or README.Ubuntu. The last one may be usefull
for Debian users too.
<P>&nbsp;<p>
<h3>Step 1: planning the filesystems.</h3>
<p>
MBSE BBS is default installed in <b>/opt/mbse</b>. It should be possible to install the bbs in a different
location but this is not supported. Many have tried, and and only a few have succeeded. See
<A HREF="http://www.pathname.com/fhs/">Filesystem Hierarchy Standard</A> for more info.
The default filesystem layout looks like this:<br>
<pre>
/opt/mbse 0775 Default MBSE_ROOT
/opt/mbse/bin 0770 Binaries
/opt/mbse/etc 0770 System configuration files
/opt/mbse/etc/dosemu 0750 DOSemu configuration files
/opt/mbse/ftp/pub 0755 Default FTP root for download areas.
/opt/mbse/home 0770 Users homedirectories
/opt/mbse/home/bbs 0770 Newuser account
/opt/mbse/html 0755 HTML documentation
/opt/mbse/log 0770 MBSE BBS logfiles
/opt/mbse/share/doc 0750 Generated sitedocs
/opt/mbse/share/doc/html 0750 Generated html sitedocs
/opt/mbse/share/doc/tags 0750 Generated area tags
/opt/mbse/share/int 0750 Base for language files
/opt/mbse/share/int/macro/de 0750 German template macro's
/opt/mbse/share/int/macro/en 0750 English template macro's
/opt/mbse/share/int/macro/es 0750 Spanish template macro's
/opt/mbse/share/int/macro/fr 0750 French template macro's
/opt/mbse/share/int/macro/gl 0750 Galego template macro's
/opt/mbse/share/int/macro/nl 0750 Dutch template macro's
/opt/mbse/share/int/macro/zh 0750 Chinese template macro's
/opt/mbse/share/int/menus/de 0750 German menu files
/opt/mbse/share/int/menus/en 0750 English menu files
/opt/mbse/share/int/menus/es 0750 Spanish menu files
/opt/mbse/share/int/menus/fr 0750 French menu files
/opt/mbse/share/int/menus/gl 0750 Galego menu files
/opt/mbse/share/int/menus/nl 0750 Dutch menu files
/opt/mbse/share/int/menus/zh 0750 Chinese menu files
/opt/mbse/share/int/txtfiles/de 0750 German ansi screens
/opt/mbse/share/int/txtfiles/en 0750 English ansi screens
/opt/mbse/share/int/txtfiles/es 0750 Spanish ansi screens
/opt/mbse/share/int/txtfiles/fr 0750 French ansi screens
/opt/mbse/share/int/txtfiles/gl 0750 Galego ansi screens
/opt/mbse/share/int/txtfiles/nl 0750 Dutch ansi screens
/opt/mbse/share/int/txtfiles/zh 0750 Chinese ansi screens
/opt/mbse/tmp 0770 Temp directory
/opt/mbse/tmp/arc 0770 Temp archiver directory
/opt/mbse/var 0770 Var root
/opt/mbse/var/arealists 0750 Areamgr arealist files
/opt/mbse/var/badtic 0750 Bad TIC files
/opt/mbse/var/boxes 0770 Base for nodes fileboxes
/opt/mbse/var/bso 0770 Binkley Style Outbound directory
/opt/mbse/var/bso/outbound 0770 Default outbound for main aka
/opt/mbse/var/dosemu 0770 Base for DOS drives (doors)
/opt/mbse/var/dosemu/c 0770 DOS drive C:
/opt/mbse/var/fdb 0770 Files database
/opt/mbse/var/inbound 0750 Protected inbound directory
/opt/mbse/var/magic 0750 Magic filerequest names
/opt/mbse/var/mail 0770 JAM messagebase root
/opt/mbse/var/msgs 0770 *.msgs netmail directory
/opt/mbse/var/nodelist 0750 Nodelists
/opt/mbse/var/queue 0750 Queue for before outbound
/opt/mbse/var/rules 0770 Echomail area rules files
/opt/mbse/var/run 0770 Pid files of running programs
/opt/mbse/var/sema 0777 Semafore files
/opt/mbse/var/ticqueue 0750 Queue for TIC files
/opt/mbse/var/unknown 0750 Unprotected inbound directory
</pre>
<p>
Don't use UMSDOS or SAMBA filesystems for the bbs, stick by the standard
GNU/Linux
filesystems (ext2, ext3 or reiserfs) or ufs if you use FreeBSD.
If you intent to make your bbs also accessible
by FTP and WWW you must create the directory structure under the ftp user
behind the pub directory. Read <a href="misc/ftpserver.html">the
ftp server</a> doc for details. If you don't follow these guidlines, you
will run into trouble later and have to spend a lot of time in correcting
this error.
<P>&nbsp;<p>
<h3>Step 2: Running the installation script.</h3>
<p>
First, if you use FreeBSD, install the psmisc package. This will make sure
that MBSE BBS is stopped properly if you shutdown your computer. Also if you
use FreeBSD 5.0 or later make sure that you mount procfs, see <b>man procfs</b>
for details. If you don't mount procfs, you cannot add new users to the bbs and
existing bbs users cannot change their passwords. As sysop, you can't change
passwords too.<br>
If you are upgrading, proceed with step 4. If not, follow the next steps
very carefully!<br>
The installation script must be run by root. It checks if there is a
previous or failed installation on your system. If that's so the script will
not run. In other words, you can only run this script once. The script makes
backup copies of the system files it changes, these files will get the
extension <strong>.mbse</strong> To run the installation script you need
the archive <strong>mbbsebbs-@VERSION@.tar.bz2</strong>.
Unpack this archive on your system, in /tmp:
<pre>
cd /tmp
tar xfvj /path/to/the/mbsebbs-@VERSION@.tar.bz2
</pre>
To start the script type:
<pre>
cd mbsebbs-@VERSION@
bash ./SETUP.sh
</pre>
Ubuntu users should do:
<pre>
cd mbsebbs-@VERSION@
sudo bash ./SETUP.sh
</pre>
Yes, use <b>bash</b> as shell here. On some systems root doesn't use bash
as login shell, calling the script with bash forces the use of bash.
The script does the following:
<ol>
<li>Create the group <strong>bbs</strong>
<li>Create the user <strong>mbse</strong> On Ubuntu this user is added to the admin group.
<li>Create a <strong>.profile</strong> for user <strong>mbse</strong>
<li>Create and set owner of directory tree under /opt/mbse
</ol>
Then the script will ask you to give a password for user <strong>mbse</strong>
This password is for system maintenance and for you to make changes to the
bbs. You will need that frequently but you should not make that password
easy to guess of course. The script will then continue again:
<ol start="5">
<li>The user <strong>bbs</strong> is added.
<li>The password will be removed from user <strong>bbs</strong> This action
will make changes in /etc/shadow (if you have that) otherwise in /etc/passwd.
On FreeBSD it uses other tools to modify the master database.
On NetBSD you have to do that manually, there are no tools to do that.
<li>If they don't exist in the file /etc/services the services fido, tfido
and binkp will be added.
<li>If they don't exist in the file /etc/inetd.conf the internet protocols
for the mailer will be added. The <strong>inetd</strong> is restarted to
activate the changes. If your distribution uses xinetd instead of inetd, an
include file for xinetd is added instead.
</ol>
<p>&nbsp;<p>
<h3>Step 3: Check the basic installation</h3>
<p>
The last screen of the script is about sanity checks. Perform those checks!
If something is wrong, now is the time to fix it. Don't panic and remember
the backups of the system files that are changed are in /etc with the
extension <strong>.mbse</strong> i.e: those were the original files.
The installation logfile is copied to /opt/mbse.
If everythings is allright, then remove the directory /tmp/mbsebbs-@VERSION@:
<pre>
cd /tmp
rm -Rf mbsebbs-@VERSION@
</pre>
<p>&nbsp;<p>
<h3>Step 4: Install the basic packages.</h3>
<p>
Login as user <b>mbse</b>. Yes, very important, <b>login as user mbse</b>.
While in mbse's home directory (/opt/mbse) unpack the distribution archives:
<pre>
tar xfvj /path/to/mbsebbs-@VERSION@.tar.bz2
</pre>
You now have the subdirectory with sources in the right place.
Next build the binaries and install them using the following commands:
<pre>
cd ~/mbsebbs-@VERSION@
./configure [--enable-optimize] [--enable-newsgate] [--enable-gdkdel]
make
su <b>important, do not use "su -"</b>
password: <em>enter root password here</em>
make install
exit
</pre>
Ubuntu users should do:
<pre>
cd ~/mbsebbs-@VERSION@
./configure [--enable-optimize] [--enable-newsgate] [--enable-gdkdel]
make
sudo make install
</pre>
<b>Important:</b> it seems logical to use the <code>--enable-newsgate</code> option
but it isn't. When you do, the mbnntp program is disabled and you cannot serve
echomail as news to your users via internet. But you can gate echomail to the
internet. Independant of your choice, you can allways make internet news available
for your bbs users. Only use --enable-newsgate if you really need to gate echomail
to the internet.
<p>
To support Chinese the DELete key needs to be changed because it conflicts with one
of the characters. If you want to use Chinese, use <code>--enable-gbkdel</code>
to configure.
<p>
The last part of the installation procedure shows you the location of the bbs
startup script that is added to your system. Remember this one for a moment.
Because this is your first
time installation, example menus and example textfiles are installed.
If they already exist on your systems (when you do an upgrade) they
will not be installed again.
<p>
Now start the bbs for the first time (still as root) by executing the startup
script you just saw on the screen followed by a space and the word <b>start</b>.
For example:
<pre>
/etc/rc.d/init.d/mbsed start
</pre>
Ubuntu users do:
<pre>
sudo /etc/init.d/mbsebbs start
</pre>
This will start the <b>mbtask</b> daemon.
After that the bbs will be opened for use.
Check the file <b>/opt/mbse/log/mbtask.log</b> for startup problems.
The first time <b>mbtask</b> is started on your system it will create a
lot of new configuration files with default settings.
<p>&nbsp;<p>
<h3>Step 5: Ready.</h3>
<p>
Now you have shell scripts in ~/etc, most of them are called by cron, some
are called during system startup and shutdown. You also have some default
configuration files, these are ttyinfo, modems, fidonet networks. In the
default (english) directory you now have default menu datafiles and ansi
screens. These are copies of my test system so you have to edit them to
build your own bbs.<br>
Editing ansi screens can be done on a GNU/Linux system with one of the
following packages:
<ol>
<li><strong>duhdraw</strong>, this is available from 2:280/2802 as
<strong>duhdraw.tgz</strong> (68 Kbytes).
The binaries are included in this archive, if you compile it yourself
it may give trouble so if the binaries work, use these.</li>
<li><strong>bmdraw</strong> This editor is available from
<A HREF="http://www.drastic.net/bmdraw/">http://www.drastic.net/bmdraw/</A>,
you can find the tar.gz file in
<A HREF="http://www.drastic.net/bmdraw/files/bmd022.tgz">http://www.drastic.net/bmdraw/files/bmd022.tgz</A>,
it's about 36 Kbytes. This is also a thedraw clone for Linux.
Note, at my system I needed to run it as root.</li>
<li><strong>TetraDraw</strong> This is a very nice Ansi editor, you can
get this file as TETR~VC#.TGZ from 2:280/2802. The file is 157 Kbytes.
</ol>
You may also want to edit ~/etc/header.txt and ~/etc/footer.txt, these
files are the top and bottom of the newfiles/allfiles listings.
<P>
Now the basic environment is finished, the next thing to do is
<a href="setup/index.htm">configure the bbs</a>.
<P>&nbsp;<P>
<a href="index.htm"><img SRC="images/b_arrow.png" ALT="Back to Index" BORDER=0>Back to Index</a>
</blockquote>
</body>
</html>

104
html/dist.html Normal file
View File

@ -0,0 +1,104 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<!-- $Id: dist.html,v 1.13 2007/09/12 18:25:31 mbse Exp $ -->
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META NAME="Language" content='en'>
<META name="author" lang="en" content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>Unix distributions.</TITLE>
<LINK rel=stylesheet HREF="manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<div align="right"><h5>Last update 12-Sep-2007</h5></div>
<div align="center"><H1>Unix Distributions.</H1></div>
<H3>Which distribution</H3>
<P>
GNU/Linux is available in several distributions, they all have advantages and
disadvantages for bbs use. Which distribution to pick is very personal.
Since late 2001 a port to FreeBSD is available, from version 0.33.19 this
port is ready to use.
Since januari 2002 a port to NetBSD is available, later other *BSD versions
were added.
<P>&nbsp;<P>
<H3>Slackware</H3>
<P>
I am using MBSE BBS on several Slackware distributions. You can make a very small
setup for MBSE BBS like Zipslack. Not included is the mgetty package.
<P>&nbsp;<P>
<H3>Redhat and Mandrake</H3>
<P>
I write this as if these are the same which isn't true of course. From MBSE
BBS's point of view they are almost the same, so that's why I treat them as
the same distributions. The E-Smith server and gateway based on RedHat is also
supported.
For people with little GNU/Linux experience these
distributions are a good choice if you can spare the diskspace. I haven't
found a simple dedicated setup for the bbs, so the safest way is to install
allmost everything, which is quite simple. This will cost you about 1200 Megs.
Maybe that someone more experienced with these distro's can give more details
on how to build a small server.
<P>&nbsp;<P>
<H3>SuSE</H3>
<P>
Since SuSE 7.1 the setup scripts are working and tested. Older distro's
might work.
<P>&nbsp;<P>
<H3>Debian</H3>
<P>
The installation works on a Debian 2.1, 2.2 and 3.0 distribution without any problems.
How to build an optimized Debian system is not tested by me.
<P>&nbsp;<P>
<H3>Ubuntu</H3>
<P>
Since 0.91.10 the installation on Ubuntu 7.04 works fine. Read the file README.Ubuntu in
the source for more information.
<P>&nbsp;<P>
<H3>GenToo</H3>
<P>
Installation and startup scripts are tested on GenToo. Read the file README.Gentoo for
more information.
<P>&nbsp;<P>
<H3>FreeBSD</H3>
<P>
I tested on FreeBSD 6.2 stable release. Older releases have been used and work.
The setup is quite simple, do a small setup (average user), and add some needed packages
from the ports collection such as gcc, mgetty, infozip etc.
You may need to build mgetty yourself if you have an older FreeBSD distribution.
<P>&nbsp;<P>
<H3>NetBSD</H3>
<P>
Currently NetBSD 3.1 is used for the latest tests. NetBSD before 3.0 doesn't
work anymore.
<P>&nbsp;<P>
<H3>OpenBSD</H3>
<P>
Currently OpenBSD 3.7 is used for testing.
<P>&nbsp;<P>
<H3>Famous last words...</H3>
<P>
I don't have the diskspace and time for all kinds of GNU/Linux distributions
to install for testing. Most distributions work without major changes. For
questions about "unsupported" distributions, the best place to be is in the
MBSE support echo.
<P>&nbsp;<P>
<A HREF="index.htm"><IMG SRC="images/b_arrow.png" ALT="Back" border="0">Go Back</A>
</BLOCKQUOTE>
</BODY>
</HTML>

229
html/doors.html Normal file
View File

@ -0,0 +1,229 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<!-- $Id: doors.html,v 1.10 2004/11/05 11:53:47 mbse Exp $ -->
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META NAME="Language" content='en'>
<META name="author" lang="en" content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>Running DOS doors on MBSE BBS.</TITLE>
<LINK rel=stylesheet HREF="manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<div align='right'><h5>Last update 05-Nov-2004</h5></div>
<div align='center'><H1>MBSE BBS - Running DOS doors.</H1></div>
<h3>Introduction</h3>
<p>
Running DOS doors is possible on systems that can run
<a href="http://www.dosemu.org">dosemu</a>. The latest versions of dosemu don't
need to be started suid root or started using sudo, it can run as the user that
is logged in the bbs. Since that is possible, a new location for the virtual C:
drive is now being used withing the $MBSE_ROOT file structure. This virtual C:
drive is owned by the group bbs. The basic ideas how doors should be run written
by Redy Rodriguez are still valid, but some scripts are changed and some dosemu
files must be copied into the mbse directory tree.<p>
<em>One very important note: the virtual dos drive is now $MBSE_ROOT/var/dosemu/c
Don't use another location or change the access rights, there will be several
references from mbse to that and only that location for dos support.
Choose another one and you are on your own!</em>
<p>&nbsp;<p>
<h3>Installing dosemu</h3>
<p>
Some distributions have good dosemu packages, others don't. You need a dosemu
that can be used in a systemwide multiuser setup. The bad packages want to have
the dos drive in each users home directory, this is not what we want for doors.
If you don't have a good dosemu you have to compile your own. This is not too
complicated. First download the source from <a
href="http://www.dosemu.org">dosemu</a>. You don't need the freedos-bin source
if you are going to use ms-dos or pc-dos.
Unpack the source in some directory of your choice and compile the sources:<br>
<pre>
mbse@seaport$ tar xfvz dosemu-1.2.2.tgz
mbse@seaport$ cd dosemu-1.2.2
mbse@seaport:~/dosemu-1.2.2$ ./configure --prefix=/usr --sysconfdir=/etc/dosemu --with-x
mbse@seaport:~/dosemu-1.2.2$ make
</pre>
Note that the <code>--with-x</code> is not needed for running doors, but it
might be handy that you can use dosemu as user mbse in X to do maintenance on
your doors.<br>
Then as root do:<br>
<pre>
root@seaport:~/dosemu-1.2.2# make install
</pre>
<p>&nbsp;<p>
<h3>Setup dosemu in mbse</h3>
<p>
First copy <code>/etc/dosemu/dosemu.conf</code> into <code>~/etc/dosmeu</code>.
Then edit <code>~/etc/dosemu/dosemu.conf</code> so that we have a version for
mbse users. Set the following settings in that file:<br>
<pre>
$_hdimage = "/opt/mbse/var/dosemu/c"
$_floppy_a = ""
$_xms = (1024)
$_ems = (2048)
$_dpmi = (0x1000)
$_layout = "us"
</pre>
Next copy this new file as <code>virtual.conf</code> in
<code>~/etc/dosemu/</code>. Then add the following line:
<pre>
$_com1 = "virtual"
</pre>
Note that in older dosemu versions you could use a commandline option to do
this, but this isn't supported anymore since dosemu-1.2.x. The
<code>rundoor.sh</code> now also uses two configuration files.<br>
Next we need to setup the C: drive. Do this as user mbse. First type <code>umask
007</code>, this sets the create mode for directories to 0770 and files to 0660
so that we create all files and directories read/write for all bbs users. This
is very important! Type the following commands:
<pre>
mbse@seaport:~$ umask 007
mbse@seaport:~$ cd var/dosemu/c
mbse@seaport:~/var/dosemu/c$ mkdir dos dosemu temp util doors
</pre>
Now we must install dos. If you use ms-dos then in <code>~/var/dosemu/c</code>
copy the ms-dos files <code>command.com</code>, <code>io.sys</code> and
<code>msdos.sys</code>. In <code>~/var/dosemu/c/dos</code> copy all ms-dos
commands. Next install the dosemu utilities, copy these from
<code>/usr/share/dosemu/freedos/dosemu</code> to
<code>~/var/dosemu/c/dosemu</code>. Now there is a empty
<code>~/var/dosemu/c/util</code>, copy some utilities here such as your
favourite dos editor, zip and unzip etc.<br>
Next we must create <code>config.sys</code> and <code>autoexec.bat</code>. These
files must be dos crlf formatted. You can do that with the joe editor, for
example <code>joe -crlf config.sys</code>. Examples:<br>
<pre>
config.sys:
BUFFERS = 20
DEVICE=C:\DOS\SETVER.EXE
SET TEMP=C:\TEMP
DOS=HIGH,UMB
FILES=50
autoexec.bat:
@ECHO OFF
PROMPT $P$G
PATH C:\DOSEMU;C:\DOS;C:\UTIL;
SET TEMP=C:\TEMP
Lh C:\DOS\DOSKEY /INSERT
Lh C:\DOS\SHARE
</pre>
Now we are ready to try it, type <code>mbsedos</code> and the dos emulator
should start. You can leave dosemu with the command <code>exitemu</code>.
<p>&nbsp;</P>
<h3>Installing a door</h3>
<p>
All doors are started using the script <code>~/bin/rundoor.sh</code>. This script
is never started directly, you should make a copy of that with the name of the
door, but the best solution is to make a symlink with the name of the door. For
example:<br>
<pre>
mbse@seaport$ cd ~/bin
mbse@seaport:~bin$ ln -s rundoor.sh 8ball
</pre>
See also inside <code>rundoor.sh</code> for the instructions. This file does
several things, first it prepares the users home directory with the dosemu
environment so that dosemu will run for the user. Then it creates a node
directory in the dos C: drive and copies the door dropfiles into that node
directory. Finally it starts dosemu in virtual comport mode and inserts the
commands in dos to start the door.<br>
But before we can run the door, the door itself must be installed in the dos
partition. In this example I will explain how to install the door 8ball.
Start <code>mbsedos</code> and create a directory <code>c:\doors\8ball</code>.
Unpack 8ball in that directory and run <code>setup</code>. Test the door with
the command <code>local</code>. Now goto the directory <code>c:\doors</code> and
create the file <code>8ball.bat</code>. That file will be used to start the
door. It will be called by <code>c:\doors.bat</code> with two parameters, the
name of the door and the nodenumber.
<pre>
@ECHO OFF
C:
C:\UTIL\X00 E B,0,57600
CD \DOORS\8BALL
ASKME.EXE /E /C1 /PC:\DOORS\NODE%1
C:\UTIL\X00
CD \DOORS\NODE%1
DEL DOOR.SYS
DEL DOOR32.SYS
</pre>
Finally we have to make a menu entry to start the door. The Opt. Data line is
the command to start the door, the optional <code>/N</code> is replaced by the
current nodenumber of the user. A second option may be used,
<code>novirtual</code>, if that is present the <code>rundoor.sh</code> will
start dosemu without setting the comport in virtual mode. Use this if your door
isn't a real door but a normal dos program.
<p>
<img src="images/doors.png" alt="door setup" border="0"><p>
Note that I use the
Display lines to make the menu, there are only ansi screens for the top and
common lines on the screen, see the second image how to build the whole doors
menu.
<p>
<img src="images/doors2.png" alt="doors menu" border="0">
<p>
<p>&nbsp;<p>
<h3>Netmail support</h3>
<p>
In the virtual c: drive you need some directories that point to several other
mbse subdirectories. You may need at least three of them, one to put netmail in,
one to put files in to send and one semafore directory to tell mbse there is
something to send. For example like this:
<pre>
ln -s /opt/mbse/var/msgs /opt/mbse/var/dosemu/c/msgs
ln -s /opt/mbse/var/boxes/node92_100_60 /opt/mbse/var/dosemu/c/outbox
ln -s /opt/mbse/var/sema /opt/mbse/var/dosemu/c/sema
</pre>
In dos you now have:
<pre>
C:\MSGS
C:\OUTBOX
C:\SEMA
</pre>
In <code>C:\MSGS</code> doors may put *.msg netmails.
File attaches won't work from these netmails because the netmails
point to files with dosnames. (May be solved later). The script that calls the
door, for example <code>c:\doors\bre.bat</code> must copy the file to send to
the node outbound box. In the above example that would be copy to
<code>C:\OUTBOX</code>.
To create the semafore to tell mbse to scan add to the batfile (for example
<code>C:\DOORS\BRE.BAT</code> the following two lines:
<pre>
CD C:\SEMA
ECHO ""&gt;MAILOUT
</pre>
See also the <a href="faq.html#_Doors">F.A.Q.</a> for some very usefull tips and
tricks.
Using the same method with symlinks, you can make all paths you need from the
rest of mbse visible in dos. Use with care.
<p>&nbsp;<p>
<h3>What if I don't upgrade</h3>
<p>
That's your choice, but for a while the old method starting dosemu via sudo is
still supported. The file <code>~/bin/bbsdoor.sh</code> is still there, but the
file <code>~/bin/rundoor.sh</code> is renamed to
<code>~/bin/runvirtual.sh</code>. So you should change all symlinks of your door
names in <code>~/bin</code> (or copies) to <code>~/bin/runvirtual.sh</code>. You
should not need to change anything else.
<p>
<h3>Problems</h3>
<p>
Currently there are some troubles with modem calls.
<p>
<A HREF="index.htm"><IMG SRC="images/b_arrow.png" ALT="Back" Border="0">Go Back</A>
</BLOCKQUOTE>
</BODY>
</HTML>

83
html/errcodes.html Normal file
View File

@ -0,0 +1,83 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<!-- $Id: errcodes.html,v 1.3 2005/06/30 18:33:01 mbse Exp $ -->
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META NAME="Language" content='en'>
<META name="author" lang="en" content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>Error return codes.</TITLE>
<LINK rel=stylesheet HREF="manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<div align='right'><h5>Last update 30-Jun-2005</h5></div>
<div align='center'><H1>MBSE BBS - Error return codes.</H1></div>
<P>
Following is a list of return codes from all official mbse programs and
utilities. These codes can be used in scripts. If a program exits normally, the
return code is 0. If a program exits by a signal, the return code is the signal
number. This means if you kill a running program with a SIGTERM, the programs
exits with the SIGTERM error number. On most platforms this is 15. These
errorcodes are for the most part the same on all *nix platforms but because of
some small differences I cannot list these here. Just do a <b>kill -l</b> to see
a list of errors for your own platform.<br>
Here is the list of other return codes:
<OL start="100">
<LI>Commandline error
<LI>Configuration error
<LI>Initialisation error
<LI>A full disk partition
<LI>UPS alarm detected
<LI>No valid recipients
<LI>Execute external program failed
<LI>Set tty failed
<LI>File transfer error
<LI>File attach failed
<LI>Can't lock program, retry later
<LI>Node not in nodelist
<LI>Node may not be called
<LI>Can't make connection
<LI>Can't open tty port
<LI>Node is locked
<LI>Node IP address not found
<LI>Unknow session type
<LI>Not Zone Mail Hour
<LI>Modem error
<LI>No modemport available
<LI>Session error (password)
<LI>EMSI session error
<LI>FTSC session error
<LI>WaZoo session error
<LI>YooHoo session error
<LI>Outbound scan error
<LI>Can't make poll
<LI>File request error
<LI>Error processing nodediff
<LI>Virus found
<LI>General error
<LI>Timeout error
</OL>
<P>
The mailer can also return the following error codes:
<OL start="201">
<LI>TTY general error
<LI>TTY timeout
<LI>TTY EndOfFile
<LI>TTY Hangup
<LI>TTY Empty
</OL>
<P>
When an external program is run, a mbse program can exit with return code 256 +
the return code of the external program. So if the external program exits with
error code 7, the code returned by the mbse program is 263.
<P>
<A HREF="index.htm"><IMG SRC="images/b_arrow.png" ALT="Back" Border="0">Go Back</A>
</BLOCKQUOTE>
</BODY>
</HTML>

1502
html/faq.html Normal file

File diff suppressed because it is too large Load Diff

180
html/flow.html Normal file
View File

@ -0,0 +1,180 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<!-- $Id: flow.html,v 1.11 2007/03/01 19:12:54 mbse Exp $ -->
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META NAME="Language" content='en'>
<META name="author" lang="en" content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>Running a BBS under Unix.</TITLE>
<LINK rel=stylesheet HREF="manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<div align='right'><h5>Last update 01-Mar-2007</h5></div>
<div align='center'><H1>Running a BBS under Unix.</H1></div>
<h3>Introduction</H3>
<P>
Everyone who has been running a (single line) BBS under DOS until now will
need to understand that running a BBS under Unix (or any other multitasking
os) is completly different of what you are used to. Under DOS things were
quite simple, from AUTOEXEC.BAT you started a new .BAT file that would run
forever and started all needed programs after each other.
The programs that where started
depended on the errorlevel of the previous program. Only one program could
run at the same time.
<P>
People who had previous run a BBS on another multitasking os, or were running
a BBS on a small lan with a fileserver and workstations for each line, are
already more used to the idea of running more programs at the same time,
and to "signal" what to do next with semafore files.
<P>
The Unix aproach is more or less the same, but there are more differences.
The main difference is that there is no mailer connected with the modem waiting
for a call, instead there is a getty process watching your modem(s). And for
internet calls, these are started via (x)inetd using standard *nix methods.
Another
big difference is that you don't see what's happening, there is no screen
with the mailer or bbs picture on it. All programs run in the background. If
you don't like that, stop now and go back to your old DOS bbs. It's just the
way everything is done.
<P>
Programs that must start at specific times (events in DOS), are started from
cron, this is the event scheduler for Unix. With this
program maintenance can be started, polls created etc. For starting programs
when they are needed there is a taskmanager loaded at system bootup. This
taskmanager "watches" the semafore directory of the bbs and will start what
is needed. It will also watch the mailer outbound to see if there are nodes
to call.
<P>&nbsp;<P>
<H3>Waiting for a call .....</H3>
<P>
Under Unix this is done with the mgetty program, this is the
process that is connected with each modem (or ISDN adapter) and waits for a
call. The mgetty program (written by Gert Doering, gert@greenie.muc.de) will
detect the call, and find out what or who did make the call. It can detect
incoming humans who want a login prompt, PPP calls from users who want to
make a PPP connection (browsing your BBS whith netscape for example), A fax
machine trying to deliver a fax and finally a mailer trying to establish
an EMSI, FSC-0006 or FSC-0001 session. The mgetty program is responsible for
starting the right client programs. How to do this is explained in the
installation manuals, but be sure to compile it with Fido and PPP support.
<P>
For internet calls, via (x)inetd mbsebbs can accept calls from connections on
ports. For example if a connection comes in on port 24554 the mailer is started
in binkp mode.
<P>&nbsp;<P>
<H3>A Human is calling.</H3>
<P>
This could be a bbs user. For each user to login to your bbs there is a
unix account. They automatic create such an account the first time they login
with the <b>bbs</b> account. During the creation of their account the shell that is
installed for there account is the mbsebbs binary, so that's the only thing
that they get if they call in. When they logout the bbs, or drop carrier etc,
the session is ended and mgetty takes over the line again.
Note that they never can get a Unix shell unless you install a <b>door</b>
in the bbs that calls a shell for them.
<P>
Because for dialin with mgetty the mblogin program is used and not the normal
login program, only bbs users can login. All other users including <b>root</b> are
denied access.
You might consider installing SSH on your system for remote maintenance.
<p>
It is also possible to install the mblogin program as the login program for
telnet users if you are directly connected to the internet.
<P>&nbsp;<P>
<H3>A PPP call is detected.</H3>
<P>
Installing a PPP server on your system is beyound the scope of this project.
However if you did install it, users can login your bbs with their favourite
browser and use your bbs. Note that the necessary tools to automatic create
newsgroups don't exist at this time. With the proper setup you can automatic
create and maintain html pages for the file areas.
<P>&nbsp;<P>
<H3>A mailer call is detected.</h3>
<P>
If a mailer is detected by mgetty, the <b>mbcico</b> program is started and will
take over from mgetty. It will establish a mail session with the caller and
the mail and or files will be exchanged just like any DOS mailer would do.
After the call, mbcico will hangup and mgetty will take control of your modem
again. If there is any mail received, mbcico will place the semafore <b>mailin</b>
so that another process can take care of the received mail.
<P>&nbsp;<P>
<h3>There is mail in the inbound</h3>
<P>
As I said before, if the <b>mailin</b> semafore is present, the task manager will
then start the <b>mbfido</b> program that will toss the mail, process any files
received and if necessary it will create other semafore's for example to link
the message bases, start the nodelist compiler etc. Note that this can be done
while there may be a new mailsession going on, a bbs user is online, it doesn't
matter. Processing mail and files can be done real multitasking without any
damage to other processes.
<P>&nbsp;<P>
<H3>It's time to poll a node</h3>
<P>
At the time that you whish to poll a node, let cron create "poll" requests.
When a poll is created, the semafore <b>scanout</b> is also created.
The taskmanager will then start mbcico at regular intervals so that mail will
get out. If there is no more mail to send, the <b>scanout</b> semafore is removed.
If a timeslot ends, you can just remove the "poll" requests that didn't succeed.
<P>&nbsp;<P>
<H3>It's Zone Mail Hour, so now what</h3>
<P>
Relax, if you have netmail ready for nodes the
mailer script will try to send these mails to those nodes. If it was crash
mail, and the destination was a non CM node, the mailer will try to send those
mails too. Note that other crashmails are send anytime. Also note that packed
mail and files are not send during ZMH. If a node calls you during ZMH he will
get everything that's waiting, including packed mail and files. The task manager
(more on that later) calculates the Zone Mail Hour from UTC time, you don't
have to change anything for summer- and wintertime. The taskmanager knows about
all zone mail hours of all Fidonet zones (1..6). For othernets, zone mail hour
is taken from the setup as default value. The taskmanager will also handle the
mail for nodes with the Txx flag (FSC-0062) on the right times.
<P>&nbsp;<P>
<H3>Daily maintenane</h3>
<P>
This is started by cron jobs. There is no need to take
your bbs lines down during maintenance, you can do it any time of the day.
I have made several scripts for this, daily, weekly and monthly.
<P>&nbsp;<P>
<h3>How about system load</h3>
<P>
Because GNU/Linux is a 32 bit os, not bothered with a graphical user interface
(unless you install it), it has all the time in the world to serve your
bbs programs. Background programs are build to release time to the Unix os,
they don't need to run fast because it's background processing. The bbs and
the mailer, have a low server load although there is no timerelease build
in. Only the bbs has some short moments when it needs a lot of your system,
for example when a user logs in and scans for new mail. The bbs I run is a
486-DX4 100 MHz, 20 MB ram, with 2 analogue lines, this seems to work fine.
When this system's MOBO died, I used a 386DX33 for several months with
20 MB ram, and the only thing users ever noticed was that scanning for new
mail was slower. I think this is the slowest harware that will work.
However, you must always use 16550A uarts for the COM ports. For best
performance use SCSI disks. I noticed that old 5"FH SCSI disks perform better
for bbs usage then modern EIDE disks. This is probably caused by the fact that
the kernel needs more time for the cheap IDE bus.
If you want to use X11 on your bbs, you need more ram and a faster CPU or a
separate machine via a lan and export the display to that machine. Currently the
smallest amount of memory you need is 36 MB, and that amount is only needed if
you use a virus scanner which needs more memory then mbse.
<P>
<A HREF="index.htm"><IMG SRC="images/b_arrow.png" ALT="Back" Border="0">Go Back</A>
</BLOCKQUOTE>
</BODY>
</HTML>

97
html/ftsc/index.htm Normal file
View File

@ -0,0 +1,97 @@
<HTML>
<!-- $Id: index.htm,v 1.14 2007/03/01 19:23:41 mbse Exp $ -->
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
<META http-equiv="Content-Style-Type" content="text/css">
<META name="author" lang="en" content="Michiel Broek">
<META name="copyright" lang="en" content="Copyright Michiel Broek">
<META name="description" lang="en" content="MBSE BBS Manual">
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
<TITLE>Fidonet Standard Commitee documents.</TITLE>
<LINK rel=stylesheet HREF="../manual.css">
</HEAD>
<BODY>
<BLOCKQUOTE>
<div align=right><h5>Last update 01-Mar-2007</h5></div>
<div align=center><h1>Fidonet Technical Standards</h1></div>
<h3>Introduction</h3>
<P>
This is an overview of used documents for the development of the MBSE BBS
package. Note that there are more documents, but only the relevant and valid
documents are shown present here. The documents are not available in this
distribution anymore, you can get these from the <a href="http://www.ftsc.org">FTSC</a>
website.
<P>
Michiel Broek.
<P>
<hr>
<h3>FSC Documents</h3>
<ul>
<li>FSC-0035 Transparant Gateways to and from FidoNet, Michael Shiels
<li>FSC-0039 A type-2 packet extension proposal M.Howard
<li>FSC-0046 A Product Identifier for FidoNet Message Handlers, J.Homrighausen
<li>FSC-0048 A Proposed type-2 packet extension, J.Vroonhof
<li>FSC-0049 A proposal for passing domain information during FTS-0006 sessions, B.Hartman
<li>FSC-0050 A character set identifier for FidoNet message editors, T.Sundblom
<li>FSC-0053 Specifications for the ^aFLAGS field, J.Homrighausen
<li>FSC-0056 EMSI/IEMSI Protocol Definition, J.Homrighausen
<li>FSC-0057 Conference Managers - Specifications For Requests, F.Fabris, J.Homrighausen
<li>FSC-0059 Newsgroup Interchange within FidoNet, J.Decker
<li>FSC-0062 Nodelist Flag indicating Online Times, D.Thomas
<li>FSC-0070 Improving FidoNet/UseNet Gating and Dupe checking, F.Arnoud
<li>FSC-0072 The HYDRA file transfer protocol, J.Homrighausen, A.Lenz
<li>FSC-0087 File forwarding in FidoNet technology networks, R.Williamson
<li>FSC-0088 Compatibility and Link Qualifier Extensions for EMSI Sessions, R.Williamson
<li>FSC-0091 ISDN nodelist flags (rev.002), A.Lenz
<li>FSC-0093 Reduced seen-by lines, F.Ellermann
</ul>
<P>
<h3>FSP Documents</h3>
<ul>
<li>FSP-1011 BinkP - a protocol for transferring Fidonet mail over reliable connections, Dima Maloff
<li>FSP-1013 Character set definition in Fidonet messages
<li>FSP-1018 Binkp/1.0 Protocol specification
<li>FSP-1019 Binkp 1.0 optional protocol extension CRAM
<li>FSP-1026 Translation of a Fidonet Address into an Internet Domain Name
<li>FSP-1030 Unicode character set in FidoNet messages
<li>FSP-1032 Binkp optional protocol extension Dataframe Compression
<li>FSP-1033 The ICM Flag
</ul>
<P>
<h3>FTA Documents</h3>
<ul>
<li>FTA-1005 FTSC Product ID
<li>FTSC Product codes list
</ul>
<P>
<h3>FTS Documents</h3>
<ul>
<li>FTS-0001 A basic FidoNet(r) technical standard, R.Bush
<li>FTS-0004 Echomail specification, B.Hartman
<li>FTS-0006 YOOHOO and YOOHOO/2U2, V.Perriello
<li>FTS-0007 SEAlink protocol extension, P.Becker
<li>FTS-0008 Bark file-request protocol extension, P.Becker
<li>FTS-0009 Message identification and reply linkage, J.Nutt
<li>FTS-1024 Raw ifcico mail transfer protocol
<li>FTS-4001 Addressing Control Paragraphs, Goran Eriksson
<li>FTS-4008 Time zone information (TZUTC)
<li>FTS-4009 Netmail tracking (Via)
<li>FTS-5000 The distribution nodelist, David Hallford
<li>FTS-5001 Nodelist flags and user flags, David Hallford
</ul>
<HR>
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.png" ALT="Index" Border="0">Back to Index</A>
</BLOCKQUOTE>
</BODY>
</HTML>

BIN
html/images/b_arrow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
html/images/connec.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
html/images/domains.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

BIN
html/images/doors.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
html/images/doors2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
html/images/dream1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

BIN
html/images/dream2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

BIN
html/images/dream3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

BIN
html/images/e_menu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
html/images/emareas.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
html/images/emgroup.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
html/images/fdb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

BIN
html/images/fegroup.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
html/images/fileecho.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
html/images/filefind.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
html/images/files.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
html/images/go_to.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
html/images/hand.up.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 B

BIN
html/images/hatch.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

BIN
html/images/language.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

BIN
html/images/larrow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1017 B

BIN
html/images/magic.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
html/images/mbmon1-tn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

BIN
html/images/mbmon1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

BIN
html/images/mbmon2-tn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

BIN
html/images/mbmon2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

BIN
html/images/mbse.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

BIN
html/images/mbsebbs-s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
html/images/mbsebbs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

BIN
html/images/mbsetup0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

BIN
html/images/mbsetup1.6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

BIN
html/images/mbsetup2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

BIN
html/images/modems0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

BIN
html/images/newfiles.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
html/images/newgroups.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

BIN
html/images/nodelist.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

BIN
html/images/nodelist1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

BIN
html/images/nodelist2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

BIN
html/images/nodelist3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

BIN
html/images/nodelist4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
html/images/nodelist5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

BIN
html/images/nodes1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
html/images/nodes10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
html/images/nodes11.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
html/images/nodes2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
html/images/nodes3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Some files were not shown because too many files have changed in this diff Show More