From 625368dc2b04863275e16f3fbe15fb8525e33819 Mon Sep 17 00:00:00 2001 From: vbcoen Date: Tue, 3 Nov 2015 21:43:57 +0000 Subject: [PATCH] Signed-off-by: vbcoen --- {mbsebbs-code => master}/AUTHORS | 15 +- .../COPYING | 0 .../CRON.sh | 0 {mbsebbs-code => master}/ChangeLog | 0 .../ChangeLog_1998 | 0 .../ChangeLog_1999 | 0 .../ChangeLog_2000 | 0 .../ChangeLog_2001 | 0 .../ChangeLog_2002 | 0 .../ChangeLog_2003 | 0 .../ChangeLog_2004 | 0 .../ChangeLog_2005 | 0 .../ChangeLog_2006 | 0 .../ChangeLog_2007 | 0 .../DEBUG | 0 .../FILE_ID.DIZ.in | 0 .../INSTALL.in | 0 .../Makefile | 0 .../Makefile.global.in | 0 .../NEWS | 0 .../README | 0 .../README.Gentoo | 0 .../README.Ubuntu | 0 .../README.developer | 0 .../SETUP.sh | 0 .../TODO | 0 .../UPGRADE | 0 .../aclocal.m4 | 0 .../checkbasic | 0 .../config.h.in | 0 .../configure | 0 .../configure.ac | 0 .../cpuflags | 0 {mbsebbs-code => master}/docs/mbse-1.pdf | Bin .../examples/.cvsignore | 0 .../examples/Makefile | 0 .../examples/footer.txt | 0 .../examples/header.txt | 0 .../examples/menus-de.tar | Bin .../examples/menus-en.tar | Bin .../examples/menus-es.tar | Bin .../examples/templates-de.tar | Bin .../examples/templates-en.tar | Bin .../examples/templates-es.tar | Bin .../examples/templates-nl.tar | Bin .../examples/txtfiles-de.tar | Bin .../examples/txtfiles-en.tar | Bin .../examples/txtfiles-es.tar | Bin .../html/.cvsignore | 0 .../html/Makefile | 0 .../html/basic.html.in | 0 .../html/dist.html | 0 .../html/doors.html | 0 .../html/errcodes.html | 0 .../html/faq.html | 0 .../html/flow.html | 0 .../html/ftsc/index.htm | 0 .../html/ftsc/index.html | 0 .../html/images/b_arrow.png | Bin .../html/images/connec.png | Bin .../html/images/domains.png | Bin .../html/images/doors.png | Bin .../html/images/doors2.png | Bin .../html/images/dream1.png | Bin .../html/images/dream2.png | Bin .../html/images/dream3.png | Bin .../html/images/e_menu.png | Bin .../html/images/emareas.png | Bin .../html/images/emgroup.png | Bin .../html/images/fdb.png | Bin .../html/images/fegroup.png | Bin .../html/images/fileecho.png | Bin .../html/images/filefind.png | Bin .../html/images/files.png | Bin .../html/images/go_to.png | Bin .../html/images/hand.up.png | Bin .../html/images/hatch.png | Bin .../html/images/language.png | Bin .../html/images/larrow.png | Bin .../html/images/magic.png | Bin .../html/images/mbmon1-tn.png | Bin .../html/images/mbmon1.png | Bin .../html/images/mbmon2-tn.png | Bin .../html/images/mbmon2.png | Bin .../html/images/mbse.png | Bin .../html/images/mbsebbs-s.png | Bin .../html/images/mbsebbs.png | Bin .../html/images/mbsetup0.png | Bin .../html/images/mbsetup1.6.S.png | Bin .../html/images/mbsetup1.6.png | Bin .../html/images/mbsetup2.png | Bin .../html/images/modems0.png | Bin .../html/images/newfiles.png | Bin .../html/images/newgroups.png | Bin .../html/images/nodelist.png | Bin .../html/images/nodelist1.png | Bin .../html/images/nodelist2.png | Bin .../html/images/nodelist3.png | Bin .../html/images/nodelist4.png | Bin .../html/images/nodelist5.png | Bin .../html/images/nodes1.png | Bin .../html/images/nodes10.png | Bin .../html/images/nodes11.png | Bin .../html/images/nodes2.png | Bin .../html/images/nodes3.png | Bin .../html/images/nodes4.png | Bin .../html/images/nodes5.png | Bin .../html/images/nodes6.png | Bin .../html/images/nodes7.png | Bin .../html/images/nodes8.png | Bin .../html/images/nodes9.png | Bin .../html/images/oneliner.png | Bin .../html/images/protocol.png | Bin .../html/images/rarrow.png | Bin .../html/images/route1.png | Bin .../html/images/route2.png | Bin .../html/images/security.png | Bin .../html/images/taskmgr.png | Bin .../html/images/tdream1.png | Bin .../html/images/tdream2.png | Bin .../html/images/tdream3.png | Bin .../html/images/tty.png | Bin .../html/images/tty1.png | Bin .../html/images/tty2.png | Bin .../html/images/uarrow.png | Bin .../html/images/users.png | Bin .../html/images/users2.png | Bin .../html/index.htm.in | 0 .../html/index.html.in | 0 .../html/intergate.html | 0 .../html/intro.html | 0 .../html/invoking.html | 0 .../html/known_bugs.html | 0 .../html/license/copying.html | 0 .../html/license/hydracom.html | 0 .../html/license/index.htm | 0 .../html/license/index.html | 0 .../html/license/jam.html | 0 .../html/manual.css | 0 .../html/menus/control.html | 0 .../html/menus/index.htm | 0 .../html/menus/index.html | 0 .../html/menus/menu0.html | 0 .../html/menus/menu100.html | 0 .../html/menus/menu200.html | 0 .../html/menus/menu300.html | 0 .../html/menus/menu400.html | 0 .../html/menus/menu500.html | 0 .../html/mgetty.html | 0 .../html/misc/dropfile.html | 0 .../html/misc/filefind.html | 0 .../html/misc/fileid.html | 0 .../html/misc/ftpserver.html | 0 .../html/misc/index.htm | 0 .../html/misc/index.html | 0 .../html/misc/ipmailer.html | 0 .../html/misc/jam.html | 0 .../html/misc/outbound.html | 0 .../html/misc/semafore.html | 0 .../html/misc/usleep.html | 0 .../html/misc/webserver.html | 0 .../html/nodelist.html | 0 .../html/postfix.html | 0 .../html/programs/index.htm | 0 .../html/programs/index.html | 0 .../html/programs/mbaff.html | 0 .../html/programs/mball.html | 0 .../html/programs/mbcico.html | 0 .../html/programs/mbdiff.html | 0 .../html/programs/mbfido.html | 0 .../html/programs/mbfile.html | 0 .../html/programs/mbindex.html | 0 .../html/programs/mblang.html | 0 .../html/programs/mblogin.html | 0 .../html/programs/mbmon.html | 0 .../html/programs/mbmsg.html | 0 .../html/programs/mbnntp.html | 0 .../html/programs/mbout.html | 0 .../html/programs/mbpasswd.html | 0 .../html/programs/mbsebbs.html | 0 .../html/programs/mbseq.html | 0 .../html/programs/mbsetup.html | 0 .../html/programs/mbstat.html | 0 .../html/programs/mbtask.html | 0 .../html/programs/mbtoberep.html | 0 .../html/programs/mbuser.html | 0 .../html/programs/mbuseradd.html | 0 .../html/routing.html | 0 .../html/setup/archiver.html | 0 .../html/setup/bbs.html | 0 .../html/setup/chat.html | 0 .../html/setup/domains.html | 0 .../html/setup/emareas.html | 0 .../html/setup/emgroup.html | 0 .../html/setup/fdb.html | 0 .../html/setup/fegroup.html | 0 .../html/setup/fidonet.html | 0 .../html/setup/fileecho.html | 0 .../html/setup/filefind.html | 0 .../html/setup/files.html | 0 .../html/setup/global.html | 0 .../html/setup/hatch.html | 0 .../html/setup/index.htm | 0 .../html/setup/index.html | 0 .../html/setup/language.html | 0 .../html/setup/magic.html | 0 .../html/setup/mail.html | 0 .../html/setup/modems.html | 0 .../html/setup/newfiles.html | 0 .../html/setup/newgroups.html | 0 .../html/setup/nodes.html | 0 .../html/setup/oneliner.html | 0 .../html/setup/protocol.html | 0 .../html/setup/route.html | 0 .../html/setup/security.html | 0 .../html/setup/services.html | 0 .../html/setup/sitedoc.html | 0 .../html/setup/softinfo.html | 0 .../html/setup/taskmgr.html | 0 .../html/setup/tic.html | 0 .../html/setup/ttyinfo.html | 0 .../html/setup/users.html | 0 .../html/setup/virscan.html | 0 .../html/upgrade.html.in | 0 .../html/ups.html | 0 .../lang/.cvsignore | 0 .../lang/Language.xref | 0 .../lang/Makefile | 0 .../lang/README | 0 .../lang/germandu.txt | 0 .../lang/source.de | 0 .../lang/source.en | 0 .../lang/source.es | 0 .../lang/source.fr | 0 .../lang/source.gl | 0 .../lang/source.nl | 0 .../lang/source.zh | 0 .../lib/.cvsignore | 0 .../lib/Diesel.doc | 0 .../lib/Makefile | 0 .../lib/README | 0 .../lib/README.diesel | 0 .../lib/README.macro | 0 .../lib/attach.c | 0 .../lib/batchrd.c | 0 .../lib/bluewave.h | 0 .../lib/charset.c | 0 .../lib/clcomm.c | 0 .../lib/client.c | 0 .../lib/crc.c | 0 .../lib/dbcfg.c | 0 .../lib/dbdupe.c | 0 .../lib/dbfdb.c | 0 .../lib/dbftn.c | 0 .../lib/dbmsgs.c | 0 .../lib/dbnode.c | 0 .../lib/dbtic.c | 0 .../lib/dbuser.c | 0 .../lib/diesel.c | 0 .../lib/diesel.h | 0 .../lib/dostran.c | 0 .../lib/endian.c | 0 .../lib/execute.c | 0 .../lib/expipe.c | 0 .../lib/faddr.c | 0 .../lib/falists.c | 0 .../lib/ftn.c | 0 .../lib/ftnmsg.c | 0 .../lib/ftscprod.010 | 0 .../lib/ftscprod.016 | 0 .../lib/getheader.c | 0 .../lib/gmtoffset.c | 0 .../lib/hdr.c | 0 .../lib/jam.h | 0 .../lib/jammsg.c | 0 .../lib/jammsg.h | 0 .../lib/jamsys.h | 0 .../lib/magic.c | 0 .../lib/mangle.c | 0 .../lib/mbdiesel.c | 0 .../lib/mbfile.c | 0 .../lib/mbinet.h | 0 .../lib/mbse.h | 0 .../lib/mbsedb.h | 0 .../lib/mbselib.h | 0 .../lib/mkprod.awk | 0 .../lib/msg.c | 0 .../lib/msg.h | 0 .../lib/msgtext.c | 0 .../lib/msgtext.h | 0 .../lib/nntp.c | 0 .../lib/nodelist.c | 0 .../lib/nodelist.conf | 0 .../lib/nodelist.h | 0 .../lib/nodelock.c | 0 .../lib/noderecord.c | 0 .../lib/packet.c | 0 .../lib/parsedate.c | 0 .../lib/pidinfo.c | 0 .../lib/pktname.c | 0 .../lib/pop3.c | 0 .../lib/proglock.c | 0 .../lib/rawio.c | 0 .../lib/rearc.c | 0 .../lib/remask.c | 0 .../lib/rfcaddr.c | 0 .../lib/rfcdate.c | 0 .../lib/rfcmsg.c | 0 .../lib/sectest.c | 0 .../lib/semafore.c | 0 .../lib/signame.c | 0 .../lib/smtp.c | 0 .../lib/strcasestr.c | 0 .../lib/strutil.c | 0 .../lib/term.c | 0 .../lib/timers.c | 0 .../lib/tmpwork.c | 0 .../lib/unpacker.c | 0 .../lib/users.h | 0 .../lib/virscan.c | 0 .../mbcico/.cvsignore | 0 .../mbcico/Makefile | 0 .../mbcico/README | 0 .../mbcico/answer.c | 0 .../mbcico/answer.h | 0 .../mbcico/atoul.c | 0 .../mbcico/atoul.h | 0 .../mbcico/binkp.c | 0 .../mbcico/binkp.h | 0 .../mbcico/bopenfile.c | 0 .../mbcico/bopenfile.h | 0 .../mbcico/call.c | 0 .../mbcico/call.h | 0 .../mbcico/callstat.c | 0 .../mbcico/callstat.h | 0 .../mbcico/chat.c | 0 .../mbcico/chat.h | 0 .../mbcico/config.h | 0 .../mbcico/dial.c | 0 .../mbcico/dial.h | 0 .../mbcico/dietifna.c | 0 .../mbcico/dietifna.h | 0 .../mbcico/dirlock.c | 0 .../mbcico/dirlock.h | 0 .../mbcico/emsi.c | 0 .../mbcico/emsi.h | 0 .../mbcico/emsidat.c | 0 .../mbcico/emsidat.h | 0 .../mbcico/filelist.c | 0 .../mbcico/filelist.h | 0 .../mbcico/filetime.c | 0 .../mbcico/filetime.h | 0 .../mbcico/ftsc.c | 0 .../mbcico/ftsc.h | 0 .../mbcico/htoul.c | 0 .../mbcico/htoul.h | 0 .../mbcico/hydra.c | 0 .../mbcico/hydra.h | 0 .../mbcico/inbound.c | 0 .../mbcico/inbound.h | 0 .../mbcico/lutil.c | 0 .../mbcico/lutil.h | 0 .../mbcico/m7recv.c | 0 .../mbcico/m7recv.h | 0 .../mbcico/m7send.c | 0 .../mbcico/m7send.h | 0 .../mbcico/mbcico.c | 0 .../mbcico/mbcico.h | 0 .../mbcico/mbout.c | 0 .../mbcico/md5b.c | 0 .../mbcico/md5b.h | 0 .../mbcico/nlinfo.c | 0 .../mbcico/nlinfo.h | 0 .../mbcico/openfile.c | 0 .../mbcico/openfile.h | 0 .../mbcico/openport.c | 0 .../mbcico/openport.h | 0 .../mbcico/opentcp.c | 0 .../mbcico/opentcp.h | 0 .../mbcico/outstat.c | 0 .../mbcico/outstat.h | 0 .../mbcico/portsel.c | 0 .../mbcico/portsel.h | 0 .../mbcico/rdoptions.c | 0 .../mbcico/rdoptions.h | 0 .../mbcico/recvbark.c | 0 .../mbcico/recvbark.h | 0 .../mbcico/respfreq.c | 0 .../mbcico/respfreq.h | 0 .../mbcico/scanout.c | 0 .../mbcico/scanout.h | 0 .../mbcico/sendbark.c | 0 .../mbcico/sendbark.h | 0 .../mbcico/session.c | 0 .../mbcico/session.h | 0 .../mbcico/statetbl.h | 0 .../mbcico/tcp.c | 0 .../mbcico/tcp.h | 0 .../mbcico/tcpproto.c | 0 .../mbcico/tcpproto.h | 0 .../mbcico/telnet.c | 0 .../mbcico/telnet.h | 0 .../mbcico/ttyio.c | 0 .../mbcico/ttyio.h | 0 .../mbcico/ulock.c | 0 .../mbcico/ulock.h | 0 .../mbcico/wazoo.c | 0 .../mbcico/wazoo.h | 0 .../mbcico/xmrecv.c | 0 .../mbcico/xmrecv.h | 0 .../mbcico/xmsend.c | 0 .../mbcico/xmsend.h | 0 .../mbcico/yoohoo.c | 0 .../mbcico/yoohoo.h | 0 .../mbcico/zmmisc.c | 0 .../mbcico/zmodem.h | 0 .../mbcico/zmrecv.c | 0 .../mbcico/zmrle.c | 0 .../mbcico/zmsend.c | 0 .../mbfido/.cvsignore | 0 .../mbfido/Makefile | 0 .../mbfido/README | 0 .../mbfido/addbbs.c | 0 .../mbfido/addbbs.h | 0 .../mbfido/addpkt.c | 0 .../mbfido/addpkt.h | 0 .../mbfido/aliasdb.c | 0 .../mbfido/aliasdb.h | 0 .../mbfido/announce.c | 0 .../mbfido/announce.h | 0 .../mbfido/areamgr.c | 0 .../mbfido/areamgr.h | 0 .../mbfido/atoul.c | 0 .../mbfido/atoul.h | 0 .../mbfido/backalias.c | 0 .../mbfido/backalias.h | 0 .../mbfido/bounce.c | 0 .../mbfido/bounce.h | 0 .../mbfido/bwrite.c | 0 .../mbfido/bwrite.h | 0 .../mbfido/createf.c | 0 .../mbfido/createf.h | 0 .../mbfido/createm.c | 0 .../mbfido/createm.h | 0 .../mbfido/dirlock.c | 0 .../mbfido/dirlock.h | 0 .../mbfido/dirsession.c | 0 .../mbfido/dirsession.h | 0 .../mbfido/fflist.c | 0 .../mbfido/fflist.h | 0 .../mbfido/filefind.c | 0 .../mbfido/filefind.h | 0 .../mbfido/filemgr.c | 0 .../mbfido/filemgr.h | 0 .../mbfido/flock.c | 0 .../mbfido/flock.h | 0 .../mbfido/forward.c | 0 .../mbfido/forward.h | 0 .../mbfido/fsort.c | 0 .../mbfido/fsort.h | 0 .../mbfido/ftn2rfc.c | 0 .../mbfido/ftn2rfc.h | 0 .../mbfido/grlist.c | 0 .../mbfido/grlist.h | 0 .../mbfido/hash.c | 0 .../mbfido/hash.h | 0 .../mbfido/hatch.c | 0 .../mbfido/hatch.h | 0 .../mbfido/lhash.c | 0 .../mbfido/lhash.h | 0 .../mbfido/magic.c | 0 .../mbfido/magic.h | 0 .../mbfido/makestat.c | 0 .../mbfido/makestat.h | 0 .../mbfido/maketags.c | 0 .../mbfido/maketags.h | 0 .../mbfido/mbaff.c | 0 .../mbfido/mbaff.h | 0 .../mbfido/mbdiff.c | 0 .../mbfido/mbdiff.h | 0 .../mbfido/mbfadopt.c | 0 .../mbfido/mbfadopt.h | 0 .../mbfido/mbfcheck.c | 0 .../mbfido/mbfcheck.h | 0 .../mbfido/mbfdel.c | 0 .../mbfido/mbfdel.h | 0 .../mbfido/mbfido.c | 0 .../mbfido/mbfido.h | 0 .../mbfido/mbfile.c | 0 .../mbfido/mbfile.h | 0 .../mbfido/mbfimport.c | 0 .../mbfido/mbfimport.h | 0 .../mbfido/mbfindex.c | 0 .../mbfido/mbfindex.h | 0 .../mbfido/mbfkill.c | 0 .../mbfido/mbfkill.h | 0 .../mbfido/mbflist.c | 0 .../mbfido/mbflist.h | 0 .../mbfido/mbfmove.c | 0 .../mbfido/mbfmove.h | 0 .../mbfido/mbfpack.c | 0 .../mbfido/mbfpack.h | 0 .../mbfido/mbfrearc.c | 0 .../mbfido/mbfrearc.h | 0 .../mbfido/mbfsort.c | 0 .../mbfido/mbfsort.h | 0 .../mbfido/mbftoberep.c | 0 .../mbfido/mbftoberep.h | 0 .../mbfido/mbfutil.c | 0 .../mbfido/mbfutil.h | 0 .../mbfido/mbindex.c | 0 .../mbfido/mbindex.h | 0 .../mbfido/mbmsg.c | 0 .../mbfido/mbmsg.h | 0 .../mbfido/mbseq.c | 0 .../mbfido/mbseq.h | 0 .../mbfido/mgrutil.c | 0 .../mbfido/mgrutil.h | 0 .../mbfido/mkftnhdr.c | 0 .../mbfido/mkftnhdr.h | 0 .../mbfido/mover.c | 0 .../mbfido/mover.h | 0 .../mbfido/msg.c | 0 .../mbfido/msg.h | 0 .../mbfido/msgflags.c | 0 .../mbfido/msgflags.h | 0 .../mbfido/msgutil.c | 0 .../mbfido/msgutil.h | 0 .../mbfido/newspost.c | 0 .../mbfido/newspost.h | 0 .../mbfido/notify.c | 0 .../mbfido/notify.h | 0 .../mbfido/orphans.c | 0 .../mbfido/orphans.h | 0 .../mbfido/ping.c | 0 .../mbfido/ping.h | 0 .../mbfido/post.c | 0 .../mbfido/post.h | 0 .../mbfido/postecho.c | 0 .../mbfido/postecho.h | 0 .../mbfido/postemail.c | 0 .../mbfido/postemail.h | 0 .../mbfido/postnetmail.c | 0 .../mbfido/postnetmail.h | 0 .../mbfido/ptic.c | 0 .../mbfido/ptic.h | 0 .../mbfido/qualify.c | 0 .../mbfido/qualify.h | 0 .../mbfido/queue.c | 0 .../mbfido/queue.h | 0 .../mbfido/rfc2ftn.c | 0 .../mbfido/rfc2ftn.h | 0 .../mbfido/rnews.c | 0 .../mbfido/rnews.h | 0 .../mbfido/rollover.c | 0 .../mbfido/rollover.h | 0 .../mbfido/scan.c | 0 .../mbfido/scan.h | 0 .../mbfido/scannews.c | 0 .../mbfido/scannews.h | 0 .../mbfido/sendmail.c | 0 .../mbfido/sendmail.h | 0 .../mbfido/storeecho.c | 0 .../mbfido/storeecho.h | 0 .../mbfido/storenet.c | 0 .../mbfido/storenet.h | 0 .../mbfido/tic.c | 0 .../mbfido/tic.h | 0 .../mbfido/toberep.c | 0 .../mbfido/toberep.h | 0 .../mbfido/tosspkt.c | 0 .../mbfido/tosspkt.h | 0 .../mbfido/tracker.c | 0 .../mbfido/tracker.h | 0 .../mbfido/unpack.c | 0 .../mbfido/unpack.h | 0 .../mbfido/utic.c | 0 .../mbfido/utic.h | 0 .../mbmon/.cvsignore | 0 .../mbmon/Makefile | 0 {mbsebbs-code => master}/mbmon/mbmon.c | 0 .../mbmon/mbmon.h | 0 .../mbmon/mutil.c | 0 .../mbmon/mutil.h | 0 .../mbmon/proglock.c | 0 .../mbmon/proglock.h | 0 .../mbnntp/.cvsignore | 0 .../mbnntp/Makefile | 0 .../mbnntp/atoul.c | 0 .../mbnntp/atoul.h | 0 .../mbnntp/auth.c | 0 .../mbnntp/auth.h | 0 .../mbnntp/commands.c | 0 .../mbnntp/commands.h | 0 .../mbnntp/hash.c | 0 .../mbnntp/hash.h | 0 .../mbnntp/lhash.c | 0 .../mbnntp/lhash.h | 0 .../mbnntp/mbnntp.c | 0 .../mbnntp/mbnntp.h | 0 .../mbnntp/mkftnhdr.c | 0 .../mbnntp/mkftnhdr.h | 0 .../mbnntp/msgflags.c | 0 .../mbnntp/msgflags.h | 0 .../mbnntp/openport.c | 0 .../mbnntp/openport.h | 0 .../mbnntp/rfc2ftn.c | 0 .../mbnntp/rfc2ftn.h | 0 .../mbnntp/ttyio.c | 0 .../mbnntp/ttyio.h | 0 .../mbsebbs/.cvsignore | 0 .../mbsebbs/Makefile | 0 .../mbsebbs/bye.c | 0 .../mbsebbs/bye.h | 0 .../mbsebbs/change.c | 0 .../mbsebbs/change.h | 0 .../mbsebbs/chat.c | 0 .../mbsebbs/chat.h | 0 .../mbsebbs/dispfile.c | 0 .../mbsebbs/dispfile.h | 0 .../mbsebbs/door.c | 0 .../mbsebbs/door.h | 0 .../mbsebbs/email.c | 0 .../mbsebbs/email.h | 0 .../mbsebbs/exitinfo.c | 0 .../mbsebbs/exitinfo.h | 0 .../mbsebbs/file.c | 0 .../mbsebbs/file.h | 0 .../mbsebbs/filesub.c | 0 .../mbsebbs/filesub.h | 0 .../mbsebbs/fsedit.c | 0 .../mbsebbs/fsedit.h | 0 .../mbsebbs/funcs.c | 0 .../mbsebbs/funcs.h | 0 .../mbsebbs/input.c | 0 .../mbsebbs/input.h | 0 .../mbsebbs/language.c | 0 .../mbsebbs/language.h | 0 .../mbsebbs/lastcallers.c | 0 .../mbsebbs/lastcallers.h | 0 .../mbsebbs/logentry.c | 0 .../mbsebbs/logentry.h | 0 .../mbsebbs/mail.c | 0 .../mbsebbs/mail.h | 0 .../mbsebbs/mbnewusr.c | 0 .../mbsebbs/mbnewusr.h | 0 .../mbsebbs/mbsebbs.c | 0 .../mbsebbs/mbsebbs.h | 0 .../mbsebbs/menu.c | 0 .../mbsebbs/menu.h | 0 .../mbsebbs/mib.c | 0 .../mbsebbs/mib.h | 0 .../mbsebbs/misc.c | 0 .../mbsebbs/misc.h | 0 .../mbsebbs/morefile.c | 0 .../mbsebbs/morefile.h | 0 .../mbsebbs/msgutil.c | 0 .../mbsebbs/msgutil.h | 0 .../mbsebbs/newuser.c | 0 .../mbsebbs/newuser.h | 0 .../mbsebbs/offline.c | 0 .../mbsebbs/offline.h | 0 .../mbsebbs/oneline.c | 0 .../mbsebbs/oneline.h | 0 .../mbsebbs/openport.c | 0 .../mbsebbs/openport.h | 0 .../mbsebbs/page.c | 0 .../mbsebbs/page.h | 0 .../mbsebbs/pinfo.c | 0 .../mbsebbs/pinfo.h | 0 .../mbsebbs/pop3.c | 0 .../mbsebbs/pop3.h | 0 .../mbsebbs/signature.c | 0 .../mbsebbs/signature.h | 0 .../mbsebbs/term.c | 0 .../mbsebbs/term.h | 0 .../mbsebbs/timecheck.c | 0 .../mbsebbs/timecheck.h | 0 .../mbsebbs/timeout.c | 0 .../mbsebbs/timeout.h | 0 .../mbsebbs/timestats.c | 0 .../mbsebbs/timestats.h | 0 .../mbsebbs/transfer.c | 0 .../mbsebbs/transfer.h | 0 .../mbsebbs/ttyio.c | 0 .../mbsebbs/ttyio.h | 0 .../mbsebbs/user.c | 0 .../mbsebbs/user.h | 0 .../mbsebbs/userlist.c | 0 .../mbsebbs/userlist.h | 0 .../mbsebbs/whoson.c | 0 .../mbsebbs/whoson.h | 0 .../mbsebbs/ymrecv.c | 0 .../mbsebbs/ymrecv.h | 0 .../mbsebbs/ymsend.c | 0 .../mbsebbs/ymsend.h | 0 .../mbsebbs/zmmisc.c | 0 .../mbsebbs/zmmisc.h | 0 .../mbsebbs/zmrecv.c | 0 .../mbsebbs/zmrecv.h | 0 .../mbsebbs/zmsend.c | 0 .../mbsebbs/zmsend.h | 0 .../mbsetup/.cvsignore | 0 .../mbsetup/Makefile | 0 .../mbsetup/grlist.c | 0 .../mbsetup/grlist.h | 0 .../mbsetup/ledit.c | 0 .../mbsetup/ledit.h | 0 .../mbsetup/m_archive.c | 0 .../mbsetup/m_archive.h | 0 .../mbsetup/m_bbs.c | 0 .../mbsetup/m_bbs.h | 0 .../mbsetup/m_domain.c | 0 .../mbsetup/m_domain.h | 0 .../mbsetup/m_farea.c | 0 .../mbsetup/m_farea.h | 0 .../mbsetup/m_fdb.c | 0 .../mbsetup/m_fdb.h | 0 .../mbsetup/m_ff.c | 0 .../mbsetup/m_ff.h | 0 .../mbsetup/m_fgroup.c | 0 .../mbsetup/m_fgroup.h | 0 .../mbsetup/m_fido.c | 0 .../mbsetup/m_fido.h | 0 .../mbsetup/m_global.c | 0 .../mbsetup/m_global.h | 0 .../mbsetup/m_hatch.c | 0 .../mbsetup/m_hatch.h | 0 .../mbsetup/m_ibc.c | 0 .../mbsetup/m_ibc.h | 0 .../mbsetup/m_lang.c | 0 .../mbsetup/m_lang.h | 0 .../mbsetup/m_limits.c | 0 .../mbsetup/m_limits.h | 0 .../mbsetup/m_magic.c | 0 .../mbsetup/m_magic.h | 0 .../mbsetup/m_mail.c | 0 .../mbsetup/m_mail.h | 0 .../mbsetup/m_marea.c | 0 .../mbsetup/m_marea.h | 0 .../mbsetup/m_menu.c | 0 .../mbsetup/m_menu.h | 0 .../mbsetup/m_mgroup.c | 0 .../mbsetup/m_mgroup.h | 0 .../mbsetup/m_modem.c | 0 .../mbsetup/m_modem.h | 0 .../mbsetup/m_new.c | 0 .../mbsetup/m_new.h | 0 .../mbsetup/m_ngroup.c | 0 .../mbsetup/m_ngroup.h | 0 .../mbsetup/m_node.c | 0 .../mbsetup/m_node.h | 0 .../mbsetup/m_ol.c | 0 .../mbsetup/m_ol.h | 0 .../mbsetup/m_protocol.c | 0 .../mbsetup/m_protocol.h | 0 .../mbsetup/m_route.c | 0 .../mbsetup/m_route.h | 0 .../mbsetup/m_service.c | 0 .../mbsetup/m_service.h | 0 .../mbsetup/m_task.c | 0 .../mbsetup/m_task.h | 0 .../mbsetup/m_tic.c | 0 .../mbsetup/m_tic.h | 0 .../mbsetup/m_ticarea.c | 0 .../mbsetup/m_ticarea.h | 0 .../mbsetup/m_tty.c | 0 .../mbsetup/m_tty.h | 0 .../mbsetup/m_users.c | 0 .../mbsetup/m_users.h | 0 .../mbsetup/m_virus.c | 0 .../mbsetup/m_virus.h | 0 {mbsebbs-code => master}/mbsetup/mbsetup.c | 0 .../mbsetup/mutil.c | 0 .../mbsetup/mutil.h | 0 .../mbsetup/screen.c | 0 .../mbsetup/screen.h | 0 .../mbsetup/stlist.c | 0 .../mbsetup/stlist.h | 0 .../mbtask/.cvsignore | 0 .../mbtask/Makefile | 0 .../mbtask/calllist.c | 0 .../mbtask/calllist.h | 0 .../mbtask/callstat.c | 0 .../mbtask/callstat.h | 0 .../mbtask/crc.c | 0 .../mbtask/issue | 0 .../mbtask/issue.netbsd | 0 .../mbtask/mbtask.c | 0 .../mbtask/mbtask.h | 0 .../mbtask/outstat.c | 0 .../mbtask/outstat.h | 0 .../mbtask/pidinfo.c | 0 .../mbtask/ping.c | 0 .../mbtask/ping.h | 0 .../mbtask/ports.c | 0 .../mbtask/ports.h | 0 .../mbtask/scanout.c | 0 .../mbtask/scanout.h | 0 .../mbtask/signame.c | 0 .../mbtask/signame.h | 0 .../mbtask/taskchat.c | 0 .../mbtask/taskchat.h | 0 .../mbtask/taskcomm.c | 0 .../mbtask/taskcomm.h | 0 .../mbtask/taskdisk.c | 0 .../mbtask/taskdisk.h | 0 .../mbtask/taskibc.c | 0 .../mbtask/taskibc.h | 0 .../mbtask/taskinfo.c | 0 .../mbtask/taskinfo.h | 0 .../mbtask/taskregs.c | 0 .../mbtask/taskregs.h | 0 .../mbtask/taskstat.c | 0 .../mbtask/taskstat.h | 0 .../mbtask/taskutil.c | 0 .../mbtask/taskutil.h | 0 .../mbutils/.cvsignore | 0 .../mbutils/Makefile | 0 .../mbutils/dlcount.c | 0 .../mbutils/dlcount.h | 0 .../mbutils/mball.c | 0 .../mbutils/mball.h | 0 .../mbutils/mbbw.c | 0 .../mbutils/mblang.c | 0 .../mbutils/mbsnmp.c | 0 .../mbutils/mbsnmp.h | 0 .../mbutils/mbstat.c | 0 .../mbutils/mbstat.h | 0 .../mbutils/mbtoberep.c | 0 .../mbutils/mbuser.c | 0 .../mbutils/mbuser.h | 0 .../paths.h.in | 0 .../script/.cvsignore | 0 .../script/Makefile | 0 .../script/README | 0 .../script/bbsdoor.sh | 0 .../script/bbsjmacsrc | 0 .../script/bbsjoerc | 0 .../script/doors.bat | 0 .../script/editor.in | 0 .../script/hatch | 0 .../script/init.Arch | 0 .../script/init.Debian | 0 .../script/init.FreeBSD | 0 .../script/init.Gentoo | 0 .../script/init.NetBSD | 0 .../script/init.OpenBSD | 0 .../script/init.RedHat | 0 .../script/init.Slackware | 0 .../script/init.SuSE | 0 .../script/installinit.sh | 0 .../script/maint | 0 .../script/mbsedos | 0 .../script/midnight | 0 .../script/monthly | 0 .../script/rundoor.sh | 0 .../script/runvirtual.sh | 0 .../script/setup.mbse | 0 .../script/weekly | 0 .../unix/.cvsignore | 0 .../unix/Makefile | 0 .../unix/basename.c | 0 .../unix/basename.h | 0 .../unix/chowntty.c | 0 .../unix/chowntty.h | 0 .../unix/commonio.c | 0 .../unix/commonio.h | 0 .../unix/encrypt.c | 0 .../unix/encrypt.h | 0 .../unix/env.c | 0 .../unix/env.h | 0 .../unix/getdef.c | 0 .../unix/getdef.h | 0 .../unix/limits.c | 0 .../unix/limits.h | 0 .../unix/log.c | 0 .../unix/log.h | 0 .../unix/login.defs.in | 0 .../unix/loginprompt.c | 0 .../unix/loginprompt.h | 0 .../unix/mblogin.c | 0 .../unix/mblogin.h | 0 .../unix/mbpasswd.c | 0 .../unix/mbpasswd.h | 0 .../unix/mbuseradd.c | 0 .../unix/mbuseradd.h | 0 .../unix/myname.c | 0 .../unix/myname.h | 0 .../unix/putpwent.c | 0 .../unix/putpwent.h | 0 .../unix/pw_util.c | 0 .../unix/pw_util.h | 0 .../unix/pwauth.c | 0 .../unix/pwauth.h | 0 .../unix/pwdcheck.c | 0 .../unix/pwdcheck.h | 0 .../unix/pwio.c | 0 .../unix/pwio.h | 0 .../unix/rad64.c | 0 .../unix/rad64.h | 0 .../unix/salt.c | 0 .../unix/salt.h | 0 .../unix/setugid.c | 0 .../unix/setugid.h | 0 .../unix/setupenv.c | 0 .../unix/setupenv.h | 0 .../unix/sgetpwent.c | 0 .../unix/sgetpwent.h | 0 .../unix/shadowio.c | 0 .../unix/shadowio.h | 0 .../unix/shell.c | 0 .../unix/shell.h | 0 .../unix/sub.c | 0 .../unix/sub.h | 0 .../unix/utmp.c | 0 .../unix/utmp.h | 0 .../unix/xmalloc.c | 0 .../unix/xmalloc.h | 0 .../.cvsignore | 1 - .../.hgignore | 57 - .../AUTHORS | 60 - .../ChangeLog | 369 - .../mbmon/mbmon.c | 850 -- .../mbsetup/mbsetup.c | 556 -- mbsebbs-code/COPYING | 340 - mbsebbs-code/CRON.sh | 93 - mbsebbs-code/ChangeLog_1998 | 1393 --- mbsebbs-code/ChangeLog_1999 | 1602 --- mbsebbs-code/ChangeLog_2000 | 668 -- mbsebbs-code/ChangeLog_2001 | 933 -- mbsebbs-code/ChangeLog_2002 | 973 -- mbsebbs-code/ChangeLog_2003 | 457 - mbsebbs-code/ChangeLog_2004 | 889 -- mbsebbs-code/ChangeLog_2005 | 451 - mbsebbs-code/ChangeLog_2006 | 184 - mbsebbs-code/ChangeLog_2007 | 277 - mbsebbs-code/DEBUG | 31 - mbsebbs-code/FILE_ID.DIZ.in | 24 - mbsebbs-code/INSTALL.in | 252 - mbsebbs-code/Makefile | 164 - mbsebbs-code/Makefile.global.in | 46 - mbsebbs-code/NEWS | 0 mbsebbs-code/README | 33 - mbsebbs-code/README.Gentoo | 19 - mbsebbs-code/README.Ubuntu | 28 - mbsebbs-code/README.developer | 55 - mbsebbs-code/SETUP.sh | 682 -- mbsebbs-code/TODO | 121 - mbsebbs-code/UPGRADE | 18 - mbsebbs-code/aclocal.m4 | 149 - mbsebbs-code/checkbasic | 50 - mbsebbs-code/config.h.in | 273 - mbsebbs-code/configure | 8772 ----------------- mbsebbs-code/configure.ac | 405 - mbsebbs-code/cpuflags | 140 - mbsebbs-code/examples/.cvsignore | 1 - mbsebbs-code/examples/Makefile | 145 - mbsebbs-code/examples/footer.txt | 9 - mbsebbs-code/examples/header.txt | 28 - mbsebbs-code/examples/menus-de.tar | Bin 61440 -> 0 bytes mbsebbs-code/examples/menus-en.tar | Bin 61440 -> 0 bytes mbsebbs-code/examples/menus-es.tar | Bin 51200 -> 0 bytes mbsebbs-code/examples/templates-de.tar | Bin 81920 -> 0 bytes mbsebbs-code/examples/templates-en.tar | Bin 81920 -> 0 bytes mbsebbs-code/examples/templates-es.tar | Bin 81920 -> 0 bytes mbsebbs-code/examples/templates-nl.tar | Bin 81920 -> 0 bytes mbsebbs-code/examples/txtfiles-de.tar | Bin 40960 -> 0 bytes mbsebbs-code/examples/txtfiles-en.tar | Bin 40960 -> 0 bytes mbsebbs-code/examples/txtfiles-es.tar | Bin 40960 -> 0 bytes mbsebbs-code/html/.cvsignore | 1 - mbsebbs-code/html/Makefile | 125 - mbsebbs-code/html/basic.html.in | 281 - mbsebbs-code/html/dist.html | 104 - mbsebbs-code/html/doors.html | 229 - mbsebbs-code/html/errcodes.html | 83 - mbsebbs-code/html/faq.html | 1502 --- mbsebbs-code/html/flow.html | 180 - mbsebbs-code/html/ftsc/index.htm | 97 - mbsebbs-code/html/ftsc/index.html | 97 - mbsebbs-code/html/images/b_arrow.png | Bin 1028 -> 0 bytes mbsebbs-code/html/images/connec.png | Bin 1049 -> 0 bytes mbsebbs-code/html/images/domains.png | Bin 5379 -> 0 bytes mbsebbs-code/html/images/doors.png | Bin 12601 -> 0 bytes mbsebbs-code/html/images/doors2.png | Bin 12609 -> 0 bytes mbsebbs-code/html/images/dream1.png | Bin 119883 -> 0 bytes mbsebbs-code/html/images/dream2.png | Bin 108143 -> 0 bytes mbsebbs-code/html/images/dream3.png | Bin 115790 -> 0 bytes mbsebbs-code/html/images/e_menu.png | Bin 10489 -> 0 bytes mbsebbs-code/html/images/emareas.png | Bin 13897 -> 0 bytes mbsebbs-code/html/images/emgroup.png | Bin 13665 -> 0 bytes mbsebbs-code/html/images/fdb.png | Bin 10057 -> 0 bytes mbsebbs-code/html/images/fegroup.png | Bin 13201 -> 0 bytes mbsebbs-code/html/images/fileecho.png | Bin 15291 -> 0 bytes mbsebbs-code/html/images/filefind.png | Bin 11080 -> 0 bytes mbsebbs-code/html/images/files.png | Bin 14793 -> 0 bytes mbsebbs-code/html/images/go_to.png | Bin 1064 -> 0 bytes mbsebbs-code/html/images/hand.up.png | Bin 313 -> 0 bytes mbsebbs-code/html/images/hatch.png | Bin 4866 -> 0 bytes mbsebbs-code/html/images/language.png | Bin 8414 -> 0 bytes mbsebbs-code/html/images/larrow.png | Bin 1017 -> 0 bytes mbsebbs-code/html/images/magic.png | Bin 4435 -> 0 bytes mbsebbs-code/html/images/mbmon1-tn.png | Bin 8866 -> 0 bytes mbsebbs-code/html/images/mbmon1.png | Bin 8898 -> 0 bytes mbsebbs-code/html/images/mbmon2-tn.png | Bin 9820 -> 0 bytes mbsebbs-code/html/images/mbmon2.png | Bin 10011 -> 0 bytes mbsebbs-code/html/images/mbse.png | Bin 73043 -> 0 bytes mbsebbs-code/html/images/mbsebbs-s.png | Bin 12697 -> 0 bytes mbsebbs-code/html/images/mbsebbs.png | Bin 279940 -> 0 bytes mbsebbs-code/html/images/mbsetup0.png | Bin 8202 -> 0 bytes mbsebbs-code/html/images/mbsetup1.6.S.png | Bin 4922 -> 0 bytes mbsebbs-code/html/images/mbsetup1.6.png | Bin 6447 -> 0 bytes mbsebbs-code/html/images/mbsetup2.png | Bin 5364 -> 0 bytes mbsebbs-code/html/images/modems0.png | Bin 6681 -> 0 bytes mbsebbs-code/html/images/newfiles.png | Bin 11359 -> 0 bytes mbsebbs-code/html/images/newgroups.png | Bin 5058 -> 0 bytes mbsebbs-code/html/images/nodelist.png | Bin 7982 -> 0 bytes mbsebbs-code/html/images/nodelist1.png | Bin 7612 -> 0 bytes mbsebbs-code/html/images/nodelist2.png | Bin 5539 -> 0 bytes mbsebbs-code/html/images/nodelist3.png | Bin 6034 -> 0 bytes mbsebbs-code/html/images/nodelist4.png | Bin 7644 -> 0 bytes mbsebbs-code/html/images/nodelist5.png | Bin 5431 -> 0 bytes mbsebbs-code/html/images/nodes1.png | Bin 15314 -> 0 bytes mbsebbs-code/html/images/nodes10.png | Bin 10680 -> 0 bytes mbsebbs-code/html/images/nodes11.png | Bin 10199 -> 0 bytes mbsebbs-code/html/images/nodes2.png | Bin 13840 -> 0 bytes mbsebbs-code/html/images/nodes3.png | Bin 14113 -> 0 bytes mbsebbs-code/html/images/nodes4.png | Bin 9147 -> 0 bytes mbsebbs-code/html/images/nodes5.png | Bin 6360 -> 0 bytes mbsebbs-code/html/images/nodes6.png | Bin 9549 -> 0 bytes mbsebbs-code/html/images/nodes7.png | Bin 11456 -> 0 bytes mbsebbs-code/html/images/nodes8.png | Bin 12545 -> 0 bytes mbsebbs-code/html/images/nodes9.png | Bin 9987 -> 0 bytes mbsebbs-code/html/images/oneliner.png | Bin 5066 -> 0 bytes mbsebbs-code/html/images/protocol.png | Bin 11815 -> 0 bytes mbsebbs-code/html/images/rarrow.png | Bin 1028 -> 0 bytes mbsebbs-code/html/images/route1.png | Bin 9396 -> 0 bytes mbsebbs-code/html/images/route2.png | Bin 7014 -> 0 bytes mbsebbs-code/html/images/security.png | Bin 5252 -> 0 bytes mbsebbs-code/html/images/taskmgr.png | Bin 12710 -> 0 bytes mbsebbs-code/html/images/tdream1.png | Bin 7891 -> 0 bytes mbsebbs-code/html/images/tdream2.png | Bin 7642 -> 0 bytes mbsebbs-code/html/images/tdream3.png | Bin 7842 -> 0 bytes mbsebbs-code/html/images/tty.png | Bin 10755 -> 0 bytes mbsebbs-code/html/images/tty1.png | Bin 12090 -> 0 bytes mbsebbs-code/html/images/tty2.png | Bin 11771 -> 0 bytes mbsebbs-code/html/images/uarrow.png | Bin 1022 -> 0 bytes mbsebbs-code/html/images/users.png | Bin 13574 -> 0 bytes mbsebbs-code/html/images/users2.png | Bin 13583 -> 0 bytes mbsebbs-code/html/index.htm.in | 140 - mbsebbs-code/html/index.html.in | 140 - mbsebbs-code/html/intergate.html | 106 - mbsebbs-code/html/intro.html | 94 - mbsebbs-code/html/invoking.html | 72 - mbsebbs-code/html/known_bugs.html | 45 - mbsebbs-code/html/license/copying.html | 358 - mbsebbs-code/html/license/hydracom.html | 118 - mbsebbs-code/html/license/index.htm | 40 - mbsebbs-code/html/license/index.html | 40 - mbsebbs-code/html/license/jam.html | 76 - mbsebbs-code/html/manual.css | 30 - mbsebbs-code/html/menus/control.html | 134 - mbsebbs-code/html/menus/index.htm | 181 - mbsebbs-code/html/menus/index.html | 181 - mbsebbs-code/html/menus/menu0.html | 181 - mbsebbs-code/html/menus/menu100.html | 148 - mbsebbs-code/html/menus/menu200.html | 153 - mbsebbs-code/html/menus/menu300.html | 139 - mbsebbs-code/html/menus/menu400.html | 61 - mbsebbs-code/html/menus/menu500.html | 57 - mbsebbs-code/html/mgetty.html | 188 - mbsebbs-code/html/misc/dropfile.html | 114 - mbsebbs-code/html/misc/filefind.html | 332 - mbsebbs-code/html/misc/fileid.html | 388 - mbsebbs-code/html/misc/ftpserver.html | 108 - mbsebbs-code/html/misc/index.htm | 46 - mbsebbs-code/html/misc/index.html | 46 - mbsebbs-code/html/misc/ipmailer.html | 174 - mbsebbs-code/html/misc/jam.html | 640 -- mbsebbs-code/html/misc/outbound.html | 103 - mbsebbs-code/html/misc/semafore.html | 75 - mbsebbs-code/html/misc/usleep.html | 70 - mbsebbs-code/html/misc/webserver.html | 121 - mbsebbs-code/html/nodelist.html | 133 - mbsebbs-code/html/postfix.html | 160 - mbsebbs-code/html/programs/index.htm | 50 - mbsebbs-code/html/programs/index.html | 50 - mbsebbs-code/html/programs/mbaff.html | 99 - mbsebbs-code/html/programs/mball.html | 75 - mbsebbs-code/html/programs/mbcico.html | 301 - mbsebbs-code/html/programs/mbdiff.html | 64 - mbsebbs-code/html/programs/mbfido.html | 277 - mbsebbs-code/html/programs/mbfile.html | 192 - mbsebbs-code/html/programs/mbindex.html | 68 - mbsebbs-code/html/programs/mblang.html | 38 - mbsebbs-code/html/programs/mblogin.html | 126 - mbsebbs-code/html/programs/mbmon.html | 119 - mbsebbs-code/html/programs/mbmsg.html | 93 - mbsebbs-code/html/programs/mbnntp.html | 68 - mbsebbs-code/html/programs/mbout.html | 110 - mbsebbs-code/html/programs/mbpasswd.html | 55 - mbsebbs-code/html/programs/mbsebbs.html | 147 - mbsebbs-code/html/programs/mbseq.html | 49 - mbsebbs-code/html/programs/mbsetup.html | 62 - mbsebbs-code/html/programs/mbstat.html | 79 - mbsebbs-code/html/programs/mbtask.html | 432 - mbsebbs-code/html/programs/mbtoberep.html | 47 - mbsebbs-code/html/programs/mbuser.html | 71 - mbsebbs-code/html/programs/mbuseradd.html | 71 - mbsebbs-code/html/routing.html | 211 - mbsebbs-code/html/setup/archiver.html | 57 - mbsebbs-code/html/setup/bbs.html | 40 - mbsebbs-code/html/setup/chat.html | 46 - mbsebbs-code/html/setup/domains.html | 47 - mbsebbs-code/html/setup/emareas.html | 134 - mbsebbs-code/html/setup/emgroup.html | 70 - mbsebbs-code/html/setup/fdb.html | 54 - mbsebbs-code/html/setup/fegroup.html | 81 - mbsebbs-code/html/setup/fidonet.html | 41 - mbsebbs-code/html/setup/fileecho.html | 96 - mbsebbs-code/html/setup/filefind.html | 57 - mbsebbs-code/html/setup/files.html | 78 - mbsebbs-code/html/setup/global.html | 439 - mbsebbs-code/html/setup/hatch.html | 65 - mbsebbs-code/html/setup/index.htm | 79 - mbsebbs-code/html/setup/index.html | 79 - mbsebbs-code/html/setup/language.html | 66 - mbsebbs-code/html/setup/magic.html | 76 - mbsebbs-code/html/setup/mail.html | 34 - mbsebbs-code/html/setup/modems.html | 88 - mbsebbs-code/html/setup/newfiles.html | 53 - mbsebbs-code/html/setup/newgroups.html | 48 - mbsebbs-code/html/setup/nodes.html | 415 - mbsebbs-code/html/setup/oneliner.html | 36 - mbsebbs-code/html/setup/protocol.html | 75 - mbsebbs-code/html/setup/route.html | 71 - mbsebbs-code/html/setup/security.html | 57 - mbsebbs-code/html/setup/services.html | 59 - mbsebbs-code/html/setup/sitedoc.html | 36 - mbsebbs-code/html/setup/softinfo.html | 30 - mbsebbs-code/html/setup/taskmgr.html | 68 - mbsebbs-code/html/setup/tic.html | 36 - mbsebbs-code/html/setup/ttyinfo.html | 68 - mbsebbs-code/html/setup/users.html | 106 - mbsebbs-code/html/setup/virscan.html | 103 - mbsebbs-code/html/upgrade.html.in | 96 - mbsebbs-code/html/ups.html | 45 - mbsebbs-code/lang/.cvsignore | 1 - mbsebbs-code/lang/Language.xref | 482 - mbsebbs-code/lang/Makefile | 48 - mbsebbs-code/lang/README | 43 - mbsebbs-code/lang/germandu.txt | 480 - mbsebbs-code/lang/source.de | 482 - mbsebbs-code/lang/source.en | 482 - mbsebbs-code/lang/source.es | 482 - mbsebbs-code/lang/source.fr | 482 - mbsebbs-code/lang/source.gl | 482 - mbsebbs-code/lang/source.nl | 482 - mbsebbs-code/lang/source.zh | 482 - mbsebbs-code/lib/.cvsignore | 1 - mbsebbs-code/lib/Diesel.doc | 294 - mbsebbs-code/lib/Makefile | 181 - mbsebbs-code/lib/README | 35 - mbsebbs-code/lib/README.diesel | 20 - mbsebbs-code/lib/README.macro | 52 - mbsebbs-code/lib/attach.c | 244 - mbsebbs-code/lib/batchrd.c | 88 - mbsebbs-code/lib/bluewave.h | 1143 --- mbsebbs-code/lib/charset.c | 459 - mbsebbs-code/lib/clcomm.c | 635 -- mbsebbs-code/lib/client.c | 229 - mbsebbs-code/lib/crc.c | 292 - mbsebbs-code/lib/dbcfg.c | 92 - mbsebbs-code/lib/dbdupe.c | 189 - mbsebbs-code/lib/dbfdb.c | 557 -- mbsebbs-code/lib/dbftn.c | 113 - mbsebbs-code/lib/dbmsgs.c | 364 - mbsebbs-code/lib/dbnode.c | 219 - mbsebbs-code/lib/dbtic.c | 303 - mbsebbs-code/lib/dbuser.c | 99 - mbsebbs-code/lib/diesel.c | 1795 ---- mbsebbs-code/lib/diesel.h | 57 - mbsebbs-code/lib/dostran.c | 93 - mbsebbs-code/lib/endian.c | 59 - mbsebbs-code/lib/execute.c | 301 - mbsebbs-code/lib/expipe.c | 187 - mbsebbs-code/lib/faddr.c | 121 - mbsebbs-code/lib/falists.c | 224 - mbsebbs-code/lib/ftn.c | 684 -- mbsebbs-code/lib/ftnmsg.c | 181 - mbsebbs-code/lib/ftscprod.010 | 296 - mbsebbs-code/lib/ftscprod.016 | 302 - mbsebbs-code/lib/getheader.c | 230 - mbsebbs-code/lib/gmtoffset.c | 167 - mbsebbs-code/lib/hdr.c | 45 - mbsebbs-code/lib/jam.h | 196 - mbsebbs-code/lib/jammsg.c | 1543 --- mbsebbs-code/lib/jammsg.h | 30 - mbsebbs-code/lib/jamsys.h | 102 - mbsebbs-code/lib/magic.c | 101 - mbsebbs-code/lib/mangle.c | 470 - mbsebbs-code/lib/mbdiesel.c | 373 - mbsebbs-code/lib/mbfile.c | 283 - mbsebbs-code/lib/mbinet.h | 25 - mbsebbs-code/lib/mbse.h | 115 - mbsebbs-code/lib/mbsedb.h | 156 - mbsebbs-code/lib/mbselib.h | 2724 ----- mbsebbs-code/lib/mkprod.awk | 17 - mbsebbs-code/lib/msg.c | 546 - mbsebbs-code/lib/msg.h | 148 - mbsebbs-code/lib/msgtext.c | 335 - mbsebbs-code/lib/msgtext.h | 34 - mbsebbs-code/lib/nntp.c | 292 - mbsebbs-code/lib/nodelist.c | 1266 --- mbsebbs-code/lib/nodelist.conf | 187 - mbsebbs-code/lib/nodelist.h | 138 - mbsebbs-code/lib/nodelock.c | 179 - mbsebbs-code/lib/noderecord.c | 56 - mbsebbs-code/lib/packet.c | 189 - mbsebbs-code/lib/parsedate.c | 1781 ---- mbsebbs-code/lib/pidinfo.c | 119 - mbsebbs-code/lib/pktname.c | 291 - mbsebbs-code/lib/pop3.c | 195 - mbsebbs-code/lib/proglock.c | 135 - mbsebbs-code/lib/rawio.c | 334 - mbsebbs-code/lib/rearc.c | 200 - mbsebbs-code/lib/remask.c | 84 - mbsebbs-code/lib/rfcaddr.c | 285 - mbsebbs-code/lib/rfcdate.c | 189 - mbsebbs-code/lib/rfcmsg.c | 141 - mbsebbs-code/lib/sectest.c | 72 - mbsebbs-code/lib/semafore.c | 70 - mbsebbs-code/lib/signame.c | 90 - mbsebbs-code/lib/smtp.c | 211 - mbsebbs-code/lib/strcasestr.c | 26 - mbsebbs-code/lib/strutil.c | 417 - mbsebbs-code/lib/term.c | 153 - mbsebbs-code/lib/timers.c | 163 - mbsebbs-code/lib/tmpwork.c | 87 - mbsebbs-code/lib/unpacker.c | 115 - mbsebbs-code/lib/users.h | 161 - mbsebbs-code/lib/virscan.c | 396 - mbsebbs-code/mbcico/.cvsignore | 1 - mbsebbs-code/mbcico/Makefile | 138 - mbsebbs-code/mbcico/README | 32 - mbsebbs-code/mbcico/answer.c | 157 - mbsebbs-code/mbcico/answer.h | 8 - mbsebbs-code/mbcico/atoul.c | 44 - mbsebbs-code/mbcico/atoul.h | 9 - mbsebbs-code/mbcico/binkp.c | 3202 ------ mbsebbs-code/mbcico/binkp.h | 103 - mbsebbs-code/mbcico/bopenfile.c | 226 - mbsebbs-code/mbcico/bopenfile.h | 9 - mbsebbs-code/mbcico/call.c | 278 - mbsebbs-code/mbcico/call.h | 10 - mbsebbs-code/mbcico/callstat.c | 94 - mbsebbs-code/mbcico/callstat.h | 16 - mbsebbs-code/mbcico/chat.c | 244 - mbsebbs-code/mbcico/chat.h | 10 - mbsebbs-code/mbcico/config.h | 22 - mbsebbs-code/mbcico/dial.c | 158 - mbsebbs-code/mbcico/dial.h | 11 - mbsebbs-code/mbcico/dietifna.c | 143 - mbsebbs-code/mbcico/dietifna.h | 9 - mbsebbs-code/mbcico/dirlock.c | 149 - mbsebbs-code/mbcico/dirlock.h | 9 - mbsebbs-code/mbcico/emsi.c | 629 -- mbsebbs-code/mbcico/emsi.h | 52 - mbsebbs-code/mbcico/emsidat.c | 520 - mbsebbs-code/mbcico/emsidat.h | 10 - mbsebbs-code/mbcico/filelist.c | 692 -- mbsebbs-code/mbcico/filelist.h | 16 - mbsebbs-code/mbcico/filetime.c | 121 - mbsebbs-code/mbcico/filetime.h | 11 - mbsebbs-code/mbcico/ftsc.c | 515 - mbsebbs-code/mbcico/ftsc.h | 10 - mbsebbs-code/mbcico/htoul.c | 44 - mbsebbs-code/mbcico/htoul.h | 9 - mbsebbs-code/mbcico/hydra.c | 1844 ---- mbsebbs-code/mbcico/hydra.h | 248 - mbsebbs-code/mbcico/inbound.c | 216 - mbsebbs-code/mbcico/inbound.h | 39 - mbsebbs-code/mbcico/lutil.c | 99 - mbsebbs-code/mbcico/lutil.h | 11 - mbsebbs-code/mbcico/m7recv.c | 179 - mbsebbs-code/mbcico/m7recv.h | 8 - mbsebbs-code/mbcico/m7send.c | 181 - mbsebbs-code/mbcico/m7send.h | 7 - mbsebbs-code/mbcico/mbcico.c | 399 - mbsebbs-code/mbcico/mbcico.h | 11 - mbsebbs-code/mbcico/mbout.c | 371 - mbsebbs-code/mbcico/md5b.c | 522 - mbsebbs-code/mbcico/md5b.h | 65 - mbsebbs-code/mbcico/nlinfo.c | 138 - mbsebbs-code/mbcico/nlinfo.h | 9 - mbsebbs-code/mbcico/openfile.c | 235 - mbsebbs-code/mbcico/openfile.h | 9 - mbsebbs-code/mbcico/openport.c | 604 -- mbsebbs-code/mbcico/openport.h | 27 - mbsebbs-code/mbcico/opentcp.c | 274 - mbsebbs-code/mbcico/opentcp.h | 10 - mbsebbs-code/mbcico/outstat.c | 590 -- mbsebbs-code/mbcico/outstat.h | 13 - mbsebbs-code/mbcico/portsel.c | 119 - mbsebbs-code/mbcico/portsel.h | 11 - mbsebbs-code/mbcico/rdoptions.c | 142 - mbsebbs-code/mbcico/rdoptions.h | 7 - mbsebbs-code/mbcico/recvbark.c | 220 - mbsebbs-code/mbcico/recvbark.h | 7 - mbsebbs-code/mbcico/respfreq.c | 664 -- mbsebbs-code/mbcico/respfreq.h | 11 - mbsebbs-code/mbcico/scanout.c | 245 - mbsebbs-code/mbcico/scanout.h | 13 - mbsebbs-code/mbcico/sendbark.c | 179 - mbsebbs-code/mbcico/sendbark.h | 7 - mbsebbs-code/mbcico/session.c | 759 -- mbsebbs-code/mbcico/session.h | 77 - mbsebbs-code/mbcico/statetbl.h | 53 - mbsebbs-code/mbcico/tcp.c | 131 - mbsebbs-code/mbcico/tcp.h | 9 - mbsebbs-code/mbcico/tcpproto.c | 498 - mbsebbs-code/mbcico/tcpproto.h | 9 - mbsebbs-code/mbcico/telnet.c | 176 - mbsebbs-code/mbcico/telnet.h | 17 - mbsebbs-code/mbcico/ttyio.c | 592 -- mbsebbs-code/mbcico/ttyio.h | 115 - mbsebbs-code/mbcico/ulock.c | 140 - mbsebbs-code/mbcico/ulock.h | 8 - mbsebbs-code/mbcico/wazoo.c | 129 - mbsebbs-code/mbcico/wazoo.h | 8 - mbsebbs-code/mbcico/xmrecv.c | 590 -- mbsebbs-code/mbcico/xmrecv.h | 7 - mbsebbs-code/mbcico/xmsend.c | 508 - mbsebbs-code/mbcico/xmsend.h | 9 - mbsebbs-code/mbcico/yoohoo.c | 659 -- mbsebbs-code/mbcico/yoohoo.h | 8 - mbsebbs-code/mbcico/zmmisc.c | 994 -- mbsebbs-code/mbcico/zmodem.h | 201 - mbsebbs-code/mbcico/zmrecv.c | 575 -- mbsebbs-code/mbcico/zmrle.c | 196 - mbsebbs-code/mbcico/zmsend.c | 691 -- mbsebbs-code/mbfido/.cvsignore | 1 - mbsebbs-code/mbfido/Makefile | 205 - mbsebbs-code/mbfido/README | 37 - mbsebbs-code/mbfido/addbbs.c | 322 - mbsebbs-code/mbfido/addbbs.h | 9 - mbsebbs-code/mbfido/addpkt.c | 310 - mbsebbs-code/mbfido/addpkt.h | 10 - mbsebbs-code/mbfido/aliasdb.c | 213 - mbsebbs-code/mbfido/aliasdb.h | 12 - mbsebbs-code/mbfido/announce.c | 495 - mbsebbs-code/mbfido/announce.h | 9 - mbsebbs-code/mbfido/areamgr.c | 1184 --- mbsebbs-code/mbfido/areamgr.h | 12 - mbsebbs-code/mbfido/atoul.c | 45 - mbsebbs-code/mbfido/atoul.h | 9 - mbsebbs-code/mbfido/backalias.c | 96 - mbsebbs-code/mbfido/backalias.h | 8 - mbsebbs-code/mbfido/bounce.c | 139 - mbsebbs-code/mbfido/bounce.h | 9 - mbsebbs-code/mbfido/bwrite.c | 114 - mbsebbs-code/mbfido/bwrite.h | 12 - mbsebbs-code/mbfido/createf.c | 394 - mbsebbs-code/mbfido/createf.h | 12 - mbsebbs-code/mbfido/createm.c | 503 - mbsebbs-code/mbfido/createm.h | 14 - mbsebbs-code/mbfido/dirlock.c | 150 - mbsebbs-code/mbfido/dirlock.h | 7 - mbsebbs-code/mbfido/dirsession.c | 220 - mbsebbs-code/mbfido/dirsession.h | 12 - mbsebbs-code/mbfido/fflist.c | 147 - mbsebbs-code/mbfido/fflist.h | 34 - mbsebbs-code/mbfido/filefind.c | 530 - mbsebbs-code/mbfido/filefind.h | 9 - mbsebbs-code/mbfido/filemgr.c | 993 -- mbsebbs-code/mbfido/filemgr.h | 11 - mbsebbs-code/mbfido/flock.c | 78 - mbsebbs-code/mbfido/flock.h | 10 - mbsebbs-code/mbfido/forward.c | 291 - mbsebbs-code/mbfido/forward.h | 9 - mbsebbs-code/mbfido/fsort.c | 144 - mbsebbs-code/mbfido/fsort.h | 20 - mbsebbs-code/mbfido/ftn2rfc.c | 1543 --- mbsebbs-code/mbfido/ftn2rfc.h | 8 - mbsebbs-code/mbfido/grlist.c | 139 - mbsebbs-code/mbfido/grlist.h | 19 - mbsebbs-code/mbfido/hash.c | 52 - mbsebbs-code/mbfido/hash.h | 9 - mbsebbs-code/mbfido/hatch.c | 200 - mbsebbs-code/mbfido/hatch.h | 9 - mbsebbs-code/mbfido/lhash.c | 500 - mbsebbs-code/mbfido/lhash.h | 147 - mbsebbs-code/mbfido/magic.c | 374 - mbsebbs-code/mbfido/magic.h | 18 - mbsebbs-code/mbfido/makestat.c | 448 - mbsebbs-code/mbfido/makestat.h | 9 - mbsebbs-code/mbfido/maketags.c | 125 - mbsebbs-code/mbfido/maketags.h | 9 - mbsebbs-code/mbfido/mbaff.c | 197 - mbsebbs-code/mbfido/mbaff.h | 9 - mbsebbs-code/mbfido/mbdiff.c | 574 -- mbsebbs-code/mbfido/mbdiff.h | 12 - mbsebbs-code/mbfido/mbfadopt.c | 301 - mbsebbs-code/mbfido/mbfadopt.h | 8 - mbsebbs-code/mbfido/mbfcheck.c | 574 -- mbsebbs-code/mbfido/mbfcheck.h | 8 - mbsebbs-code/mbfido/mbfdel.c | 118 - mbsebbs-code/mbfido/mbfdel.h | 8 - mbsebbs-code/mbfido/mbfido.c | 913 -- mbsebbs-code/mbfido/mbfido.h | 15 - mbsebbs-code/mbfido/mbfile.c | 318 - mbsebbs-code/mbfido/mbfile.h | 7 - mbsebbs-code/mbfido/mbfimport.c | 434 - mbsebbs-code/mbfido/mbfimport.h | 10 - mbsebbs-code/mbfido/mbfindex.c | 808 -- mbsebbs-code/mbfido/mbfindex.h | 8 - mbsebbs-code/mbfido/mbfkill.c | 237 - mbsebbs-code/mbfido/mbfkill.h | 8 - mbsebbs-code/mbfido/mbflist.c | 201 - mbsebbs-code/mbfido/mbflist.h | 8 - mbsebbs-code/mbfido/mbfmove.c | 178 - mbsebbs-code/mbfido/mbfmove.h | 8 - mbsebbs-code/mbfido/mbfpack.c | 142 - mbsebbs-code/mbfido/mbfpack.h | 8 - mbsebbs-code/mbfido/mbfrearc.c | 216 - mbsebbs-code/mbfido/mbfrearc.h | 8 - mbsebbs-code/mbfido/mbfsort.c | 114 - mbsebbs-code/mbfido/mbfsort.h | 8 - mbsebbs-code/mbfido/mbftoberep.c | 83 - mbsebbs-code/mbfido/mbftoberep.h | 8 - mbsebbs-code/mbfido/mbfutil.c | 451 - mbsebbs-code/mbfido/mbfutil.h | 16 - mbsebbs-code/mbfido/mbindex.c | 998 -- mbsebbs-code/mbfido/mbindex.h | 35 - mbsebbs-code/mbfido/mbmsg.c | 569 -- mbsebbs-code/mbfido/mbmsg.h | 15 - mbsebbs-code/mbfido/mbseq.c | 65 - mbsebbs-code/mbfido/mbseq.h | 6 - mbsebbs-code/mbfido/mgrutil.c | 1008 -- mbsebbs-code/mbfido/mgrutil.h | 40 - mbsebbs-code/mbfido/mkftnhdr.c | 583 -- mbsebbs-code/mbfido/mkftnhdr.h | 10 - mbsebbs-code/mbfido/mover.c | 74 - mbsebbs-code/mbfido/mover.h | 12 - mbsebbs-code/mbfido/msg.c | 397 - mbsebbs-code/mbfido/msg.h | 8 - mbsebbs-code/mbfido/msgflags.c | 133 - mbsebbs-code/mbfido/msgflags.h | 13 - mbsebbs-code/mbfido/msgutil.c | 272 - mbsebbs-code/mbfido/msgutil.h | 15 - mbsebbs-code/mbfido/newspost.c | 233 - mbsebbs-code/mbfido/newspost.h | 9 - mbsebbs-code/mbfido/notify.c | 171 - mbsebbs-code/mbfido/notify.h | 9 - mbsebbs-code/mbfido/orphans.c | 65 - mbsebbs-code/mbfido/orphans.h | 22 - mbsebbs-code/mbfido/ping.c | 138 - mbsebbs-code/mbfido/ping.h | 9 - mbsebbs-code/mbfido/post.c | 289 - mbsebbs-code/mbfido/post.h | 9 - mbsebbs-code/mbfido/postecho.c | 575 -- mbsebbs-code/mbfido/postecho.h | 11 - mbsebbs-code/mbfido/postemail.c | 152 - mbsebbs-code/mbfido/postemail.h | 8 - mbsebbs-code/mbfido/postnetmail.c | 469 - mbsebbs-code/mbfido/postnetmail.h | 8 - mbsebbs-code/mbfido/ptic.c | 712 -- mbsebbs-code/mbfido/ptic.h | 8 - mbsebbs-code/mbfido/qualify.c | 63 - mbsebbs-code/mbfido/qualify.h | 23 - mbsebbs-code/mbfido/queue.c | 649 -- mbsebbs-code/mbfido/queue.h | 11 - mbsebbs-code/mbfido/rfc2ftn.c | 865 -- mbsebbs-code/mbfido/rfc2ftn.h | 10 - mbsebbs-code/mbfido/rnews.c | 636 -- mbsebbs-code/mbfido/rnews.h | 20 - mbsebbs-code/mbfido/rollover.c | 421 - mbsebbs-code/mbfido/rollover.h | 9 - mbsebbs-code/mbfido/scan.c | 1198 --- mbsebbs-code/mbfido/scan.h | 9 - mbsebbs-code/mbfido/scannews.c | 528 - mbsebbs-code/mbfido/scannews.h | 39 - mbsebbs-code/mbfido/sendmail.c | 149 - mbsebbs-code/mbfido/sendmail.h | 10 - mbsebbs-code/mbfido/storeecho.c | 169 - mbsebbs-code/mbfido/storeecho.h | 7 - mbsebbs-code/mbfido/storenet.c | 189 - mbsebbs-code/mbfido/storenet.h | 8 - mbsebbs-code/mbfido/tic.c | 566 -- mbsebbs-code/mbfido/tic.h | 72 - mbsebbs-code/mbfido/toberep.c | 97 - mbsebbs-code/mbfido/toberep.h | 8 - mbsebbs-code/mbfido/tosspkt.c | 511 - mbsebbs-code/mbfido/tosspkt.h | 9 - mbsebbs-code/mbfido/tracker.c | 723 -- mbsebbs-code/mbfido/tracker.h | 9 - mbsebbs-code/mbfido/unpack.c | 120 - mbsebbs-code/mbfido/unpack.h | 9 - mbsebbs-code/mbfido/utic.c | 237 - mbsebbs-code/mbfido/utic.h | 14 - mbsebbs-code/mbmon/.cvsignore | 1 - mbsebbs-code/mbmon/Makefile | 62 - mbsebbs-code/mbmon/mbmon.h | 15 - mbsebbs-code/mbmon/mutil.c | 605 -- mbsebbs-code/mbmon/mutil.h | 22 - mbsebbs-code/mbmon/proglock.c | 140 - mbsebbs-code/mbmon/proglock.h | 9 - mbsebbs-code/mbnntp/.cvsignore | 1 - mbsebbs-code/mbnntp/Makefile | 72 - mbsebbs-code/mbnntp/atoul.c | 48 - mbsebbs-code/mbnntp/atoul.h | 12 - mbsebbs-code/mbnntp/auth.c | 172 - mbsebbs-code/mbnntp/auth.h | 14 - mbsebbs-code/mbnntp/commands.c | 616 -- mbsebbs-code/mbnntp/commands.h | 18 - mbsebbs-code/mbnntp/hash.c | 54 - mbsebbs-code/mbnntp/hash.h | 13 - mbsebbs-code/mbnntp/lhash.c | 482 - mbsebbs-code/mbnntp/lhash.h | 151 - mbsebbs-code/mbnntp/mbnntp.c | 435 - mbsebbs-code/mbnntp/mbnntp.h | 17 - mbsebbs-code/mbnntp/mkftnhdr.c | 571 -- mbsebbs-code/mbnntp/mkftnhdr.h | 13 - mbsebbs-code/mbnntp/msgflags.c | 134 - mbsebbs-code/mbnntp/msgflags.h | 16 - mbsebbs-code/mbnntp/openport.c | 78 - mbsebbs-code/mbnntp/openport.h | 9 - mbsebbs-code/mbnntp/rfc2ftn.c | 904 -- mbsebbs-code/mbnntp/rfc2ftn.h | 12 - mbsebbs-code/mbnntp/ttyio.c | 186 - mbsebbs-code/mbnntp/ttyio.h | 35 - mbsebbs-code/mbsebbs/.cvsignore | 1 - mbsebbs-code/mbsebbs/Makefile | 139 - mbsebbs-code/mbsebbs/bye.c | 228 - mbsebbs-code/mbsebbs/bye.h | 8 - mbsebbs-code/mbsebbs/change.c | 1105 --- mbsebbs-code/mbsebbs/change.h | 29 - mbsebbs-code/mbsebbs/chat.c | 418 - mbsebbs-code/mbsebbs/chat.h | 8 - mbsebbs-code/mbsebbs/dispfile.c | 690 -- mbsebbs-code/mbsebbs/dispfile.h | 16 - mbsebbs-code/mbsebbs/door.c | 388 - mbsebbs-code/mbsebbs/door.h | 9 - mbsebbs-code/mbsebbs/email.c | 1110 --- mbsebbs-code/mbsebbs/email.h | 18 - mbsebbs-code/mbsebbs/exitinfo.c | 140 - mbsebbs-code/mbsebbs/exitinfo.h | 10 - mbsebbs-code/mbsebbs/file.c | 1963 ---- mbsebbs-code/mbsebbs/file.h | 25 - mbsebbs-code/mbsebbs/filesub.c | 1089 -- mbsebbs-code/mbsebbs/filesub.h | 27 - mbsebbs-code/mbsebbs/fsedit.c | 800 -- mbsebbs-code/mbsebbs/fsedit.h | 36 - mbsebbs-code/mbsebbs/funcs.c | 385 - mbsebbs-code/mbsebbs/funcs.h | 17 - mbsebbs-code/mbsebbs/input.c | 802 -- mbsebbs-code/mbsebbs/input.h | 28 - mbsebbs-code/mbsebbs/language.c | 170 - mbsebbs-code/mbsebbs/language.h | 13 - mbsebbs-code/mbsebbs/lastcallers.c | 160 - mbsebbs-code/mbsebbs/lastcallers.h | 8 - mbsebbs-code/mbsebbs/logentry.c | 68 - mbsebbs-code/mbsebbs/logentry.h | 9 - mbsebbs-code/mbsebbs/mail.c | 2951 ------ mbsebbs-code/mbsebbs/mail.h | 25 - mbsebbs-code/mbsebbs/mbnewusr.c | 287 - mbsebbs-code/mbsebbs/mbnewusr.h | 10 - mbsebbs-code/mbsebbs/mbsebbs.c | 424 - mbsebbs-code/mbsebbs/mbsebbs.h | 10 - mbsebbs-code/mbsebbs/menu.c | 763 -- mbsebbs-code/mbsebbs/menu.h | 10 - mbsebbs-code/mbsebbs/mib.c | 57 - mbsebbs-code/mbsebbs/mib.h | 9 - mbsebbs-code/mbsebbs/misc.c | 241 - mbsebbs-code/mbsebbs/misc.h | 12 - mbsebbs-code/mbsebbs/morefile.c | 100 - mbsebbs-code/mbsebbs/morefile.h | 8 - mbsebbs-code/mbsebbs/msgutil.c | 321 - mbsebbs-code/mbsebbs/msgutil.h | 15 - mbsebbs-code/mbsebbs/newuser.c | 840 -- mbsebbs-code/mbsebbs/newuser.h | 10 - mbsebbs-code/mbsebbs/offline.c | 2984 ------ mbsebbs-code/mbsebbs/offline.h | 52 - mbsebbs-code/mbsebbs/oneline.c | 451 - mbsebbs-code/mbsebbs/oneline.h | 13 - mbsebbs-code/mbsebbs/openport.c | 293 - mbsebbs-code/mbsebbs/openport.h | 12 - mbsebbs-code/mbsebbs/page.c | 337 - mbsebbs-code/mbsebbs/page.h | 13 - mbsebbs-code/mbsebbs/pinfo.c | 191 - mbsebbs-code/mbsebbs/pinfo.h | 9 - mbsebbs-code/mbsebbs/pop3.c | 214 - mbsebbs-code/mbsebbs/pop3.h | 9 - mbsebbs-code/mbsebbs/signature.c | 303 - mbsebbs-code/mbsebbs/signature.h | 8 - mbsebbs-code/mbsebbs/term.c | 315 - mbsebbs-code/mbsebbs/term.h | 29 - mbsebbs-code/mbsebbs/timecheck.c | 132 - mbsebbs-code/mbsebbs/timecheck.h | 8 - mbsebbs-code/mbsebbs/timeout.c | 136 - mbsebbs-code/mbsebbs/timeout.h | 12 - mbsebbs-code/mbsebbs/timestats.c | 101 - mbsebbs-code/mbsebbs/timestats.h | 9 - mbsebbs-code/mbsebbs/transfer.c | 581 -- mbsebbs-code/mbsebbs/transfer.h | 43 - mbsebbs-code/mbsebbs/ttyio.c | 251 - mbsebbs-code/mbsebbs/ttyio.h | 88 - mbsebbs-code/mbsebbs/user.c | 587 -- mbsebbs-code/mbsebbs/user.h | 19 - mbsebbs-code/mbsebbs/userlist.c | 175 - mbsebbs-code/mbsebbs/userlist.h | 8 - mbsebbs-code/mbsebbs/whoson.c | 375 - mbsebbs-code/mbsebbs/whoson.h | 10 - mbsebbs-code/mbsebbs/ymrecv.c | 291 - mbsebbs-code/mbsebbs/ymrecv.h | 14 - mbsebbs-code/mbsebbs/ymsend.c | 454 - mbsebbs-code/mbsebbs/ymsend.h | 15 - mbsebbs-code/mbsebbs/zmmisc.c | 966 -- mbsebbs-code/mbsebbs/zmmisc.h | 190 - mbsebbs-code/mbsebbs/zmrecv.c | 641 -- mbsebbs-code/mbsebbs/zmrecv.h | 11 - mbsebbs-code/mbsebbs/zmsend.c | 753 -- mbsebbs-code/mbsebbs/zmsend.h | 10 - mbsebbs-code/mbsetup/.cvsignore | 1 - mbsebbs-code/mbsetup/Makefile | 112 - mbsebbs-code/mbsetup/grlist.c | 209 - mbsebbs-code/mbsetup/grlist.h | 18 - mbsebbs-code/mbsetup/ledit.c | 2355 ----- mbsebbs-code/mbsetup/ledit.h | 112 - mbsebbs-code/mbsetup/m_archive.c | 878 -- mbsebbs-code/mbsetup/m_archive.h | 14 - mbsebbs-code/mbsetup/m_bbs.c | 106 - mbsebbs-code/mbsetup/m_bbs.h | 8 - mbsebbs-code/mbsetup/m_domain.c | 514 - mbsebbs-code/mbsetup/m_domain.h | 11 - mbsebbs-code/mbsetup/m_farea.c | 926 -- mbsebbs-code/mbsetup/m_farea.h | 13 - mbsebbs-code/mbsetup/m_fdb.c | 473 - mbsebbs-code/mbsetup/m_fdb.h | 11 - mbsebbs-code/mbsetup/m_ff.c | 545 - mbsebbs-code/mbsetup/m_ff.h | 11 - mbsebbs-code/mbsetup/m_fgroup.c | 909 -- mbsebbs-code/mbsetup/m_fgroup.h | 13 - mbsebbs-code/mbsetup/m_fido.c | 618 -- mbsebbs-code/mbsetup/m_fido.h | 12 - mbsebbs-code/mbsetup/m_global.c | 2381 ----- mbsebbs-code/mbsetup/m_global.h | 16 - mbsebbs-code/mbsetup/m_hatch.c | 682 -- mbsebbs-code/mbsetup/m_hatch.h | 11 - mbsebbs-code/mbsetup/m_ibc.c | 447 - mbsebbs-code/mbsetup/m_ibc.h | 13 - mbsebbs-code/mbsetup/m_lang.c | 658 -- mbsebbs-code/mbsetup/m_lang.h | 13 - mbsebbs-code/mbsetup/m_limits.c | 606 -- mbsebbs-code/mbsetup/m_limits.h | 13 - mbsebbs-code/mbsetup/m_magic.c | 576 -- mbsebbs-code/mbsetup/m_magic.h | 12 - mbsebbs-code/mbsetup/m_mail.c | 89 - mbsebbs-code/mbsetup/m_mail.h | 12 - mbsebbs-code/mbsetup/m_marea.c | 2078 ---- mbsebbs-code/mbsetup/m_marea.h | 20 - mbsebbs-code/mbsetup/m_menu.c | 703 -- mbsebbs-code/mbsetup/m_menu.h | 9 - mbsebbs-code/mbsetup/m_mgroup.c | 856 -- mbsebbs-code/mbsetup/m_mgroup.h | 13 - mbsebbs-code/mbsetup/m_modem.c | 807 -- mbsebbs-code/mbsetup/m_modem.h | 12 - mbsebbs-code/mbsetup/m_new.c | 640 -- mbsebbs-code/mbsetup/m_new.h | 13 - mbsebbs-code/mbsetup/m_ngroup.c | 617 -- mbsebbs-code/mbsetup/m_ngroup.h | 13 - mbsebbs-code/mbsetup/m_node.c | 1858 ---- mbsebbs-code/mbsetup/m_node.h | 15 - mbsebbs-code/mbsetup/m_ol.c | 612 -- mbsebbs-code/mbsetup/m_ol.h | 14 - mbsebbs-code/mbsetup/m_protocol.c | 761 -- mbsebbs-code/mbsetup/m_protocol.h | 13 - mbsebbs-code/mbsetup/m_route.c | 569 -- mbsebbs-code/mbsetup/m_route.h | 13 - mbsebbs-code/mbsetup/m_service.c | 461 - mbsebbs-code/mbsetup/m_service.h | 11 - mbsebbs-code/mbsetup/m_task.c | 243 - mbsebbs-code/mbsetup/m_task.h | 10 - mbsebbs-code/mbsetup/m_tic.c | 96 - mbsebbs-code/mbsetup/m_tic.h | 4 - mbsebbs-code/mbsetup/m_ticarea.c | 1497 --- mbsebbs-code/mbsetup/m_ticarea.h | 17 - mbsebbs-code/mbsetup/m_tty.c | 674 -- mbsebbs-code/mbsetup/m_tty.h | 11 - mbsebbs-code/mbsetup/m_users.c | 754 -- mbsebbs-code/mbsetup/m_users.h | 11 - mbsebbs-code/mbsetup/m_virus.c | 581 -- mbsebbs-code/mbsetup/m_virus.h | 13 - mbsebbs-code/mbsetup/mutil.c | 273 - mbsebbs-code/mbsetup/mutil.h | 19 - mbsebbs-code/mbsetup/screen.c | 306 - mbsebbs-code/mbsetup/screen.h | 19 - mbsebbs-code/mbsetup/stlist.c | 114 - mbsebbs-code/mbsetup/stlist.h | 19 - mbsebbs-code/mbtask/.cvsignore | 1 - mbsebbs-code/mbtask/Makefile | 89 - mbsebbs-code/mbtask/calllist.c | 157 - mbsebbs-code/mbtask/calllist.h | 26 - mbsebbs-code/mbtask/callstat.c | 133 - mbsebbs-code/mbtask/callstat.h | 16 - mbsebbs-code/mbtask/crc.c | 137 - mbsebbs-code/mbtask/issue | 10 - mbsebbs-code/mbtask/issue.netbsd | 20 - mbsebbs-code/mbtask/mbtask.c | 1737 ---- mbsebbs-code/mbtask/mbtask.h | 55 - mbsebbs-code/mbtask/outstat.c | 895 -- mbsebbs-code/mbtask/outstat.h | 60 - mbsebbs-code/mbtask/pidinfo.c | 119 - mbsebbs-code/mbtask/ping.c | 403 - mbsebbs-code/mbtask/ping.h | 18 - mbsebbs-code/mbtask/ports.c | 257 - mbsebbs-code/mbtask/ports.h | 29 - mbsebbs-code/mbtask/scanout.c | 242 - mbsebbs-code/mbtask/scanout.h | 17 - mbsebbs-code/mbtask/signame.c | 89 - mbsebbs-code/mbtask/signame.h | 11 - mbsebbs-code/mbtask/taskchat.c | 867 -- mbsebbs-code/mbtask/taskchat.h | 16 - mbsebbs-code/mbtask/taskcomm.c | 886 -- mbsebbs-code/mbtask/taskcomm.h | 9 - mbsebbs-code/mbtask/taskdisk.c | 636 -- mbsebbs-code/mbtask/taskdisk.h | 12 - mbsebbs-code/mbtask/taskibc.c | 1821 ---- mbsebbs-code/mbtask/taskibc.h | 134 - mbsebbs-code/mbtask/taskinfo.c | 144 - mbsebbs-code/mbtask/taskinfo.h | 13 - mbsebbs-code/mbtask/taskregs.c | 725 -- mbsebbs-code/mbtask/taskregs.h | 61 - mbsebbs-code/mbtask/taskstat.c | 819 -- mbsebbs-code/mbtask/taskstat.h | 47 - mbsebbs-code/mbtask/taskutil.c | 677 -- mbsebbs-code/mbtask/taskutil.h | 49 - mbsebbs-code/mbutils/.cvsignore | 1 - mbsebbs-code/mbutils/Makefile | 107 - mbsebbs-code/mbutils/dlcount.c | 275 - mbsebbs-code/mbutils/dlcount.h | 8 - mbsebbs-code/mbutils/mball.c | 555 -- mbsebbs-code/mbutils/mball.h | 18 - mbsebbs-code/mbutils/mbbw.c | 176 - mbsebbs-code/mbutils/mblang.c | 113 - mbsebbs-code/mbutils/mbsnmp.c | 210 - mbsebbs-code/mbutils/mbsnmp.h | 8 - mbsebbs-code/mbutils/mbstat.c | 279 - mbsebbs-code/mbutils/mbstat.h | 14 - mbsebbs-code/mbutils/mbtoberep.c | 92 - mbsebbs-code/mbutils/mbuser.c | 394 - mbsebbs-code/mbutils/mbuser.h | 9 - mbsebbs-code/paths.h.in | 58 - mbsebbs-code/script/.cvsignore | 1 - mbsebbs-code/script/Makefile | 99 - mbsebbs-code/script/README | 11 - mbsebbs-code/script/bbsdoor.sh | 31 - mbsebbs-code/script/bbsjmacsrc | 517 - mbsebbs-code/script/bbsjoerc | 588 -- mbsebbs-code/script/doors.bat | 22 - mbsebbs-code/script/editor.in | 102 - mbsebbs-code/script/hatch | 121 - mbsebbs-code/script/init.Arch | 63 - mbsebbs-code/script/init.Debian | 84 - mbsebbs-code/script/init.FreeBSD | 70 - mbsebbs-code/script/init.Gentoo | 74 - mbsebbs-code/script/init.NetBSD | 109 - mbsebbs-code/script/init.OpenBSD | 35 - mbsebbs-code/script/init.RedHat | 78 - mbsebbs-code/script/init.Slackware | 85 - mbsebbs-code/script/init.SuSE | 76 - mbsebbs-code/script/installinit.sh | 375 - mbsebbs-code/script/maint | 28 - mbsebbs-code/script/mbsedos | 22 - mbsebbs-code/script/midnight | 32 - mbsebbs-code/script/monthly | 23 - mbsebbs-code/script/rundoor.sh | 52 - mbsebbs-code/script/runvirtual.sh | 25 - mbsebbs-code/script/setup.mbse | 22 - mbsebbs-code/script/weekly | 22 - mbsebbs-code/unix/.cvsignore | 1 - mbsebbs-code/unix/Makefile | 115 - mbsebbs-code/unix/basename.c | 17 - mbsebbs-code/unix/basename.h | 9 - mbsebbs-code/unix/chowntty.c | 123 - mbsebbs-code/unix/chowntty.h | 11 - mbsebbs-code/unix/commonio.c | 766 -- mbsebbs-code/unix/commonio.h | 112 - mbsebbs-code/unix/encrypt.c | 160 - mbsebbs-code/unix/encrypt.h | 9 - mbsebbs-code/unix/env.c | 253 - mbsebbs-code/unix/env.h | 12 - mbsebbs-code/unix/getdef.c | 339 - mbsebbs-code/unix/getdef.h | 13 - mbsebbs-code/unix/limits.c | 67 - mbsebbs-code/unix/limits.h | 9 - mbsebbs-code/unix/log.c | 97 - mbsebbs-code/unix/log.h | 8 - mbsebbs-code/unix/login.defs.in | 146 - mbsebbs-code/unix/loginprompt.c | 168 - mbsebbs-code/unix/loginprompt.h | 9 - mbsebbs-code/unix/mblogin.c | 825 -- mbsebbs-code/unix/mblogin.h | 248 - mbsebbs-code/unix/mbpasswd.c | 1158 --- mbsebbs-code/unix/mbpasswd.h | 47 - mbsebbs-code/unix/mbuseradd.c | 517 - mbsebbs-code/unix/mbuseradd.h | 10 - mbsebbs-code/unix/myname.c | 72 - mbsebbs-code/unix/myname.h | 7 - mbsebbs-code/unix/putpwent.c | 73 - mbsebbs-code/unix/putpwent.h | 14 - mbsebbs-code/unix/pw_util.c | 348 - mbsebbs-code/unix/pw_util.h | 52 - mbsebbs-code/unix/pwauth.c | 135 - mbsebbs-code/unix/pwauth.h | 31 - mbsebbs-code/unix/pwdcheck.c | 98 - mbsebbs-code/unix/pwdcheck.h | 8 - mbsebbs-code/unix/pwio.c | 249 - mbsebbs-code/unix/pwio.h | 33 - mbsebbs-code/unix/rad64.c | 157 - mbsebbs-code/unix/rad64.h | 15 - mbsebbs-code/unix/salt.c | 101 - mbsebbs-code/unix/salt.h | 9 - mbsebbs-code/unix/setugid.c | 120 - mbsebbs-code/unix/setugid.h | 10 - mbsebbs-code/unix/setupenv.c | 111 - mbsebbs-code/unix/setupenv.h | 8 - mbsebbs-code/unix/sgetpwent.c | 167 - mbsebbs-code/unix/sgetpwent.h | 7 - mbsebbs-code/unix/shadowio.c | 226 - mbsebbs-code/unix/shadowio.h | 33 - mbsebbs-code/unix/shell.c | 128 - mbsebbs-code/unix/shell.h | 8 - mbsebbs-code/unix/sub.c | 80 - mbsebbs-code/unix/sub.h | 8 - mbsebbs-code/unix/utmp.c | 503 - mbsebbs-code/unix/utmp.h | 29 - mbsebbs-code/unix/xmalloc.c | 83 - mbsebbs-code/unix/xmalloc.h | 11 - saved-mbsebbs-code-2/AUTHORS | 60 - saved-mbsebbs-code-2/COPYING | 340 - saved-mbsebbs-code-2/CRON.sh | 93 - saved-mbsebbs-code-2/ChangeLog | 369 - saved-mbsebbs-code-2/ChangeLog_1998 | 1393 --- saved-mbsebbs-code-2/ChangeLog_1999 | 1602 --- saved-mbsebbs-code-2/ChangeLog_2000 | 668 -- saved-mbsebbs-code-2/ChangeLog_2001 | 933 -- saved-mbsebbs-code-2/ChangeLog_2002 | 973 -- saved-mbsebbs-code-2/ChangeLog_2003 | 457 - saved-mbsebbs-code-2/ChangeLog_2004 | 889 -- saved-mbsebbs-code-2/ChangeLog_2005 | 451 - saved-mbsebbs-code-2/ChangeLog_2006 | 184 - saved-mbsebbs-code-2/ChangeLog_2007 | 277 - saved-mbsebbs-code-2/DEBUG | 31 - saved-mbsebbs-code-2/FILE_ID.DIZ.in | 24 - saved-mbsebbs-code-2/INSTALL.in | 252 - saved-mbsebbs-code-2/Makefile | 164 - saved-mbsebbs-code-2/Makefile.global.in | 46 - saved-mbsebbs-code-2/NEWS | 0 saved-mbsebbs-code-2/README | 33 - saved-mbsebbs-code-2/README.Gentoo | 19 - saved-mbsebbs-code-2/README.Ubuntu | 28 - saved-mbsebbs-code-2/README.developer | 55 - saved-mbsebbs-code-2/SETUP.sh | 682 -- saved-mbsebbs-code-2/TODO | 121 - saved-mbsebbs-code-2/UPGRADE | 18 - saved-mbsebbs-code-2/aclocal.m4 | 149 - saved-mbsebbs-code-2/checkbasic | 50 - saved-mbsebbs-code-2/config.h.in | 273 - saved-mbsebbs-code-2/configure | 8772 ----------------- saved-mbsebbs-code-2/configure.ac | 405 - saved-mbsebbs-code-2/cpuflags | 140 - saved-mbsebbs-code-2/docs/mbse-1.pdf | Bin 3123679 -> 0 bytes saved-mbsebbs-code-2/examples/.cvsignore | 1 - saved-mbsebbs-code-2/examples/Makefile | 145 - saved-mbsebbs-code-2/examples/footer.txt | 9 - saved-mbsebbs-code-2/examples/header.txt | 28 - saved-mbsebbs-code-2/examples/menus-de.tar | Bin 61440 -> 0 bytes saved-mbsebbs-code-2/examples/menus-en.tar | Bin 61440 -> 0 bytes saved-mbsebbs-code-2/examples/menus-es.tar | Bin 51200 -> 0 bytes .../examples/templates-de.tar | Bin 81920 -> 0 bytes .../examples/templates-en.tar | Bin 81920 -> 0 bytes .../examples/templates-es.tar | Bin 81920 -> 0 bytes .../examples/templates-nl.tar | Bin 81920 -> 0 bytes saved-mbsebbs-code-2/examples/txtfiles-de.tar | Bin 40960 -> 0 bytes saved-mbsebbs-code-2/examples/txtfiles-en.tar | Bin 40960 -> 0 bytes saved-mbsebbs-code-2/examples/txtfiles-es.tar | Bin 40960 -> 0 bytes saved-mbsebbs-code-2/html/.cvsignore | 1 - saved-mbsebbs-code-2/html/Makefile | 125 - saved-mbsebbs-code-2/html/basic.html.in | 281 - saved-mbsebbs-code-2/html/dist.html | 104 - saved-mbsebbs-code-2/html/doors.html | 229 - saved-mbsebbs-code-2/html/errcodes.html | 83 - saved-mbsebbs-code-2/html/faq.html | 1502 --- saved-mbsebbs-code-2/html/flow.html | 180 - saved-mbsebbs-code-2/html/ftsc/index.htm | 97 - saved-mbsebbs-code-2/html/ftsc/index.html | 97 - saved-mbsebbs-code-2/html/images/b_arrow.png | Bin 1028 -> 0 bytes saved-mbsebbs-code-2/html/images/connec.png | Bin 1049 -> 0 bytes saved-mbsebbs-code-2/html/images/domains.png | Bin 5379 -> 0 bytes saved-mbsebbs-code-2/html/images/doors.png | Bin 12601 -> 0 bytes saved-mbsebbs-code-2/html/images/doors2.png | Bin 12609 -> 0 bytes saved-mbsebbs-code-2/html/images/dream1.png | Bin 119883 -> 0 bytes saved-mbsebbs-code-2/html/images/dream2.png | Bin 108143 -> 0 bytes saved-mbsebbs-code-2/html/images/dream3.png | Bin 115790 -> 0 bytes saved-mbsebbs-code-2/html/images/e_menu.png | Bin 10489 -> 0 bytes saved-mbsebbs-code-2/html/images/emareas.png | Bin 13897 -> 0 bytes saved-mbsebbs-code-2/html/images/emgroup.png | Bin 13665 -> 0 bytes saved-mbsebbs-code-2/html/images/fdb.png | Bin 10057 -> 0 bytes saved-mbsebbs-code-2/html/images/fegroup.png | Bin 13201 -> 0 bytes saved-mbsebbs-code-2/html/images/fileecho.png | Bin 15291 -> 0 bytes saved-mbsebbs-code-2/html/images/filefind.png | Bin 11080 -> 0 bytes saved-mbsebbs-code-2/html/images/files.png | Bin 14793 -> 0 bytes saved-mbsebbs-code-2/html/images/go_to.png | Bin 1064 -> 0 bytes saved-mbsebbs-code-2/html/images/hand.up.png | Bin 313 -> 0 bytes saved-mbsebbs-code-2/html/images/hatch.png | Bin 4866 -> 0 bytes saved-mbsebbs-code-2/html/images/language.png | Bin 8414 -> 0 bytes saved-mbsebbs-code-2/html/images/larrow.png | Bin 1017 -> 0 bytes saved-mbsebbs-code-2/html/images/magic.png | Bin 4435 -> 0 bytes .../html/images/mbmon1-tn.png | Bin 8866 -> 0 bytes saved-mbsebbs-code-2/html/images/mbmon1.png | Bin 8898 -> 0 bytes .../html/images/mbmon2-tn.png | Bin 9820 -> 0 bytes saved-mbsebbs-code-2/html/images/mbmon2.png | Bin 10011 -> 0 bytes saved-mbsebbs-code-2/html/images/mbse.png | Bin 73043 -> 0 bytes .../html/images/mbsebbs-s.png | Bin 12697 -> 0 bytes saved-mbsebbs-code-2/html/images/mbsebbs.png | Bin 279940 -> 0 bytes saved-mbsebbs-code-2/html/images/mbsetup0.png | Bin 8202 -> 0 bytes .../html/images/mbsetup1.6.S.png | Bin 4922 -> 0 bytes .../html/images/mbsetup1.6.png | Bin 6447 -> 0 bytes saved-mbsebbs-code-2/html/images/mbsetup2.png | Bin 5364 -> 0 bytes saved-mbsebbs-code-2/html/images/modems0.png | Bin 6681 -> 0 bytes saved-mbsebbs-code-2/html/images/newfiles.png | Bin 11359 -> 0 bytes .../html/images/newgroups.png | Bin 5058 -> 0 bytes saved-mbsebbs-code-2/html/images/nodelist.png | Bin 7982 -> 0 bytes .../html/images/nodelist1.png | Bin 7612 -> 0 bytes .../html/images/nodelist2.png | Bin 5539 -> 0 bytes .../html/images/nodelist3.png | Bin 6034 -> 0 bytes .../html/images/nodelist4.png | Bin 7644 -> 0 bytes .../html/images/nodelist5.png | Bin 5431 -> 0 bytes saved-mbsebbs-code-2/html/images/nodes1.png | Bin 15314 -> 0 bytes saved-mbsebbs-code-2/html/images/nodes10.png | Bin 10680 -> 0 bytes saved-mbsebbs-code-2/html/images/nodes11.png | Bin 10199 -> 0 bytes saved-mbsebbs-code-2/html/images/nodes2.png | Bin 13840 -> 0 bytes saved-mbsebbs-code-2/html/images/nodes3.png | Bin 14113 -> 0 bytes saved-mbsebbs-code-2/html/images/nodes4.png | Bin 9147 -> 0 bytes saved-mbsebbs-code-2/html/images/nodes5.png | Bin 6360 -> 0 bytes saved-mbsebbs-code-2/html/images/nodes6.png | Bin 9549 -> 0 bytes saved-mbsebbs-code-2/html/images/nodes7.png | Bin 11456 -> 0 bytes saved-mbsebbs-code-2/html/images/nodes8.png | Bin 12545 -> 0 bytes saved-mbsebbs-code-2/html/images/nodes9.png | Bin 9987 -> 0 bytes saved-mbsebbs-code-2/html/images/oneliner.png | Bin 5066 -> 0 bytes saved-mbsebbs-code-2/html/images/protocol.png | Bin 11815 -> 0 bytes saved-mbsebbs-code-2/html/images/rarrow.png | Bin 1028 -> 0 bytes saved-mbsebbs-code-2/html/images/route1.png | Bin 9396 -> 0 bytes saved-mbsebbs-code-2/html/images/route2.png | Bin 7014 -> 0 bytes saved-mbsebbs-code-2/html/images/security.png | Bin 5252 -> 0 bytes saved-mbsebbs-code-2/html/images/taskmgr.png | Bin 12710 -> 0 bytes saved-mbsebbs-code-2/html/images/tdream1.png | Bin 7891 -> 0 bytes saved-mbsebbs-code-2/html/images/tdream2.png | Bin 7642 -> 0 bytes saved-mbsebbs-code-2/html/images/tdream3.png | Bin 7842 -> 0 bytes saved-mbsebbs-code-2/html/images/tty.png | Bin 10755 -> 0 bytes saved-mbsebbs-code-2/html/images/tty1.png | Bin 12090 -> 0 bytes saved-mbsebbs-code-2/html/images/tty2.png | Bin 11771 -> 0 bytes saved-mbsebbs-code-2/html/images/uarrow.png | Bin 1022 -> 0 bytes saved-mbsebbs-code-2/html/images/users.png | Bin 13574 -> 0 bytes saved-mbsebbs-code-2/html/images/users2.png | Bin 13583 -> 0 bytes saved-mbsebbs-code-2/html/index.htm.in | 140 - saved-mbsebbs-code-2/html/index.html.in | 140 - saved-mbsebbs-code-2/html/intergate.html | 106 - saved-mbsebbs-code-2/html/intro.html | 94 - saved-mbsebbs-code-2/html/invoking.html | 72 - saved-mbsebbs-code-2/html/known_bugs.html | 45 - .../html/license/copying.html | 358 - .../html/license/hydracom.html | 118 - saved-mbsebbs-code-2/html/license/index.htm | 40 - saved-mbsebbs-code-2/html/license/index.html | 40 - saved-mbsebbs-code-2/html/license/jam.html | 76 - saved-mbsebbs-code-2/html/manual.css | 30 - saved-mbsebbs-code-2/html/menus/control.html | 134 - saved-mbsebbs-code-2/html/menus/index.htm | 181 - saved-mbsebbs-code-2/html/menus/index.html | 181 - saved-mbsebbs-code-2/html/menus/menu0.html | 181 - saved-mbsebbs-code-2/html/menus/menu100.html | 148 - saved-mbsebbs-code-2/html/menus/menu200.html | 153 - saved-mbsebbs-code-2/html/menus/menu300.html | 139 - saved-mbsebbs-code-2/html/menus/menu400.html | 61 - saved-mbsebbs-code-2/html/menus/menu500.html | 57 - saved-mbsebbs-code-2/html/mgetty.html | 188 - saved-mbsebbs-code-2/html/misc/dropfile.html | 114 - saved-mbsebbs-code-2/html/misc/filefind.html | 332 - saved-mbsebbs-code-2/html/misc/fileid.html | 388 - saved-mbsebbs-code-2/html/misc/ftpserver.html | 108 - saved-mbsebbs-code-2/html/misc/index.htm | 46 - saved-mbsebbs-code-2/html/misc/index.html | 46 - saved-mbsebbs-code-2/html/misc/ipmailer.html | 174 - saved-mbsebbs-code-2/html/misc/jam.html | 640 -- saved-mbsebbs-code-2/html/misc/outbound.html | 103 - saved-mbsebbs-code-2/html/misc/semafore.html | 75 - saved-mbsebbs-code-2/html/misc/usleep.html | 70 - saved-mbsebbs-code-2/html/misc/webserver.html | 121 - saved-mbsebbs-code-2/html/nodelist.html | 133 - saved-mbsebbs-code-2/html/postfix.html | 160 - saved-mbsebbs-code-2/html/programs/index.htm | 50 - saved-mbsebbs-code-2/html/programs/index.html | 50 - saved-mbsebbs-code-2/html/programs/mbaff.html | 99 - saved-mbsebbs-code-2/html/programs/mball.html | 75 - .../html/programs/mbcico.html | 301 - .../html/programs/mbdiff.html | 64 - .../html/programs/mbfido.html | 277 - .../html/programs/mbfile.html | 192 - .../html/programs/mbindex.html | 68 - .../html/programs/mblang.html | 38 - .../html/programs/mblogin.html | 126 - saved-mbsebbs-code-2/html/programs/mbmon.html | 119 - saved-mbsebbs-code-2/html/programs/mbmsg.html | 93 - .../html/programs/mbnntp.html | 68 - saved-mbsebbs-code-2/html/programs/mbout.html | 110 - .../html/programs/mbpasswd.html | 55 - .../html/programs/mbsebbs.html | 147 - saved-mbsebbs-code-2/html/programs/mbseq.html | 49 - .../html/programs/mbsetup.html | 62 - .../html/programs/mbstat.html | 79 - .../html/programs/mbtask.html | 432 - .../html/programs/mbtoberep.html | 47 - .../html/programs/mbuser.html | 71 - .../html/programs/mbuseradd.html | 71 - saved-mbsebbs-code-2/html/routing.html | 211 - saved-mbsebbs-code-2/html/setup/archiver.html | 57 - saved-mbsebbs-code-2/html/setup/bbs.html | 40 - saved-mbsebbs-code-2/html/setup/chat.html | 46 - saved-mbsebbs-code-2/html/setup/domains.html | 47 - saved-mbsebbs-code-2/html/setup/emareas.html | 134 - saved-mbsebbs-code-2/html/setup/emgroup.html | 70 - saved-mbsebbs-code-2/html/setup/fdb.html | 54 - saved-mbsebbs-code-2/html/setup/fegroup.html | 81 - saved-mbsebbs-code-2/html/setup/fidonet.html | 41 - saved-mbsebbs-code-2/html/setup/fileecho.html | 96 - saved-mbsebbs-code-2/html/setup/filefind.html | 57 - saved-mbsebbs-code-2/html/setup/files.html | 78 - saved-mbsebbs-code-2/html/setup/global.html | 439 - saved-mbsebbs-code-2/html/setup/hatch.html | 65 - saved-mbsebbs-code-2/html/setup/index.htm | 79 - saved-mbsebbs-code-2/html/setup/index.html | 79 - saved-mbsebbs-code-2/html/setup/language.html | 66 - saved-mbsebbs-code-2/html/setup/magic.html | 76 - saved-mbsebbs-code-2/html/setup/mail.html | 34 - saved-mbsebbs-code-2/html/setup/modems.html | 88 - saved-mbsebbs-code-2/html/setup/newfiles.html | 53 - .../html/setup/newgroups.html | 48 - saved-mbsebbs-code-2/html/setup/nodes.html | 415 - saved-mbsebbs-code-2/html/setup/oneliner.html | 36 - saved-mbsebbs-code-2/html/setup/protocol.html | 75 - saved-mbsebbs-code-2/html/setup/route.html | 71 - saved-mbsebbs-code-2/html/setup/security.html | 57 - saved-mbsebbs-code-2/html/setup/services.html | 59 - saved-mbsebbs-code-2/html/setup/sitedoc.html | 36 - saved-mbsebbs-code-2/html/setup/softinfo.html | 30 - saved-mbsebbs-code-2/html/setup/taskmgr.html | 68 - saved-mbsebbs-code-2/html/setup/tic.html | 36 - saved-mbsebbs-code-2/html/setup/ttyinfo.html | 68 - saved-mbsebbs-code-2/html/setup/users.html | 106 - saved-mbsebbs-code-2/html/setup/virscan.html | 103 - saved-mbsebbs-code-2/html/upgrade.html.in | 96 - saved-mbsebbs-code-2/html/ups.html | 45 - saved-mbsebbs-code-2/lang/.cvsignore | 1 - saved-mbsebbs-code-2/lang/Language.xref | 482 - saved-mbsebbs-code-2/lang/Makefile | 48 - saved-mbsebbs-code-2/lang/README | 43 - saved-mbsebbs-code-2/lang/germandu.txt | 480 - saved-mbsebbs-code-2/lang/source.de | 482 - saved-mbsebbs-code-2/lang/source.en | 482 - saved-mbsebbs-code-2/lang/source.es | 482 - saved-mbsebbs-code-2/lang/source.fr | 482 - saved-mbsebbs-code-2/lang/source.gl | 482 - saved-mbsebbs-code-2/lang/source.nl | 482 - saved-mbsebbs-code-2/lang/source.zh | 482 - saved-mbsebbs-code-2/lib/.cvsignore | 1 - saved-mbsebbs-code-2/lib/Diesel.doc | 294 - saved-mbsebbs-code-2/lib/Makefile | 181 - saved-mbsebbs-code-2/lib/README | 35 - saved-mbsebbs-code-2/lib/README.diesel | 20 - saved-mbsebbs-code-2/lib/README.macro | 52 - saved-mbsebbs-code-2/lib/attach.c | 244 - saved-mbsebbs-code-2/lib/batchrd.c | 88 - saved-mbsebbs-code-2/lib/bluewave.h | 1143 --- saved-mbsebbs-code-2/lib/charset.c | 459 - saved-mbsebbs-code-2/lib/clcomm.c | 635 -- saved-mbsebbs-code-2/lib/client.c | 229 - saved-mbsebbs-code-2/lib/crc.c | 292 - saved-mbsebbs-code-2/lib/dbcfg.c | 92 - saved-mbsebbs-code-2/lib/dbdupe.c | 189 - saved-mbsebbs-code-2/lib/dbfdb.c | 557 -- saved-mbsebbs-code-2/lib/dbftn.c | 113 - saved-mbsebbs-code-2/lib/dbmsgs.c | 364 - saved-mbsebbs-code-2/lib/dbnode.c | 219 - saved-mbsebbs-code-2/lib/dbtic.c | 303 - saved-mbsebbs-code-2/lib/dbuser.c | 99 - saved-mbsebbs-code-2/lib/diesel.c | 1795 ---- saved-mbsebbs-code-2/lib/diesel.h | 57 - saved-mbsebbs-code-2/lib/dostran.c | 93 - saved-mbsebbs-code-2/lib/endian.c | 59 - saved-mbsebbs-code-2/lib/execute.c | 301 - saved-mbsebbs-code-2/lib/expipe.c | 187 - saved-mbsebbs-code-2/lib/faddr.c | 121 - saved-mbsebbs-code-2/lib/falists.c | 224 - saved-mbsebbs-code-2/lib/ftn.c | 684 -- saved-mbsebbs-code-2/lib/ftnmsg.c | 181 - saved-mbsebbs-code-2/lib/ftscprod.010 | 296 - saved-mbsebbs-code-2/lib/ftscprod.016 | 302 - saved-mbsebbs-code-2/lib/getheader.c | 230 - saved-mbsebbs-code-2/lib/gmtoffset.c | 167 - saved-mbsebbs-code-2/lib/hdr.c | 45 - saved-mbsebbs-code-2/lib/jam.h | 196 - saved-mbsebbs-code-2/lib/jammsg.c | 1543 --- saved-mbsebbs-code-2/lib/jammsg.h | 30 - saved-mbsebbs-code-2/lib/jamsys.h | 102 - saved-mbsebbs-code-2/lib/magic.c | 101 - saved-mbsebbs-code-2/lib/mangle.c | 470 - saved-mbsebbs-code-2/lib/mbdiesel.c | 373 - saved-mbsebbs-code-2/lib/mbfile.c | 283 - saved-mbsebbs-code-2/lib/mbinet.h | 25 - saved-mbsebbs-code-2/lib/mbse.h | 115 - saved-mbsebbs-code-2/lib/mbsedb.h | 156 - saved-mbsebbs-code-2/lib/mbselib.h | 2724 ----- saved-mbsebbs-code-2/lib/mkprod.awk | 17 - saved-mbsebbs-code-2/lib/msg.c | 546 - saved-mbsebbs-code-2/lib/msg.h | 148 - saved-mbsebbs-code-2/lib/msgtext.c | 335 - saved-mbsebbs-code-2/lib/msgtext.h | 34 - saved-mbsebbs-code-2/lib/nntp.c | 292 - saved-mbsebbs-code-2/lib/nodelist.c | 1266 --- saved-mbsebbs-code-2/lib/nodelist.conf | 187 - saved-mbsebbs-code-2/lib/nodelist.h | 138 - saved-mbsebbs-code-2/lib/nodelock.c | 179 - saved-mbsebbs-code-2/lib/noderecord.c | 56 - saved-mbsebbs-code-2/lib/packet.c | 189 - saved-mbsebbs-code-2/lib/parsedate.c | 1781 ---- saved-mbsebbs-code-2/lib/pidinfo.c | 119 - saved-mbsebbs-code-2/lib/pktname.c | 291 - saved-mbsebbs-code-2/lib/pop3.c | 195 - saved-mbsebbs-code-2/lib/proglock.c | 135 - saved-mbsebbs-code-2/lib/rawio.c | 334 - saved-mbsebbs-code-2/lib/rearc.c | 200 - saved-mbsebbs-code-2/lib/remask.c | 84 - saved-mbsebbs-code-2/lib/rfcaddr.c | 285 - saved-mbsebbs-code-2/lib/rfcdate.c | 189 - saved-mbsebbs-code-2/lib/rfcmsg.c | 141 - saved-mbsebbs-code-2/lib/sectest.c | 72 - saved-mbsebbs-code-2/lib/semafore.c | 70 - saved-mbsebbs-code-2/lib/signame.c | 90 - saved-mbsebbs-code-2/lib/smtp.c | 211 - saved-mbsebbs-code-2/lib/strcasestr.c | 26 - saved-mbsebbs-code-2/lib/strutil.c | 417 - saved-mbsebbs-code-2/lib/term.c | 153 - saved-mbsebbs-code-2/lib/timers.c | 163 - saved-mbsebbs-code-2/lib/tmpwork.c | 87 - saved-mbsebbs-code-2/lib/unpacker.c | 115 - saved-mbsebbs-code-2/lib/users.h | 161 - saved-mbsebbs-code-2/lib/virscan.c | 396 - saved-mbsebbs-code-2/mbcico/.cvsignore | 1 - saved-mbsebbs-code-2/mbcico/Makefile | 138 - saved-mbsebbs-code-2/mbcico/README | 32 - saved-mbsebbs-code-2/mbcico/answer.c | 157 - saved-mbsebbs-code-2/mbcico/answer.h | 8 - saved-mbsebbs-code-2/mbcico/atoul.c | 44 - saved-mbsebbs-code-2/mbcico/atoul.h | 9 - saved-mbsebbs-code-2/mbcico/binkp.c | 3202 ------ saved-mbsebbs-code-2/mbcico/binkp.h | 103 - saved-mbsebbs-code-2/mbcico/bopenfile.c | 226 - saved-mbsebbs-code-2/mbcico/bopenfile.h | 9 - saved-mbsebbs-code-2/mbcico/call.c | 278 - saved-mbsebbs-code-2/mbcico/call.h | 10 - saved-mbsebbs-code-2/mbcico/callstat.c | 94 - saved-mbsebbs-code-2/mbcico/callstat.h | 16 - saved-mbsebbs-code-2/mbcico/chat.c | 244 - saved-mbsebbs-code-2/mbcico/chat.h | 10 - saved-mbsebbs-code-2/mbcico/config.h | 22 - saved-mbsebbs-code-2/mbcico/dial.c | 158 - saved-mbsebbs-code-2/mbcico/dial.h | 11 - saved-mbsebbs-code-2/mbcico/dietifna.c | 143 - saved-mbsebbs-code-2/mbcico/dietifna.h | 9 - saved-mbsebbs-code-2/mbcico/dirlock.c | 149 - saved-mbsebbs-code-2/mbcico/dirlock.h | 9 - saved-mbsebbs-code-2/mbcico/emsi.c | 629 -- saved-mbsebbs-code-2/mbcico/emsi.h | 52 - saved-mbsebbs-code-2/mbcico/emsidat.c | 520 - saved-mbsebbs-code-2/mbcico/emsidat.h | 10 - saved-mbsebbs-code-2/mbcico/filelist.c | 692 -- saved-mbsebbs-code-2/mbcico/filelist.h | 16 - saved-mbsebbs-code-2/mbcico/filetime.c | 121 - saved-mbsebbs-code-2/mbcico/filetime.h | 11 - saved-mbsebbs-code-2/mbcico/ftsc.c | 515 - saved-mbsebbs-code-2/mbcico/ftsc.h | 10 - saved-mbsebbs-code-2/mbcico/htoul.c | 44 - saved-mbsebbs-code-2/mbcico/htoul.h | 9 - saved-mbsebbs-code-2/mbcico/hydra.c | 1844 ---- saved-mbsebbs-code-2/mbcico/hydra.h | 248 - saved-mbsebbs-code-2/mbcico/inbound.c | 216 - saved-mbsebbs-code-2/mbcico/inbound.h | 39 - saved-mbsebbs-code-2/mbcico/lutil.c | 99 - saved-mbsebbs-code-2/mbcico/lutil.h | 11 - saved-mbsebbs-code-2/mbcico/m7recv.c | 179 - saved-mbsebbs-code-2/mbcico/m7recv.h | 8 - saved-mbsebbs-code-2/mbcico/m7send.c | 181 - saved-mbsebbs-code-2/mbcico/m7send.h | 7 - saved-mbsebbs-code-2/mbcico/mbcico.c | 399 - saved-mbsebbs-code-2/mbcico/mbcico.h | 11 - saved-mbsebbs-code-2/mbcico/mbout.c | 371 - saved-mbsebbs-code-2/mbcico/md5b.c | 522 - saved-mbsebbs-code-2/mbcico/md5b.h | 65 - saved-mbsebbs-code-2/mbcico/nlinfo.c | 138 - saved-mbsebbs-code-2/mbcico/nlinfo.h | 9 - saved-mbsebbs-code-2/mbcico/openfile.c | 235 - saved-mbsebbs-code-2/mbcico/openfile.h | 9 - saved-mbsebbs-code-2/mbcico/openport.c | 604 -- saved-mbsebbs-code-2/mbcico/openport.h | 27 - saved-mbsebbs-code-2/mbcico/opentcp.c | 274 - saved-mbsebbs-code-2/mbcico/opentcp.h | 10 - saved-mbsebbs-code-2/mbcico/outstat.c | 590 -- saved-mbsebbs-code-2/mbcico/outstat.h | 13 - saved-mbsebbs-code-2/mbcico/portsel.c | 119 - saved-mbsebbs-code-2/mbcico/portsel.h | 11 - saved-mbsebbs-code-2/mbcico/rdoptions.c | 142 - saved-mbsebbs-code-2/mbcico/rdoptions.h | 7 - saved-mbsebbs-code-2/mbcico/recvbark.c | 220 - saved-mbsebbs-code-2/mbcico/recvbark.h | 7 - saved-mbsebbs-code-2/mbcico/respfreq.c | 664 -- saved-mbsebbs-code-2/mbcico/respfreq.h | 11 - saved-mbsebbs-code-2/mbcico/scanout.c | 245 - saved-mbsebbs-code-2/mbcico/scanout.h | 13 - saved-mbsebbs-code-2/mbcico/sendbark.c | 179 - saved-mbsebbs-code-2/mbcico/sendbark.h | 7 - saved-mbsebbs-code-2/mbcico/session.c | 759 -- saved-mbsebbs-code-2/mbcico/session.h | 77 - saved-mbsebbs-code-2/mbcico/statetbl.h | 53 - saved-mbsebbs-code-2/mbcico/tcp.c | 131 - saved-mbsebbs-code-2/mbcico/tcp.h | 9 - saved-mbsebbs-code-2/mbcico/tcpproto.c | 498 - saved-mbsebbs-code-2/mbcico/tcpproto.h | 9 - saved-mbsebbs-code-2/mbcico/telnet.c | 176 - saved-mbsebbs-code-2/mbcico/telnet.h | 17 - saved-mbsebbs-code-2/mbcico/ttyio.c | 592 -- saved-mbsebbs-code-2/mbcico/ttyio.h | 115 - saved-mbsebbs-code-2/mbcico/ulock.c | 140 - saved-mbsebbs-code-2/mbcico/ulock.h | 8 - saved-mbsebbs-code-2/mbcico/wazoo.c | 129 - saved-mbsebbs-code-2/mbcico/wazoo.h | 8 - saved-mbsebbs-code-2/mbcico/xmrecv.c | 590 -- saved-mbsebbs-code-2/mbcico/xmrecv.h | 7 - saved-mbsebbs-code-2/mbcico/xmsend.c | 508 - saved-mbsebbs-code-2/mbcico/xmsend.h | 9 - saved-mbsebbs-code-2/mbcico/yoohoo.c | 659 -- saved-mbsebbs-code-2/mbcico/yoohoo.h | 8 - saved-mbsebbs-code-2/mbcico/zmmisc.c | 994 -- saved-mbsebbs-code-2/mbcico/zmodem.h | 201 - saved-mbsebbs-code-2/mbcico/zmrecv.c | 575 -- saved-mbsebbs-code-2/mbcico/zmrle.c | 196 - saved-mbsebbs-code-2/mbcico/zmsend.c | 691 -- saved-mbsebbs-code-2/mbfido/.cvsignore | 1 - saved-mbsebbs-code-2/mbfido/Makefile | 205 - saved-mbsebbs-code-2/mbfido/README | 37 - saved-mbsebbs-code-2/mbfido/addbbs.c | 322 - saved-mbsebbs-code-2/mbfido/addbbs.h | 9 - saved-mbsebbs-code-2/mbfido/addpkt.c | 310 - saved-mbsebbs-code-2/mbfido/addpkt.h | 10 - saved-mbsebbs-code-2/mbfido/aliasdb.c | 213 - saved-mbsebbs-code-2/mbfido/aliasdb.h | 12 - saved-mbsebbs-code-2/mbfido/announce.c | 495 - saved-mbsebbs-code-2/mbfido/announce.h | 9 - saved-mbsebbs-code-2/mbfido/areamgr.c | 1184 --- saved-mbsebbs-code-2/mbfido/areamgr.h | 12 - saved-mbsebbs-code-2/mbfido/atoul.c | 45 - saved-mbsebbs-code-2/mbfido/atoul.h | 9 - saved-mbsebbs-code-2/mbfido/backalias.c | 96 - saved-mbsebbs-code-2/mbfido/backalias.h | 8 - saved-mbsebbs-code-2/mbfido/bounce.c | 139 - saved-mbsebbs-code-2/mbfido/bounce.h | 9 - saved-mbsebbs-code-2/mbfido/bwrite.c | 114 - saved-mbsebbs-code-2/mbfido/bwrite.h | 12 - saved-mbsebbs-code-2/mbfido/createf.c | 394 - saved-mbsebbs-code-2/mbfido/createf.h | 12 - saved-mbsebbs-code-2/mbfido/createm.c | 503 - saved-mbsebbs-code-2/mbfido/createm.h | 14 - saved-mbsebbs-code-2/mbfido/dirlock.c | 150 - saved-mbsebbs-code-2/mbfido/dirlock.h | 7 - saved-mbsebbs-code-2/mbfido/dirsession.c | 220 - saved-mbsebbs-code-2/mbfido/dirsession.h | 12 - saved-mbsebbs-code-2/mbfido/fflist.c | 147 - saved-mbsebbs-code-2/mbfido/fflist.h | 34 - saved-mbsebbs-code-2/mbfido/filefind.c | 530 - saved-mbsebbs-code-2/mbfido/filefind.h | 9 - saved-mbsebbs-code-2/mbfido/filemgr.c | 993 -- saved-mbsebbs-code-2/mbfido/filemgr.h | 11 - saved-mbsebbs-code-2/mbfido/flock.c | 78 - saved-mbsebbs-code-2/mbfido/flock.h | 10 - saved-mbsebbs-code-2/mbfido/forward.c | 291 - saved-mbsebbs-code-2/mbfido/forward.h | 9 - saved-mbsebbs-code-2/mbfido/fsort.c | 144 - saved-mbsebbs-code-2/mbfido/fsort.h | 20 - saved-mbsebbs-code-2/mbfido/ftn2rfc.c | 1543 --- saved-mbsebbs-code-2/mbfido/ftn2rfc.h | 8 - saved-mbsebbs-code-2/mbfido/grlist.c | 139 - saved-mbsebbs-code-2/mbfido/grlist.h | 19 - saved-mbsebbs-code-2/mbfido/hash.c | 52 - saved-mbsebbs-code-2/mbfido/hash.h | 9 - saved-mbsebbs-code-2/mbfido/hatch.c | 200 - saved-mbsebbs-code-2/mbfido/hatch.h | 9 - saved-mbsebbs-code-2/mbfido/lhash.c | 500 - saved-mbsebbs-code-2/mbfido/lhash.h | 147 - saved-mbsebbs-code-2/mbfido/magic.c | 374 - saved-mbsebbs-code-2/mbfido/magic.h | 18 - saved-mbsebbs-code-2/mbfido/makestat.c | 448 - saved-mbsebbs-code-2/mbfido/makestat.h | 9 - saved-mbsebbs-code-2/mbfido/maketags.c | 125 - saved-mbsebbs-code-2/mbfido/maketags.h | 9 - saved-mbsebbs-code-2/mbfido/mbaff.c | 197 - saved-mbsebbs-code-2/mbfido/mbaff.h | 9 - saved-mbsebbs-code-2/mbfido/mbdiff.c | 574 -- saved-mbsebbs-code-2/mbfido/mbdiff.h | 12 - saved-mbsebbs-code-2/mbfido/mbfadopt.c | 301 - saved-mbsebbs-code-2/mbfido/mbfadopt.h | 8 - saved-mbsebbs-code-2/mbfido/mbfcheck.c | 574 -- saved-mbsebbs-code-2/mbfido/mbfcheck.h | 8 - saved-mbsebbs-code-2/mbfido/mbfdel.c | 118 - saved-mbsebbs-code-2/mbfido/mbfdel.h | 8 - saved-mbsebbs-code-2/mbfido/mbfido.c | 913 -- saved-mbsebbs-code-2/mbfido/mbfido.h | 15 - saved-mbsebbs-code-2/mbfido/mbfile.c | 318 - saved-mbsebbs-code-2/mbfido/mbfile.h | 7 - saved-mbsebbs-code-2/mbfido/mbfimport.c | 434 - saved-mbsebbs-code-2/mbfido/mbfimport.h | 10 - saved-mbsebbs-code-2/mbfido/mbfindex.c | 808 -- saved-mbsebbs-code-2/mbfido/mbfindex.h | 8 - saved-mbsebbs-code-2/mbfido/mbfkill.c | 237 - saved-mbsebbs-code-2/mbfido/mbfkill.h | 8 - saved-mbsebbs-code-2/mbfido/mbflist.c | 201 - saved-mbsebbs-code-2/mbfido/mbflist.h | 8 - saved-mbsebbs-code-2/mbfido/mbfmove.c | 178 - saved-mbsebbs-code-2/mbfido/mbfmove.h | 8 - saved-mbsebbs-code-2/mbfido/mbfpack.c | 142 - saved-mbsebbs-code-2/mbfido/mbfpack.h | 8 - saved-mbsebbs-code-2/mbfido/mbfrearc.c | 216 - saved-mbsebbs-code-2/mbfido/mbfrearc.h | 8 - saved-mbsebbs-code-2/mbfido/mbfsort.c | 114 - saved-mbsebbs-code-2/mbfido/mbfsort.h | 8 - saved-mbsebbs-code-2/mbfido/mbftoberep.c | 83 - saved-mbsebbs-code-2/mbfido/mbftoberep.h | 8 - saved-mbsebbs-code-2/mbfido/mbfutil.c | 451 - saved-mbsebbs-code-2/mbfido/mbfutil.h | 16 - saved-mbsebbs-code-2/mbfido/mbindex.c | 998 -- saved-mbsebbs-code-2/mbfido/mbindex.h | 35 - saved-mbsebbs-code-2/mbfido/mbmsg.c | 569 -- saved-mbsebbs-code-2/mbfido/mbmsg.h | 15 - saved-mbsebbs-code-2/mbfido/mbseq.c | 65 - saved-mbsebbs-code-2/mbfido/mbseq.h | 6 - saved-mbsebbs-code-2/mbfido/mgrutil.c | 1008 -- saved-mbsebbs-code-2/mbfido/mgrutil.h | 40 - saved-mbsebbs-code-2/mbfido/mkftnhdr.c | 583 -- saved-mbsebbs-code-2/mbfido/mkftnhdr.h | 10 - saved-mbsebbs-code-2/mbfido/mover.c | 74 - saved-mbsebbs-code-2/mbfido/mover.h | 12 - saved-mbsebbs-code-2/mbfido/msg.c | 397 - saved-mbsebbs-code-2/mbfido/msg.h | 8 - saved-mbsebbs-code-2/mbfido/msgflags.c | 133 - saved-mbsebbs-code-2/mbfido/msgflags.h | 13 - saved-mbsebbs-code-2/mbfido/msgutil.c | 272 - saved-mbsebbs-code-2/mbfido/msgutil.h | 15 - saved-mbsebbs-code-2/mbfido/newspost.c | 233 - saved-mbsebbs-code-2/mbfido/newspost.h | 9 - saved-mbsebbs-code-2/mbfido/notify.c | 171 - saved-mbsebbs-code-2/mbfido/notify.h | 9 - saved-mbsebbs-code-2/mbfido/orphans.c | 65 - saved-mbsebbs-code-2/mbfido/orphans.h | 22 - saved-mbsebbs-code-2/mbfido/ping.c | 138 - saved-mbsebbs-code-2/mbfido/ping.h | 9 - saved-mbsebbs-code-2/mbfido/post.c | 289 - saved-mbsebbs-code-2/mbfido/post.h | 9 - saved-mbsebbs-code-2/mbfido/postecho.c | 575 -- saved-mbsebbs-code-2/mbfido/postecho.h | 11 - saved-mbsebbs-code-2/mbfido/postemail.c | 152 - saved-mbsebbs-code-2/mbfido/postemail.h | 8 - saved-mbsebbs-code-2/mbfido/postnetmail.c | 469 - saved-mbsebbs-code-2/mbfido/postnetmail.h | 8 - saved-mbsebbs-code-2/mbfido/ptic.c | 712 -- saved-mbsebbs-code-2/mbfido/ptic.h | 8 - saved-mbsebbs-code-2/mbfido/qualify.c | 63 - saved-mbsebbs-code-2/mbfido/qualify.h | 23 - saved-mbsebbs-code-2/mbfido/queue.c | 649 -- saved-mbsebbs-code-2/mbfido/queue.h | 11 - saved-mbsebbs-code-2/mbfido/rfc2ftn.c | 865 -- saved-mbsebbs-code-2/mbfido/rfc2ftn.h | 10 - saved-mbsebbs-code-2/mbfido/rnews.c | 636 -- saved-mbsebbs-code-2/mbfido/rnews.h | 20 - saved-mbsebbs-code-2/mbfido/rollover.c | 421 - saved-mbsebbs-code-2/mbfido/rollover.h | 9 - saved-mbsebbs-code-2/mbfido/scan.c | 1198 --- saved-mbsebbs-code-2/mbfido/scan.h | 9 - saved-mbsebbs-code-2/mbfido/scannews.c | 528 - saved-mbsebbs-code-2/mbfido/scannews.h | 39 - saved-mbsebbs-code-2/mbfido/sendmail.c | 149 - saved-mbsebbs-code-2/mbfido/sendmail.h | 10 - saved-mbsebbs-code-2/mbfido/storeecho.c | 169 - saved-mbsebbs-code-2/mbfido/storeecho.h | 7 - saved-mbsebbs-code-2/mbfido/storenet.c | 189 - saved-mbsebbs-code-2/mbfido/storenet.h | 8 - saved-mbsebbs-code-2/mbfido/tic.c | 566 -- saved-mbsebbs-code-2/mbfido/tic.h | 72 - saved-mbsebbs-code-2/mbfido/toberep.c | 97 - saved-mbsebbs-code-2/mbfido/toberep.h | 8 - saved-mbsebbs-code-2/mbfido/tosspkt.c | 511 - saved-mbsebbs-code-2/mbfido/tosspkt.h | 9 - saved-mbsebbs-code-2/mbfido/tracker.c | 723 -- saved-mbsebbs-code-2/mbfido/tracker.h | 9 - saved-mbsebbs-code-2/mbfido/unpack.c | 120 - saved-mbsebbs-code-2/mbfido/unpack.h | 9 - saved-mbsebbs-code-2/mbfido/utic.c | 237 - saved-mbsebbs-code-2/mbfido/utic.h | 14 - saved-mbsebbs-code-2/mbmon/.cvsignore | 1 - saved-mbsebbs-code-2/mbmon/Makefile | 62 - saved-mbsebbs-code-2/mbmon/mbmon.c | 850 -- saved-mbsebbs-code-2/mbmon/mbmon.c~ | 850 -- saved-mbsebbs-code-2/mbmon/mbmon.h | 15 - saved-mbsebbs-code-2/mbmon/mutil.c | 605 -- saved-mbsebbs-code-2/mbmon/mutil.h | 22 - saved-mbsebbs-code-2/mbmon/proglock.c | 140 - saved-mbsebbs-code-2/mbmon/proglock.h | 9 - saved-mbsebbs-code-2/mbnntp/.cvsignore | 1 - saved-mbsebbs-code-2/mbnntp/Makefile | 72 - saved-mbsebbs-code-2/mbnntp/atoul.c | 48 - saved-mbsebbs-code-2/mbnntp/atoul.h | 12 - saved-mbsebbs-code-2/mbnntp/auth.c | 172 - saved-mbsebbs-code-2/mbnntp/auth.h | 14 - saved-mbsebbs-code-2/mbnntp/commands.c | 616 -- saved-mbsebbs-code-2/mbnntp/commands.h | 18 - saved-mbsebbs-code-2/mbnntp/hash.c | 54 - saved-mbsebbs-code-2/mbnntp/hash.h | 13 - saved-mbsebbs-code-2/mbnntp/lhash.c | 482 - saved-mbsebbs-code-2/mbnntp/lhash.h | 151 - saved-mbsebbs-code-2/mbnntp/mbnntp.c | 435 - saved-mbsebbs-code-2/mbnntp/mbnntp.h | 17 - saved-mbsebbs-code-2/mbnntp/mkftnhdr.c | 571 -- saved-mbsebbs-code-2/mbnntp/mkftnhdr.h | 13 - saved-mbsebbs-code-2/mbnntp/msgflags.c | 134 - saved-mbsebbs-code-2/mbnntp/msgflags.h | 16 - saved-mbsebbs-code-2/mbnntp/openport.c | 78 - saved-mbsebbs-code-2/mbnntp/openport.h | 9 - saved-mbsebbs-code-2/mbnntp/rfc2ftn.c | 904 -- saved-mbsebbs-code-2/mbnntp/rfc2ftn.h | 12 - saved-mbsebbs-code-2/mbnntp/ttyio.c | 186 - saved-mbsebbs-code-2/mbnntp/ttyio.h | 35 - saved-mbsebbs-code-2/mbsebbs/.cvsignore | 1 - saved-mbsebbs-code-2/mbsebbs/Makefile | 139 - saved-mbsebbs-code-2/mbsebbs/bye.c | 228 - saved-mbsebbs-code-2/mbsebbs/bye.h | 8 - saved-mbsebbs-code-2/mbsebbs/change.c | 1105 --- saved-mbsebbs-code-2/mbsebbs/change.h | 29 - saved-mbsebbs-code-2/mbsebbs/chat.c | 418 - saved-mbsebbs-code-2/mbsebbs/chat.h | 8 - saved-mbsebbs-code-2/mbsebbs/dispfile.c | 690 -- saved-mbsebbs-code-2/mbsebbs/dispfile.h | 16 - saved-mbsebbs-code-2/mbsebbs/door.c | 388 - saved-mbsebbs-code-2/mbsebbs/door.h | 9 - saved-mbsebbs-code-2/mbsebbs/email.c | 1110 --- saved-mbsebbs-code-2/mbsebbs/email.h | 18 - saved-mbsebbs-code-2/mbsebbs/exitinfo.c | 140 - saved-mbsebbs-code-2/mbsebbs/exitinfo.h | 10 - saved-mbsebbs-code-2/mbsebbs/file.c | 1963 ---- saved-mbsebbs-code-2/mbsebbs/file.h | 25 - saved-mbsebbs-code-2/mbsebbs/filesub.c | 1089 -- saved-mbsebbs-code-2/mbsebbs/filesub.h | 27 - saved-mbsebbs-code-2/mbsebbs/fsedit.c | 800 -- saved-mbsebbs-code-2/mbsebbs/fsedit.h | 36 - saved-mbsebbs-code-2/mbsebbs/funcs.c | 385 - saved-mbsebbs-code-2/mbsebbs/funcs.h | 17 - saved-mbsebbs-code-2/mbsebbs/input.c | 802 -- saved-mbsebbs-code-2/mbsebbs/input.h | 28 - saved-mbsebbs-code-2/mbsebbs/language.c | 170 - saved-mbsebbs-code-2/mbsebbs/language.h | 13 - saved-mbsebbs-code-2/mbsebbs/lastcallers.c | 160 - saved-mbsebbs-code-2/mbsebbs/lastcallers.h | 8 - saved-mbsebbs-code-2/mbsebbs/logentry.c | 68 - saved-mbsebbs-code-2/mbsebbs/logentry.h | 9 - saved-mbsebbs-code-2/mbsebbs/mail.c | 2951 ------ saved-mbsebbs-code-2/mbsebbs/mail.h | 25 - saved-mbsebbs-code-2/mbsebbs/mbnewusr.c | 287 - saved-mbsebbs-code-2/mbsebbs/mbnewusr.h | 10 - saved-mbsebbs-code-2/mbsebbs/mbsebbs.c | 424 - saved-mbsebbs-code-2/mbsebbs/mbsebbs.h | 10 - saved-mbsebbs-code-2/mbsebbs/menu.c | 763 -- saved-mbsebbs-code-2/mbsebbs/menu.h | 10 - saved-mbsebbs-code-2/mbsebbs/mib.c | 57 - saved-mbsebbs-code-2/mbsebbs/mib.h | 9 - saved-mbsebbs-code-2/mbsebbs/misc.c | 241 - saved-mbsebbs-code-2/mbsebbs/misc.h | 12 - saved-mbsebbs-code-2/mbsebbs/morefile.c | 100 - saved-mbsebbs-code-2/mbsebbs/morefile.h | 8 - saved-mbsebbs-code-2/mbsebbs/msgutil.c | 321 - saved-mbsebbs-code-2/mbsebbs/msgutil.h | 15 - saved-mbsebbs-code-2/mbsebbs/newuser.c | 840 -- saved-mbsebbs-code-2/mbsebbs/newuser.h | 10 - saved-mbsebbs-code-2/mbsebbs/offline.c | 2984 ------ saved-mbsebbs-code-2/mbsebbs/offline.h | 52 - saved-mbsebbs-code-2/mbsebbs/oneline.c | 451 - saved-mbsebbs-code-2/mbsebbs/oneline.h | 13 - saved-mbsebbs-code-2/mbsebbs/openport.c | 293 - saved-mbsebbs-code-2/mbsebbs/openport.h | 12 - saved-mbsebbs-code-2/mbsebbs/page.c | 337 - saved-mbsebbs-code-2/mbsebbs/page.h | 13 - saved-mbsebbs-code-2/mbsebbs/pinfo.c | 191 - saved-mbsebbs-code-2/mbsebbs/pinfo.h | 9 - saved-mbsebbs-code-2/mbsebbs/pop3.c | 214 - saved-mbsebbs-code-2/mbsebbs/pop3.h | 9 - saved-mbsebbs-code-2/mbsebbs/signature.c | 303 - saved-mbsebbs-code-2/mbsebbs/signature.h | 8 - saved-mbsebbs-code-2/mbsebbs/term.c | 315 - saved-mbsebbs-code-2/mbsebbs/term.h | 29 - saved-mbsebbs-code-2/mbsebbs/timecheck.c | 132 - saved-mbsebbs-code-2/mbsebbs/timecheck.h | 8 - saved-mbsebbs-code-2/mbsebbs/timeout.c | 136 - saved-mbsebbs-code-2/mbsebbs/timeout.h | 12 - saved-mbsebbs-code-2/mbsebbs/timestats.c | 101 - saved-mbsebbs-code-2/mbsebbs/timestats.h | 9 - saved-mbsebbs-code-2/mbsebbs/transfer.c | 581 -- saved-mbsebbs-code-2/mbsebbs/transfer.h | 43 - saved-mbsebbs-code-2/mbsebbs/ttyio.c | 251 - saved-mbsebbs-code-2/mbsebbs/ttyio.h | 88 - saved-mbsebbs-code-2/mbsebbs/user.c | 587 -- saved-mbsebbs-code-2/mbsebbs/user.h | 19 - saved-mbsebbs-code-2/mbsebbs/userlist.c | 175 - saved-mbsebbs-code-2/mbsebbs/userlist.h | 8 - saved-mbsebbs-code-2/mbsebbs/whoson.c | 375 - saved-mbsebbs-code-2/mbsebbs/whoson.h | 10 - saved-mbsebbs-code-2/mbsebbs/ymrecv.c | 291 - saved-mbsebbs-code-2/mbsebbs/ymrecv.h | 14 - saved-mbsebbs-code-2/mbsebbs/ymsend.c | 454 - saved-mbsebbs-code-2/mbsebbs/ymsend.h | 15 - saved-mbsebbs-code-2/mbsebbs/zmmisc.c | 966 -- saved-mbsebbs-code-2/mbsebbs/zmmisc.h | 190 - saved-mbsebbs-code-2/mbsebbs/zmrecv.c | 641 -- saved-mbsebbs-code-2/mbsebbs/zmrecv.h | 11 - saved-mbsebbs-code-2/mbsebbs/zmsend.c | 753 -- saved-mbsebbs-code-2/mbsebbs/zmsend.h | 10 - saved-mbsebbs-code-2/mbsetup/.cvsignore | 1 - saved-mbsebbs-code-2/mbsetup/Makefile | 112 - saved-mbsebbs-code-2/mbsetup/grlist.c | 209 - saved-mbsebbs-code-2/mbsetup/grlist.h | 18 - saved-mbsebbs-code-2/mbsetup/ledit.c | 2355 ----- saved-mbsebbs-code-2/mbsetup/ledit.h | 112 - saved-mbsebbs-code-2/mbsetup/m_archive.c | 878 -- saved-mbsebbs-code-2/mbsetup/m_archive.h | 14 - saved-mbsebbs-code-2/mbsetup/m_bbs.c | 106 - saved-mbsebbs-code-2/mbsetup/m_bbs.h | 8 - saved-mbsebbs-code-2/mbsetup/m_domain.c | 514 - saved-mbsebbs-code-2/mbsetup/m_domain.h | 11 - saved-mbsebbs-code-2/mbsetup/m_farea.c | 926 -- saved-mbsebbs-code-2/mbsetup/m_farea.h | 13 - saved-mbsebbs-code-2/mbsetup/m_fdb.c | 473 - saved-mbsebbs-code-2/mbsetup/m_fdb.h | 11 - saved-mbsebbs-code-2/mbsetup/m_ff.c | 545 - saved-mbsebbs-code-2/mbsetup/m_ff.h | 11 - saved-mbsebbs-code-2/mbsetup/m_fgroup.c | 909 -- saved-mbsebbs-code-2/mbsetup/m_fgroup.h | 13 - saved-mbsebbs-code-2/mbsetup/m_fido.c | 618 -- saved-mbsebbs-code-2/mbsetup/m_fido.h | 12 - saved-mbsebbs-code-2/mbsetup/m_global.c | 2381 ----- saved-mbsebbs-code-2/mbsetup/m_global.h | 16 - saved-mbsebbs-code-2/mbsetup/m_hatch.c | 682 -- saved-mbsebbs-code-2/mbsetup/m_hatch.h | 11 - saved-mbsebbs-code-2/mbsetup/m_ibc.c | 447 - saved-mbsebbs-code-2/mbsetup/m_ibc.h | 13 - saved-mbsebbs-code-2/mbsetup/m_lang.c | 658 -- saved-mbsebbs-code-2/mbsetup/m_lang.h | 13 - saved-mbsebbs-code-2/mbsetup/m_limits.c | 606 -- saved-mbsebbs-code-2/mbsetup/m_limits.h | 13 - saved-mbsebbs-code-2/mbsetup/m_magic.c | 576 -- saved-mbsebbs-code-2/mbsetup/m_magic.h | 12 - saved-mbsebbs-code-2/mbsetup/m_mail.c | 89 - saved-mbsebbs-code-2/mbsetup/m_mail.h | 12 - saved-mbsebbs-code-2/mbsetup/m_marea.c | 2078 ---- saved-mbsebbs-code-2/mbsetup/m_marea.h | 20 - saved-mbsebbs-code-2/mbsetup/m_menu.c | 703 -- saved-mbsebbs-code-2/mbsetup/m_menu.h | 9 - saved-mbsebbs-code-2/mbsetup/m_mgroup.c | 856 -- saved-mbsebbs-code-2/mbsetup/m_mgroup.h | 13 - saved-mbsebbs-code-2/mbsetup/m_modem.c | 807 -- saved-mbsebbs-code-2/mbsetup/m_modem.h | 12 - saved-mbsebbs-code-2/mbsetup/m_new.c | 640 -- saved-mbsebbs-code-2/mbsetup/m_new.h | 13 - saved-mbsebbs-code-2/mbsetup/m_ngroup.c | 617 -- saved-mbsebbs-code-2/mbsetup/m_ngroup.h | 13 - saved-mbsebbs-code-2/mbsetup/m_node.c | 1858 ---- saved-mbsebbs-code-2/mbsetup/m_node.h | 15 - saved-mbsebbs-code-2/mbsetup/m_ol.c | 612 -- saved-mbsebbs-code-2/mbsetup/m_ol.h | 14 - saved-mbsebbs-code-2/mbsetup/m_protocol.c | 761 -- saved-mbsebbs-code-2/mbsetup/m_protocol.h | 13 - saved-mbsebbs-code-2/mbsetup/m_route.c | 569 -- saved-mbsebbs-code-2/mbsetup/m_route.h | 13 - saved-mbsebbs-code-2/mbsetup/m_service.c | 461 - saved-mbsebbs-code-2/mbsetup/m_service.h | 11 - saved-mbsebbs-code-2/mbsetup/m_task.c | 243 - saved-mbsebbs-code-2/mbsetup/m_task.h | 10 - saved-mbsebbs-code-2/mbsetup/m_tic.c | 96 - saved-mbsebbs-code-2/mbsetup/m_tic.h | 4 - saved-mbsebbs-code-2/mbsetup/m_ticarea.c | 1497 --- saved-mbsebbs-code-2/mbsetup/m_ticarea.h | 17 - saved-mbsebbs-code-2/mbsetup/m_tty.c | 674 -- saved-mbsebbs-code-2/mbsetup/m_tty.h | 11 - saved-mbsebbs-code-2/mbsetup/m_users.c | 754 -- saved-mbsebbs-code-2/mbsetup/m_users.h | 11 - saved-mbsebbs-code-2/mbsetup/m_virus.c | 581 -- saved-mbsebbs-code-2/mbsetup/m_virus.h | 13 - saved-mbsebbs-code-2/mbsetup/mbsetup.c | 556 -- saved-mbsebbs-code-2/mbsetup/mbsetup.c~ | 556 -- saved-mbsebbs-code-2/mbsetup/mutil.c | 273 - saved-mbsebbs-code-2/mbsetup/mutil.h | 19 - saved-mbsebbs-code-2/mbsetup/screen.c | 306 - saved-mbsebbs-code-2/mbsetup/screen.h | 19 - saved-mbsebbs-code-2/mbsetup/stlist.c | 114 - saved-mbsebbs-code-2/mbsetup/stlist.h | 19 - saved-mbsebbs-code-2/mbtask/.cvsignore | 1 - saved-mbsebbs-code-2/mbtask/Makefile | 89 - saved-mbsebbs-code-2/mbtask/calllist.c | 157 - saved-mbsebbs-code-2/mbtask/calllist.h | 26 - saved-mbsebbs-code-2/mbtask/callstat.c | 133 - saved-mbsebbs-code-2/mbtask/callstat.h | 16 - saved-mbsebbs-code-2/mbtask/crc.c | 137 - saved-mbsebbs-code-2/mbtask/issue | 10 - saved-mbsebbs-code-2/mbtask/issue.netbsd | 20 - saved-mbsebbs-code-2/mbtask/mbtask.c | 1737 ---- saved-mbsebbs-code-2/mbtask/mbtask.h | 55 - saved-mbsebbs-code-2/mbtask/outstat.c | 895 -- saved-mbsebbs-code-2/mbtask/outstat.h | 60 - saved-mbsebbs-code-2/mbtask/pidinfo.c | 119 - saved-mbsebbs-code-2/mbtask/ping.c | 403 - saved-mbsebbs-code-2/mbtask/ping.h | 18 - saved-mbsebbs-code-2/mbtask/ports.c | 257 - saved-mbsebbs-code-2/mbtask/ports.h | 29 - saved-mbsebbs-code-2/mbtask/scanout.c | 242 - saved-mbsebbs-code-2/mbtask/scanout.h | 17 - saved-mbsebbs-code-2/mbtask/signame.c | 89 - saved-mbsebbs-code-2/mbtask/signame.h | 11 - saved-mbsebbs-code-2/mbtask/taskchat.c | 867 -- saved-mbsebbs-code-2/mbtask/taskchat.h | 16 - saved-mbsebbs-code-2/mbtask/taskcomm.c | 886 -- saved-mbsebbs-code-2/mbtask/taskcomm.h | 9 - saved-mbsebbs-code-2/mbtask/taskdisk.c | 636 -- saved-mbsebbs-code-2/mbtask/taskdisk.h | 12 - saved-mbsebbs-code-2/mbtask/taskibc.c | 1821 ---- saved-mbsebbs-code-2/mbtask/taskibc.h | 134 - saved-mbsebbs-code-2/mbtask/taskinfo.c | 144 - saved-mbsebbs-code-2/mbtask/taskinfo.h | 13 - saved-mbsebbs-code-2/mbtask/taskregs.c | 725 -- saved-mbsebbs-code-2/mbtask/taskregs.h | 61 - saved-mbsebbs-code-2/mbtask/taskstat.c | 819 -- saved-mbsebbs-code-2/mbtask/taskstat.h | 47 - saved-mbsebbs-code-2/mbtask/taskutil.c | 677 -- saved-mbsebbs-code-2/mbtask/taskutil.h | 49 - saved-mbsebbs-code-2/mbutils/.cvsignore | 1 - saved-mbsebbs-code-2/mbutils/Makefile | 107 - saved-mbsebbs-code-2/mbutils/dlcount.c | 275 - saved-mbsebbs-code-2/mbutils/dlcount.h | 8 - saved-mbsebbs-code-2/mbutils/mball.c | 555 -- saved-mbsebbs-code-2/mbutils/mball.h | 18 - saved-mbsebbs-code-2/mbutils/mbbw.c | 176 - saved-mbsebbs-code-2/mbutils/mblang.c | 113 - saved-mbsebbs-code-2/mbutils/mbsnmp.c | 210 - saved-mbsebbs-code-2/mbutils/mbsnmp.h | 8 - saved-mbsebbs-code-2/mbutils/mbstat.c | 279 - saved-mbsebbs-code-2/mbutils/mbstat.h | 14 - saved-mbsebbs-code-2/mbutils/mbtoberep.c | 92 - saved-mbsebbs-code-2/mbutils/mbuser.c | 394 - saved-mbsebbs-code-2/mbutils/mbuser.h | 9 - saved-mbsebbs-code-2/paths.h.in | 58 - saved-mbsebbs-code-2/script/.cvsignore | 1 - saved-mbsebbs-code-2/script/Makefile | 99 - saved-mbsebbs-code-2/script/README | 11 - saved-mbsebbs-code-2/script/bbsdoor.sh | 31 - saved-mbsebbs-code-2/script/bbsjmacsrc | 517 - saved-mbsebbs-code-2/script/bbsjoerc | 588 -- saved-mbsebbs-code-2/script/doors.bat | 22 - saved-mbsebbs-code-2/script/editor.in | 102 - saved-mbsebbs-code-2/script/hatch | 121 - saved-mbsebbs-code-2/script/init.Arch | 63 - saved-mbsebbs-code-2/script/init.Debian | 84 - saved-mbsebbs-code-2/script/init.FreeBSD | 70 - saved-mbsebbs-code-2/script/init.Gentoo | 74 - saved-mbsebbs-code-2/script/init.NetBSD | 109 - saved-mbsebbs-code-2/script/init.OpenBSD | 35 - saved-mbsebbs-code-2/script/init.RedHat | 78 - saved-mbsebbs-code-2/script/init.Slackware | 85 - saved-mbsebbs-code-2/script/init.SuSE | 76 - saved-mbsebbs-code-2/script/installinit.sh | 375 - saved-mbsebbs-code-2/script/maint | 28 - saved-mbsebbs-code-2/script/mbsedos | 22 - saved-mbsebbs-code-2/script/midnight | 32 - saved-mbsebbs-code-2/script/monthly | 23 - saved-mbsebbs-code-2/script/rundoor.sh | 52 - saved-mbsebbs-code-2/script/runvirtual.sh | 25 - saved-mbsebbs-code-2/script/setup.mbse | 22 - saved-mbsebbs-code-2/script/weekly | 22 - saved-mbsebbs-code-2/unix/.cvsignore | 1 - saved-mbsebbs-code-2/unix/Makefile | 115 - saved-mbsebbs-code-2/unix/basename.c | 17 - saved-mbsebbs-code-2/unix/basename.h | 9 - saved-mbsebbs-code-2/unix/chowntty.c | 123 - saved-mbsebbs-code-2/unix/chowntty.h | 11 - saved-mbsebbs-code-2/unix/commonio.c | 766 -- saved-mbsebbs-code-2/unix/commonio.h | 112 - saved-mbsebbs-code-2/unix/encrypt.c | 160 - saved-mbsebbs-code-2/unix/encrypt.h | 9 - saved-mbsebbs-code-2/unix/env.c | 253 - saved-mbsebbs-code-2/unix/env.h | 12 - saved-mbsebbs-code-2/unix/getdef.c | 339 - saved-mbsebbs-code-2/unix/getdef.h | 13 - saved-mbsebbs-code-2/unix/limits.c | 67 - saved-mbsebbs-code-2/unix/limits.h | 9 - saved-mbsebbs-code-2/unix/log.c | 97 - saved-mbsebbs-code-2/unix/log.h | 8 - saved-mbsebbs-code-2/unix/login.defs.in | 146 - saved-mbsebbs-code-2/unix/loginprompt.c | 168 - saved-mbsebbs-code-2/unix/loginprompt.h | 9 - saved-mbsebbs-code-2/unix/mblogin.c | 825 -- saved-mbsebbs-code-2/unix/mblogin.h | 248 - saved-mbsebbs-code-2/unix/mbpasswd.c | 1158 --- saved-mbsebbs-code-2/unix/mbpasswd.h | 47 - saved-mbsebbs-code-2/unix/mbuseradd.c | 517 - saved-mbsebbs-code-2/unix/mbuseradd.h | 10 - saved-mbsebbs-code-2/unix/myname.c | 72 - saved-mbsebbs-code-2/unix/myname.h | 7 - saved-mbsebbs-code-2/unix/putpwent.c | 73 - saved-mbsebbs-code-2/unix/putpwent.h | 14 - saved-mbsebbs-code-2/unix/pw_util.c | 348 - saved-mbsebbs-code-2/unix/pw_util.h | 52 - saved-mbsebbs-code-2/unix/pwauth.c | 135 - saved-mbsebbs-code-2/unix/pwauth.h | 31 - saved-mbsebbs-code-2/unix/pwdcheck.c | 98 - saved-mbsebbs-code-2/unix/pwdcheck.h | 8 - saved-mbsebbs-code-2/unix/pwio.c | 249 - saved-mbsebbs-code-2/unix/pwio.h | 33 - saved-mbsebbs-code-2/unix/rad64.c | 157 - saved-mbsebbs-code-2/unix/rad64.h | 15 - saved-mbsebbs-code-2/unix/salt.c | 101 - saved-mbsebbs-code-2/unix/salt.h | 9 - saved-mbsebbs-code-2/unix/setugid.c | 120 - saved-mbsebbs-code-2/unix/setugid.h | 10 - saved-mbsebbs-code-2/unix/setupenv.c | 111 - saved-mbsebbs-code-2/unix/setupenv.h | 8 - saved-mbsebbs-code-2/unix/sgetpwent.c | 167 - saved-mbsebbs-code-2/unix/sgetpwent.h | 7 - saved-mbsebbs-code-2/unix/shadowio.c | 226 - saved-mbsebbs-code-2/unix/shadowio.h | 33 - saved-mbsebbs-code-2/unix/shell.c | 128 - saved-mbsebbs-code-2/unix/shell.h | 8 - saved-mbsebbs-code-2/unix/sub.c | 80 - saved-mbsebbs-code-2/unix/sub.h | 8 - saved-mbsebbs-code-2/unix/utmp.c | 503 - saved-mbsebbs-code-2/unix/utmp.h | 29 - saved-mbsebbs-code-2/unix/xmalloc.c | 83 - saved-mbsebbs-code-2/unix/xmalloc.h | 11 - saved-mbsebbs-code/ChangeLog | 369 - saved-mbsebbs-code/docs/mbse-1.pdf | Bin 3123679 -> 0 bytes 2762 files changed, 8 insertions(+), 409900 deletions(-) rename {mbsebbs-code => master}/AUTHORS (91%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/COPYING (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/CRON.sh (100%) rename {mbsebbs-code => master}/ChangeLog (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/ChangeLog_1998 (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/ChangeLog_1999 (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/ChangeLog_2000 (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/ChangeLog_2001 (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/ChangeLog_2002 (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/ChangeLog_2003 (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/ChangeLog_2004 (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/ChangeLog_2005 (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/ChangeLog_2006 (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/ChangeLog_2007 (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/DEBUG (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/FILE_ID.DIZ.in (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/INSTALL.in (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/Makefile (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/Makefile.global.in (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/NEWS (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/README (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/README.Gentoo (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/README.Ubuntu (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/README.developer (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/SETUP.sh (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/TODO (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/UPGRADE (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/aclocal.m4 (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/checkbasic (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/config.h.in (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/configure (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/configure.ac (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/cpuflags (100%) rename {mbsebbs-code => master}/docs/mbse-1.pdf (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/examples/.cvsignore (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/examples/Makefile (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/examples/footer.txt (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/examples/header.txt (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/examples/menus-de.tar (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/examples/menus-en.tar (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/examples/menus-es.tar (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/examples/templates-de.tar (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/examples/templates-en.tar (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/examples/templates-es.tar (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/examples/templates-nl.tar (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/examples/txtfiles-de.tar (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/examples/txtfiles-en.tar (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/examples/txtfiles-es.tar (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/.cvsignore (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/Makefile (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/basic.html.in (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/dist.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/doors.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/errcodes.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/faq.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/flow.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/ftsc/index.htm (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/ftsc/index.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/b_arrow.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/connec.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/domains.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/doors.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/doors2.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/dream1.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/dream2.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/dream3.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/e_menu.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/emareas.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/emgroup.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/fdb.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/fegroup.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/fileecho.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/filefind.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/files.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/go_to.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/hand.up.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/hatch.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/language.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/larrow.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/magic.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/mbmon1-tn.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/mbmon1.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/mbmon2-tn.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/mbmon2.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/mbse.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/mbsebbs-s.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/mbsebbs.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/mbsetup0.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/mbsetup1.6.S.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/mbsetup1.6.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/mbsetup2.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/modems0.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/newfiles.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/newgroups.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/nodelist.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/nodelist1.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/nodelist2.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/nodelist3.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/nodelist4.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/nodelist5.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/nodes1.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/nodes10.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/nodes11.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/nodes2.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/nodes3.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/nodes4.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/nodes5.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/nodes6.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/nodes7.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/nodes8.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/nodes9.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/oneliner.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/protocol.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/rarrow.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/route1.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/route2.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/security.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/taskmgr.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/tdream1.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/tdream2.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/tdream3.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/tty.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/tty1.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/tty2.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/uarrow.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/users.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/images/users2.png (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/index.htm.in (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/index.html.in (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/intergate.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/intro.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/invoking.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/known_bugs.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/license/copying.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/license/hydracom.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/license/index.htm (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/license/index.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/license/jam.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/manual.css (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/menus/control.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/menus/index.htm (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/menus/index.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/menus/menu0.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/menus/menu100.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/menus/menu200.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/menus/menu300.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/menus/menu400.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/menus/menu500.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/mgetty.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/misc/dropfile.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/misc/filefind.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/misc/fileid.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/misc/ftpserver.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/misc/index.htm (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/misc/index.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/misc/ipmailer.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/misc/jam.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/misc/outbound.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/misc/semafore.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/misc/usleep.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/misc/webserver.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/nodelist.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/postfix.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/index.htm (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/index.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mbaff.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mball.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mbcico.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mbdiff.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mbfido.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mbfile.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mbindex.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mblang.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mblogin.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mbmon.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mbmsg.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mbnntp.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mbout.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mbpasswd.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mbsebbs.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mbseq.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mbsetup.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mbstat.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mbtask.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mbtoberep.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mbuser.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/programs/mbuseradd.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/routing.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/archiver.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/bbs.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/chat.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/domains.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/emareas.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/emgroup.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/fdb.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/fegroup.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/fidonet.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/fileecho.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/filefind.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/files.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/global.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/hatch.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/index.htm (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/index.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/language.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/magic.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/mail.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/modems.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/newfiles.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/newgroups.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/nodes.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/oneliner.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/protocol.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/route.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/security.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/services.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/sitedoc.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/softinfo.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/taskmgr.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/tic.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/ttyinfo.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/users.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/setup/virscan.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/upgrade.html.in (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/html/ups.html (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lang/.cvsignore (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lang/Language.xref (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lang/Makefile (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lang/README (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lang/germandu.txt (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lang/source.de (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lang/source.en (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lang/source.es (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lang/source.fr (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lang/source.gl (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lang/source.nl (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lang/source.zh (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/.cvsignore (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/Diesel.doc (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/Makefile (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/README (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/README.diesel (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/README.macro (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/attach.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/batchrd.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/bluewave.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/charset.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/clcomm.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/client.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/crc.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/dbcfg.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/dbdupe.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/dbfdb.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/dbftn.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/dbmsgs.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/dbnode.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/dbtic.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/dbuser.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/diesel.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/diesel.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/dostran.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/endian.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/execute.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/expipe.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/faddr.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/falists.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/ftn.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/ftnmsg.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/ftscprod.010 (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/ftscprod.016 (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/getheader.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/gmtoffset.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/hdr.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/jam.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/jammsg.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/jammsg.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/jamsys.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/magic.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/mangle.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/mbdiesel.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/mbfile.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/mbinet.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/mbse.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/mbsedb.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/mbselib.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/mkprod.awk (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/msg.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/msg.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/msgtext.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/msgtext.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/nntp.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/nodelist.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/nodelist.conf (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/nodelist.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/nodelock.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/noderecord.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/packet.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/parsedate.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/pidinfo.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/pktname.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/pop3.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/proglock.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/rawio.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/rearc.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/remask.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/rfcaddr.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/rfcdate.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/rfcmsg.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/sectest.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/semafore.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/signame.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/smtp.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/strcasestr.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/strutil.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/term.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/timers.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/tmpwork.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/unpacker.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/users.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/lib/virscan.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/.cvsignore (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/Makefile (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/README (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/answer.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/answer.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/atoul.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/atoul.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/binkp.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/binkp.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/bopenfile.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/bopenfile.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/call.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/call.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/callstat.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/callstat.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/chat.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/chat.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/config.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/dial.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/dial.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/dietifna.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/dietifna.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/dirlock.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/dirlock.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/emsi.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/emsi.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/emsidat.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/emsidat.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/filelist.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/filelist.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/filetime.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/filetime.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/ftsc.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/ftsc.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/htoul.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/htoul.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/hydra.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/hydra.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/inbound.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/inbound.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/lutil.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/lutil.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/m7recv.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/m7recv.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/m7send.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/m7send.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/mbcico.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/mbcico.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/mbout.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/md5b.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/md5b.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/nlinfo.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/nlinfo.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/openfile.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/openfile.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/openport.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/openport.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/opentcp.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/opentcp.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/outstat.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/outstat.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/portsel.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/portsel.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/rdoptions.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/rdoptions.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/recvbark.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/recvbark.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/respfreq.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/respfreq.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/scanout.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/scanout.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/sendbark.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/sendbark.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/session.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/session.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/statetbl.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/tcp.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/tcp.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/tcpproto.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/tcpproto.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/telnet.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/telnet.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/ttyio.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/ttyio.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/ulock.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/ulock.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/wazoo.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/wazoo.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/xmrecv.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/xmrecv.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/xmsend.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/xmsend.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/yoohoo.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/yoohoo.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/zmmisc.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/zmodem.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/zmrecv.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/zmrle.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbcico/zmsend.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/.cvsignore (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/Makefile (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/README (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/addbbs.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/addbbs.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/addpkt.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/addpkt.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/aliasdb.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/aliasdb.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/announce.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/announce.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/areamgr.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/areamgr.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/atoul.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/atoul.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/backalias.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/backalias.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/bounce.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/bounce.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/bwrite.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/bwrite.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/createf.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/createf.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/createm.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/createm.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/dirlock.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/dirlock.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/dirsession.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/dirsession.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/fflist.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/fflist.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/filefind.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/filefind.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/filemgr.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/filemgr.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/flock.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/flock.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/forward.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/forward.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/fsort.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/fsort.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/ftn2rfc.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/ftn2rfc.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/grlist.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/grlist.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/hash.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/hash.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/hatch.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/hatch.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/lhash.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/lhash.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/magic.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/magic.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/makestat.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/makestat.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/maketags.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/maketags.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbaff.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbaff.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbdiff.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbdiff.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfadopt.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfadopt.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfcheck.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfcheck.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfdel.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfdel.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfido.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfido.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfile.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfile.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfimport.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfimport.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfindex.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfindex.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfkill.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfkill.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbflist.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbflist.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfmove.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfmove.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfpack.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfpack.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfrearc.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfrearc.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfsort.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfsort.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbftoberep.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbftoberep.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfutil.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbfutil.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbindex.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbindex.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbmsg.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbmsg.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbseq.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mbseq.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mgrutil.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mgrutil.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mkftnhdr.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mkftnhdr.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mover.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/mover.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/msg.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/msg.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/msgflags.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/msgflags.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/msgutil.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/msgutil.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/newspost.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/newspost.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/notify.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/notify.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/orphans.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/orphans.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/ping.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/ping.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/post.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/post.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/postecho.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/postecho.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/postemail.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/postemail.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/postnetmail.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/postnetmail.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/ptic.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/ptic.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/qualify.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/qualify.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/queue.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/queue.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/rfc2ftn.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/rfc2ftn.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/rnews.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/rnews.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/rollover.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/rollover.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/scan.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/scan.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/scannews.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/scannews.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/sendmail.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/sendmail.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/storeecho.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/storeecho.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/storenet.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/storenet.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/tic.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/tic.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/toberep.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/toberep.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/tosspkt.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/tosspkt.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/tracker.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/tracker.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/unpack.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/unpack.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/utic.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbfido/utic.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbmon/.cvsignore (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbmon/Makefile (100%) rename {mbsebbs-code => master}/mbmon/mbmon.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbmon/mbmon.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbmon/mutil.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbmon/mutil.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbmon/proglock.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbmon/proglock.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/.cvsignore (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/Makefile (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/atoul.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/atoul.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/auth.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/auth.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/commands.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/commands.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/hash.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/hash.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/lhash.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/lhash.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/mbnntp.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/mbnntp.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/mkftnhdr.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/mkftnhdr.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/msgflags.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/msgflags.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/openport.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/openport.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/rfc2ftn.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/rfc2ftn.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/ttyio.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbnntp/ttyio.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/.cvsignore (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/Makefile (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/bye.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/bye.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/change.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/change.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/chat.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/chat.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/dispfile.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/dispfile.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/door.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/door.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/email.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/email.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/exitinfo.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/exitinfo.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/file.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/file.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/filesub.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/filesub.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/fsedit.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/fsedit.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/funcs.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/funcs.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/input.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/input.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/language.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/language.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/lastcallers.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/lastcallers.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/logentry.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/logentry.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/mail.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/mail.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/mbnewusr.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/mbnewusr.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/mbsebbs.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/mbsebbs.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/menu.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/menu.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/mib.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/mib.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/misc.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/misc.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/morefile.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/morefile.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/msgutil.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/msgutil.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/newuser.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/newuser.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/offline.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/offline.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/oneline.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/oneline.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/openport.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/openport.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/page.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/page.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/pinfo.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/pinfo.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/pop3.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/pop3.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/signature.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/signature.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/term.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/term.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/timecheck.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/timecheck.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/timeout.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/timeout.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/timestats.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/timestats.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/transfer.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/transfer.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/ttyio.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/ttyio.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/user.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/user.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/userlist.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/userlist.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/whoson.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/whoson.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/ymrecv.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/ymrecv.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/ymsend.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/ymsend.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/zmmisc.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/zmmisc.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/zmrecv.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/zmrecv.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/zmsend.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsebbs/zmsend.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/.cvsignore (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/Makefile (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/grlist.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/grlist.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/ledit.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/ledit.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_archive.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_archive.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_bbs.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_bbs.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_domain.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_domain.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_farea.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_farea.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_fdb.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_fdb.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_ff.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_ff.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_fgroup.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_fgroup.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_fido.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_fido.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_global.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_global.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_hatch.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_hatch.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_ibc.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_ibc.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_lang.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_lang.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_limits.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_limits.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_magic.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_magic.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_mail.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_mail.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_marea.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_marea.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_menu.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_menu.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_mgroup.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_mgroup.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_modem.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_modem.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_new.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_new.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_ngroup.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_ngroup.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_node.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_node.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_ol.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_ol.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_protocol.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_protocol.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_route.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_route.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_service.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_service.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_task.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_task.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_tic.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_tic.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_ticarea.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_ticarea.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_tty.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_tty.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_users.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_users.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_virus.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/m_virus.h (100%) rename {mbsebbs-code => master}/mbsetup/mbsetup.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/mutil.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/mutil.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/screen.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/screen.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/stlist.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbsetup/stlist.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/.cvsignore (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/Makefile (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/calllist.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/calllist.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/callstat.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/callstat.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/crc.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/issue (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/issue.netbsd (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/mbtask.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/mbtask.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/outstat.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/outstat.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/pidinfo.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/ping.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/ping.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/ports.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/ports.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/scanout.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/scanout.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/signame.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/signame.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/taskchat.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/taskchat.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/taskcomm.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/taskcomm.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/taskdisk.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/taskdisk.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/taskibc.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/taskibc.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/taskinfo.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/taskinfo.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/taskregs.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/taskregs.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/taskstat.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/taskstat.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/taskutil.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbtask/taskutil.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbutils/.cvsignore (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbutils/Makefile (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbutils/dlcount.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbutils/dlcount.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbutils/mball.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbutils/mball.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbutils/mbbw.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbutils/mblang.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbutils/mbsnmp.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbutils/mbsnmp.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbutils/mbstat.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbutils/mbstat.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbutils/mbtoberep.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbutils/mbuser.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/mbutils/mbuser.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/paths.h.in (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/.cvsignore (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/Makefile (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/README (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/bbsdoor.sh (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/bbsjmacsrc (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/bbsjoerc (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/doors.bat (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/editor.in (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/hatch (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/init.Arch (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/init.Debian (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/init.FreeBSD (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/init.Gentoo (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/init.NetBSD (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/init.OpenBSD (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/init.RedHat (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/init.Slackware (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/init.SuSE (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/installinit.sh (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/maint (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/mbsedos (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/midnight (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/monthly (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/rundoor.sh (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/runvirtual.sh (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/setup.mbse (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/script/weekly (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/.cvsignore (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/Makefile (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/basename.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/basename.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/chowntty.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/chowntty.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/commonio.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/commonio.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/encrypt.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/encrypt.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/env.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/env.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/getdef.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/getdef.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/limits.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/limits.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/log.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/log.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/login.defs.in (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/loginprompt.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/loginprompt.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/mblogin.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/mblogin.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/mbpasswd.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/mbpasswd.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/mbuseradd.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/mbuseradd.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/myname.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/myname.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/putpwent.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/putpwent.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/pw_util.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/pw_util.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/pwauth.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/pwauth.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/pwdcheck.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/pwdcheck.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/pwio.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/pwio.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/rad64.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/rad64.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/salt.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/salt.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/setugid.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/setugid.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/setupenv.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/setupenv.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/sgetpwent.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/sgetpwent.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/shadowio.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/shadowio.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/shell.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/shell.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/sub.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/sub.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/utmp.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/utmp.h (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/xmalloc.c (100%) rename {mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64 => master}/unix/xmalloc.h (100%) delete mode 100644 mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/.cvsignore delete mode 100644 mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/.hgignore delete mode 100644 mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/AUTHORS delete mode 100644 mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog delete mode 100644 mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbmon/mbmon.c delete mode 100644 mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/mbsetup.c delete mode 100644 mbsebbs-code/COPYING delete mode 100644 mbsebbs-code/CRON.sh delete mode 100644 mbsebbs-code/ChangeLog_1998 delete mode 100644 mbsebbs-code/ChangeLog_1999 delete mode 100644 mbsebbs-code/ChangeLog_2000 delete mode 100644 mbsebbs-code/ChangeLog_2001 delete mode 100644 mbsebbs-code/ChangeLog_2002 delete mode 100644 mbsebbs-code/ChangeLog_2003 delete mode 100644 mbsebbs-code/ChangeLog_2004 delete mode 100644 mbsebbs-code/ChangeLog_2005 delete mode 100644 mbsebbs-code/ChangeLog_2006 delete mode 100644 mbsebbs-code/ChangeLog_2007 delete mode 100644 mbsebbs-code/DEBUG delete mode 100644 mbsebbs-code/FILE_ID.DIZ.in delete mode 100644 mbsebbs-code/INSTALL.in delete mode 100644 mbsebbs-code/Makefile delete mode 100644 mbsebbs-code/Makefile.global.in delete mode 100644 mbsebbs-code/NEWS delete mode 100644 mbsebbs-code/README delete mode 100644 mbsebbs-code/README.Gentoo delete mode 100644 mbsebbs-code/README.Ubuntu delete mode 100644 mbsebbs-code/README.developer delete mode 100644 mbsebbs-code/SETUP.sh delete mode 100644 mbsebbs-code/TODO delete mode 100644 mbsebbs-code/UPGRADE delete mode 100644 mbsebbs-code/aclocal.m4 delete mode 100755 mbsebbs-code/checkbasic delete mode 100644 mbsebbs-code/config.h.in delete mode 100755 mbsebbs-code/configure delete mode 100644 mbsebbs-code/configure.ac delete mode 100755 mbsebbs-code/cpuflags delete mode 100644 mbsebbs-code/examples/.cvsignore delete mode 100644 mbsebbs-code/examples/Makefile delete mode 100644 mbsebbs-code/examples/footer.txt delete mode 100644 mbsebbs-code/examples/header.txt delete mode 100644 mbsebbs-code/examples/menus-de.tar delete mode 100644 mbsebbs-code/examples/menus-en.tar delete mode 100644 mbsebbs-code/examples/menus-es.tar delete mode 100644 mbsebbs-code/examples/templates-de.tar delete mode 100644 mbsebbs-code/examples/templates-en.tar delete mode 100644 mbsebbs-code/examples/templates-es.tar delete mode 100644 mbsebbs-code/examples/templates-nl.tar delete mode 100644 mbsebbs-code/examples/txtfiles-de.tar delete mode 100644 mbsebbs-code/examples/txtfiles-en.tar delete mode 100755 mbsebbs-code/examples/txtfiles-es.tar delete mode 100644 mbsebbs-code/html/.cvsignore delete mode 100644 mbsebbs-code/html/Makefile delete mode 100644 mbsebbs-code/html/basic.html.in delete mode 100644 mbsebbs-code/html/dist.html delete mode 100644 mbsebbs-code/html/doors.html delete mode 100644 mbsebbs-code/html/errcodes.html delete mode 100644 mbsebbs-code/html/faq.html delete mode 100644 mbsebbs-code/html/flow.html delete mode 100644 mbsebbs-code/html/ftsc/index.htm delete mode 100644 mbsebbs-code/html/ftsc/index.html delete mode 100644 mbsebbs-code/html/images/b_arrow.png delete mode 100644 mbsebbs-code/html/images/connec.png delete mode 100644 mbsebbs-code/html/images/domains.png delete mode 100644 mbsebbs-code/html/images/doors.png delete mode 100644 mbsebbs-code/html/images/doors2.png delete mode 100644 mbsebbs-code/html/images/dream1.png delete mode 100644 mbsebbs-code/html/images/dream2.png delete mode 100644 mbsebbs-code/html/images/dream3.png delete mode 100644 mbsebbs-code/html/images/e_menu.png delete mode 100644 mbsebbs-code/html/images/emareas.png delete mode 100644 mbsebbs-code/html/images/emgroup.png delete mode 100644 mbsebbs-code/html/images/fdb.png delete mode 100644 mbsebbs-code/html/images/fegroup.png delete mode 100644 mbsebbs-code/html/images/fileecho.png delete mode 100644 mbsebbs-code/html/images/filefind.png delete mode 100644 mbsebbs-code/html/images/files.png delete mode 100644 mbsebbs-code/html/images/go_to.png delete mode 100644 mbsebbs-code/html/images/hand.up.png delete mode 100644 mbsebbs-code/html/images/hatch.png delete mode 100644 mbsebbs-code/html/images/language.png delete mode 100644 mbsebbs-code/html/images/larrow.png delete mode 100644 mbsebbs-code/html/images/magic.png delete mode 100644 mbsebbs-code/html/images/mbmon1-tn.png delete mode 100644 mbsebbs-code/html/images/mbmon1.png delete mode 100644 mbsebbs-code/html/images/mbmon2-tn.png delete mode 100644 mbsebbs-code/html/images/mbmon2.png delete mode 100644 mbsebbs-code/html/images/mbse.png delete mode 100644 mbsebbs-code/html/images/mbsebbs-s.png delete mode 100644 mbsebbs-code/html/images/mbsebbs.png delete mode 100644 mbsebbs-code/html/images/mbsetup0.png delete mode 100644 mbsebbs-code/html/images/mbsetup1.6.S.png delete mode 100644 mbsebbs-code/html/images/mbsetup1.6.png delete mode 100644 mbsebbs-code/html/images/mbsetup2.png delete mode 100644 mbsebbs-code/html/images/modems0.png delete mode 100644 mbsebbs-code/html/images/newfiles.png delete mode 100644 mbsebbs-code/html/images/newgroups.png delete mode 100644 mbsebbs-code/html/images/nodelist.png delete mode 100644 mbsebbs-code/html/images/nodelist1.png delete mode 100644 mbsebbs-code/html/images/nodelist2.png delete mode 100644 mbsebbs-code/html/images/nodelist3.png delete mode 100644 mbsebbs-code/html/images/nodelist4.png delete mode 100644 mbsebbs-code/html/images/nodelist5.png delete mode 100644 mbsebbs-code/html/images/nodes1.png delete mode 100644 mbsebbs-code/html/images/nodes10.png delete mode 100644 mbsebbs-code/html/images/nodes11.png delete mode 100644 mbsebbs-code/html/images/nodes2.png delete mode 100644 mbsebbs-code/html/images/nodes3.png delete mode 100644 mbsebbs-code/html/images/nodes4.png delete mode 100644 mbsebbs-code/html/images/nodes5.png delete mode 100644 mbsebbs-code/html/images/nodes6.png delete mode 100644 mbsebbs-code/html/images/nodes7.png delete mode 100644 mbsebbs-code/html/images/nodes8.png delete mode 100644 mbsebbs-code/html/images/nodes9.png delete mode 100644 mbsebbs-code/html/images/oneliner.png delete mode 100644 mbsebbs-code/html/images/protocol.png delete mode 100644 mbsebbs-code/html/images/rarrow.png delete mode 100644 mbsebbs-code/html/images/route1.png delete mode 100644 mbsebbs-code/html/images/route2.png delete mode 100644 mbsebbs-code/html/images/security.png delete mode 100644 mbsebbs-code/html/images/taskmgr.png delete mode 100644 mbsebbs-code/html/images/tdream1.png delete mode 100644 mbsebbs-code/html/images/tdream2.png delete mode 100644 mbsebbs-code/html/images/tdream3.png delete mode 100644 mbsebbs-code/html/images/tty.png delete mode 100644 mbsebbs-code/html/images/tty1.png delete mode 100644 mbsebbs-code/html/images/tty2.png delete mode 100644 mbsebbs-code/html/images/uarrow.png delete mode 100644 mbsebbs-code/html/images/users.png delete mode 100644 mbsebbs-code/html/images/users2.png delete mode 100644 mbsebbs-code/html/index.htm.in delete mode 100644 mbsebbs-code/html/index.html.in delete mode 100644 mbsebbs-code/html/intergate.html delete mode 100644 mbsebbs-code/html/intro.html delete mode 100644 mbsebbs-code/html/invoking.html delete mode 100644 mbsebbs-code/html/known_bugs.html delete mode 100644 mbsebbs-code/html/license/copying.html delete mode 100644 mbsebbs-code/html/license/hydracom.html delete mode 100644 mbsebbs-code/html/license/index.htm delete mode 100644 mbsebbs-code/html/license/index.html delete mode 100644 mbsebbs-code/html/license/jam.html delete mode 100644 mbsebbs-code/html/manual.css delete mode 100644 mbsebbs-code/html/menus/control.html delete mode 100644 mbsebbs-code/html/menus/index.htm delete mode 100644 mbsebbs-code/html/menus/index.html delete mode 100644 mbsebbs-code/html/menus/menu0.html delete mode 100644 mbsebbs-code/html/menus/menu100.html delete mode 100644 mbsebbs-code/html/menus/menu200.html delete mode 100644 mbsebbs-code/html/menus/menu300.html delete mode 100644 mbsebbs-code/html/menus/menu400.html delete mode 100644 mbsebbs-code/html/menus/menu500.html delete mode 100644 mbsebbs-code/html/mgetty.html delete mode 100644 mbsebbs-code/html/misc/dropfile.html delete mode 100644 mbsebbs-code/html/misc/filefind.html delete mode 100644 mbsebbs-code/html/misc/fileid.html delete mode 100644 mbsebbs-code/html/misc/ftpserver.html delete mode 100644 mbsebbs-code/html/misc/index.htm delete mode 100644 mbsebbs-code/html/misc/index.html delete mode 100644 mbsebbs-code/html/misc/ipmailer.html delete mode 100644 mbsebbs-code/html/misc/jam.html delete mode 100644 mbsebbs-code/html/misc/outbound.html delete mode 100644 mbsebbs-code/html/misc/semafore.html delete mode 100644 mbsebbs-code/html/misc/usleep.html delete mode 100644 mbsebbs-code/html/misc/webserver.html delete mode 100644 mbsebbs-code/html/nodelist.html delete mode 100644 mbsebbs-code/html/postfix.html delete mode 100644 mbsebbs-code/html/programs/index.htm delete mode 100644 mbsebbs-code/html/programs/index.html delete mode 100644 mbsebbs-code/html/programs/mbaff.html delete mode 100644 mbsebbs-code/html/programs/mball.html delete mode 100644 mbsebbs-code/html/programs/mbcico.html delete mode 100644 mbsebbs-code/html/programs/mbdiff.html delete mode 100644 mbsebbs-code/html/programs/mbfido.html delete mode 100644 mbsebbs-code/html/programs/mbfile.html delete mode 100644 mbsebbs-code/html/programs/mbindex.html delete mode 100644 mbsebbs-code/html/programs/mblang.html delete mode 100644 mbsebbs-code/html/programs/mblogin.html delete mode 100644 mbsebbs-code/html/programs/mbmon.html delete mode 100644 mbsebbs-code/html/programs/mbmsg.html delete mode 100644 mbsebbs-code/html/programs/mbnntp.html delete mode 100644 mbsebbs-code/html/programs/mbout.html delete mode 100644 mbsebbs-code/html/programs/mbpasswd.html delete mode 100644 mbsebbs-code/html/programs/mbsebbs.html delete mode 100644 mbsebbs-code/html/programs/mbseq.html delete mode 100644 mbsebbs-code/html/programs/mbsetup.html delete mode 100644 mbsebbs-code/html/programs/mbstat.html delete mode 100644 mbsebbs-code/html/programs/mbtask.html delete mode 100644 mbsebbs-code/html/programs/mbtoberep.html delete mode 100644 mbsebbs-code/html/programs/mbuser.html delete mode 100644 mbsebbs-code/html/programs/mbuseradd.html delete mode 100644 mbsebbs-code/html/routing.html delete mode 100644 mbsebbs-code/html/setup/archiver.html delete mode 100644 mbsebbs-code/html/setup/bbs.html delete mode 100644 mbsebbs-code/html/setup/chat.html delete mode 100644 mbsebbs-code/html/setup/domains.html delete mode 100644 mbsebbs-code/html/setup/emareas.html delete mode 100644 mbsebbs-code/html/setup/emgroup.html delete mode 100644 mbsebbs-code/html/setup/fdb.html delete mode 100644 mbsebbs-code/html/setup/fegroup.html delete mode 100644 mbsebbs-code/html/setup/fidonet.html delete mode 100644 mbsebbs-code/html/setup/fileecho.html delete mode 100644 mbsebbs-code/html/setup/filefind.html delete mode 100644 mbsebbs-code/html/setup/files.html delete mode 100644 mbsebbs-code/html/setup/global.html delete mode 100644 mbsebbs-code/html/setup/hatch.html delete mode 100644 mbsebbs-code/html/setup/index.htm delete mode 100644 mbsebbs-code/html/setup/index.html delete mode 100644 mbsebbs-code/html/setup/language.html delete mode 100644 mbsebbs-code/html/setup/magic.html delete mode 100644 mbsebbs-code/html/setup/mail.html delete mode 100644 mbsebbs-code/html/setup/modems.html delete mode 100644 mbsebbs-code/html/setup/newfiles.html delete mode 100644 mbsebbs-code/html/setup/newgroups.html delete mode 100644 mbsebbs-code/html/setup/nodes.html delete mode 100644 mbsebbs-code/html/setup/oneliner.html delete mode 100644 mbsebbs-code/html/setup/protocol.html delete mode 100644 mbsebbs-code/html/setup/route.html delete mode 100644 mbsebbs-code/html/setup/security.html delete mode 100644 mbsebbs-code/html/setup/services.html delete mode 100644 mbsebbs-code/html/setup/sitedoc.html delete mode 100644 mbsebbs-code/html/setup/softinfo.html delete mode 100644 mbsebbs-code/html/setup/taskmgr.html delete mode 100644 mbsebbs-code/html/setup/tic.html delete mode 100644 mbsebbs-code/html/setup/ttyinfo.html delete mode 100644 mbsebbs-code/html/setup/users.html delete mode 100644 mbsebbs-code/html/setup/virscan.html delete mode 100644 mbsebbs-code/html/upgrade.html.in delete mode 100644 mbsebbs-code/html/ups.html delete mode 100644 mbsebbs-code/lang/.cvsignore delete mode 100644 mbsebbs-code/lang/Language.xref delete mode 100644 mbsebbs-code/lang/Makefile delete mode 100644 mbsebbs-code/lang/README delete mode 100644 mbsebbs-code/lang/germandu.txt delete mode 100644 mbsebbs-code/lang/source.de delete mode 100644 mbsebbs-code/lang/source.en delete mode 100644 mbsebbs-code/lang/source.es delete mode 100644 mbsebbs-code/lang/source.fr delete mode 100644 mbsebbs-code/lang/source.gl delete mode 100644 mbsebbs-code/lang/source.nl delete mode 100644 mbsebbs-code/lang/source.zh delete mode 100644 mbsebbs-code/lib/.cvsignore delete mode 100644 mbsebbs-code/lib/Diesel.doc delete mode 100644 mbsebbs-code/lib/Makefile delete mode 100644 mbsebbs-code/lib/README delete mode 100644 mbsebbs-code/lib/README.diesel delete mode 100644 mbsebbs-code/lib/README.macro delete mode 100644 mbsebbs-code/lib/attach.c delete mode 100644 mbsebbs-code/lib/batchrd.c delete mode 100644 mbsebbs-code/lib/bluewave.h delete mode 100644 mbsebbs-code/lib/charset.c delete mode 100644 mbsebbs-code/lib/clcomm.c delete mode 100644 mbsebbs-code/lib/client.c delete mode 100644 mbsebbs-code/lib/crc.c delete mode 100644 mbsebbs-code/lib/dbcfg.c delete mode 100644 mbsebbs-code/lib/dbdupe.c delete mode 100644 mbsebbs-code/lib/dbfdb.c delete mode 100644 mbsebbs-code/lib/dbftn.c delete mode 100644 mbsebbs-code/lib/dbmsgs.c delete mode 100644 mbsebbs-code/lib/dbnode.c delete mode 100644 mbsebbs-code/lib/dbtic.c delete mode 100644 mbsebbs-code/lib/dbuser.c delete mode 100644 mbsebbs-code/lib/diesel.c delete mode 100644 mbsebbs-code/lib/diesel.h delete mode 100644 mbsebbs-code/lib/dostran.c delete mode 100644 mbsebbs-code/lib/endian.c delete mode 100644 mbsebbs-code/lib/execute.c delete mode 100644 mbsebbs-code/lib/expipe.c delete mode 100644 mbsebbs-code/lib/faddr.c delete mode 100644 mbsebbs-code/lib/falists.c delete mode 100644 mbsebbs-code/lib/ftn.c delete mode 100644 mbsebbs-code/lib/ftnmsg.c delete mode 100644 mbsebbs-code/lib/ftscprod.010 delete mode 100644 mbsebbs-code/lib/ftscprod.016 delete mode 100644 mbsebbs-code/lib/getheader.c delete mode 100644 mbsebbs-code/lib/gmtoffset.c delete mode 100644 mbsebbs-code/lib/hdr.c delete mode 100644 mbsebbs-code/lib/jam.h delete mode 100644 mbsebbs-code/lib/jammsg.c delete mode 100644 mbsebbs-code/lib/jammsg.h delete mode 100644 mbsebbs-code/lib/jamsys.h delete mode 100644 mbsebbs-code/lib/magic.c delete mode 100644 mbsebbs-code/lib/mangle.c delete mode 100644 mbsebbs-code/lib/mbdiesel.c delete mode 100644 mbsebbs-code/lib/mbfile.c delete mode 100644 mbsebbs-code/lib/mbinet.h delete mode 100644 mbsebbs-code/lib/mbse.h delete mode 100644 mbsebbs-code/lib/mbsedb.h delete mode 100644 mbsebbs-code/lib/mbselib.h delete mode 100644 mbsebbs-code/lib/mkprod.awk delete mode 100644 mbsebbs-code/lib/msg.c delete mode 100644 mbsebbs-code/lib/msg.h delete mode 100644 mbsebbs-code/lib/msgtext.c delete mode 100644 mbsebbs-code/lib/msgtext.h delete mode 100644 mbsebbs-code/lib/nntp.c delete mode 100644 mbsebbs-code/lib/nodelist.c delete mode 100644 mbsebbs-code/lib/nodelist.conf delete mode 100644 mbsebbs-code/lib/nodelist.h delete mode 100644 mbsebbs-code/lib/nodelock.c delete mode 100644 mbsebbs-code/lib/noderecord.c delete mode 100644 mbsebbs-code/lib/packet.c delete mode 100644 mbsebbs-code/lib/parsedate.c delete mode 100644 mbsebbs-code/lib/pidinfo.c delete mode 100644 mbsebbs-code/lib/pktname.c delete mode 100644 mbsebbs-code/lib/pop3.c delete mode 100644 mbsebbs-code/lib/proglock.c delete mode 100644 mbsebbs-code/lib/rawio.c delete mode 100644 mbsebbs-code/lib/rearc.c delete mode 100644 mbsebbs-code/lib/remask.c delete mode 100644 mbsebbs-code/lib/rfcaddr.c delete mode 100644 mbsebbs-code/lib/rfcdate.c delete mode 100644 mbsebbs-code/lib/rfcmsg.c delete mode 100644 mbsebbs-code/lib/sectest.c delete mode 100644 mbsebbs-code/lib/semafore.c delete mode 100644 mbsebbs-code/lib/signame.c delete mode 100644 mbsebbs-code/lib/smtp.c delete mode 100644 mbsebbs-code/lib/strcasestr.c delete mode 100644 mbsebbs-code/lib/strutil.c delete mode 100644 mbsebbs-code/lib/term.c delete mode 100644 mbsebbs-code/lib/timers.c delete mode 100644 mbsebbs-code/lib/tmpwork.c delete mode 100644 mbsebbs-code/lib/unpacker.c delete mode 100644 mbsebbs-code/lib/users.h delete mode 100644 mbsebbs-code/lib/virscan.c delete mode 100644 mbsebbs-code/mbcico/.cvsignore delete mode 100644 mbsebbs-code/mbcico/Makefile delete mode 100644 mbsebbs-code/mbcico/README delete mode 100644 mbsebbs-code/mbcico/answer.c delete mode 100644 mbsebbs-code/mbcico/answer.h delete mode 100644 mbsebbs-code/mbcico/atoul.c delete mode 100644 mbsebbs-code/mbcico/atoul.h delete mode 100644 mbsebbs-code/mbcico/binkp.c delete mode 100644 mbsebbs-code/mbcico/binkp.h delete mode 100644 mbsebbs-code/mbcico/bopenfile.c delete mode 100644 mbsebbs-code/mbcico/bopenfile.h delete mode 100644 mbsebbs-code/mbcico/call.c delete mode 100644 mbsebbs-code/mbcico/call.h delete mode 100644 mbsebbs-code/mbcico/callstat.c delete mode 100644 mbsebbs-code/mbcico/callstat.h delete mode 100644 mbsebbs-code/mbcico/chat.c delete mode 100644 mbsebbs-code/mbcico/chat.h delete mode 100644 mbsebbs-code/mbcico/config.h delete mode 100644 mbsebbs-code/mbcico/dial.c delete mode 100644 mbsebbs-code/mbcico/dial.h delete mode 100644 mbsebbs-code/mbcico/dietifna.c delete mode 100644 mbsebbs-code/mbcico/dietifna.h delete mode 100644 mbsebbs-code/mbcico/dirlock.c delete mode 100644 mbsebbs-code/mbcico/dirlock.h delete mode 100644 mbsebbs-code/mbcico/emsi.c delete mode 100644 mbsebbs-code/mbcico/emsi.h delete mode 100644 mbsebbs-code/mbcico/emsidat.c delete mode 100644 mbsebbs-code/mbcico/emsidat.h delete mode 100644 mbsebbs-code/mbcico/filelist.c delete mode 100644 mbsebbs-code/mbcico/filelist.h delete mode 100644 mbsebbs-code/mbcico/filetime.c delete mode 100644 mbsebbs-code/mbcico/filetime.h delete mode 100644 mbsebbs-code/mbcico/ftsc.c delete mode 100644 mbsebbs-code/mbcico/ftsc.h delete mode 100644 mbsebbs-code/mbcico/htoul.c delete mode 100644 mbsebbs-code/mbcico/htoul.h delete mode 100644 mbsebbs-code/mbcico/hydra.c delete mode 100644 mbsebbs-code/mbcico/hydra.h delete mode 100644 mbsebbs-code/mbcico/inbound.c delete mode 100644 mbsebbs-code/mbcico/inbound.h delete mode 100644 mbsebbs-code/mbcico/lutil.c delete mode 100644 mbsebbs-code/mbcico/lutil.h delete mode 100644 mbsebbs-code/mbcico/m7recv.c delete mode 100644 mbsebbs-code/mbcico/m7recv.h delete mode 100644 mbsebbs-code/mbcico/m7send.c delete mode 100644 mbsebbs-code/mbcico/m7send.h delete mode 100644 mbsebbs-code/mbcico/mbcico.c delete mode 100644 mbsebbs-code/mbcico/mbcico.h delete mode 100644 mbsebbs-code/mbcico/mbout.c delete mode 100644 mbsebbs-code/mbcico/md5b.c delete mode 100644 mbsebbs-code/mbcico/md5b.h delete mode 100644 mbsebbs-code/mbcico/nlinfo.c delete mode 100644 mbsebbs-code/mbcico/nlinfo.h delete mode 100644 mbsebbs-code/mbcico/openfile.c delete mode 100644 mbsebbs-code/mbcico/openfile.h delete mode 100644 mbsebbs-code/mbcico/openport.c delete mode 100644 mbsebbs-code/mbcico/openport.h delete mode 100644 mbsebbs-code/mbcico/opentcp.c delete mode 100644 mbsebbs-code/mbcico/opentcp.h delete mode 100644 mbsebbs-code/mbcico/outstat.c delete mode 100644 mbsebbs-code/mbcico/outstat.h delete mode 100644 mbsebbs-code/mbcico/portsel.c delete mode 100644 mbsebbs-code/mbcico/portsel.h delete mode 100644 mbsebbs-code/mbcico/rdoptions.c delete mode 100644 mbsebbs-code/mbcico/rdoptions.h delete mode 100644 mbsebbs-code/mbcico/recvbark.c delete mode 100644 mbsebbs-code/mbcico/recvbark.h delete mode 100644 mbsebbs-code/mbcico/respfreq.c delete mode 100644 mbsebbs-code/mbcico/respfreq.h delete mode 100644 mbsebbs-code/mbcico/scanout.c delete mode 100644 mbsebbs-code/mbcico/scanout.h delete mode 100644 mbsebbs-code/mbcico/sendbark.c delete mode 100644 mbsebbs-code/mbcico/sendbark.h delete mode 100644 mbsebbs-code/mbcico/session.c delete mode 100644 mbsebbs-code/mbcico/session.h delete mode 100644 mbsebbs-code/mbcico/statetbl.h delete mode 100644 mbsebbs-code/mbcico/tcp.c delete mode 100644 mbsebbs-code/mbcico/tcp.h delete mode 100644 mbsebbs-code/mbcico/tcpproto.c delete mode 100644 mbsebbs-code/mbcico/tcpproto.h delete mode 100644 mbsebbs-code/mbcico/telnet.c delete mode 100644 mbsebbs-code/mbcico/telnet.h delete mode 100644 mbsebbs-code/mbcico/ttyio.c delete mode 100644 mbsebbs-code/mbcico/ttyio.h delete mode 100644 mbsebbs-code/mbcico/ulock.c delete mode 100644 mbsebbs-code/mbcico/ulock.h delete mode 100644 mbsebbs-code/mbcico/wazoo.c delete mode 100644 mbsebbs-code/mbcico/wazoo.h delete mode 100644 mbsebbs-code/mbcico/xmrecv.c delete mode 100644 mbsebbs-code/mbcico/xmrecv.h delete mode 100644 mbsebbs-code/mbcico/xmsend.c delete mode 100644 mbsebbs-code/mbcico/xmsend.h delete mode 100644 mbsebbs-code/mbcico/yoohoo.c delete mode 100644 mbsebbs-code/mbcico/yoohoo.h delete mode 100644 mbsebbs-code/mbcico/zmmisc.c delete mode 100644 mbsebbs-code/mbcico/zmodem.h delete mode 100644 mbsebbs-code/mbcico/zmrecv.c delete mode 100644 mbsebbs-code/mbcico/zmrle.c delete mode 100644 mbsebbs-code/mbcico/zmsend.c delete mode 100644 mbsebbs-code/mbfido/.cvsignore delete mode 100644 mbsebbs-code/mbfido/Makefile delete mode 100644 mbsebbs-code/mbfido/README delete mode 100644 mbsebbs-code/mbfido/addbbs.c delete mode 100644 mbsebbs-code/mbfido/addbbs.h delete mode 100644 mbsebbs-code/mbfido/addpkt.c delete mode 100644 mbsebbs-code/mbfido/addpkt.h delete mode 100644 mbsebbs-code/mbfido/aliasdb.c delete mode 100644 mbsebbs-code/mbfido/aliasdb.h delete mode 100644 mbsebbs-code/mbfido/announce.c delete mode 100644 mbsebbs-code/mbfido/announce.h delete mode 100644 mbsebbs-code/mbfido/areamgr.c delete mode 100644 mbsebbs-code/mbfido/areamgr.h delete mode 100644 mbsebbs-code/mbfido/atoul.c delete mode 100644 mbsebbs-code/mbfido/atoul.h delete mode 100644 mbsebbs-code/mbfido/backalias.c delete mode 100644 mbsebbs-code/mbfido/backalias.h delete mode 100644 mbsebbs-code/mbfido/bounce.c delete mode 100644 mbsebbs-code/mbfido/bounce.h delete mode 100644 mbsebbs-code/mbfido/bwrite.c delete mode 100644 mbsebbs-code/mbfido/bwrite.h delete mode 100644 mbsebbs-code/mbfido/createf.c delete mode 100644 mbsebbs-code/mbfido/createf.h delete mode 100644 mbsebbs-code/mbfido/createm.c delete mode 100644 mbsebbs-code/mbfido/createm.h delete mode 100644 mbsebbs-code/mbfido/dirlock.c delete mode 100644 mbsebbs-code/mbfido/dirlock.h delete mode 100644 mbsebbs-code/mbfido/dirsession.c delete mode 100644 mbsebbs-code/mbfido/dirsession.h delete mode 100644 mbsebbs-code/mbfido/fflist.c delete mode 100644 mbsebbs-code/mbfido/fflist.h delete mode 100644 mbsebbs-code/mbfido/filefind.c delete mode 100644 mbsebbs-code/mbfido/filefind.h delete mode 100644 mbsebbs-code/mbfido/filemgr.c delete mode 100644 mbsebbs-code/mbfido/filemgr.h delete mode 100644 mbsebbs-code/mbfido/flock.c delete mode 100644 mbsebbs-code/mbfido/flock.h delete mode 100644 mbsebbs-code/mbfido/forward.c delete mode 100644 mbsebbs-code/mbfido/forward.h delete mode 100644 mbsebbs-code/mbfido/fsort.c delete mode 100644 mbsebbs-code/mbfido/fsort.h delete mode 100644 mbsebbs-code/mbfido/ftn2rfc.c delete mode 100644 mbsebbs-code/mbfido/ftn2rfc.h delete mode 100644 mbsebbs-code/mbfido/grlist.c delete mode 100644 mbsebbs-code/mbfido/grlist.h delete mode 100644 mbsebbs-code/mbfido/hash.c delete mode 100644 mbsebbs-code/mbfido/hash.h delete mode 100644 mbsebbs-code/mbfido/hatch.c delete mode 100644 mbsebbs-code/mbfido/hatch.h delete mode 100644 mbsebbs-code/mbfido/lhash.c delete mode 100644 mbsebbs-code/mbfido/lhash.h delete mode 100644 mbsebbs-code/mbfido/magic.c delete mode 100644 mbsebbs-code/mbfido/magic.h delete mode 100644 mbsebbs-code/mbfido/makestat.c delete mode 100644 mbsebbs-code/mbfido/makestat.h delete mode 100644 mbsebbs-code/mbfido/maketags.c delete mode 100644 mbsebbs-code/mbfido/maketags.h delete mode 100644 mbsebbs-code/mbfido/mbaff.c delete mode 100644 mbsebbs-code/mbfido/mbaff.h delete mode 100644 mbsebbs-code/mbfido/mbdiff.c delete mode 100644 mbsebbs-code/mbfido/mbdiff.h delete mode 100644 mbsebbs-code/mbfido/mbfadopt.c delete mode 100644 mbsebbs-code/mbfido/mbfadopt.h delete mode 100644 mbsebbs-code/mbfido/mbfcheck.c delete mode 100644 mbsebbs-code/mbfido/mbfcheck.h delete mode 100644 mbsebbs-code/mbfido/mbfdel.c delete mode 100644 mbsebbs-code/mbfido/mbfdel.h delete mode 100644 mbsebbs-code/mbfido/mbfido.c delete mode 100644 mbsebbs-code/mbfido/mbfido.h delete mode 100644 mbsebbs-code/mbfido/mbfile.c delete mode 100644 mbsebbs-code/mbfido/mbfile.h delete mode 100644 mbsebbs-code/mbfido/mbfimport.c delete mode 100644 mbsebbs-code/mbfido/mbfimport.h delete mode 100644 mbsebbs-code/mbfido/mbfindex.c delete mode 100644 mbsebbs-code/mbfido/mbfindex.h delete mode 100644 mbsebbs-code/mbfido/mbfkill.c delete mode 100644 mbsebbs-code/mbfido/mbfkill.h delete mode 100644 mbsebbs-code/mbfido/mbflist.c delete mode 100644 mbsebbs-code/mbfido/mbflist.h delete mode 100644 mbsebbs-code/mbfido/mbfmove.c delete mode 100644 mbsebbs-code/mbfido/mbfmove.h delete mode 100644 mbsebbs-code/mbfido/mbfpack.c delete mode 100644 mbsebbs-code/mbfido/mbfpack.h delete mode 100644 mbsebbs-code/mbfido/mbfrearc.c delete mode 100644 mbsebbs-code/mbfido/mbfrearc.h delete mode 100644 mbsebbs-code/mbfido/mbfsort.c delete mode 100644 mbsebbs-code/mbfido/mbfsort.h delete mode 100644 mbsebbs-code/mbfido/mbftoberep.c delete mode 100644 mbsebbs-code/mbfido/mbftoberep.h delete mode 100644 mbsebbs-code/mbfido/mbfutil.c delete mode 100644 mbsebbs-code/mbfido/mbfutil.h delete mode 100644 mbsebbs-code/mbfido/mbindex.c delete mode 100644 mbsebbs-code/mbfido/mbindex.h delete mode 100644 mbsebbs-code/mbfido/mbmsg.c delete mode 100644 mbsebbs-code/mbfido/mbmsg.h delete mode 100644 mbsebbs-code/mbfido/mbseq.c delete mode 100644 mbsebbs-code/mbfido/mbseq.h delete mode 100644 mbsebbs-code/mbfido/mgrutil.c delete mode 100644 mbsebbs-code/mbfido/mgrutil.h delete mode 100644 mbsebbs-code/mbfido/mkftnhdr.c delete mode 100644 mbsebbs-code/mbfido/mkftnhdr.h delete mode 100644 mbsebbs-code/mbfido/mover.c delete mode 100644 mbsebbs-code/mbfido/mover.h delete mode 100644 mbsebbs-code/mbfido/msg.c delete mode 100644 mbsebbs-code/mbfido/msg.h delete mode 100644 mbsebbs-code/mbfido/msgflags.c delete mode 100644 mbsebbs-code/mbfido/msgflags.h delete mode 100644 mbsebbs-code/mbfido/msgutil.c delete mode 100644 mbsebbs-code/mbfido/msgutil.h delete mode 100644 mbsebbs-code/mbfido/newspost.c delete mode 100644 mbsebbs-code/mbfido/newspost.h delete mode 100644 mbsebbs-code/mbfido/notify.c delete mode 100644 mbsebbs-code/mbfido/notify.h delete mode 100644 mbsebbs-code/mbfido/orphans.c delete mode 100644 mbsebbs-code/mbfido/orphans.h delete mode 100644 mbsebbs-code/mbfido/ping.c delete mode 100644 mbsebbs-code/mbfido/ping.h delete mode 100644 mbsebbs-code/mbfido/post.c delete mode 100644 mbsebbs-code/mbfido/post.h delete mode 100644 mbsebbs-code/mbfido/postecho.c delete mode 100644 mbsebbs-code/mbfido/postecho.h delete mode 100644 mbsebbs-code/mbfido/postemail.c delete mode 100644 mbsebbs-code/mbfido/postemail.h delete mode 100644 mbsebbs-code/mbfido/postnetmail.c delete mode 100644 mbsebbs-code/mbfido/postnetmail.h delete mode 100644 mbsebbs-code/mbfido/ptic.c delete mode 100644 mbsebbs-code/mbfido/ptic.h delete mode 100644 mbsebbs-code/mbfido/qualify.c delete mode 100644 mbsebbs-code/mbfido/qualify.h delete mode 100644 mbsebbs-code/mbfido/queue.c delete mode 100644 mbsebbs-code/mbfido/queue.h delete mode 100644 mbsebbs-code/mbfido/rfc2ftn.c delete mode 100644 mbsebbs-code/mbfido/rfc2ftn.h delete mode 100644 mbsebbs-code/mbfido/rnews.c delete mode 100644 mbsebbs-code/mbfido/rnews.h delete mode 100644 mbsebbs-code/mbfido/rollover.c delete mode 100644 mbsebbs-code/mbfido/rollover.h delete mode 100644 mbsebbs-code/mbfido/scan.c delete mode 100644 mbsebbs-code/mbfido/scan.h delete mode 100644 mbsebbs-code/mbfido/scannews.c delete mode 100644 mbsebbs-code/mbfido/scannews.h delete mode 100644 mbsebbs-code/mbfido/sendmail.c delete mode 100644 mbsebbs-code/mbfido/sendmail.h delete mode 100644 mbsebbs-code/mbfido/storeecho.c delete mode 100644 mbsebbs-code/mbfido/storeecho.h delete mode 100644 mbsebbs-code/mbfido/storenet.c delete mode 100644 mbsebbs-code/mbfido/storenet.h delete mode 100644 mbsebbs-code/mbfido/tic.c delete mode 100644 mbsebbs-code/mbfido/tic.h delete mode 100644 mbsebbs-code/mbfido/toberep.c delete mode 100644 mbsebbs-code/mbfido/toberep.h delete mode 100644 mbsebbs-code/mbfido/tosspkt.c delete mode 100644 mbsebbs-code/mbfido/tosspkt.h delete mode 100644 mbsebbs-code/mbfido/tracker.c delete mode 100644 mbsebbs-code/mbfido/tracker.h delete mode 100644 mbsebbs-code/mbfido/unpack.c delete mode 100644 mbsebbs-code/mbfido/unpack.h delete mode 100644 mbsebbs-code/mbfido/utic.c delete mode 100644 mbsebbs-code/mbfido/utic.h delete mode 100644 mbsebbs-code/mbmon/.cvsignore delete mode 100644 mbsebbs-code/mbmon/Makefile delete mode 100644 mbsebbs-code/mbmon/mbmon.h delete mode 100644 mbsebbs-code/mbmon/mutil.c delete mode 100644 mbsebbs-code/mbmon/mutil.h delete mode 100644 mbsebbs-code/mbmon/proglock.c delete mode 100644 mbsebbs-code/mbmon/proglock.h delete mode 100644 mbsebbs-code/mbnntp/.cvsignore delete mode 100644 mbsebbs-code/mbnntp/Makefile delete mode 100644 mbsebbs-code/mbnntp/atoul.c delete mode 100644 mbsebbs-code/mbnntp/atoul.h delete mode 100644 mbsebbs-code/mbnntp/auth.c delete mode 100644 mbsebbs-code/mbnntp/auth.h delete mode 100644 mbsebbs-code/mbnntp/commands.c delete mode 100644 mbsebbs-code/mbnntp/commands.h delete mode 100644 mbsebbs-code/mbnntp/hash.c delete mode 100644 mbsebbs-code/mbnntp/hash.h delete mode 100644 mbsebbs-code/mbnntp/lhash.c delete mode 100644 mbsebbs-code/mbnntp/lhash.h delete mode 100644 mbsebbs-code/mbnntp/mbnntp.c delete mode 100644 mbsebbs-code/mbnntp/mbnntp.h delete mode 100644 mbsebbs-code/mbnntp/mkftnhdr.c delete mode 100644 mbsebbs-code/mbnntp/mkftnhdr.h delete mode 100644 mbsebbs-code/mbnntp/msgflags.c delete mode 100644 mbsebbs-code/mbnntp/msgflags.h delete mode 100644 mbsebbs-code/mbnntp/openport.c delete mode 100644 mbsebbs-code/mbnntp/openport.h delete mode 100644 mbsebbs-code/mbnntp/rfc2ftn.c delete mode 100644 mbsebbs-code/mbnntp/rfc2ftn.h delete mode 100644 mbsebbs-code/mbnntp/ttyio.c delete mode 100644 mbsebbs-code/mbnntp/ttyio.h delete mode 100644 mbsebbs-code/mbsebbs/.cvsignore delete mode 100644 mbsebbs-code/mbsebbs/Makefile delete mode 100644 mbsebbs-code/mbsebbs/bye.c delete mode 100644 mbsebbs-code/mbsebbs/bye.h delete mode 100644 mbsebbs-code/mbsebbs/change.c delete mode 100644 mbsebbs-code/mbsebbs/change.h delete mode 100644 mbsebbs-code/mbsebbs/chat.c delete mode 100644 mbsebbs-code/mbsebbs/chat.h delete mode 100644 mbsebbs-code/mbsebbs/dispfile.c delete mode 100644 mbsebbs-code/mbsebbs/dispfile.h delete mode 100644 mbsebbs-code/mbsebbs/door.c delete mode 100644 mbsebbs-code/mbsebbs/door.h delete mode 100644 mbsebbs-code/mbsebbs/email.c delete mode 100644 mbsebbs-code/mbsebbs/email.h delete mode 100644 mbsebbs-code/mbsebbs/exitinfo.c delete mode 100644 mbsebbs-code/mbsebbs/exitinfo.h delete mode 100644 mbsebbs-code/mbsebbs/file.c delete mode 100644 mbsebbs-code/mbsebbs/file.h delete mode 100644 mbsebbs-code/mbsebbs/filesub.c delete mode 100644 mbsebbs-code/mbsebbs/filesub.h delete mode 100644 mbsebbs-code/mbsebbs/fsedit.c delete mode 100644 mbsebbs-code/mbsebbs/fsedit.h delete mode 100644 mbsebbs-code/mbsebbs/funcs.c delete mode 100644 mbsebbs-code/mbsebbs/funcs.h delete mode 100644 mbsebbs-code/mbsebbs/input.c delete mode 100644 mbsebbs-code/mbsebbs/input.h delete mode 100644 mbsebbs-code/mbsebbs/language.c delete mode 100644 mbsebbs-code/mbsebbs/language.h delete mode 100644 mbsebbs-code/mbsebbs/lastcallers.c delete mode 100644 mbsebbs-code/mbsebbs/lastcallers.h delete mode 100644 mbsebbs-code/mbsebbs/logentry.c delete mode 100644 mbsebbs-code/mbsebbs/logentry.h delete mode 100644 mbsebbs-code/mbsebbs/mail.c delete mode 100644 mbsebbs-code/mbsebbs/mail.h delete mode 100644 mbsebbs-code/mbsebbs/mbnewusr.c delete mode 100644 mbsebbs-code/mbsebbs/mbnewusr.h delete mode 100644 mbsebbs-code/mbsebbs/mbsebbs.c delete mode 100644 mbsebbs-code/mbsebbs/mbsebbs.h delete mode 100644 mbsebbs-code/mbsebbs/menu.c delete mode 100644 mbsebbs-code/mbsebbs/menu.h delete mode 100644 mbsebbs-code/mbsebbs/mib.c delete mode 100644 mbsebbs-code/mbsebbs/mib.h delete mode 100644 mbsebbs-code/mbsebbs/misc.c delete mode 100644 mbsebbs-code/mbsebbs/misc.h delete mode 100644 mbsebbs-code/mbsebbs/morefile.c delete mode 100644 mbsebbs-code/mbsebbs/morefile.h delete mode 100644 mbsebbs-code/mbsebbs/msgutil.c delete mode 100644 mbsebbs-code/mbsebbs/msgutil.h delete mode 100644 mbsebbs-code/mbsebbs/newuser.c delete mode 100644 mbsebbs-code/mbsebbs/newuser.h delete mode 100644 mbsebbs-code/mbsebbs/offline.c delete mode 100644 mbsebbs-code/mbsebbs/offline.h delete mode 100644 mbsebbs-code/mbsebbs/oneline.c delete mode 100644 mbsebbs-code/mbsebbs/oneline.h delete mode 100644 mbsebbs-code/mbsebbs/openport.c delete mode 100644 mbsebbs-code/mbsebbs/openport.h delete mode 100644 mbsebbs-code/mbsebbs/page.c delete mode 100644 mbsebbs-code/mbsebbs/page.h delete mode 100644 mbsebbs-code/mbsebbs/pinfo.c delete mode 100644 mbsebbs-code/mbsebbs/pinfo.h delete mode 100644 mbsebbs-code/mbsebbs/pop3.c delete mode 100644 mbsebbs-code/mbsebbs/pop3.h delete mode 100644 mbsebbs-code/mbsebbs/signature.c delete mode 100644 mbsebbs-code/mbsebbs/signature.h delete mode 100644 mbsebbs-code/mbsebbs/term.c delete mode 100644 mbsebbs-code/mbsebbs/term.h delete mode 100644 mbsebbs-code/mbsebbs/timecheck.c delete mode 100644 mbsebbs-code/mbsebbs/timecheck.h delete mode 100644 mbsebbs-code/mbsebbs/timeout.c delete mode 100644 mbsebbs-code/mbsebbs/timeout.h delete mode 100644 mbsebbs-code/mbsebbs/timestats.c delete mode 100644 mbsebbs-code/mbsebbs/timestats.h delete mode 100644 mbsebbs-code/mbsebbs/transfer.c delete mode 100644 mbsebbs-code/mbsebbs/transfer.h delete mode 100644 mbsebbs-code/mbsebbs/ttyio.c delete mode 100644 mbsebbs-code/mbsebbs/ttyio.h delete mode 100644 mbsebbs-code/mbsebbs/user.c delete mode 100644 mbsebbs-code/mbsebbs/user.h delete mode 100644 mbsebbs-code/mbsebbs/userlist.c delete mode 100644 mbsebbs-code/mbsebbs/userlist.h delete mode 100644 mbsebbs-code/mbsebbs/whoson.c delete mode 100644 mbsebbs-code/mbsebbs/whoson.h delete mode 100644 mbsebbs-code/mbsebbs/ymrecv.c delete mode 100644 mbsebbs-code/mbsebbs/ymrecv.h delete mode 100644 mbsebbs-code/mbsebbs/ymsend.c delete mode 100644 mbsebbs-code/mbsebbs/ymsend.h delete mode 100644 mbsebbs-code/mbsebbs/zmmisc.c delete mode 100644 mbsebbs-code/mbsebbs/zmmisc.h delete mode 100644 mbsebbs-code/mbsebbs/zmrecv.c delete mode 100644 mbsebbs-code/mbsebbs/zmrecv.h delete mode 100644 mbsebbs-code/mbsebbs/zmsend.c delete mode 100644 mbsebbs-code/mbsebbs/zmsend.h delete mode 100644 mbsebbs-code/mbsetup/.cvsignore delete mode 100644 mbsebbs-code/mbsetup/Makefile delete mode 100644 mbsebbs-code/mbsetup/grlist.c delete mode 100644 mbsebbs-code/mbsetup/grlist.h delete mode 100644 mbsebbs-code/mbsetup/ledit.c delete mode 100644 mbsebbs-code/mbsetup/ledit.h delete mode 100644 mbsebbs-code/mbsetup/m_archive.c delete mode 100644 mbsebbs-code/mbsetup/m_archive.h delete mode 100644 mbsebbs-code/mbsetup/m_bbs.c delete mode 100644 mbsebbs-code/mbsetup/m_bbs.h delete mode 100644 mbsebbs-code/mbsetup/m_domain.c delete mode 100644 mbsebbs-code/mbsetup/m_domain.h delete mode 100644 mbsebbs-code/mbsetup/m_farea.c delete mode 100644 mbsebbs-code/mbsetup/m_farea.h delete mode 100644 mbsebbs-code/mbsetup/m_fdb.c delete mode 100644 mbsebbs-code/mbsetup/m_fdb.h delete mode 100644 mbsebbs-code/mbsetup/m_ff.c delete mode 100644 mbsebbs-code/mbsetup/m_ff.h delete mode 100644 mbsebbs-code/mbsetup/m_fgroup.c delete mode 100644 mbsebbs-code/mbsetup/m_fgroup.h delete mode 100644 mbsebbs-code/mbsetup/m_fido.c delete mode 100644 mbsebbs-code/mbsetup/m_fido.h delete mode 100644 mbsebbs-code/mbsetup/m_global.c delete mode 100644 mbsebbs-code/mbsetup/m_global.h delete mode 100644 mbsebbs-code/mbsetup/m_hatch.c delete mode 100644 mbsebbs-code/mbsetup/m_hatch.h delete mode 100644 mbsebbs-code/mbsetup/m_ibc.c delete mode 100644 mbsebbs-code/mbsetup/m_ibc.h delete mode 100644 mbsebbs-code/mbsetup/m_lang.c delete mode 100644 mbsebbs-code/mbsetup/m_lang.h delete mode 100644 mbsebbs-code/mbsetup/m_limits.c delete mode 100644 mbsebbs-code/mbsetup/m_limits.h delete mode 100644 mbsebbs-code/mbsetup/m_magic.c delete mode 100644 mbsebbs-code/mbsetup/m_magic.h delete mode 100644 mbsebbs-code/mbsetup/m_mail.c delete mode 100644 mbsebbs-code/mbsetup/m_mail.h delete mode 100644 mbsebbs-code/mbsetup/m_marea.c delete mode 100644 mbsebbs-code/mbsetup/m_marea.h delete mode 100644 mbsebbs-code/mbsetup/m_menu.c delete mode 100644 mbsebbs-code/mbsetup/m_menu.h delete mode 100644 mbsebbs-code/mbsetup/m_mgroup.c delete mode 100644 mbsebbs-code/mbsetup/m_mgroup.h delete mode 100644 mbsebbs-code/mbsetup/m_modem.c delete mode 100644 mbsebbs-code/mbsetup/m_modem.h delete mode 100644 mbsebbs-code/mbsetup/m_new.c delete mode 100644 mbsebbs-code/mbsetup/m_new.h delete mode 100644 mbsebbs-code/mbsetup/m_ngroup.c delete mode 100644 mbsebbs-code/mbsetup/m_ngroup.h delete mode 100644 mbsebbs-code/mbsetup/m_node.c delete mode 100644 mbsebbs-code/mbsetup/m_node.h delete mode 100644 mbsebbs-code/mbsetup/m_ol.c delete mode 100644 mbsebbs-code/mbsetup/m_ol.h delete mode 100644 mbsebbs-code/mbsetup/m_protocol.c delete mode 100644 mbsebbs-code/mbsetup/m_protocol.h delete mode 100644 mbsebbs-code/mbsetup/m_route.c delete mode 100644 mbsebbs-code/mbsetup/m_route.h delete mode 100644 mbsebbs-code/mbsetup/m_service.c delete mode 100644 mbsebbs-code/mbsetup/m_service.h delete mode 100644 mbsebbs-code/mbsetup/m_task.c delete mode 100644 mbsebbs-code/mbsetup/m_task.h delete mode 100644 mbsebbs-code/mbsetup/m_tic.c delete mode 100644 mbsebbs-code/mbsetup/m_tic.h delete mode 100644 mbsebbs-code/mbsetup/m_ticarea.c delete mode 100644 mbsebbs-code/mbsetup/m_ticarea.h delete mode 100644 mbsebbs-code/mbsetup/m_tty.c delete mode 100644 mbsebbs-code/mbsetup/m_tty.h delete mode 100644 mbsebbs-code/mbsetup/m_users.c delete mode 100644 mbsebbs-code/mbsetup/m_users.h delete mode 100644 mbsebbs-code/mbsetup/m_virus.c delete mode 100644 mbsebbs-code/mbsetup/m_virus.h delete mode 100644 mbsebbs-code/mbsetup/mutil.c delete mode 100644 mbsebbs-code/mbsetup/mutil.h delete mode 100644 mbsebbs-code/mbsetup/screen.c delete mode 100644 mbsebbs-code/mbsetup/screen.h delete mode 100644 mbsebbs-code/mbsetup/stlist.c delete mode 100644 mbsebbs-code/mbsetup/stlist.h delete mode 100644 mbsebbs-code/mbtask/.cvsignore delete mode 100644 mbsebbs-code/mbtask/Makefile delete mode 100644 mbsebbs-code/mbtask/calllist.c delete mode 100644 mbsebbs-code/mbtask/calllist.h delete mode 100644 mbsebbs-code/mbtask/callstat.c delete mode 100644 mbsebbs-code/mbtask/callstat.h delete mode 100644 mbsebbs-code/mbtask/crc.c delete mode 100644 mbsebbs-code/mbtask/issue delete mode 100644 mbsebbs-code/mbtask/issue.netbsd delete mode 100644 mbsebbs-code/mbtask/mbtask.c delete mode 100644 mbsebbs-code/mbtask/mbtask.h delete mode 100644 mbsebbs-code/mbtask/outstat.c delete mode 100644 mbsebbs-code/mbtask/outstat.h delete mode 100644 mbsebbs-code/mbtask/pidinfo.c delete mode 100644 mbsebbs-code/mbtask/ping.c delete mode 100644 mbsebbs-code/mbtask/ping.h delete mode 100644 mbsebbs-code/mbtask/ports.c delete mode 100644 mbsebbs-code/mbtask/ports.h delete mode 100644 mbsebbs-code/mbtask/scanout.c delete mode 100644 mbsebbs-code/mbtask/scanout.h delete mode 100644 mbsebbs-code/mbtask/signame.c delete mode 100644 mbsebbs-code/mbtask/signame.h delete mode 100644 mbsebbs-code/mbtask/taskchat.c delete mode 100644 mbsebbs-code/mbtask/taskchat.h delete mode 100644 mbsebbs-code/mbtask/taskcomm.c delete mode 100644 mbsebbs-code/mbtask/taskcomm.h delete mode 100644 mbsebbs-code/mbtask/taskdisk.c delete mode 100644 mbsebbs-code/mbtask/taskdisk.h delete mode 100644 mbsebbs-code/mbtask/taskibc.c delete mode 100644 mbsebbs-code/mbtask/taskibc.h delete mode 100644 mbsebbs-code/mbtask/taskinfo.c delete mode 100644 mbsebbs-code/mbtask/taskinfo.h delete mode 100644 mbsebbs-code/mbtask/taskregs.c delete mode 100644 mbsebbs-code/mbtask/taskregs.h delete mode 100644 mbsebbs-code/mbtask/taskstat.c delete mode 100644 mbsebbs-code/mbtask/taskstat.h delete mode 100644 mbsebbs-code/mbtask/taskutil.c delete mode 100644 mbsebbs-code/mbtask/taskutil.h delete mode 100644 mbsebbs-code/mbutils/.cvsignore delete mode 100644 mbsebbs-code/mbutils/Makefile delete mode 100644 mbsebbs-code/mbutils/dlcount.c delete mode 100644 mbsebbs-code/mbutils/dlcount.h delete mode 100644 mbsebbs-code/mbutils/mball.c delete mode 100644 mbsebbs-code/mbutils/mball.h delete mode 100644 mbsebbs-code/mbutils/mbbw.c delete mode 100644 mbsebbs-code/mbutils/mblang.c delete mode 100644 mbsebbs-code/mbutils/mbsnmp.c delete mode 100644 mbsebbs-code/mbutils/mbsnmp.h delete mode 100644 mbsebbs-code/mbutils/mbstat.c delete mode 100644 mbsebbs-code/mbutils/mbstat.h delete mode 100644 mbsebbs-code/mbutils/mbtoberep.c delete mode 100644 mbsebbs-code/mbutils/mbuser.c delete mode 100644 mbsebbs-code/mbutils/mbuser.h delete mode 100644 mbsebbs-code/paths.h.in delete mode 100644 mbsebbs-code/script/.cvsignore delete mode 100644 mbsebbs-code/script/Makefile delete mode 100644 mbsebbs-code/script/README delete mode 100644 mbsebbs-code/script/bbsdoor.sh delete mode 100644 mbsebbs-code/script/bbsjmacsrc delete mode 100644 mbsebbs-code/script/bbsjoerc delete mode 100644 mbsebbs-code/script/doors.bat delete mode 100644 mbsebbs-code/script/editor.in delete mode 100644 mbsebbs-code/script/hatch delete mode 100644 mbsebbs-code/script/init.Arch delete mode 100644 mbsebbs-code/script/init.Debian delete mode 100644 mbsebbs-code/script/init.FreeBSD delete mode 100644 mbsebbs-code/script/init.Gentoo delete mode 100644 mbsebbs-code/script/init.NetBSD delete mode 100644 mbsebbs-code/script/init.OpenBSD delete mode 100644 mbsebbs-code/script/init.RedHat delete mode 100644 mbsebbs-code/script/init.Slackware delete mode 100644 mbsebbs-code/script/init.SuSE delete mode 100644 mbsebbs-code/script/installinit.sh delete mode 100644 mbsebbs-code/script/maint delete mode 100644 mbsebbs-code/script/mbsedos delete mode 100644 mbsebbs-code/script/midnight delete mode 100644 mbsebbs-code/script/monthly delete mode 100644 mbsebbs-code/script/rundoor.sh delete mode 100644 mbsebbs-code/script/runvirtual.sh delete mode 100644 mbsebbs-code/script/setup.mbse delete mode 100644 mbsebbs-code/script/weekly delete mode 100644 mbsebbs-code/unix/.cvsignore delete mode 100644 mbsebbs-code/unix/Makefile delete mode 100644 mbsebbs-code/unix/basename.c delete mode 100644 mbsebbs-code/unix/basename.h delete mode 100644 mbsebbs-code/unix/chowntty.c delete mode 100644 mbsebbs-code/unix/chowntty.h delete mode 100644 mbsebbs-code/unix/commonio.c delete mode 100644 mbsebbs-code/unix/commonio.h delete mode 100644 mbsebbs-code/unix/encrypt.c delete mode 100644 mbsebbs-code/unix/encrypt.h delete mode 100644 mbsebbs-code/unix/env.c delete mode 100644 mbsebbs-code/unix/env.h delete mode 100644 mbsebbs-code/unix/getdef.c delete mode 100644 mbsebbs-code/unix/getdef.h delete mode 100644 mbsebbs-code/unix/limits.c delete mode 100644 mbsebbs-code/unix/limits.h delete mode 100644 mbsebbs-code/unix/log.c delete mode 100644 mbsebbs-code/unix/log.h delete mode 100644 mbsebbs-code/unix/login.defs.in delete mode 100644 mbsebbs-code/unix/loginprompt.c delete mode 100644 mbsebbs-code/unix/loginprompt.h delete mode 100644 mbsebbs-code/unix/mblogin.c delete mode 100644 mbsebbs-code/unix/mblogin.h delete mode 100644 mbsebbs-code/unix/mbpasswd.c delete mode 100644 mbsebbs-code/unix/mbpasswd.h delete mode 100644 mbsebbs-code/unix/mbuseradd.c delete mode 100644 mbsebbs-code/unix/mbuseradd.h delete mode 100644 mbsebbs-code/unix/myname.c delete mode 100644 mbsebbs-code/unix/myname.h delete mode 100644 mbsebbs-code/unix/putpwent.c delete mode 100644 mbsebbs-code/unix/putpwent.h delete mode 100644 mbsebbs-code/unix/pw_util.c delete mode 100644 mbsebbs-code/unix/pw_util.h delete mode 100644 mbsebbs-code/unix/pwauth.c delete mode 100644 mbsebbs-code/unix/pwauth.h delete mode 100644 mbsebbs-code/unix/pwdcheck.c delete mode 100644 mbsebbs-code/unix/pwdcheck.h delete mode 100644 mbsebbs-code/unix/pwio.c delete mode 100644 mbsebbs-code/unix/pwio.h delete mode 100644 mbsebbs-code/unix/rad64.c delete mode 100644 mbsebbs-code/unix/rad64.h delete mode 100644 mbsebbs-code/unix/salt.c delete mode 100644 mbsebbs-code/unix/salt.h delete mode 100644 mbsebbs-code/unix/setugid.c delete mode 100644 mbsebbs-code/unix/setugid.h delete mode 100644 mbsebbs-code/unix/setupenv.c delete mode 100644 mbsebbs-code/unix/setupenv.h delete mode 100644 mbsebbs-code/unix/sgetpwent.c delete mode 100644 mbsebbs-code/unix/sgetpwent.h delete mode 100644 mbsebbs-code/unix/shadowio.c delete mode 100644 mbsebbs-code/unix/shadowio.h delete mode 100644 mbsebbs-code/unix/shell.c delete mode 100644 mbsebbs-code/unix/shell.h delete mode 100644 mbsebbs-code/unix/sub.c delete mode 100644 mbsebbs-code/unix/sub.h delete mode 100644 mbsebbs-code/unix/utmp.c delete mode 100644 mbsebbs-code/unix/utmp.h delete mode 100644 mbsebbs-code/unix/xmalloc.c delete mode 100644 mbsebbs-code/unix/xmalloc.h delete mode 100644 saved-mbsebbs-code-2/AUTHORS delete mode 100644 saved-mbsebbs-code-2/COPYING delete mode 100644 saved-mbsebbs-code-2/CRON.sh delete mode 100644 saved-mbsebbs-code-2/ChangeLog delete mode 100644 saved-mbsebbs-code-2/ChangeLog_1998 delete mode 100644 saved-mbsebbs-code-2/ChangeLog_1999 delete mode 100644 saved-mbsebbs-code-2/ChangeLog_2000 delete mode 100644 saved-mbsebbs-code-2/ChangeLog_2001 delete mode 100644 saved-mbsebbs-code-2/ChangeLog_2002 delete mode 100644 saved-mbsebbs-code-2/ChangeLog_2003 delete mode 100644 saved-mbsebbs-code-2/ChangeLog_2004 delete mode 100644 saved-mbsebbs-code-2/ChangeLog_2005 delete mode 100644 saved-mbsebbs-code-2/ChangeLog_2006 delete mode 100644 saved-mbsebbs-code-2/ChangeLog_2007 delete mode 100644 saved-mbsebbs-code-2/DEBUG delete mode 100644 saved-mbsebbs-code-2/FILE_ID.DIZ.in delete mode 100644 saved-mbsebbs-code-2/INSTALL.in delete mode 100644 saved-mbsebbs-code-2/Makefile delete mode 100644 saved-mbsebbs-code-2/Makefile.global.in delete mode 100644 saved-mbsebbs-code-2/NEWS delete mode 100644 saved-mbsebbs-code-2/README delete mode 100644 saved-mbsebbs-code-2/README.Gentoo delete mode 100644 saved-mbsebbs-code-2/README.Ubuntu delete mode 100644 saved-mbsebbs-code-2/README.developer delete mode 100644 saved-mbsebbs-code-2/SETUP.sh delete mode 100644 saved-mbsebbs-code-2/TODO delete mode 100644 saved-mbsebbs-code-2/UPGRADE delete mode 100644 saved-mbsebbs-code-2/aclocal.m4 delete mode 100755 saved-mbsebbs-code-2/checkbasic delete mode 100644 saved-mbsebbs-code-2/config.h.in delete mode 100755 saved-mbsebbs-code-2/configure delete mode 100644 saved-mbsebbs-code-2/configure.ac delete mode 100755 saved-mbsebbs-code-2/cpuflags delete mode 100644 saved-mbsebbs-code-2/docs/mbse-1.pdf delete mode 100644 saved-mbsebbs-code-2/examples/.cvsignore delete mode 100644 saved-mbsebbs-code-2/examples/Makefile delete mode 100644 saved-mbsebbs-code-2/examples/footer.txt delete mode 100644 saved-mbsebbs-code-2/examples/header.txt delete mode 100644 saved-mbsebbs-code-2/examples/menus-de.tar delete mode 100644 saved-mbsebbs-code-2/examples/menus-en.tar delete mode 100644 saved-mbsebbs-code-2/examples/menus-es.tar delete mode 100644 saved-mbsebbs-code-2/examples/templates-de.tar delete mode 100644 saved-mbsebbs-code-2/examples/templates-en.tar delete mode 100644 saved-mbsebbs-code-2/examples/templates-es.tar delete mode 100644 saved-mbsebbs-code-2/examples/templates-nl.tar delete mode 100644 saved-mbsebbs-code-2/examples/txtfiles-de.tar delete mode 100644 saved-mbsebbs-code-2/examples/txtfiles-en.tar delete mode 100755 saved-mbsebbs-code-2/examples/txtfiles-es.tar delete mode 100644 saved-mbsebbs-code-2/html/.cvsignore delete mode 100644 saved-mbsebbs-code-2/html/Makefile delete mode 100644 saved-mbsebbs-code-2/html/basic.html.in delete mode 100644 saved-mbsebbs-code-2/html/dist.html delete mode 100644 saved-mbsebbs-code-2/html/doors.html delete mode 100644 saved-mbsebbs-code-2/html/errcodes.html delete mode 100644 saved-mbsebbs-code-2/html/faq.html delete mode 100644 saved-mbsebbs-code-2/html/flow.html delete mode 100644 saved-mbsebbs-code-2/html/ftsc/index.htm delete mode 100644 saved-mbsebbs-code-2/html/ftsc/index.html delete mode 100644 saved-mbsebbs-code-2/html/images/b_arrow.png delete mode 100644 saved-mbsebbs-code-2/html/images/connec.png delete mode 100644 saved-mbsebbs-code-2/html/images/domains.png delete mode 100644 saved-mbsebbs-code-2/html/images/doors.png delete mode 100644 saved-mbsebbs-code-2/html/images/doors2.png delete mode 100644 saved-mbsebbs-code-2/html/images/dream1.png delete mode 100644 saved-mbsebbs-code-2/html/images/dream2.png delete mode 100644 saved-mbsebbs-code-2/html/images/dream3.png delete mode 100644 saved-mbsebbs-code-2/html/images/e_menu.png delete mode 100644 saved-mbsebbs-code-2/html/images/emareas.png delete mode 100644 saved-mbsebbs-code-2/html/images/emgroup.png delete mode 100644 saved-mbsebbs-code-2/html/images/fdb.png delete mode 100644 saved-mbsebbs-code-2/html/images/fegroup.png delete mode 100644 saved-mbsebbs-code-2/html/images/fileecho.png delete mode 100644 saved-mbsebbs-code-2/html/images/filefind.png delete mode 100644 saved-mbsebbs-code-2/html/images/files.png delete mode 100644 saved-mbsebbs-code-2/html/images/go_to.png delete mode 100644 saved-mbsebbs-code-2/html/images/hand.up.png delete mode 100644 saved-mbsebbs-code-2/html/images/hatch.png delete mode 100644 saved-mbsebbs-code-2/html/images/language.png delete mode 100644 saved-mbsebbs-code-2/html/images/larrow.png delete mode 100644 saved-mbsebbs-code-2/html/images/magic.png delete mode 100644 saved-mbsebbs-code-2/html/images/mbmon1-tn.png delete mode 100644 saved-mbsebbs-code-2/html/images/mbmon1.png delete mode 100644 saved-mbsebbs-code-2/html/images/mbmon2-tn.png delete mode 100644 saved-mbsebbs-code-2/html/images/mbmon2.png delete mode 100644 saved-mbsebbs-code-2/html/images/mbse.png delete mode 100644 saved-mbsebbs-code-2/html/images/mbsebbs-s.png delete mode 100644 saved-mbsebbs-code-2/html/images/mbsebbs.png delete mode 100644 saved-mbsebbs-code-2/html/images/mbsetup0.png delete mode 100644 saved-mbsebbs-code-2/html/images/mbsetup1.6.S.png delete mode 100644 saved-mbsebbs-code-2/html/images/mbsetup1.6.png delete mode 100644 saved-mbsebbs-code-2/html/images/mbsetup2.png delete mode 100644 saved-mbsebbs-code-2/html/images/modems0.png delete mode 100644 saved-mbsebbs-code-2/html/images/newfiles.png delete mode 100644 saved-mbsebbs-code-2/html/images/newgroups.png delete mode 100644 saved-mbsebbs-code-2/html/images/nodelist.png delete mode 100644 saved-mbsebbs-code-2/html/images/nodelist1.png delete mode 100644 saved-mbsebbs-code-2/html/images/nodelist2.png delete mode 100644 saved-mbsebbs-code-2/html/images/nodelist3.png delete mode 100644 saved-mbsebbs-code-2/html/images/nodelist4.png delete mode 100644 saved-mbsebbs-code-2/html/images/nodelist5.png delete mode 100644 saved-mbsebbs-code-2/html/images/nodes1.png delete mode 100644 saved-mbsebbs-code-2/html/images/nodes10.png delete mode 100644 saved-mbsebbs-code-2/html/images/nodes11.png delete mode 100644 saved-mbsebbs-code-2/html/images/nodes2.png delete mode 100644 saved-mbsebbs-code-2/html/images/nodes3.png delete mode 100644 saved-mbsebbs-code-2/html/images/nodes4.png delete mode 100644 saved-mbsebbs-code-2/html/images/nodes5.png delete mode 100644 saved-mbsebbs-code-2/html/images/nodes6.png delete mode 100644 saved-mbsebbs-code-2/html/images/nodes7.png delete mode 100644 saved-mbsebbs-code-2/html/images/nodes8.png delete mode 100644 saved-mbsebbs-code-2/html/images/nodes9.png delete mode 100644 saved-mbsebbs-code-2/html/images/oneliner.png delete mode 100644 saved-mbsebbs-code-2/html/images/protocol.png delete mode 100644 saved-mbsebbs-code-2/html/images/rarrow.png delete mode 100644 saved-mbsebbs-code-2/html/images/route1.png delete mode 100644 saved-mbsebbs-code-2/html/images/route2.png delete mode 100644 saved-mbsebbs-code-2/html/images/security.png delete mode 100644 saved-mbsebbs-code-2/html/images/taskmgr.png delete mode 100644 saved-mbsebbs-code-2/html/images/tdream1.png delete mode 100644 saved-mbsebbs-code-2/html/images/tdream2.png delete mode 100644 saved-mbsebbs-code-2/html/images/tdream3.png delete mode 100644 saved-mbsebbs-code-2/html/images/tty.png delete mode 100644 saved-mbsebbs-code-2/html/images/tty1.png delete mode 100644 saved-mbsebbs-code-2/html/images/tty2.png delete mode 100644 saved-mbsebbs-code-2/html/images/uarrow.png delete mode 100644 saved-mbsebbs-code-2/html/images/users.png delete mode 100644 saved-mbsebbs-code-2/html/images/users2.png delete mode 100644 saved-mbsebbs-code-2/html/index.htm.in delete mode 100644 saved-mbsebbs-code-2/html/index.html.in delete mode 100644 saved-mbsebbs-code-2/html/intergate.html delete mode 100644 saved-mbsebbs-code-2/html/intro.html delete mode 100644 saved-mbsebbs-code-2/html/invoking.html delete mode 100644 saved-mbsebbs-code-2/html/known_bugs.html delete mode 100644 saved-mbsebbs-code-2/html/license/copying.html delete mode 100644 saved-mbsebbs-code-2/html/license/hydracom.html delete mode 100644 saved-mbsebbs-code-2/html/license/index.htm delete mode 100644 saved-mbsebbs-code-2/html/license/index.html delete mode 100644 saved-mbsebbs-code-2/html/license/jam.html delete mode 100644 saved-mbsebbs-code-2/html/manual.css delete mode 100644 saved-mbsebbs-code-2/html/menus/control.html delete mode 100644 saved-mbsebbs-code-2/html/menus/index.htm delete mode 100644 saved-mbsebbs-code-2/html/menus/index.html delete mode 100644 saved-mbsebbs-code-2/html/menus/menu0.html delete mode 100644 saved-mbsebbs-code-2/html/menus/menu100.html delete mode 100644 saved-mbsebbs-code-2/html/menus/menu200.html delete mode 100644 saved-mbsebbs-code-2/html/menus/menu300.html delete mode 100644 saved-mbsebbs-code-2/html/menus/menu400.html delete mode 100644 saved-mbsebbs-code-2/html/menus/menu500.html delete mode 100644 saved-mbsebbs-code-2/html/mgetty.html delete mode 100644 saved-mbsebbs-code-2/html/misc/dropfile.html delete mode 100644 saved-mbsebbs-code-2/html/misc/filefind.html delete mode 100644 saved-mbsebbs-code-2/html/misc/fileid.html delete mode 100644 saved-mbsebbs-code-2/html/misc/ftpserver.html delete mode 100644 saved-mbsebbs-code-2/html/misc/index.htm delete mode 100644 saved-mbsebbs-code-2/html/misc/index.html delete mode 100644 saved-mbsebbs-code-2/html/misc/ipmailer.html delete mode 100644 saved-mbsebbs-code-2/html/misc/jam.html delete mode 100644 saved-mbsebbs-code-2/html/misc/outbound.html delete mode 100644 saved-mbsebbs-code-2/html/misc/semafore.html delete mode 100644 saved-mbsebbs-code-2/html/misc/usleep.html delete mode 100644 saved-mbsebbs-code-2/html/misc/webserver.html delete mode 100644 saved-mbsebbs-code-2/html/nodelist.html delete mode 100644 saved-mbsebbs-code-2/html/postfix.html delete mode 100644 saved-mbsebbs-code-2/html/programs/index.htm delete mode 100644 saved-mbsebbs-code-2/html/programs/index.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mbaff.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mball.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mbcico.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mbdiff.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mbfido.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mbfile.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mbindex.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mblang.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mblogin.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mbmon.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mbmsg.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mbnntp.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mbout.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mbpasswd.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mbsebbs.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mbseq.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mbsetup.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mbstat.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mbtask.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mbtoberep.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mbuser.html delete mode 100644 saved-mbsebbs-code-2/html/programs/mbuseradd.html delete mode 100644 saved-mbsebbs-code-2/html/routing.html delete mode 100644 saved-mbsebbs-code-2/html/setup/archiver.html delete mode 100644 saved-mbsebbs-code-2/html/setup/bbs.html delete mode 100644 saved-mbsebbs-code-2/html/setup/chat.html delete mode 100644 saved-mbsebbs-code-2/html/setup/domains.html delete mode 100644 saved-mbsebbs-code-2/html/setup/emareas.html delete mode 100644 saved-mbsebbs-code-2/html/setup/emgroup.html delete mode 100644 saved-mbsebbs-code-2/html/setup/fdb.html delete mode 100644 saved-mbsebbs-code-2/html/setup/fegroup.html delete mode 100644 saved-mbsebbs-code-2/html/setup/fidonet.html delete mode 100644 saved-mbsebbs-code-2/html/setup/fileecho.html delete mode 100644 saved-mbsebbs-code-2/html/setup/filefind.html delete mode 100644 saved-mbsebbs-code-2/html/setup/files.html delete mode 100644 saved-mbsebbs-code-2/html/setup/global.html delete mode 100644 saved-mbsebbs-code-2/html/setup/hatch.html delete mode 100644 saved-mbsebbs-code-2/html/setup/index.htm delete mode 100644 saved-mbsebbs-code-2/html/setup/index.html delete mode 100644 saved-mbsebbs-code-2/html/setup/language.html delete mode 100644 saved-mbsebbs-code-2/html/setup/magic.html delete mode 100644 saved-mbsebbs-code-2/html/setup/mail.html delete mode 100644 saved-mbsebbs-code-2/html/setup/modems.html delete mode 100644 saved-mbsebbs-code-2/html/setup/newfiles.html delete mode 100644 saved-mbsebbs-code-2/html/setup/newgroups.html delete mode 100644 saved-mbsebbs-code-2/html/setup/nodes.html delete mode 100644 saved-mbsebbs-code-2/html/setup/oneliner.html delete mode 100644 saved-mbsebbs-code-2/html/setup/protocol.html delete mode 100644 saved-mbsebbs-code-2/html/setup/route.html delete mode 100644 saved-mbsebbs-code-2/html/setup/security.html delete mode 100644 saved-mbsebbs-code-2/html/setup/services.html delete mode 100644 saved-mbsebbs-code-2/html/setup/sitedoc.html delete mode 100644 saved-mbsebbs-code-2/html/setup/softinfo.html delete mode 100644 saved-mbsebbs-code-2/html/setup/taskmgr.html delete mode 100644 saved-mbsebbs-code-2/html/setup/tic.html delete mode 100644 saved-mbsebbs-code-2/html/setup/ttyinfo.html delete mode 100644 saved-mbsebbs-code-2/html/setup/users.html delete mode 100644 saved-mbsebbs-code-2/html/setup/virscan.html delete mode 100644 saved-mbsebbs-code-2/html/upgrade.html.in delete mode 100644 saved-mbsebbs-code-2/html/ups.html delete mode 100644 saved-mbsebbs-code-2/lang/.cvsignore delete mode 100644 saved-mbsebbs-code-2/lang/Language.xref delete mode 100644 saved-mbsebbs-code-2/lang/Makefile delete mode 100644 saved-mbsebbs-code-2/lang/README delete mode 100644 saved-mbsebbs-code-2/lang/germandu.txt delete mode 100644 saved-mbsebbs-code-2/lang/source.de delete mode 100644 saved-mbsebbs-code-2/lang/source.en delete mode 100644 saved-mbsebbs-code-2/lang/source.es delete mode 100644 saved-mbsebbs-code-2/lang/source.fr delete mode 100644 saved-mbsebbs-code-2/lang/source.gl delete mode 100644 saved-mbsebbs-code-2/lang/source.nl delete mode 100644 saved-mbsebbs-code-2/lang/source.zh delete mode 100644 saved-mbsebbs-code-2/lib/.cvsignore delete mode 100644 saved-mbsebbs-code-2/lib/Diesel.doc delete mode 100644 saved-mbsebbs-code-2/lib/Makefile delete mode 100644 saved-mbsebbs-code-2/lib/README delete mode 100644 saved-mbsebbs-code-2/lib/README.diesel delete mode 100644 saved-mbsebbs-code-2/lib/README.macro delete mode 100644 saved-mbsebbs-code-2/lib/attach.c delete mode 100644 saved-mbsebbs-code-2/lib/batchrd.c delete mode 100644 saved-mbsebbs-code-2/lib/bluewave.h delete mode 100644 saved-mbsebbs-code-2/lib/charset.c delete mode 100644 saved-mbsebbs-code-2/lib/clcomm.c delete mode 100644 saved-mbsebbs-code-2/lib/client.c delete mode 100644 saved-mbsebbs-code-2/lib/crc.c delete mode 100644 saved-mbsebbs-code-2/lib/dbcfg.c delete mode 100644 saved-mbsebbs-code-2/lib/dbdupe.c delete mode 100644 saved-mbsebbs-code-2/lib/dbfdb.c delete mode 100644 saved-mbsebbs-code-2/lib/dbftn.c delete mode 100644 saved-mbsebbs-code-2/lib/dbmsgs.c delete mode 100644 saved-mbsebbs-code-2/lib/dbnode.c delete mode 100644 saved-mbsebbs-code-2/lib/dbtic.c delete mode 100644 saved-mbsebbs-code-2/lib/dbuser.c delete mode 100644 saved-mbsebbs-code-2/lib/diesel.c delete mode 100644 saved-mbsebbs-code-2/lib/diesel.h delete mode 100644 saved-mbsebbs-code-2/lib/dostran.c delete mode 100644 saved-mbsebbs-code-2/lib/endian.c delete mode 100644 saved-mbsebbs-code-2/lib/execute.c delete mode 100644 saved-mbsebbs-code-2/lib/expipe.c delete mode 100644 saved-mbsebbs-code-2/lib/faddr.c delete mode 100644 saved-mbsebbs-code-2/lib/falists.c delete mode 100644 saved-mbsebbs-code-2/lib/ftn.c delete mode 100644 saved-mbsebbs-code-2/lib/ftnmsg.c delete mode 100644 saved-mbsebbs-code-2/lib/ftscprod.010 delete mode 100644 saved-mbsebbs-code-2/lib/ftscprod.016 delete mode 100644 saved-mbsebbs-code-2/lib/getheader.c delete mode 100644 saved-mbsebbs-code-2/lib/gmtoffset.c delete mode 100644 saved-mbsebbs-code-2/lib/hdr.c delete mode 100644 saved-mbsebbs-code-2/lib/jam.h delete mode 100644 saved-mbsebbs-code-2/lib/jammsg.c delete mode 100644 saved-mbsebbs-code-2/lib/jammsg.h delete mode 100644 saved-mbsebbs-code-2/lib/jamsys.h delete mode 100644 saved-mbsebbs-code-2/lib/magic.c delete mode 100644 saved-mbsebbs-code-2/lib/mangle.c delete mode 100644 saved-mbsebbs-code-2/lib/mbdiesel.c delete mode 100644 saved-mbsebbs-code-2/lib/mbfile.c delete mode 100644 saved-mbsebbs-code-2/lib/mbinet.h delete mode 100644 saved-mbsebbs-code-2/lib/mbse.h delete mode 100644 saved-mbsebbs-code-2/lib/mbsedb.h delete mode 100644 saved-mbsebbs-code-2/lib/mbselib.h delete mode 100644 saved-mbsebbs-code-2/lib/mkprod.awk delete mode 100644 saved-mbsebbs-code-2/lib/msg.c delete mode 100644 saved-mbsebbs-code-2/lib/msg.h delete mode 100644 saved-mbsebbs-code-2/lib/msgtext.c delete mode 100644 saved-mbsebbs-code-2/lib/msgtext.h delete mode 100644 saved-mbsebbs-code-2/lib/nntp.c delete mode 100644 saved-mbsebbs-code-2/lib/nodelist.c delete mode 100644 saved-mbsebbs-code-2/lib/nodelist.conf delete mode 100644 saved-mbsebbs-code-2/lib/nodelist.h delete mode 100644 saved-mbsebbs-code-2/lib/nodelock.c delete mode 100644 saved-mbsebbs-code-2/lib/noderecord.c delete mode 100644 saved-mbsebbs-code-2/lib/packet.c delete mode 100644 saved-mbsebbs-code-2/lib/parsedate.c delete mode 100644 saved-mbsebbs-code-2/lib/pidinfo.c delete mode 100644 saved-mbsebbs-code-2/lib/pktname.c delete mode 100644 saved-mbsebbs-code-2/lib/pop3.c delete mode 100644 saved-mbsebbs-code-2/lib/proglock.c delete mode 100644 saved-mbsebbs-code-2/lib/rawio.c delete mode 100644 saved-mbsebbs-code-2/lib/rearc.c delete mode 100644 saved-mbsebbs-code-2/lib/remask.c delete mode 100644 saved-mbsebbs-code-2/lib/rfcaddr.c delete mode 100644 saved-mbsebbs-code-2/lib/rfcdate.c delete mode 100644 saved-mbsebbs-code-2/lib/rfcmsg.c delete mode 100644 saved-mbsebbs-code-2/lib/sectest.c delete mode 100644 saved-mbsebbs-code-2/lib/semafore.c delete mode 100644 saved-mbsebbs-code-2/lib/signame.c delete mode 100644 saved-mbsebbs-code-2/lib/smtp.c delete mode 100644 saved-mbsebbs-code-2/lib/strcasestr.c delete mode 100644 saved-mbsebbs-code-2/lib/strutil.c delete mode 100644 saved-mbsebbs-code-2/lib/term.c delete mode 100644 saved-mbsebbs-code-2/lib/timers.c delete mode 100644 saved-mbsebbs-code-2/lib/tmpwork.c delete mode 100644 saved-mbsebbs-code-2/lib/unpacker.c delete mode 100644 saved-mbsebbs-code-2/lib/users.h delete mode 100644 saved-mbsebbs-code-2/lib/virscan.c delete mode 100644 saved-mbsebbs-code-2/mbcico/.cvsignore delete mode 100644 saved-mbsebbs-code-2/mbcico/Makefile delete mode 100644 saved-mbsebbs-code-2/mbcico/README delete mode 100644 saved-mbsebbs-code-2/mbcico/answer.c delete mode 100644 saved-mbsebbs-code-2/mbcico/answer.h delete mode 100644 saved-mbsebbs-code-2/mbcico/atoul.c delete mode 100644 saved-mbsebbs-code-2/mbcico/atoul.h delete mode 100644 saved-mbsebbs-code-2/mbcico/binkp.c delete mode 100644 saved-mbsebbs-code-2/mbcico/binkp.h delete mode 100644 saved-mbsebbs-code-2/mbcico/bopenfile.c delete mode 100644 saved-mbsebbs-code-2/mbcico/bopenfile.h delete mode 100644 saved-mbsebbs-code-2/mbcico/call.c delete mode 100644 saved-mbsebbs-code-2/mbcico/call.h delete mode 100644 saved-mbsebbs-code-2/mbcico/callstat.c delete mode 100644 saved-mbsebbs-code-2/mbcico/callstat.h delete mode 100644 saved-mbsebbs-code-2/mbcico/chat.c delete mode 100644 saved-mbsebbs-code-2/mbcico/chat.h delete mode 100644 saved-mbsebbs-code-2/mbcico/config.h delete mode 100644 saved-mbsebbs-code-2/mbcico/dial.c delete mode 100644 saved-mbsebbs-code-2/mbcico/dial.h delete mode 100644 saved-mbsebbs-code-2/mbcico/dietifna.c delete mode 100644 saved-mbsebbs-code-2/mbcico/dietifna.h delete mode 100644 saved-mbsebbs-code-2/mbcico/dirlock.c delete mode 100644 saved-mbsebbs-code-2/mbcico/dirlock.h delete mode 100644 saved-mbsebbs-code-2/mbcico/emsi.c delete mode 100644 saved-mbsebbs-code-2/mbcico/emsi.h delete mode 100644 saved-mbsebbs-code-2/mbcico/emsidat.c delete mode 100644 saved-mbsebbs-code-2/mbcico/emsidat.h delete mode 100644 saved-mbsebbs-code-2/mbcico/filelist.c delete mode 100644 saved-mbsebbs-code-2/mbcico/filelist.h delete mode 100644 saved-mbsebbs-code-2/mbcico/filetime.c delete mode 100644 saved-mbsebbs-code-2/mbcico/filetime.h delete mode 100644 saved-mbsebbs-code-2/mbcico/ftsc.c delete mode 100644 saved-mbsebbs-code-2/mbcico/ftsc.h delete mode 100644 saved-mbsebbs-code-2/mbcico/htoul.c delete mode 100644 saved-mbsebbs-code-2/mbcico/htoul.h delete mode 100644 saved-mbsebbs-code-2/mbcico/hydra.c delete mode 100644 saved-mbsebbs-code-2/mbcico/hydra.h delete mode 100644 saved-mbsebbs-code-2/mbcico/inbound.c delete mode 100644 saved-mbsebbs-code-2/mbcico/inbound.h delete mode 100644 saved-mbsebbs-code-2/mbcico/lutil.c delete mode 100644 saved-mbsebbs-code-2/mbcico/lutil.h delete mode 100644 saved-mbsebbs-code-2/mbcico/m7recv.c delete mode 100644 saved-mbsebbs-code-2/mbcico/m7recv.h delete mode 100644 saved-mbsebbs-code-2/mbcico/m7send.c delete mode 100644 saved-mbsebbs-code-2/mbcico/m7send.h delete mode 100644 saved-mbsebbs-code-2/mbcico/mbcico.c delete mode 100644 saved-mbsebbs-code-2/mbcico/mbcico.h delete mode 100644 saved-mbsebbs-code-2/mbcico/mbout.c delete mode 100644 saved-mbsebbs-code-2/mbcico/md5b.c delete mode 100644 saved-mbsebbs-code-2/mbcico/md5b.h delete mode 100644 saved-mbsebbs-code-2/mbcico/nlinfo.c delete mode 100644 saved-mbsebbs-code-2/mbcico/nlinfo.h delete mode 100644 saved-mbsebbs-code-2/mbcico/openfile.c delete mode 100644 saved-mbsebbs-code-2/mbcico/openfile.h delete mode 100644 saved-mbsebbs-code-2/mbcico/openport.c delete mode 100644 saved-mbsebbs-code-2/mbcico/openport.h delete mode 100644 saved-mbsebbs-code-2/mbcico/opentcp.c delete mode 100644 saved-mbsebbs-code-2/mbcico/opentcp.h delete mode 100644 saved-mbsebbs-code-2/mbcico/outstat.c delete mode 100644 saved-mbsebbs-code-2/mbcico/outstat.h delete mode 100644 saved-mbsebbs-code-2/mbcico/portsel.c delete mode 100644 saved-mbsebbs-code-2/mbcico/portsel.h delete mode 100644 saved-mbsebbs-code-2/mbcico/rdoptions.c delete mode 100644 saved-mbsebbs-code-2/mbcico/rdoptions.h delete mode 100644 saved-mbsebbs-code-2/mbcico/recvbark.c delete mode 100644 saved-mbsebbs-code-2/mbcico/recvbark.h delete mode 100644 saved-mbsebbs-code-2/mbcico/respfreq.c delete mode 100644 saved-mbsebbs-code-2/mbcico/respfreq.h delete mode 100644 saved-mbsebbs-code-2/mbcico/scanout.c delete mode 100644 saved-mbsebbs-code-2/mbcico/scanout.h delete mode 100644 saved-mbsebbs-code-2/mbcico/sendbark.c delete mode 100644 saved-mbsebbs-code-2/mbcico/sendbark.h delete mode 100644 saved-mbsebbs-code-2/mbcico/session.c delete mode 100644 saved-mbsebbs-code-2/mbcico/session.h delete mode 100644 saved-mbsebbs-code-2/mbcico/statetbl.h delete mode 100644 saved-mbsebbs-code-2/mbcico/tcp.c delete mode 100644 saved-mbsebbs-code-2/mbcico/tcp.h delete mode 100644 saved-mbsebbs-code-2/mbcico/tcpproto.c delete mode 100644 saved-mbsebbs-code-2/mbcico/tcpproto.h delete mode 100644 saved-mbsebbs-code-2/mbcico/telnet.c delete mode 100644 saved-mbsebbs-code-2/mbcico/telnet.h delete mode 100644 saved-mbsebbs-code-2/mbcico/ttyio.c delete mode 100644 saved-mbsebbs-code-2/mbcico/ttyio.h delete mode 100644 saved-mbsebbs-code-2/mbcico/ulock.c delete mode 100644 saved-mbsebbs-code-2/mbcico/ulock.h delete mode 100644 saved-mbsebbs-code-2/mbcico/wazoo.c delete mode 100644 saved-mbsebbs-code-2/mbcico/wazoo.h delete mode 100644 saved-mbsebbs-code-2/mbcico/xmrecv.c delete mode 100644 saved-mbsebbs-code-2/mbcico/xmrecv.h delete mode 100644 saved-mbsebbs-code-2/mbcico/xmsend.c delete mode 100644 saved-mbsebbs-code-2/mbcico/xmsend.h delete mode 100644 saved-mbsebbs-code-2/mbcico/yoohoo.c delete mode 100644 saved-mbsebbs-code-2/mbcico/yoohoo.h delete mode 100644 saved-mbsebbs-code-2/mbcico/zmmisc.c delete mode 100644 saved-mbsebbs-code-2/mbcico/zmodem.h delete mode 100644 saved-mbsebbs-code-2/mbcico/zmrecv.c delete mode 100644 saved-mbsebbs-code-2/mbcico/zmrle.c delete mode 100644 saved-mbsebbs-code-2/mbcico/zmsend.c delete mode 100644 saved-mbsebbs-code-2/mbfido/.cvsignore delete mode 100644 saved-mbsebbs-code-2/mbfido/Makefile delete mode 100644 saved-mbsebbs-code-2/mbfido/README delete mode 100644 saved-mbsebbs-code-2/mbfido/addbbs.c delete mode 100644 saved-mbsebbs-code-2/mbfido/addbbs.h delete mode 100644 saved-mbsebbs-code-2/mbfido/addpkt.c delete mode 100644 saved-mbsebbs-code-2/mbfido/addpkt.h delete mode 100644 saved-mbsebbs-code-2/mbfido/aliasdb.c delete mode 100644 saved-mbsebbs-code-2/mbfido/aliasdb.h delete mode 100644 saved-mbsebbs-code-2/mbfido/announce.c delete mode 100644 saved-mbsebbs-code-2/mbfido/announce.h delete mode 100644 saved-mbsebbs-code-2/mbfido/areamgr.c delete mode 100644 saved-mbsebbs-code-2/mbfido/areamgr.h delete mode 100644 saved-mbsebbs-code-2/mbfido/atoul.c delete mode 100644 saved-mbsebbs-code-2/mbfido/atoul.h delete mode 100644 saved-mbsebbs-code-2/mbfido/backalias.c delete mode 100644 saved-mbsebbs-code-2/mbfido/backalias.h delete mode 100644 saved-mbsebbs-code-2/mbfido/bounce.c delete mode 100644 saved-mbsebbs-code-2/mbfido/bounce.h delete mode 100644 saved-mbsebbs-code-2/mbfido/bwrite.c delete mode 100644 saved-mbsebbs-code-2/mbfido/bwrite.h delete mode 100644 saved-mbsebbs-code-2/mbfido/createf.c delete mode 100644 saved-mbsebbs-code-2/mbfido/createf.h delete mode 100644 saved-mbsebbs-code-2/mbfido/createm.c delete mode 100644 saved-mbsebbs-code-2/mbfido/createm.h delete mode 100644 saved-mbsebbs-code-2/mbfido/dirlock.c delete mode 100644 saved-mbsebbs-code-2/mbfido/dirlock.h delete mode 100644 saved-mbsebbs-code-2/mbfido/dirsession.c delete mode 100644 saved-mbsebbs-code-2/mbfido/dirsession.h delete mode 100644 saved-mbsebbs-code-2/mbfido/fflist.c delete mode 100644 saved-mbsebbs-code-2/mbfido/fflist.h delete mode 100644 saved-mbsebbs-code-2/mbfido/filefind.c delete mode 100644 saved-mbsebbs-code-2/mbfido/filefind.h delete mode 100644 saved-mbsebbs-code-2/mbfido/filemgr.c delete mode 100644 saved-mbsebbs-code-2/mbfido/filemgr.h delete mode 100644 saved-mbsebbs-code-2/mbfido/flock.c delete mode 100644 saved-mbsebbs-code-2/mbfido/flock.h delete mode 100644 saved-mbsebbs-code-2/mbfido/forward.c delete mode 100644 saved-mbsebbs-code-2/mbfido/forward.h delete mode 100644 saved-mbsebbs-code-2/mbfido/fsort.c delete mode 100644 saved-mbsebbs-code-2/mbfido/fsort.h delete mode 100644 saved-mbsebbs-code-2/mbfido/ftn2rfc.c delete mode 100644 saved-mbsebbs-code-2/mbfido/ftn2rfc.h delete mode 100644 saved-mbsebbs-code-2/mbfido/grlist.c delete mode 100644 saved-mbsebbs-code-2/mbfido/grlist.h delete mode 100644 saved-mbsebbs-code-2/mbfido/hash.c delete mode 100644 saved-mbsebbs-code-2/mbfido/hash.h delete mode 100644 saved-mbsebbs-code-2/mbfido/hatch.c delete mode 100644 saved-mbsebbs-code-2/mbfido/hatch.h delete mode 100644 saved-mbsebbs-code-2/mbfido/lhash.c delete mode 100644 saved-mbsebbs-code-2/mbfido/lhash.h delete mode 100644 saved-mbsebbs-code-2/mbfido/magic.c delete mode 100644 saved-mbsebbs-code-2/mbfido/magic.h delete mode 100644 saved-mbsebbs-code-2/mbfido/makestat.c delete mode 100644 saved-mbsebbs-code-2/mbfido/makestat.h delete mode 100644 saved-mbsebbs-code-2/mbfido/maketags.c delete mode 100644 saved-mbsebbs-code-2/mbfido/maketags.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbaff.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbaff.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbdiff.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbdiff.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfadopt.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfadopt.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfcheck.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfcheck.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfdel.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfdel.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfido.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfido.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfile.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfile.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfimport.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfimport.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfindex.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfindex.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfkill.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfkill.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbflist.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbflist.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfmove.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfmove.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfpack.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfpack.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfrearc.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfrearc.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfsort.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfsort.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbftoberep.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbftoberep.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfutil.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbfutil.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbindex.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbindex.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbmsg.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbmsg.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mbseq.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mbseq.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mgrutil.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mgrutil.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mkftnhdr.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mkftnhdr.h delete mode 100644 saved-mbsebbs-code-2/mbfido/mover.c delete mode 100644 saved-mbsebbs-code-2/mbfido/mover.h delete mode 100644 saved-mbsebbs-code-2/mbfido/msg.c delete mode 100644 saved-mbsebbs-code-2/mbfido/msg.h delete mode 100644 saved-mbsebbs-code-2/mbfido/msgflags.c delete mode 100644 saved-mbsebbs-code-2/mbfido/msgflags.h delete mode 100644 saved-mbsebbs-code-2/mbfido/msgutil.c delete mode 100644 saved-mbsebbs-code-2/mbfido/msgutil.h delete mode 100644 saved-mbsebbs-code-2/mbfido/newspost.c delete mode 100644 saved-mbsebbs-code-2/mbfido/newspost.h delete mode 100644 saved-mbsebbs-code-2/mbfido/notify.c delete mode 100644 saved-mbsebbs-code-2/mbfido/notify.h delete mode 100644 saved-mbsebbs-code-2/mbfido/orphans.c delete mode 100644 saved-mbsebbs-code-2/mbfido/orphans.h delete mode 100644 saved-mbsebbs-code-2/mbfido/ping.c delete mode 100644 saved-mbsebbs-code-2/mbfido/ping.h delete mode 100644 saved-mbsebbs-code-2/mbfido/post.c delete mode 100644 saved-mbsebbs-code-2/mbfido/post.h delete mode 100644 saved-mbsebbs-code-2/mbfido/postecho.c delete mode 100644 saved-mbsebbs-code-2/mbfido/postecho.h delete mode 100644 saved-mbsebbs-code-2/mbfido/postemail.c delete mode 100644 saved-mbsebbs-code-2/mbfido/postemail.h delete mode 100644 saved-mbsebbs-code-2/mbfido/postnetmail.c delete mode 100644 saved-mbsebbs-code-2/mbfido/postnetmail.h delete mode 100644 saved-mbsebbs-code-2/mbfido/ptic.c delete mode 100644 saved-mbsebbs-code-2/mbfido/ptic.h delete mode 100644 saved-mbsebbs-code-2/mbfido/qualify.c delete mode 100644 saved-mbsebbs-code-2/mbfido/qualify.h delete mode 100644 saved-mbsebbs-code-2/mbfido/queue.c delete mode 100644 saved-mbsebbs-code-2/mbfido/queue.h delete mode 100644 saved-mbsebbs-code-2/mbfido/rfc2ftn.c delete mode 100644 saved-mbsebbs-code-2/mbfido/rfc2ftn.h delete mode 100644 saved-mbsebbs-code-2/mbfido/rnews.c delete mode 100644 saved-mbsebbs-code-2/mbfido/rnews.h delete mode 100644 saved-mbsebbs-code-2/mbfido/rollover.c delete mode 100644 saved-mbsebbs-code-2/mbfido/rollover.h delete mode 100644 saved-mbsebbs-code-2/mbfido/scan.c delete mode 100644 saved-mbsebbs-code-2/mbfido/scan.h delete mode 100644 saved-mbsebbs-code-2/mbfido/scannews.c delete mode 100644 saved-mbsebbs-code-2/mbfido/scannews.h delete mode 100644 saved-mbsebbs-code-2/mbfido/sendmail.c delete mode 100644 saved-mbsebbs-code-2/mbfido/sendmail.h delete mode 100644 saved-mbsebbs-code-2/mbfido/storeecho.c delete mode 100644 saved-mbsebbs-code-2/mbfido/storeecho.h delete mode 100644 saved-mbsebbs-code-2/mbfido/storenet.c delete mode 100644 saved-mbsebbs-code-2/mbfido/storenet.h delete mode 100644 saved-mbsebbs-code-2/mbfido/tic.c delete mode 100644 saved-mbsebbs-code-2/mbfido/tic.h delete mode 100644 saved-mbsebbs-code-2/mbfido/toberep.c delete mode 100644 saved-mbsebbs-code-2/mbfido/toberep.h delete mode 100644 saved-mbsebbs-code-2/mbfido/tosspkt.c delete mode 100644 saved-mbsebbs-code-2/mbfido/tosspkt.h delete mode 100644 saved-mbsebbs-code-2/mbfido/tracker.c delete mode 100644 saved-mbsebbs-code-2/mbfido/tracker.h delete mode 100644 saved-mbsebbs-code-2/mbfido/unpack.c delete mode 100644 saved-mbsebbs-code-2/mbfido/unpack.h delete mode 100644 saved-mbsebbs-code-2/mbfido/utic.c delete mode 100644 saved-mbsebbs-code-2/mbfido/utic.h delete mode 100644 saved-mbsebbs-code-2/mbmon/.cvsignore delete mode 100644 saved-mbsebbs-code-2/mbmon/Makefile delete mode 100644 saved-mbsebbs-code-2/mbmon/mbmon.c delete mode 100644 saved-mbsebbs-code-2/mbmon/mbmon.c~ delete mode 100644 saved-mbsebbs-code-2/mbmon/mbmon.h delete mode 100644 saved-mbsebbs-code-2/mbmon/mutil.c delete mode 100644 saved-mbsebbs-code-2/mbmon/mutil.h delete mode 100644 saved-mbsebbs-code-2/mbmon/proglock.c delete mode 100644 saved-mbsebbs-code-2/mbmon/proglock.h delete mode 100644 saved-mbsebbs-code-2/mbnntp/.cvsignore delete mode 100644 saved-mbsebbs-code-2/mbnntp/Makefile delete mode 100644 saved-mbsebbs-code-2/mbnntp/atoul.c delete mode 100644 saved-mbsebbs-code-2/mbnntp/atoul.h delete mode 100644 saved-mbsebbs-code-2/mbnntp/auth.c delete mode 100644 saved-mbsebbs-code-2/mbnntp/auth.h delete mode 100644 saved-mbsebbs-code-2/mbnntp/commands.c delete mode 100644 saved-mbsebbs-code-2/mbnntp/commands.h delete mode 100644 saved-mbsebbs-code-2/mbnntp/hash.c delete mode 100644 saved-mbsebbs-code-2/mbnntp/hash.h delete mode 100644 saved-mbsebbs-code-2/mbnntp/lhash.c delete mode 100644 saved-mbsebbs-code-2/mbnntp/lhash.h delete mode 100644 saved-mbsebbs-code-2/mbnntp/mbnntp.c delete mode 100644 saved-mbsebbs-code-2/mbnntp/mbnntp.h delete mode 100644 saved-mbsebbs-code-2/mbnntp/mkftnhdr.c delete mode 100644 saved-mbsebbs-code-2/mbnntp/mkftnhdr.h delete mode 100644 saved-mbsebbs-code-2/mbnntp/msgflags.c delete mode 100644 saved-mbsebbs-code-2/mbnntp/msgflags.h delete mode 100644 saved-mbsebbs-code-2/mbnntp/openport.c delete mode 100644 saved-mbsebbs-code-2/mbnntp/openport.h delete mode 100644 saved-mbsebbs-code-2/mbnntp/rfc2ftn.c delete mode 100644 saved-mbsebbs-code-2/mbnntp/rfc2ftn.h delete mode 100644 saved-mbsebbs-code-2/mbnntp/ttyio.c delete mode 100644 saved-mbsebbs-code-2/mbnntp/ttyio.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/.cvsignore delete mode 100644 saved-mbsebbs-code-2/mbsebbs/Makefile delete mode 100644 saved-mbsebbs-code-2/mbsebbs/bye.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/bye.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/change.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/change.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/chat.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/chat.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/dispfile.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/dispfile.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/door.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/door.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/email.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/email.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/exitinfo.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/exitinfo.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/file.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/file.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/filesub.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/filesub.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/fsedit.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/fsedit.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/funcs.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/funcs.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/input.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/input.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/language.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/language.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/lastcallers.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/lastcallers.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/logentry.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/logentry.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/mail.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/mail.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/mbnewusr.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/mbnewusr.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/mbsebbs.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/mbsebbs.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/menu.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/menu.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/mib.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/mib.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/misc.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/misc.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/morefile.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/morefile.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/msgutil.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/msgutil.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/newuser.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/newuser.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/offline.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/offline.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/oneline.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/oneline.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/openport.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/openport.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/page.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/page.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/pinfo.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/pinfo.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/pop3.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/pop3.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/signature.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/signature.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/term.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/term.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/timecheck.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/timecheck.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/timeout.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/timeout.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/timestats.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/timestats.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/transfer.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/transfer.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/ttyio.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/ttyio.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/user.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/user.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/userlist.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/userlist.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/whoson.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/whoson.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/ymrecv.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/ymrecv.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/ymsend.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/ymsend.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/zmmisc.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/zmmisc.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/zmrecv.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/zmrecv.h delete mode 100644 saved-mbsebbs-code-2/mbsebbs/zmsend.c delete mode 100644 saved-mbsebbs-code-2/mbsebbs/zmsend.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/.cvsignore delete mode 100644 saved-mbsebbs-code-2/mbsetup/Makefile delete mode 100644 saved-mbsebbs-code-2/mbsetup/grlist.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/grlist.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/ledit.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/ledit.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_archive.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_archive.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_bbs.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_bbs.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_domain.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_domain.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_farea.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_farea.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_fdb.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_fdb.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_ff.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_ff.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_fgroup.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_fgroup.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_fido.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_fido.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_global.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_global.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_hatch.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_hatch.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_ibc.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_ibc.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_lang.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_lang.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_limits.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_limits.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_magic.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_magic.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_mail.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_mail.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_marea.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_marea.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_menu.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_menu.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_mgroup.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_mgroup.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_modem.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_modem.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_new.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_new.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_ngroup.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_ngroup.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_node.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_node.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_ol.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_ol.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_protocol.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_protocol.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_route.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_route.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_service.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_service.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_task.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_task.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_tic.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_tic.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_ticarea.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_ticarea.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_tty.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_tty.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_users.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_users.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_virus.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/m_virus.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/mbsetup.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/mbsetup.c~ delete mode 100644 saved-mbsebbs-code-2/mbsetup/mutil.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/mutil.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/screen.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/screen.h delete mode 100644 saved-mbsebbs-code-2/mbsetup/stlist.c delete mode 100644 saved-mbsebbs-code-2/mbsetup/stlist.h delete mode 100644 saved-mbsebbs-code-2/mbtask/.cvsignore delete mode 100644 saved-mbsebbs-code-2/mbtask/Makefile delete mode 100644 saved-mbsebbs-code-2/mbtask/calllist.c delete mode 100644 saved-mbsebbs-code-2/mbtask/calllist.h delete mode 100644 saved-mbsebbs-code-2/mbtask/callstat.c delete mode 100644 saved-mbsebbs-code-2/mbtask/callstat.h delete mode 100644 saved-mbsebbs-code-2/mbtask/crc.c delete mode 100644 saved-mbsebbs-code-2/mbtask/issue delete mode 100644 saved-mbsebbs-code-2/mbtask/issue.netbsd delete mode 100644 saved-mbsebbs-code-2/mbtask/mbtask.c delete mode 100644 saved-mbsebbs-code-2/mbtask/mbtask.h delete mode 100644 saved-mbsebbs-code-2/mbtask/outstat.c delete mode 100644 saved-mbsebbs-code-2/mbtask/outstat.h delete mode 100644 saved-mbsebbs-code-2/mbtask/pidinfo.c delete mode 100644 saved-mbsebbs-code-2/mbtask/ping.c delete mode 100644 saved-mbsebbs-code-2/mbtask/ping.h delete mode 100644 saved-mbsebbs-code-2/mbtask/ports.c delete mode 100644 saved-mbsebbs-code-2/mbtask/ports.h delete mode 100644 saved-mbsebbs-code-2/mbtask/scanout.c delete mode 100644 saved-mbsebbs-code-2/mbtask/scanout.h delete mode 100644 saved-mbsebbs-code-2/mbtask/signame.c delete mode 100644 saved-mbsebbs-code-2/mbtask/signame.h delete mode 100644 saved-mbsebbs-code-2/mbtask/taskchat.c delete mode 100644 saved-mbsebbs-code-2/mbtask/taskchat.h delete mode 100644 saved-mbsebbs-code-2/mbtask/taskcomm.c delete mode 100644 saved-mbsebbs-code-2/mbtask/taskcomm.h delete mode 100644 saved-mbsebbs-code-2/mbtask/taskdisk.c delete mode 100644 saved-mbsebbs-code-2/mbtask/taskdisk.h delete mode 100644 saved-mbsebbs-code-2/mbtask/taskibc.c delete mode 100644 saved-mbsebbs-code-2/mbtask/taskibc.h delete mode 100644 saved-mbsebbs-code-2/mbtask/taskinfo.c delete mode 100644 saved-mbsebbs-code-2/mbtask/taskinfo.h delete mode 100644 saved-mbsebbs-code-2/mbtask/taskregs.c delete mode 100644 saved-mbsebbs-code-2/mbtask/taskregs.h delete mode 100644 saved-mbsebbs-code-2/mbtask/taskstat.c delete mode 100644 saved-mbsebbs-code-2/mbtask/taskstat.h delete mode 100644 saved-mbsebbs-code-2/mbtask/taskutil.c delete mode 100644 saved-mbsebbs-code-2/mbtask/taskutil.h delete mode 100644 saved-mbsebbs-code-2/mbutils/.cvsignore delete mode 100644 saved-mbsebbs-code-2/mbutils/Makefile delete mode 100644 saved-mbsebbs-code-2/mbutils/dlcount.c delete mode 100644 saved-mbsebbs-code-2/mbutils/dlcount.h delete mode 100644 saved-mbsebbs-code-2/mbutils/mball.c delete mode 100644 saved-mbsebbs-code-2/mbutils/mball.h delete mode 100644 saved-mbsebbs-code-2/mbutils/mbbw.c delete mode 100644 saved-mbsebbs-code-2/mbutils/mblang.c delete mode 100644 saved-mbsebbs-code-2/mbutils/mbsnmp.c delete mode 100644 saved-mbsebbs-code-2/mbutils/mbsnmp.h delete mode 100644 saved-mbsebbs-code-2/mbutils/mbstat.c delete mode 100644 saved-mbsebbs-code-2/mbutils/mbstat.h delete mode 100644 saved-mbsebbs-code-2/mbutils/mbtoberep.c delete mode 100644 saved-mbsebbs-code-2/mbutils/mbuser.c delete mode 100644 saved-mbsebbs-code-2/mbutils/mbuser.h delete mode 100644 saved-mbsebbs-code-2/paths.h.in delete mode 100644 saved-mbsebbs-code-2/script/.cvsignore delete mode 100644 saved-mbsebbs-code-2/script/Makefile delete mode 100644 saved-mbsebbs-code-2/script/README delete mode 100644 saved-mbsebbs-code-2/script/bbsdoor.sh delete mode 100644 saved-mbsebbs-code-2/script/bbsjmacsrc delete mode 100644 saved-mbsebbs-code-2/script/bbsjoerc delete mode 100644 saved-mbsebbs-code-2/script/doors.bat delete mode 100644 saved-mbsebbs-code-2/script/editor.in delete mode 100644 saved-mbsebbs-code-2/script/hatch delete mode 100644 saved-mbsebbs-code-2/script/init.Arch delete mode 100644 saved-mbsebbs-code-2/script/init.Debian delete mode 100644 saved-mbsebbs-code-2/script/init.FreeBSD delete mode 100644 saved-mbsebbs-code-2/script/init.Gentoo delete mode 100644 saved-mbsebbs-code-2/script/init.NetBSD delete mode 100644 saved-mbsebbs-code-2/script/init.OpenBSD delete mode 100644 saved-mbsebbs-code-2/script/init.RedHat delete mode 100644 saved-mbsebbs-code-2/script/init.Slackware delete mode 100644 saved-mbsebbs-code-2/script/init.SuSE delete mode 100644 saved-mbsebbs-code-2/script/installinit.sh delete mode 100644 saved-mbsebbs-code-2/script/maint delete mode 100644 saved-mbsebbs-code-2/script/mbsedos delete mode 100644 saved-mbsebbs-code-2/script/midnight delete mode 100644 saved-mbsebbs-code-2/script/monthly delete mode 100644 saved-mbsebbs-code-2/script/rundoor.sh delete mode 100644 saved-mbsebbs-code-2/script/runvirtual.sh delete mode 100644 saved-mbsebbs-code-2/script/setup.mbse delete mode 100644 saved-mbsebbs-code-2/script/weekly delete mode 100644 saved-mbsebbs-code-2/unix/.cvsignore delete mode 100644 saved-mbsebbs-code-2/unix/Makefile delete mode 100644 saved-mbsebbs-code-2/unix/basename.c delete mode 100644 saved-mbsebbs-code-2/unix/basename.h delete mode 100644 saved-mbsebbs-code-2/unix/chowntty.c delete mode 100644 saved-mbsebbs-code-2/unix/chowntty.h delete mode 100644 saved-mbsebbs-code-2/unix/commonio.c delete mode 100644 saved-mbsebbs-code-2/unix/commonio.h delete mode 100644 saved-mbsebbs-code-2/unix/encrypt.c delete mode 100644 saved-mbsebbs-code-2/unix/encrypt.h delete mode 100644 saved-mbsebbs-code-2/unix/env.c delete mode 100644 saved-mbsebbs-code-2/unix/env.h delete mode 100644 saved-mbsebbs-code-2/unix/getdef.c delete mode 100644 saved-mbsebbs-code-2/unix/getdef.h delete mode 100644 saved-mbsebbs-code-2/unix/limits.c delete mode 100644 saved-mbsebbs-code-2/unix/limits.h delete mode 100644 saved-mbsebbs-code-2/unix/log.c delete mode 100644 saved-mbsebbs-code-2/unix/log.h delete mode 100644 saved-mbsebbs-code-2/unix/login.defs.in delete mode 100644 saved-mbsebbs-code-2/unix/loginprompt.c delete mode 100644 saved-mbsebbs-code-2/unix/loginprompt.h delete mode 100644 saved-mbsebbs-code-2/unix/mblogin.c delete mode 100644 saved-mbsebbs-code-2/unix/mblogin.h delete mode 100644 saved-mbsebbs-code-2/unix/mbpasswd.c delete mode 100644 saved-mbsebbs-code-2/unix/mbpasswd.h delete mode 100644 saved-mbsebbs-code-2/unix/mbuseradd.c delete mode 100644 saved-mbsebbs-code-2/unix/mbuseradd.h delete mode 100644 saved-mbsebbs-code-2/unix/myname.c delete mode 100644 saved-mbsebbs-code-2/unix/myname.h delete mode 100644 saved-mbsebbs-code-2/unix/putpwent.c delete mode 100644 saved-mbsebbs-code-2/unix/putpwent.h delete mode 100644 saved-mbsebbs-code-2/unix/pw_util.c delete mode 100644 saved-mbsebbs-code-2/unix/pw_util.h delete mode 100644 saved-mbsebbs-code-2/unix/pwauth.c delete mode 100644 saved-mbsebbs-code-2/unix/pwauth.h delete mode 100644 saved-mbsebbs-code-2/unix/pwdcheck.c delete mode 100644 saved-mbsebbs-code-2/unix/pwdcheck.h delete mode 100644 saved-mbsebbs-code-2/unix/pwio.c delete mode 100644 saved-mbsebbs-code-2/unix/pwio.h delete mode 100644 saved-mbsebbs-code-2/unix/rad64.c delete mode 100644 saved-mbsebbs-code-2/unix/rad64.h delete mode 100644 saved-mbsebbs-code-2/unix/salt.c delete mode 100644 saved-mbsebbs-code-2/unix/salt.h delete mode 100644 saved-mbsebbs-code-2/unix/setugid.c delete mode 100644 saved-mbsebbs-code-2/unix/setugid.h delete mode 100644 saved-mbsebbs-code-2/unix/setupenv.c delete mode 100644 saved-mbsebbs-code-2/unix/setupenv.h delete mode 100644 saved-mbsebbs-code-2/unix/sgetpwent.c delete mode 100644 saved-mbsebbs-code-2/unix/sgetpwent.h delete mode 100644 saved-mbsebbs-code-2/unix/shadowio.c delete mode 100644 saved-mbsebbs-code-2/unix/shadowio.h delete mode 100644 saved-mbsebbs-code-2/unix/shell.c delete mode 100644 saved-mbsebbs-code-2/unix/shell.h delete mode 100644 saved-mbsebbs-code-2/unix/sub.c delete mode 100644 saved-mbsebbs-code-2/unix/sub.h delete mode 100644 saved-mbsebbs-code-2/unix/utmp.c delete mode 100644 saved-mbsebbs-code-2/unix/utmp.h delete mode 100644 saved-mbsebbs-code-2/unix/xmalloc.c delete mode 100644 saved-mbsebbs-code-2/unix/xmalloc.h delete mode 100644 saved-mbsebbs-code/ChangeLog delete mode 100644 saved-mbsebbs-code/docs/mbse-1.pdf diff --git a/mbsebbs-code/AUTHORS b/master/AUTHORS similarity index 91% rename from mbsebbs-code/AUTHORS rename to master/AUTHORS index abdd9df2..3e456abc 100644 --- a/mbsebbs-code/AUTHORS +++ b/master/AUTHORS @@ -1,19 +1,22 @@ MBSE BBS AUTHORS. -$Id: AUTHORS,v 1.29 2007/08/22 21:14:38 mbse Exp $ +$Id: AUTHORS,v 1.29 2015/11/03 21:05:00 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 +Andrew Leary 1:320/219@fidonet +Vincent Coen vbcoen@gmail.com 2:250/1@fidonet +RJ Clay 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. +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 Joaquim Homrighausen joho@abs.lu Andrew Milner andrew@fido.lu Mats Wallin mw@fido.lu @@ -40,7 +43,6 @@ NERvOus nervous@nervous.it Bobby Cabral bobbyc@digitelone.com Johannes Beekhuizen 2:280/1018@fidonet Lukas De Groen 2:280/1027@fidonet -Vincent Coen vbcoen@gmail.com 2:250/1@fidonet Joachim Kuwan 2:249/591@fidonet Greek greek@voyager.nnov.ru Sergey Nechaev 2:5015/53@fidonet @@ -57,4 +59,3 @@ val khokhlov 2:550/180@fidonet Robert Wolfe 1:2613/4307@fidonet Alan Ianson Simon Voortman 2:280/1049.1@fidonet -Andrew Leary 1:320/219@fidonet diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/COPYING b/master/COPYING similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/COPYING rename to master/COPYING diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/CRON.sh b/master/CRON.sh similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/CRON.sh rename to master/CRON.sh diff --git a/mbsebbs-code/ChangeLog b/master/ChangeLog similarity index 100% rename from mbsebbs-code/ChangeLog rename to master/ChangeLog diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_1998 b/master/ChangeLog_1998 similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_1998 rename to master/ChangeLog_1998 diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_1999 b/master/ChangeLog_1999 similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_1999 rename to master/ChangeLog_1999 diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_2000 b/master/ChangeLog_2000 similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_2000 rename to master/ChangeLog_2000 diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_2001 b/master/ChangeLog_2001 similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_2001 rename to master/ChangeLog_2001 diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_2002 b/master/ChangeLog_2002 similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_2002 rename to master/ChangeLog_2002 diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_2003 b/master/ChangeLog_2003 similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_2003 rename to master/ChangeLog_2003 diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_2004 b/master/ChangeLog_2004 similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_2004 rename to master/ChangeLog_2004 diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_2005 b/master/ChangeLog_2005 similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_2005 rename to master/ChangeLog_2005 diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_2006 b/master/ChangeLog_2006 similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_2006 rename to master/ChangeLog_2006 diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_2007 b/master/ChangeLog_2007 similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog_2007 rename to master/ChangeLog_2007 diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/DEBUG b/master/DEBUG similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/DEBUG rename to master/DEBUG diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/FILE_ID.DIZ.in b/master/FILE_ID.DIZ.in similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/FILE_ID.DIZ.in rename to master/FILE_ID.DIZ.in diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/INSTALL.in b/master/INSTALL.in similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/INSTALL.in rename to master/INSTALL.in diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/Makefile b/master/Makefile similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/Makefile rename to master/Makefile diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/Makefile.global.in b/master/Makefile.global.in similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/Makefile.global.in rename to master/Makefile.global.in diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/NEWS b/master/NEWS similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/NEWS rename to master/NEWS diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/README b/master/README similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/README rename to master/README diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/README.Gentoo b/master/README.Gentoo similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/README.Gentoo rename to master/README.Gentoo diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/README.Ubuntu b/master/README.Ubuntu similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/README.Ubuntu rename to master/README.Ubuntu diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/README.developer b/master/README.developer similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/README.developer rename to master/README.developer diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/SETUP.sh b/master/SETUP.sh similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/SETUP.sh rename to master/SETUP.sh diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/TODO b/master/TODO similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/TODO rename to master/TODO diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/UPGRADE b/master/UPGRADE similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/UPGRADE rename to master/UPGRADE diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/aclocal.m4 b/master/aclocal.m4 similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/aclocal.m4 rename to master/aclocal.m4 diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/checkbasic b/master/checkbasic similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/checkbasic rename to master/checkbasic diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/config.h.in b/master/config.h.in similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/config.h.in rename to master/config.h.in diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/configure b/master/configure similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/configure rename to master/configure diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/configure.ac b/master/configure.ac similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/configure.ac rename to master/configure.ac diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/cpuflags b/master/cpuflags similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/cpuflags rename to master/cpuflags diff --git a/mbsebbs-code/docs/mbse-1.pdf b/master/docs/mbse-1.pdf similarity index 100% rename from mbsebbs-code/docs/mbse-1.pdf rename to master/docs/mbse-1.pdf diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/.cvsignore b/master/examples/.cvsignore similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/.cvsignore rename to master/examples/.cvsignore diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/Makefile b/master/examples/Makefile similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/Makefile rename to master/examples/Makefile diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/footer.txt b/master/examples/footer.txt similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/footer.txt rename to master/examples/footer.txt diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/header.txt b/master/examples/header.txt similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/header.txt rename to master/examples/header.txt diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/menus-de.tar b/master/examples/menus-de.tar similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/menus-de.tar rename to master/examples/menus-de.tar diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/menus-en.tar b/master/examples/menus-en.tar similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/menus-en.tar rename to master/examples/menus-en.tar diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/menus-es.tar b/master/examples/menus-es.tar similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/menus-es.tar rename to master/examples/menus-es.tar diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/templates-de.tar b/master/examples/templates-de.tar similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/templates-de.tar rename to master/examples/templates-de.tar diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/templates-en.tar b/master/examples/templates-en.tar similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/templates-en.tar rename to master/examples/templates-en.tar diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/templates-es.tar b/master/examples/templates-es.tar similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/templates-es.tar rename to master/examples/templates-es.tar diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/templates-nl.tar b/master/examples/templates-nl.tar similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/templates-nl.tar rename to master/examples/templates-nl.tar diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/txtfiles-de.tar b/master/examples/txtfiles-de.tar similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/txtfiles-de.tar rename to master/examples/txtfiles-de.tar diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/txtfiles-en.tar b/master/examples/txtfiles-en.tar similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/txtfiles-en.tar rename to master/examples/txtfiles-en.tar diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/txtfiles-es.tar b/master/examples/txtfiles-es.tar similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/examples/txtfiles-es.tar rename to master/examples/txtfiles-es.tar diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/.cvsignore b/master/html/.cvsignore similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/.cvsignore rename to master/html/.cvsignore diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/Makefile b/master/html/Makefile similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/Makefile rename to master/html/Makefile diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/basic.html.in b/master/html/basic.html.in similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/basic.html.in rename to master/html/basic.html.in diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/dist.html b/master/html/dist.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/dist.html rename to master/html/dist.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/doors.html b/master/html/doors.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/doors.html rename to master/html/doors.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/errcodes.html b/master/html/errcodes.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/errcodes.html rename to master/html/errcodes.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/faq.html b/master/html/faq.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/faq.html rename to master/html/faq.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/flow.html b/master/html/flow.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/flow.html rename to master/html/flow.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/ftsc/index.htm b/master/html/ftsc/index.htm similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/ftsc/index.htm rename to master/html/ftsc/index.htm diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/ftsc/index.html b/master/html/ftsc/index.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/ftsc/index.html rename to master/html/ftsc/index.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/b_arrow.png b/master/html/images/b_arrow.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/b_arrow.png rename to master/html/images/b_arrow.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/connec.png b/master/html/images/connec.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/connec.png rename to master/html/images/connec.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/domains.png b/master/html/images/domains.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/domains.png rename to master/html/images/domains.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/doors.png b/master/html/images/doors.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/doors.png rename to master/html/images/doors.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/doors2.png b/master/html/images/doors2.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/doors2.png rename to master/html/images/doors2.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/dream1.png b/master/html/images/dream1.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/dream1.png rename to master/html/images/dream1.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/dream2.png b/master/html/images/dream2.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/dream2.png rename to master/html/images/dream2.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/dream3.png b/master/html/images/dream3.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/dream3.png rename to master/html/images/dream3.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/e_menu.png b/master/html/images/e_menu.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/e_menu.png rename to master/html/images/e_menu.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/emareas.png b/master/html/images/emareas.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/emareas.png rename to master/html/images/emareas.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/emgroup.png b/master/html/images/emgroup.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/emgroup.png rename to master/html/images/emgroup.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/fdb.png b/master/html/images/fdb.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/fdb.png rename to master/html/images/fdb.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/fegroup.png b/master/html/images/fegroup.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/fegroup.png rename to master/html/images/fegroup.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/fileecho.png b/master/html/images/fileecho.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/fileecho.png rename to master/html/images/fileecho.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/filefind.png b/master/html/images/filefind.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/filefind.png rename to master/html/images/filefind.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/files.png b/master/html/images/files.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/files.png rename to master/html/images/files.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/go_to.png b/master/html/images/go_to.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/go_to.png rename to master/html/images/go_to.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/hand.up.png b/master/html/images/hand.up.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/hand.up.png rename to master/html/images/hand.up.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/hatch.png b/master/html/images/hatch.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/hatch.png rename to master/html/images/hatch.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/language.png b/master/html/images/language.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/language.png rename to master/html/images/language.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/larrow.png b/master/html/images/larrow.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/larrow.png rename to master/html/images/larrow.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/magic.png b/master/html/images/magic.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/magic.png rename to master/html/images/magic.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbmon1-tn.png b/master/html/images/mbmon1-tn.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbmon1-tn.png rename to master/html/images/mbmon1-tn.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbmon1.png b/master/html/images/mbmon1.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbmon1.png rename to master/html/images/mbmon1.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbmon2-tn.png b/master/html/images/mbmon2-tn.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbmon2-tn.png rename to master/html/images/mbmon2-tn.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbmon2.png b/master/html/images/mbmon2.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbmon2.png rename to master/html/images/mbmon2.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbse.png b/master/html/images/mbse.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbse.png rename to master/html/images/mbse.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbsebbs-s.png b/master/html/images/mbsebbs-s.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbsebbs-s.png rename to master/html/images/mbsebbs-s.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbsebbs.png b/master/html/images/mbsebbs.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbsebbs.png rename to master/html/images/mbsebbs.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbsetup0.png b/master/html/images/mbsetup0.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbsetup0.png rename to master/html/images/mbsetup0.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbsetup1.6.S.png b/master/html/images/mbsetup1.6.S.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbsetup1.6.S.png rename to master/html/images/mbsetup1.6.S.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbsetup1.6.png b/master/html/images/mbsetup1.6.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbsetup1.6.png rename to master/html/images/mbsetup1.6.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbsetup2.png b/master/html/images/mbsetup2.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/mbsetup2.png rename to master/html/images/mbsetup2.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/modems0.png b/master/html/images/modems0.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/modems0.png rename to master/html/images/modems0.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/newfiles.png b/master/html/images/newfiles.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/newfiles.png rename to master/html/images/newfiles.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/newgroups.png b/master/html/images/newgroups.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/newgroups.png rename to master/html/images/newgroups.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodelist.png b/master/html/images/nodelist.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodelist.png rename to master/html/images/nodelist.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodelist1.png b/master/html/images/nodelist1.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodelist1.png rename to master/html/images/nodelist1.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodelist2.png b/master/html/images/nodelist2.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodelist2.png rename to master/html/images/nodelist2.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodelist3.png b/master/html/images/nodelist3.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodelist3.png rename to master/html/images/nodelist3.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodelist4.png b/master/html/images/nodelist4.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodelist4.png rename to master/html/images/nodelist4.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodelist5.png b/master/html/images/nodelist5.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodelist5.png rename to master/html/images/nodelist5.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes1.png b/master/html/images/nodes1.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes1.png rename to master/html/images/nodes1.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes10.png b/master/html/images/nodes10.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes10.png rename to master/html/images/nodes10.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes11.png b/master/html/images/nodes11.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes11.png rename to master/html/images/nodes11.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes2.png b/master/html/images/nodes2.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes2.png rename to master/html/images/nodes2.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes3.png b/master/html/images/nodes3.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes3.png rename to master/html/images/nodes3.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes4.png b/master/html/images/nodes4.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes4.png rename to master/html/images/nodes4.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes5.png b/master/html/images/nodes5.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes5.png rename to master/html/images/nodes5.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes6.png b/master/html/images/nodes6.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes6.png rename to master/html/images/nodes6.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes7.png b/master/html/images/nodes7.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes7.png rename to master/html/images/nodes7.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes8.png b/master/html/images/nodes8.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes8.png rename to master/html/images/nodes8.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes9.png b/master/html/images/nodes9.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/nodes9.png rename to master/html/images/nodes9.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/oneliner.png b/master/html/images/oneliner.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/oneliner.png rename to master/html/images/oneliner.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/protocol.png b/master/html/images/protocol.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/protocol.png rename to master/html/images/protocol.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/rarrow.png b/master/html/images/rarrow.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/rarrow.png rename to master/html/images/rarrow.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/route1.png b/master/html/images/route1.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/route1.png rename to master/html/images/route1.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/route2.png b/master/html/images/route2.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/route2.png rename to master/html/images/route2.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/security.png b/master/html/images/security.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/security.png rename to master/html/images/security.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/taskmgr.png b/master/html/images/taskmgr.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/taskmgr.png rename to master/html/images/taskmgr.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/tdream1.png b/master/html/images/tdream1.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/tdream1.png rename to master/html/images/tdream1.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/tdream2.png b/master/html/images/tdream2.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/tdream2.png rename to master/html/images/tdream2.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/tdream3.png b/master/html/images/tdream3.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/tdream3.png rename to master/html/images/tdream3.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/tty.png b/master/html/images/tty.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/tty.png rename to master/html/images/tty.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/tty1.png b/master/html/images/tty1.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/tty1.png rename to master/html/images/tty1.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/tty2.png b/master/html/images/tty2.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/tty2.png rename to master/html/images/tty2.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/uarrow.png b/master/html/images/uarrow.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/uarrow.png rename to master/html/images/uarrow.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/users.png b/master/html/images/users.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/users.png rename to master/html/images/users.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/users2.png b/master/html/images/users2.png similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/images/users2.png rename to master/html/images/users2.png diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/index.htm.in b/master/html/index.htm.in similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/index.htm.in rename to master/html/index.htm.in diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/index.html.in b/master/html/index.html.in similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/index.html.in rename to master/html/index.html.in diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/intergate.html b/master/html/intergate.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/intergate.html rename to master/html/intergate.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/intro.html b/master/html/intro.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/intro.html rename to master/html/intro.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/invoking.html b/master/html/invoking.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/invoking.html rename to master/html/invoking.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/known_bugs.html b/master/html/known_bugs.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/known_bugs.html rename to master/html/known_bugs.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/license/copying.html b/master/html/license/copying.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/license/copying.html rename to master/html/license/copying.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/license/hydracom.html b/master/html/license/hydracom.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/license/hydracom.html rename to master/html/license/hydracom.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/license/index.htm b/master/html/license/index.htm similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/license/index.htm rename to master/html/license/index.htm diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/license/index.html b/master/html/license/index.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/license/index.html rename to master/html/license/index.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/license/jam.html b/master/html/license/jam.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/license/jam.html rename to master/html/license/jam.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/manual.css b/master/html/manual.css similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/manual.css rename to master/html/manual.css diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/menus/control.html b/master/html/menus/control.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/menus/control.html rename to master/html/menus/control.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/menus/index.htm b/master/html/menus/index.htm similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/menus/index.htm rename to master/html/menus/index.htm diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/menus/index.html b/master/html/menus/index.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/menus/index.html rename to master/html/menus/index.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/menus/menu0.html b/master/html/menus/menu0.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/menus/menu0.html rename to master/html/menus/menu0.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/menus/menu100.html b/master/html/menus/menu100.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/menus/menu100.html rename to master/html/menus/menu100.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/menus/menu200.html b/master/html/menus/menu200.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/menus/menu200.html rename to master/html/menus/menu200.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/menus/menu300.html b/master/html/menus/menu300.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/menus/menu300.html rename to master/html/menus/menu300.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/menus/menu400.html b/master/html/menus/menu400.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/menus/menu400.html rename to master/html/menus/menu400.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/menus/menu500.html b/master/html/menus/menu500.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/menus/menu500.html rename to master/html/menus/menu500.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/mgetty.html b/master/html/mgetty.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/mgetty.html rename to master/html/mgetty.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/dropfile.html b/master/html/misc/dropfile.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/dropfile.html rename to master/html/misc/dropfile.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/filefind.html b/master/html/misc/filefind.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/filefind.html rename to master/html/misc/filefind.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/fileid.html b/master/html/misc/fileid.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/fileid.html rename to master/html/misc/fileid.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/ftpserver.html b/master/html/misc/ftpserver.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/ftpserver.html rename to master/html/misc/ftpserver.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/index.htm b/master/html/misc/index.htm similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/index.htm rename to master/html/misc/index.htm diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/index.html b/master/html/misc/index.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/index.html rename to master/html/misc/index.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/ipmailer.html b/master/html/misc/ipmailer.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/ipmailer.html rename to master/html/misc/ipmailer.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/jam.html b/master/html/misc/jam.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/jam.html rename to master/html/misc/jam.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/outbound.html b/master/html/misc/outbound.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/outbound.html rename to master/html/misc/outbound.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/semafore.html b/master/html/misc/semafore.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/semafore.html rename to master/html/misc/semafore.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/usleep.html b/master/html/misc/usleep.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/usleep.html rename to master/html/misc/usleep.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/webserver.html b/master/html/misc/webserver.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/misc/webserver.html rename to master/html/misc/webserver.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/nodelist.html b/master/html/nodelist.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/nodelist.html rename to master/html/nodelist.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/postfix.html b/master/html/postfix.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/postfix.html rename to master/html/postfix.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/index.htm b/master/html/programs/index.htm similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/index.htm rename to master/html/programs/index.htm diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/index.html b/master/html/programs/index.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/index.html rename to master/html/programs/index.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbaff.html b/master/html/programs/mbaff.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbaff.html rename to master/html/programs/mbaff.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mball.html b/master/html/programs/mball.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mball.html rename to master/html/programs/mball.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbcico.html b/master/html/programs/mbcico.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbcico.html rename to master/html/programs/mbcico.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbdiff.html b/master/html/programs/mbdiff.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbdiff.html rename to master/html/programs/mbdiff.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbfido.html b/master/html/programs/mbfido.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbfido.html rename to master/html/programs/mbfido.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbfile.html b/master/html/programs/mbfile.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbfile.html rename to master/html/programs/mbfile.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbindex.html b/master/html/programs/mbindex.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbindex.html rename to master/html/programs/mbindex.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mblang.html b/master/html/programs/mblang.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mblang.html rename to master/html/programs/mblang.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mblogin.html b/master/html/programs/mblogin.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mblogin.html rename to master/html/programs/mblogin.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbmon.html b/master/html/programs/mbmon.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbmon.html rename to master/html/programs/mbmon.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbmsg.html b/master/html/programs/mbmsg.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbmsg.html rename to master/html/programs/mbmsg.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbnntp.html b/master/html/programs/mbnntp.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbnntp.html rename to master/html/programs/mbnntp.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbout.html b/master/html/programs/mbout.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbout.html rename to master/html/programs/mbout.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbpasswd.html b/master/html/programs/mbpasswd.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbpasswd.html rename to master/html/programs/mbpasswd.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbsebbs.html b/master/html/programs/mbsebbs.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbsebbs.html rename to master/html/programs/mbsebbs.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbseq.html b/master/html/programs/mbseq.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbseq.html rename to master/html/programs/mbseq.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbsetup.html b/master/html/programs/mbsetup.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbsetup.html rename to master/html/programs/mbsetup.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbstat.html b/master/html/programs/mbstat.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbstat.html rename to master/html/programs/mbstat.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbtask.html b/master/html/programs/mbtask.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbtask.html rename to master/html/programs/mbtask.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbtoberep.html b/master/html/programs/mbtoberep.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbtoberep.html rename to master/html/programs/mbtoberep.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbuser.html b/master/html/programs/mbuser.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbuser.html rename to master/html/programs/mbuser.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbuseradd.html b/master/html/programs/mbuseradd.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/programs/mbuseradd.html rename to master/html/programs/mbuseradd.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/routing.html b/master/html/routing.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/routing.html rename to master/html/routing.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/archiver.html b/master/html/setup/archiver.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/archiver.html rename to master/html/setup/archiver.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/bbs.html b/master/html/setup/bbs.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/bbs.html rename to master/html/setup/bbs.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/chat.html b/master/html/setup/chat.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/chat.html rename to master/html/setup/chat.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/domains.html b/master/html/setup/domains.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/domains.html rename to master/html/setup/domains.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/emareas.html b/master/html/setup/emareas.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/emareas.html rename to master/html/setup/emareas.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/emgroup.html b/master/html/setup/emgroup.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/emgroup.html rename to master/html/setup/emgroup.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/fdb.html b/master/html/setup/fdb.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/fdb.html rename to master/html/setup/fdb.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/fegroup.html b/master/html/setup/fegroup.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/fegroup.html rename to master/html/setup/fegroup.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/fidonet.html b/master/html/setup/fidonet.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/fidonet.html rename to master/html/setup/fidonet.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/fileecho.html b/master/html/setup/fileecho.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/fileecho.html rename to master/html/setup/fileecho.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/filefind.html b/master/html/setup/filefind.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/filefind.html rename to master/html/setup/filefind.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/files.html b/master/html/setup/files.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/files.html rename to master/html/setup/files.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/global.html b/master/html/setup/global.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/global.html rename to master/html/setup/global.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/hatch.html b/master/html/setup/hatch.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/hatch.html rename to master/html/setup/hatch.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/index.htm b/master/html/setup/index.htm similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/index.htm rename to master/html/setup/index.htm diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/index.html b/master/html/setup/index.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/index.html rename to master/html/setup/index.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/language.html b/master/html/setup/language.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/language.html rename to master/html/setup/language.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/magic.html b/master/html/setup/magic.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/magic.html rename to master/html/setup/magic.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/mail.html b/master/html/setup/mail.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/mail.html rename to master/html/setup/mail.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/modems.html b/master/html/setup/modems.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/modems.html rename to master/html/setup/modems.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/newfiles.html b/master/html/setup/newfiles.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/newfiles.html rename to master/html/setup/newfiles.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/newgroups.html b/master/html/setup/newgroups.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/newgroups.html rename to master/html/setup/newgroups.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/nodes.html b/master/html/setup/nodes.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/nodes.html rename to master/html/setup/nodes.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/oneliner.html b/master/html/setup/oneliner.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/oneliner.html rename to master/html/setup/oneliner.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/protocol.html b/master/html/setup/protocol.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/protocol.html rename to master/html/setup/protocol.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/route.html b/master/html/setup/route.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/route.html rename to master/html/setup/route.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/security.html b/master/html/setup/security.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/security.html rename to master/html/setup/security.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/services.html b/master/html/setup/services.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/services.html rename to master/html/setup/services.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/sitedoc.html b/master/html/setup/sitedoc.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/sitedoc.html rename to master/html/setup/sitedoc.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/softinfo.html b/master/html/setup/softinfo.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/softinfo.html rename to master/html/setup/softinfo.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/taskmgr.html b/master/html/setup/taskmgr.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/taskmgr.html rename to master/html/setup/taskmgr.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/tic.html b/master/html/setup/tic.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/tic.html rename to master/html/setup/tic.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/ttyinfo.html b/master/html/setup/ttyinfo.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/ttyinfo.html rename to master/html/setup/ttyinfo.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/users.html b/master/html/setup/users.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/users.html rename to master/html/setup/users.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/virscan.html b/master/html/setup/virscan.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/setup/virscan.html rename to master/html/setup/virscan.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/upgrade.html.in b/master/html/upgrade.html.in similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/upgrade.html.in rename to master/html/upgrade.html.in diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/ups.html b/master/html/ups.html similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/html/ups.html rename to master/html/ups.html diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/.cvsignore b/master/lang/.cvsignore similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/.cvsignore rename to master/lang/.cvsignore diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/Language.xref b/master/lang/Language.xref similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/Language.xref rename to master/lang/Language.xref diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/Makefile b/master/lang/Makefile similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/Makefile rename to master/lang/Makefile diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/README b/master/lang/README similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/README rename to master/lang/README diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/germandu.txt b/master/lang/germandu.txt similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/germandu.txt rename to master/lang/germandu.txt diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/source.de b/master/lang/source.de similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/source.de rename to master/lang/source.de diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/source.en b/master/lang/source.en similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/source.en rename to master/lang/source.en diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/source.es b/master/lang/source.es similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/source.es rename to master/lang/source.es diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/source.fr b/master/lang/source.fr similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/source.fr rename to master/lang/source.fr diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/source.gl b/master/lang/source.gl similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/source.gl rename to master/lang/source.gl diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/source.nl b/master/lang/source.nl similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/source.nl rename to master/lang/source.nl diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/source.zh b/master/lang/source.zh similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lang/source.zh rename to master/lang/source.zh diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/.cvsignore b/master/lib/.cvsignore similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/.cvsignore rename to master/lib/.cvsignore diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/Diesel.doc b/master/lib/Diesel.doc similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/Diesel.doc rename to master/lib/Diesel.doc diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/Makefile b/master/lib/Makefile similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/Makefile rename to master/lib/Makefile diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/README b/master/lib/README similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/README rename to master/lib/README diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/README.diesel b/master/lib/README.diesel similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/README.diesel rename to master/lib/README.diesel diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/README.macro b/master/lib/README.macro similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/README.macro rename to master/lib/README.macro diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/attach.c b/master/lib/attach.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/attach.c rename to master/lib/attach.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/batchrd.c b/master/lib/batchrd.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/batchrd.c rename to master/lib/batchrd.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/bluewave.h b/master/lib/bluewave.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/bluewave.h rename to master/lib/bluewave.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/charset.c b/master/lib/charset.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/charset.c rename to master/lib/charset.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/clcomm.c b/master/lib/clcomm.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/clcomm.c rename to master/lib/clcomm.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/client.c b/master/lib/client.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/client.c rename to master/lib/client.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/crc.c b/master/lib/crc.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/crc.c rename to master/lib/crc.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/dbcfg.c b/master/lib/dbcfg.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/dbcfg.c rename to master/lib/dbcfg.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/dbdupe.c b/master/lib/dbdupe.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/dbdupe.c rename to master/lib/dbdupe.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/dbfdb.c b/master/lib/dbfdb.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/dbfdb.c rename to master/lib/dbfdb.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/dbftn.c b/master/lib/dbftn.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/dbftn.c rename to master/lib/dbftn.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/dbmsgs.c b/master/lib/dbmsgs.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/dbmsgs.c rename to master/lib/dbmsgs.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/dbnode.c b/master/lib/dbnode.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/dbnode.c rename to master/lib/dbnode.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/dbtic.c b/master/lib/dbtic.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/dbtic.c rename to master/lib/dbtic.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/dbuser.c b/master/lib/dbuser.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/dbuser.c rename to master/lib/dbuser.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/diesel.c b/master/lib/diesel.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/diesel.c rename to master/lib/diesel.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/diesel.h b/master/lib/diesel.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/diesel.h rename to master/lib/diesel.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/dostran.c b/master/lib/dostran.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/dostran.c rename to master/lib/dostran.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/endian.c b/master/lib/endian.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/endian.c rename to master/lib/endian.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/execute.c b/master/lib/execute.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/execute.c rename to master/lib/execute.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/expipe.c b/master/lib/expipe.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/expipe.c rename to master/lib/expipe.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/faddr.c b/master/lib/faddr.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/faddr.c rename to master/lib/faddr.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/falists.c b/master/lib/falists.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/falists.c rename to master/lib/falists.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/ftn.c b/master/lib/ftn.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/ftn.c rename to master/lib/ftn.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/ftnmsg.c b/master/lib/ftnmsg.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/ftnmsg.c rename to master/lib/ftnmsg.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/ftscprod.010 b/master/lib/ftscprod.010 similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/ftscprod.010 rename to master/lib/ftscprod.010 diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/ftscprod.016 b/master/lib/ftscprod.016 similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/ftscprod.016 rename to master/lib/ftscprod.016 diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/getheader.c b/master/lib/getheader.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/getheader.c rename to master/lib/getheader.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/gmtoffset.c b/master/lib/gmtoffset.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/gmtoffset.c rename to master/lib/gmtoffset.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/hdr.c b/master/lib/hdr.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/hdr.c rename to master/lib/hdr.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/jam.h b/master/lib/jam.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/jam.h rename to master/lib/jam.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/jammsg.c b/master/lib/jammsg.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/jammsg.c rename to master/lib/jammsg.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/jammsg.h b/master/lib/jammsg.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/jammsg.h rename to master/lib/jammsg.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/jamsys.h b/master/lib/jamsys.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/jamsys.h rename to master/lib/jamsys.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/magic.c b/master/lib/magic.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/magic.c rename to master/lib/magic.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/mangle.c b/master/lib/mangle.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/mangle.c rename to master/lib/mangle.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/mbdiesel.c b/master/lib/mbdiesel.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/mbdiesel.c rename to master/lib/mbdiesel.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/mbfile.c b/master/lib/mbfile.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/mbfile.c rename to master/lib/mbfile.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/mbinet.h b/master/lib/mbinet.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/mbinet.h rename to master/lib/mbinet.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/mbse.h b/master/lib/mbse.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/mbse.h rename to master/lib/mbse.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/mbsedb.h b/master/lib/mbsedb.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/mbsedb.h rename to master/lib/mbsedb.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/mbselib.h b/master/lib/mbselib.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/mbselib.h rename to master/lib/mbselib.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/mkprod.awk b/master/lib/mkprod.awk similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/mkprod.awk rename to master/lib/mkprod.awk diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/msg.c b/master/lib/msg.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/msg.c rename to master/lib/msg.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/msg.h b/master/lib/msg.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/msg.h rename to master/lib/msg.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/msgtext.c b/master/lib/msgtext.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/msgtext.c rename to master/lib/msgtext.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/msgtext.h b/master/lib/msgtext.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/msgtext.h rename to master/lib/msgtext.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/nntp.c b/master/lib/nntp.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/nntp.c rename to master/lib/nntp.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/nodelist.c b/master/lib/nodelist.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/nodelist.c rename to master/lib/nodelist.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/nodelist.conf b/master/lib/nodelist.conf similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/nodelist.conf rename to master/lib/nodelist.conf diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/nodelist.h b/master/lib/nodelist.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/nodelist.h rename to master/lib/nodelist.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/nodelock.c b/master/lib/nodelock.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/nodelock.c rename to master/lib/nodelock.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/noderecord.c b/master/lib/noderecord.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/noderecord.c rename to master/lib/noderecord.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/packet.c b/master/lib/packet.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/packet.c rename to master/lib/packet.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/parsedate.c b/master/lib/parsedate.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/parsedate.c rename to master/lib/parsedate.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/pidinfo.c b/master/lib/pidinfo.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/pidinfo.c rename to master/lib/pidinfo.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/pktname.c b/master/lib/pktname.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/pktname.c rename to master/lib/pktname.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/pop3.c b/master/lib/pop3.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/pop3.c rename to master/lib/pop3.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/proglock.c b/master/lib/proglock.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/proglock.c rename to master/lib/proglock.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/rawio.c b/master/lib/rawio.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/rawio.c rename to master/lib/rawio.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/rearc.c b/master/lib/rearc.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/rearc.c rename to master/lib/rearc.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/remask.c b/master/lib/remask.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/remask.c rename to master/lib/remask.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/rfcaddr.c b/master/lib/rfcaddr.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/rfcaddr.c rename to master/lib/rfcaddr.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/rfcdate.c b/master/lib/rfcdate.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/rfcdate.c rename to master/lib/rfcdate.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/rfcmsg.c b/master/lib/rfcmsg.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/rfcmsg.c rename to master/lib/rfcmsg.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/sectest.c b/master/lib/sectest.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/sectest.c rename to master/lib/sectest.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/semafore.c b/master/lib/semafore.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/semafore.c rename to master/lib/semafore.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/signame.c b/master/lib/signame.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/signame.c rename to master/lib/signame.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/smtp.c b/master/lib/smtp.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/smtp.c rename to master/lib/smtp.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/strcasestr.c b/master/lib/strcasestr.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/strcasestr.c rename to master/lib/strcasestr.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/strutil.c b/master/lib/strutil.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/strutil.c rename to master/lib/strutil.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/term.c b/master/lib/term.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/term.c rename to master/lib/term.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/timers.c b/master/lib/timers.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/timers.c rename to master/lib/timers.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/tmpwork.c b/master/lib/tmpwork.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/tmpwork.c rename to master/lib/tmpwork.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/unpacker.c b/master/lib/unpacker.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/unpacker.c rename to master/lib/unpacker.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/users.h b/master/lib/users.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/users.h rename to master/lib/users.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/virscan.c b/master/lib/virscan.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/lib/virscan.c rename to master/lib/virscan.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/.cvsignore b/master/mbcico/.cvsignore similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/.cvsignore rename to master/mbcico/.cvsignore diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/Makefile b/master/mbcico/Makefile similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/Makefile rename to master/mbcico/Makefile diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/README b/master/mbcico/README similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/README rename to master/mbcico/README diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/answer.c b/master/mbcico/answer.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/answer.c rename to master/mbcico/answer.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/answer.h b/master/mbcico/answer.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/answer.h rename to master/mbcico/answer.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/atoul.c b/master/mbcico/atoul.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/atoul.c rename to master/mbcico/atoul.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/atoul.h b/master/mbcico/atoul.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/atoul.h rename to master/mbcico/atoul.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/binkp.c b/master/mbcico/binkp.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/binkp.c rename to master/mbcico/binkp.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/binkp.h b/master/mbcico/binkp.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/binkp.h rename to master/mbcico/binkp.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/bopenfile.c b/master/mbcico/bopenfile.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/bopenfile.c rename to master/mbcico/bopenfile.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/bopenfile.h b/master/mbcico/bopenfile.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/bopenfile.h rename to master/mbcico/bopenfile.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/call.c b/master/mbcico/call.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/call.c rename to master/mbcico/call.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/call.h b/master/mbcico/call.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/call.h rename to master/mbcico/call.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/callstat.c b/master/mbcico/callstat.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/callstat.c rename to master/mbcico/callstat.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/callstat.h b/master/mbcico/callstat.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/callstat.h rename to master/mbcico/callstat.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/chat.c b/master/mbcico/chat.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/chat.c rename to master/mbcico/chat.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/chat.h b/master/mbcico/chat.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/chat.h rename to master/mbcico/chat.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/config.h b/master/mbcico/config.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/config.h rename to master/mbcico/config.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/dial.c b/master/mbcico/dial.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/dial.c rename to master/mbcico/dial.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/dial.h b/master/mbcico/dial.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/dial.h rename to master/mbcico/dial.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/dietifna.c b/master/mbcico/dietifna.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/dietifna.c rename to master/mbcico/dietifna.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/dietifna.h b/master/mbcico/dietifna.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/dietifna.h rename to master/mbcico/dietifna.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/dirlock.c b/master/mbcico/dirlock.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/dirlock.c rename to master/mbcico/dirlock.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/dirlock.h b/master/mbcico/dirlock.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/dirlock.h rename to master/mbcico/dirlock.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/emsi.c b/master/mbcico/emsi.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/emsi.c rename to master/mbcico/emsi.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/emsi.h b/master/mbcico/emsi.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/emsi.h rename to master/mbcico/emsi.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/emsidat.c b/master/mbcico/emsidat.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/emsidat.c rename to master/mbcico/emsidat.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/emsidat.h b/master/mbcico/emsidat.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/emsidat.h rename to master/mbcico/emsidat.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/filelist.c b/master/mbcico/filelist.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/filelist.c rename to master/mbcico/filelist.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/filelist.h b/master/mbcico/filelist.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/filelist.h rename to master/mbcico/filelist.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/filetime.c b/master/mbcico/filetime.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/filetime.c rename to master/mbcico/filetime.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/filetime.h b/master/mbcico/filetime.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/filetime.h rename to master/mbcico/filetime.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/ftsc.c b/master/mbcico/ftsc.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/ftsc.c rename to master/mbcico/ftsc.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/ftsc.h b/master/mbcico/ftsc.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/ftsc.h rename to master/mbcico/ftsc.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/htoul.c b/master/mbcico/htoul.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/htoul.c rename to master/mbcico/htoul.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/htoul.h b/master/mbcico/htoul.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/htoul.h rename to master/mbcico/htoul.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/hydra.c b/master/mbcico/hydra.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/hydra.c rename to master/mbcico/hydra.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/hydra.h b/master/mbcico/hydra.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/hydra.h rename to master/mbcico/hydra.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/inbound.c b/master/mbcico/inbound.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/inbound.c rename to master/mbcico/inbound.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/inbound.h b/master/mbcico/inbound.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/inbound.h rename to master/mbcico/inbound.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/lutil.c b/master/mbcico/lutil.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/lutil.c rename to master/mbcico/lutil.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/lutil.h b/master/mbcico/lutil.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/lutil.h rename to master/mbcico/lutil.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/m7recv.c b/master/mbcico/m7recv.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/m7recv.c rename to master/mbcico/m7recv.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/m7recv.h b/master/mbcico/m7recv.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/m7recv.h rename to master/mbcico/m7recv.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/m7send.c b/master/mbcico/m7send.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/m7send.c rename to master/mbcico/m7send.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/m7send.h b/master/mbcico/m7send.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/m7send.h rename to master/mbcico/m7send.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/mbcico.c b/master/mbcico/mbcico.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/mbcico.c rename to master/mbcico/mbcico.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/mbcico.h b/master/mbcico/mbcico.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/mbcico.h rename to master/mbcico/mbcico.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/mbout.c b/master/mbcico/mbout.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/mbout.c rename to master/mbcico/mbout.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/md5b.c b/master/mbcico/md5b.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/md5b.c rename to master/mbcico/md5b.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/md5b.h b/master/mbcico/md5b.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/md5b.h rename to master/mbcico/md5b.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/nlinfo.c b/master/mbcico/nlinfo.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/nlinfo.c rename to master/mbcico/nlinfo.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/nlinfo.h b/master/mbcico/nlinfo.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/nlinfo.h rename to master/mbcico/nlinfo.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/openfile.c b/master/mbcico/openfile.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/openfile.c rename to master/mbcico/openfile.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/openfile.h b/master/mbcico/openfile.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/openfile.h rename to master/mbcico/openfile.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/openport.c b/master/mbcico/openport.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/openport.c rename to master/mbcico/openport.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/openport.h b/master/mbcico/openport.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/openport.h rename to master/mbcico/openport.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/opentcp.c b/master/mbcico/opentcp.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/opentcp.c rename to master/mbcico/opentcp.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/opentcp.h b/master/mbcico/opentcp.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/opentcp.h rename to master/mbcico/opentcp.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/outstat.c b/master/mbcico/outstat.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/outstat.c rename to master/mbcico/outstat.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/outstat.h b/master/mbcico/outstat.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/outstat.h rename to master/mbcico/outstat.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/portsel.c b/master/mbcico/portsel.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/portsel.c rename to master/mbcico/portsel.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/portsel.h b/master/mbcico/portsel.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/portsel.h rename to master/mbcico/portsel.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/rdoptions.c b/master/mbcico/rdoptions.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/rdoptions.c rename to master/mbcico/rdoptions.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/rdoptions.h b/master/mbcico/rdoptions.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/rdoptions.h rename to master/mbcico/rdoptions.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/recvbark.c b/master/mbcico/recvbark.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/recvbark.c rename to master/mbcico/recvbark.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/recvbark.h b/master/mbcico/recvbark.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/recvbark.h rename to master/mbcico/recvbark.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/respfreq.c b/master/mbcico/respfreq.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/respfreq.c rename to master/mbcico/respfreq.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/respfreq.h b/master/mbcico/respfreq.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/respfreq.h rename to master/mbcico/respfreq.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/scanout.c b/master/mbcico/scanout.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/scanout.c rename to master/mbcico/scanout.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/scanout.h b/master/mbcico/scanout.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/scanout.h rename to master/mbcico/scanout.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/sendbark.c b/master/mbcico/sendbark.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/sendbark.c rename to master/mbcico/sendbark.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/sendbark.h b/master/mbcico/sendbark.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/sendbark.h rename to master/mbcico/sendbark.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/session.c b/master/mbcico/session.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/session.c rename to master/mbcico/session.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/session.h b/master/mbcico/session.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/session.h rename to master/mbcico/session.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/statetbl.h b/master/mbcico/statetbl.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/statetbl.h rename to master/mbcico/statetbl.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/tcp.c b/master/mbcico/tcp.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/tcp.c rename to master/mbcico/tcp.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/tcp.h b/master/mbcico/tcp.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/tcp.h rename to master/mbcico/tcp.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/tcpproto.c b/master/mbcico/tcpproto.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/tcpproto.c rename to master/mbcico/tcpproto.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/tcpproto.h b/master/mbcico/tcpproto.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/tcpproto.h rename to master/mbcico/tcpproto.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/telnet.c b/master/mbcico/telnet.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/telnet.c rename to master/mbcico/telnet.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/telnet.h b/master/mbcico/telnet.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/telnet.h rename to master/mbcico/telnet.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/ttyio.c b/master/mbcico/ttyio.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/ttyio.c rename to master/mbcico/ttyio.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/ttyio.h b/master/mbcico/ttyio.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/ttyio.h rename to master/mbcico/ttyio.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/ulock.c b/master/mbcico/ulock.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/ulock.c rename to master/mbcico/ulock.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/ulock.h b/master/mbcico/ulock.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/ulock.h rename to master/mbcico/ulock.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/wazoo.c b/master/mbcico/wazoo.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/wazoo.c rename to master/mbcico/wazoo.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/wazoo.h b/master/mbcico/wazoo.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/wazoo.h rename to master/mbcico/wazoo.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/xmrecv.c b/master/mbcico/xmrecv.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/xmrecv.c rename to master/mbcico/xmrecv.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/xmrecv.h b/master/mbcico/xmrecv.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/xmrecv.h rename to master/mbcico/xmrecv.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/xmsend.c b/master/mbcico/xmsend.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/xmsend.c rename to master/mbcico/xmsend.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/xmsend.h b/master/mbcico/xmsend.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/xmsend.h rename to master/mbcico/xmsend.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/yoohoo.c b/master/mbcico/yoohoo.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/yoohoo.c rename to master/mbcico/yoohoo.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/yoohoo.h b/master/mbcico/yoohoo.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/yoohoo.h rename to master/mbcico/yoohoo.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/zmmisc.c b/master/mbcico/zmmisc.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/zmmisc.c rename to master/mbcico/zmmisc.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/zmodem.h b/master/mbcico/zmodem.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/zmodem.h rename to master/mbcico/zmodem.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/zmrecv.c b/master/mbcico/zmrecv.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/zmrecv.c rename to master/mbcico/zmrecv.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/zmrle.c b/master/mbcico/zmrle.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/zmrle.c rename to master/mbcico/zmrle.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/zmsend.c b/master/mbcico/zmsend.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbcico/zmsend.c rename to master/mbcico/zmsend.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/.cvsignore b/master/mbfido/.cvsignore similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/.cvsignore rename to master/mbfido/.cvsignore diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/Makefile b/master/mbfido/Makefile similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/Makefile rename to master/mbfido/Makefile diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/README b/master/mbfido/README similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/README rename to master/mbfido/README diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/addbbs.c b/master/mbfido/addbbs.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/addbbs.c rename to master/mbfido/addbbs.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/addbbs.h b/master/mbfido/addbbs.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/addbbs.h rename to master/mbfido/addbbs.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/addpkt.c b/master/mbfido/addpkt.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/addpkt.c rename to master/mbfido/addpkt.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/addpkt.h b/master/mbfido/addpkt.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/addpkt.h rename to master/mbfido/addpkt.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/aliasdb.c b/master/mbfido/aliasdb.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/aliasdb.c rename to master/mbfido/aliasdb.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/aliasdb.h b/master/mbfido/aliasdb.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/aliasdb.h rename to master/mbfido/aliasdb.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/announce.c b/master/mbfido/announce.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/announce.c rename to master/mbfido/announce.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/announce.h b/master/mbfido/announce.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/announce.h rename to master/mbfido/announce.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/areamgr.c b/master/mbfido/areamgr.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/areamgr.c rename to master/mbfido/areamgr.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/areamgr.h b/master/mbfido/areamgr.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/areamgr.h rename to master/mbfido/areamgr.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/atoul.c b/master/mbfido/atoul.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/atoul.c rename to master/mbfido/atoul.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/atoul.h b/master/mbfido/atoul.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/atoul.h rename to master/mbfido/atoul.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/backalias.c b/master/mbfido/backalias.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/backalias.c rename to master/mbfido/backalias.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/backalias.h b/master/mbfido/backalias.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/backalias.h rename to master/mbfido/backalias.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/bounce.c b/master/mbfido/bounce.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/bounce.c rename to master/mbfido/bounce.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/bounce.h b/master/mbfido/bounce.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/bounce.h rename to master/mbfido/bounce.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/bwrite.c b/master/mbfido/bwrite.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/bwrite.c rename to master/mbfido/bwrite.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/bwrite.h b/master/mbfido/bwrite.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/bwrite.h rename to master/mbfido/bwrite.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/createf.c b/master/mbfido/createf.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/createf.c rename to master/mbfido/createf.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/createf.h b/master/mbfido/createf.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/createf.h rename to master/mbfido/createf.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/createm.c b/master/mbfido/createm.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/createm.c rename to master/mbfido/createm.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/createm.h b/master/mbfido/createm.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/createm.h rename to master/mbfido/createm.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/dirlock.c b/master/mbfido/dirlock.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/dirlock.c rename to master/mbfido/dirlock.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/dirlock.h b/master/mbfido/dirlock.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/dirlock.h rename to master/mbfido/dirlock.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/dirsession.c b/master/mbfido/dirsession.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/dirsession.c rename to master/mbfido/dirsession.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/dirsession.h b/master/mbfido/dirsession.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/dirsession.h rename to master/mbfido/dirsession.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/fflist.c b/master/mbfido/fflist.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/fflist.c rename to master/mbfido/fflist.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/fflist.h b/master/mbfido/fflist.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/fflist.h rename to master/mbfido/fflist.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/filefind.c b/master/mbfido/filefind.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/filefind.c rename to master/mbfido/filefind.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/filefind.h b/master/mbfido/filefind.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/filefind.h rename to master/mbfido/filefind.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/filemgr.c b/master/mbfido/filemgr.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/filemgr.c rename to master/mbfido/filemgr.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/filemgr.h b/master/mbfido/filemgr.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/filemgr.h rename to master/mbfido/filemgr.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/flock.c b/master/mbfido/flock.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/flock.c rename to master/mbfido/flock.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/flock.h b/master/mbfido/flock.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/flock.h rename to master/mbfido/flock.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/forward.c b/master/mbfido/forward.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/forward.c rename to master/mbfido/forward.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/forward.h b/master/mbfido/forward.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/forward.h rename to master/mbfido/forward.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/fsort.c b/master/mbfido/fsort.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/fsort.c rename to master/mbfido/fsort.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/fsort.h b/master/mbfido/fsort.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/fsort.h rename to master/mbfido/fsort.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/ftn2rfc.c b/master/mbfido/ftn2rfc.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/ftn2rfc.c rename to master/mbfido/ftn2rfc.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/ftn2rfc.h b/master/mbfido/ftn2rfc.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/ftn2rfc.h rename to master/mbfido/ftn2rfc.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/grlist.c b/master/mbfido/grlist.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/grlist.c rename to master/mbfido/grlist.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/grlist.h b/master/mbfido/grlist.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/grlist.h rename to master/mbfido/grlist.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/hash.c b/master/mbfido/hash.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/hash.c rename to master/mbfido/hash.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/hash.h b/master/mbfido/hash.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/hash.h rename to master/mbfido/hash.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/hatch.c b/master/mbfido/hatch.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/hatch.c rename to master/mbfido/hatch.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/hatch.h b/master/mbfido/hatch.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/hatch.h rename to master/mbfido/hatch.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/lhash.c b/master/mbfido/lhash.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/lhash.c rename to master/mbfido/lhash.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/lhash.h b/master/mbfido/lhash.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/lhash.h rename to master/mbfido/lhash.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/magic.c b/master/mbfido/magic.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/magic.c rename to master/mbfido/magic.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/magic.h b/master/mbfido/magic.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/magic.h rename to master/mbfido/magic.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/makestat.c b/master/mbfido/makestat.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/makestat.c rename to master/mbfido/makestat.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/makestat.h b/master/mbfido/makestat.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/makestat.h rename to master/mbfido/makestat.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/maketags.c b/master/mbfido/maketags.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/maketags.c rename to master/mbfido/maketags.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/maketags.h b/master/mbfido/maketags.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/maketags.h rename to master/mbfido/maketags.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbaff.c b/master/mbfido/mbaff.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbaff.c rename to master/mbfido/mbaff.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbaff.h b/master/mbfido/mbaff.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbaff.h rename to master/mbfido/mbaff.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbdiff.c b/master/mbfido/mbdiff.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbdiff.c rename to master/mbfido/mbdiff.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbdiff.h b/master/mbfido/mbdiff.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbdiff.h rename to master/mbfido/mbdiff.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfadopt.c b/master/mbfido/mbfadopt.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfadopt.c rename to master/mbfido/mbfadopt.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfadopt.h b/master/mbfido/mbfadopt.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfadopt.h rename to master/mbfido/mbfadopt.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfcheck.c b/master/mbfido/mbfcheck.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfcheck.c rename to master/mbfido/mbfcheck.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfcheck.h b/master/mbfido/mbfcheck.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfcheck.h rename to master/mbfido/mbfcheck.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfdel.c b/master/mbfido/mbfdel.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfdel.c rename to master/mbfido/mbfdel.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfdel.h b/master/mbfido/mbfdel.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfdel.h rename to master/mbfido/mbfdel.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfido.c b/master/mbfido/mbfido.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfido.c rename to master/mbfido/mbfido.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfido.h b/master/mbfido/mbfido.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfido.h rename to master/mbfido/mbfido.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfile.c b/master/mbfido/mbfile.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfile.c rename to master/mbfido/mbfile.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfile.h b/master/mbfido/mbfile.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfile.h rename to master/mbfido/mbfile.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfimport.c b/master/mbfido/mbfimport.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfimport.c rename to master/mbfido/mbfimport.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfimport.h b/master/mbfido/mbfimport.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfimport.h rename to master/mbfido/mbfimport.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfindex.c b/master/mbfido/mbfindex.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfindex.c rename to master/mbfido/mbfindex.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfindex.h b/master/mbfido/mbfindex.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfindex.h rename to master/mbfido/mbfindex.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfkill.c b/master/mbfido/mbfkill.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfkill.c rename to master/mbfido/mbfkill.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfkill.h b/master/mbfido/mbfkill.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfkill.h rename to master/mbfido/mbfkill.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbflist.c b/master/mbfido/mbflist.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbflist.c rename to master/mbfido/mbflist.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbflist.h b/master/mbfido/mbflist.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbflist.h rename to master/mbfido/mbflist.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfmove.c b/master/mbfido/mbfmove.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfmove.c rename to master/mbfido/mbfmove.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfmove.h b/master/mbfido/mbfmove.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfmove.h rename to master/mbfido/mbfmove.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfpack.c b/master/mbfido/mbfpack.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfpack.c rename to master/mbfido/mbfpack.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfpack.h b/master/mbfido/mbfpack.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfpack.h rename to master/mbfido/mbfpack.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfrearc.c b/master/mbfido/mbfrearc.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfrearc.c rename to master/mbfido/mbfrearc.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfrearc.h b/master/mbfido/mbfrearc.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfrearc.h rename to master/mbfido/mbfrearc.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfsort.c b/master/mbfido/mbfsort.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfsort.c rename to master/mbfido/mbfsort.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfsort.h b/master/mbfido/mbfsort.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfsort.h rename to master/mbfido/mbfsort.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbftoberep.c b/master/mbfido/mbftoberep.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbftoberep.c rename to master/mbfido/mbftoberep.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbftoberep.h b/master/mbfido/mbftoberep.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbftoberep.h rename to master/mbfido/mbftoberep.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfutil.c b/master/mbfido/mbfutil.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfutil.c rename to master/mbfido/mbfutil.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfutil.h b/master/mbfido/mbfutil.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbfutil.h rename to master/mbfido/mbfutil.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbindex.c b/master/mbfido/mbindex.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbindex.c rename to master/mbfido/mbindex.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbindex.h b/master/mbfido/mbindex.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbindex.h rename to master/mbfido/mbindex.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbmsg.c b/master/mbfido/mbmsg.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbmsg.c rename to master/mbfido/mbmsg.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbmsg.h b/master/mbfido/mbmsg.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbmsg.h rename to master/mbfido/mbmsg.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbseq.c b/master/mbfido/mbseq.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbseq.c rename to master/mbfido/mbseq.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbseq.h b/master/mbfido/mbseq.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mbseq.h rename to master/mbfido/mbseq.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mgrutil.c b/master/mbfido/mgrutil.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mgrutil.c rename to master/mbfido/mgrutil.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mgrutil.h b/master/mbfido/mgrutil.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mgrutil.h rename to master/mbfido/mgrutil.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mkftnhdr.c b/master/mbfido/mkftnhdr.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mkftnhdr.c rename to master/mbfido/mkftnhdr.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mkftnhdr.h b/master/mbfido/mkftnhdr.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mkftnhdr.h rename to master/mbfido/mkftnhdr.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mover.c b/master/mbfido/mover.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mover.c rename to master/mbfido/mover.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mover.h b/master/mbfido/mover.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/mover.h rename to master/mbfido/mover.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/msg.c b/master/mbfido/msg.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/msg.c rename to master/mbfido/msg.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/msg.h b/master/mbfido/msg.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/msg.h rename to master/mbfido/msg.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/msgflags.c b/master/mbfido/msgflags.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/msgflags.c rename to master/mbfido/msgflags.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/msgflags.h b/master/mbfido/msgflags.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/msgflags.h rename to master/mbfido/msgflags.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/msgutil.c b/master/mbfido/msgutil.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/msgutil.c rename to master/mbfido/msgutil.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/msgutil.h b/master/mbfido/msgutil.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/msgutil.h rename to master/mbfido/msgutil.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/newspost.c b/master/mbfido/newspost.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/newspost.c rename to master/mbfido/newspost.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/newspost.h b/master/mbfido/newspost.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/newspost.h rename to master/mbfido/newspost.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/notify.c b/master/mbfido/notify.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/notify.c rename to master/mbfido/notify.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/notify.h b/master/mbfido/notify.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/notify.h rename to master/mbfido/notify.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/orphans.c b/master/mbfido/orphans.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/orphans.c rename to master/mbfido/orphans.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/orphans.h b/master/mbfido/orphans.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/orphans.h rename to master/mbfido/orphans.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/ping.c b/master/mbfido/ping.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/ping.c rename to master/mbfido/ping.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/ping.h b/master/mbfido/ping.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/ping.h rename to master/mbfido/ping.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/post.c b/master/mbfido/post.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/post.c rename to master/mbfido/post.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/post.h b/master/mbfido/post.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/post.h rename to master/mbfido/post.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/postecho.c b/master/mbfido/postecho.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/postecho.c rename to master/mbfido/postecho.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/postecho.h b/master/mbfido/postecho.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/postecho.h rename to master/mbfido/postecho.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/postemail.c b/master/mbfido/postemail.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/postemail.c rename to master/mbfido/postemail.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/postemail.h b/master/mbfido/postemail.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/postemail.h rename to master/mbfido/postemail.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/postnetmail.c b/master/mbfido/postnetmail.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/postnetmail.c rename to master/mbfido/postnetmail.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/postnetmail.h b/master/mbfido/postnetmail.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/postnetmail.h rename to master/mbfido/postnetmail.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/ptic.c b/master/mbfido/ptic.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/ptic.c rename to master/mbfido/ptic.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/ptic.h b/master/mbfido/ptic.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/ptic.h rename to master/mbfido/ptic.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/qualify.c b/master/mbfido/qualify.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/qualify.c rename to master/mbfido/qualify.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/qualify.h b/master/mbfido/qualify.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/qualify.h rename to master/mbfido/qualify.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/queue.c b/master/mbfido/queue.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/queue.c rename to master/mbfido/queue.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/queue.h b/master/mbfido/queue.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/queue.h rename to master/mbfido/queue.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/rfc2ftn.c b/master/mbfido/rfc2ftn.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/rfc2ftn.c rename to master/mbfido/rfc2ftn.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/rfc2ftn.h b/master/mbfido/rfc2ftn.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/rfc2ftn.h rename to master/mbfido/rfc2ftn.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/rnews.c b/master/mbfido/rnews.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/rnews.c rename to master/mbfido/rnews.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/rnews.h b/master/mbfido/rnews.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/rnews.h rename to master/mbfido/rnews.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/rollover.c b/master/mbfido/rollover.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/rollover.c rename to master/mbfido/rollover.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/rollover.h b/master/mbfido/rollover.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/rollover.h rename to master/mbfido/rollover.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/scan.c b/master/mbfido/scan.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/scan.c rename to master/mbfido/scan.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/scan.h b/master/mbfido/scan.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/scan.h rename to master/mbfido/scan.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/scannews.c b/master/mbfido/scannews.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/scannews.c rename to master/mbfido/scannews.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/scannews.h b/master/mbfido/scannews.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/scannews.h rename to master/mbfido/scannews.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/sendmail.c b/master/mbfido/sendmail.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/sendmail.c rename to master/mbfido/sendmail.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/sendmail.h b/master/mbfido/sendmail.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/sendmail.h rename to master/mbfido/sendmail.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/storeecho.c b/master/mbfido/storeecho.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/storeecho.c rename to master/mbfido/storeecho.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/storeecho.h b/master/mbfido/storeecho.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/storeecho.h rename to master/mbfido/storeecho.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/storenet.c b/master/mbfido/storenet.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/storenet.c rename to master/mbfido/storenet.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/storenet.h b/master/mbfido/storenet.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/storenet.h rename to master/mbfido/storenet.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/tic.c b/master/mbfido/tic.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/tic.c rename to master/mbfido/tic.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/tic.h b/master/mbfido/tic.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/tic.h rename to master/mbfido/tic.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/toberep.c b/master/mbfido/toberep.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/toberep.c rename to master/mbfido/toberep.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/toberep.h b/master/mbfido/toberep.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/toberep.h rename to master/mbfido/toberep.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/tosspkt.c b/master/mbfido/tosspkt.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/tosspkt.c rename to master/mbfido/tosspkt.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/tosspkt.h b/master/mbfido/tosspkt.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/tosspkt.h rename to master/mbfido/tosspkt.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/tracker.c b/master/mbfido/tracker.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/tracker.c rename to master/mbfido/tracker.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/tracker.h b/master/mbfido/tracker.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/tracker.h rename to master/mbfido/tracker.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/unpack.c b/master/mbfido/unpack.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/unpack.c rename to master/mbfido/unpack.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/unpack.h b/master/mbfido/unpack.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/unpack.h rename to master/mbfido/unpack.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/utic.c b/master/mbfido/utic.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/utic.c rename to master/mbfido/utic.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/utic.h b/master/mbfido/utic.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbfido/utic.h rename to master/mbfido/utic.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbmon/.cvsignore b/master/mbmon/.cvsignore similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbmon/.cvsignore rename to master/mbmon/.cvsignore diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbmon/Makefile b/master/mbmon/Makefile similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbmon/Makefile rename to master/mbmon/Makefile diff --git a/mbsebbs-code/mbmon/mbmon.c b/master/mbmon/mbmon.c similarity index 100% rename from mbsebbs-code/mbmon/mbmon.c rename to master/mbmon/mbmon.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbmon/mbmon.h b/master/mbmon/mbmon.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbmon/mbmon.h rename to master/mbmon/mbmon.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbmon/mutil.c b/master/mbmon/mutil.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbmon/mutil.c rename to master/mbmon/mutil.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbmon/mutil.h b/master/mbmon/mutil.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbmon/mutil.h rename to master/mbmon/mutil.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbmon/proglock.c b/master/mbmon/proglock.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbmon/proglock.c rename to master/mbmon/proglock.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbmon/proglock.h b/master/mbmon/proglock.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbmon/proglock.h rename to master/mbmon/proglock.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/.cvsignore b/master/mbnntp/.cvsignore similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/.cvsignore rename to master/mbnntp/.cvsignore diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/Makefile b/master/mbnntp/Makefile similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/Makefile rename to master/mbnntp/Makefile diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/atoul.c b/master/mbnntp/atoul.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/atoul.c rename to master/mbnntp/atoul.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/atoul.h b/master/mbnntp/atoul.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/atoul.h rename to master/mbnntp/atoul.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/auth.c b/master/mbnntp/auth.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/auth.c rename to master/mbnntp/auth.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/auth.h b/master/mbnntp/auth.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/auth.h rename to master/mbnntp/auth.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/commands.c b/master/mbnntp/commands.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/commands.c rename to master/mbnntp/commands.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/commands.h b/master/mbnntp/commands.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/commands.h rename to master/mbnntp/commands.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/hash.c b/master/mbnntp/hash.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/hash.c rename to master/mbnntp/hash.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/hash.h b/master/mbnntp/hash.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/hash.h rename to master/mbnntp/hash.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/lhash.c b/master/mbnntp/lhash.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/lhash.c rename to master/mbnntp/lhash.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/lhash.h b/master/mbnntp/lhash.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/lhash.h rename to master/mbnntp/lhash.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/mbnntp.c b/master/mbnntp/mbnntp.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/mbnntp.c rename to master/mbnntp/mbnntp.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/mbnntp.h b/master/mbnntp/mbnntp.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/mbnntp.h rename to master/mbnntp/mbnntp.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/mkftnhdr.c b/master/mbnntp/mkftnhdr.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/mkftnhdr.c rename to master/mbnntp/mkftnhdr.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/mkftnhdr.h b/master/mbnntp/mkftnhdr.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/mkftnhdr.h rename to master/mbnntp/mkftnhdr.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/msgflags.c b/master/mbnntp/msgflags.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/msgflags.c rename to master/mbnntp/msgflags.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/msgflags.h b/master/mbnntp/msgflags.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/msgflags.h rename to master/mbnntp/msgflags.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/openport.c b/master/mbnntp/openport.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/openport.c rename to master/mbnntp/openport.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/openport.h b/master/mbnntp/openport.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/openport.h rename to master/mbnntp/openport.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/rfc2ftn.c b/master/mbnntp/rfc2ftn.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/rfc2ftn.c rename to master/mbnntp/rfc2ftn.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/rfc2ftn.h b/master/mbnntp/rfc2ftn.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/rfc2ftn.h rename to master/mbnntp/rfc2ftn.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/ttyio.c b/master/mbnntp/ttyio.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/ttyio.c rename to master/mbnntp/ttyio.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/ttyio.h b/master/mbnntp/ttyio.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbnntp/ttyio.h rename to master/mbnntp/ttyio.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/.cvsignore b/master/mbsebbs/.cvsignore similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/.cvsignore rename to master/mbsebbs/.cvsignore diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/Makefile b/master/mbsebbs/Makefile similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/Makefile rename to master/mbsebbs/Makefile diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/bye.c b/master/mbsebbs/bye.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/bye.c rename to master/mbsebbs/bye.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/bye.h b/master/mbsebbs/bye.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/bye.h rename to master/mbsebbs/bye.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/change.c b/master/mbsebbs/change.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/change.c rename to master/mbsebbs/change.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/change.h b/master/mbsebbs/change.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/change.h rename to master/mbsebbs/change.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/chat.c b/master/mbsebbs/chat.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/chat.c rename to master/mbsebbs/chat.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/chat.h b/master/mbsebbs/chat.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/chat.h rename to master/mbsebbs/chat.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/dispfile.c b/master/mbsebbs/dispfile.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/dispfile.c rename to master/mbsebbs/dispfile.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/dispfile.h b/master/mbsebbs/dispfile.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/dispfile.h rename to master/mbsebbs/dispfile.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/door.c b/master/mbsebbs/door.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/door.c rename to master/mbsebbs/door.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/door.h b/master/mbsebbs/door.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/door.h rename to master/mbsebbs/door.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/email.c b/master/mbsebbs/email.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/email.c rename to master/mbsebbs/email.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/email.h b/master/mbsebbs/email.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/email.h rename to master/mbsebbs/email.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/exitinfo.c b/master/mbsebbs/exitinfo.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/exitinfo.c rename to master/mbsebbs/exitinfo.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/exitinfo.h b/master/mbsebbs/exitinfo.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/exitinfo.h rename to master/mbsebbs/exitinfo.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/file.c b/master/mbsebbs/file.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/file.c rename to master/mbsebbs/file.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/file.h b/master/mbsebbs/file.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/file.h rename to master/mbsebbs/file.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/filesub.c b/master/mbsebbs/filesub.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/filesub.c rename to master/mbsebbs/filesub.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/filesub.h b/master/mbsebbs/filesub.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/filesub.h rename to master/mbsebbs/filesub.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/fsedit.c b/master/mbsebbs/fsedit.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/fsedit.c rename to master/mbsebbs/fsedit.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/fsedit.h b/master/mbsebbs/fsedit.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/fsedit.h rename to master/mbsebbs/fsedit.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/funcs.c b/master/mbsebbs/funcs.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/funcs.c rename to master/mbsebbs/funcs.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/funcs.h b/master/mbsebbs/funcs.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/funcs.h rename to master/mbsebbs/funcs.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/input.c b/master/mbsebbs/input.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/input.c rename to master/mbsebbs/input.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/input.h b/master/mbsebbs/input.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/input.h rename to master/mbsebbs/input.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/language.c b/master/mbsebbs/language.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/language.c rename to master/mbsebbs/language.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/language.h b/master/mbsebbs/language.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/language.h rename to master/mbsebbs/language.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/lastcallers.c b/master/mbsebbs/lastcallers.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/lastcallers.c rename to master/mbsebbs/lastcallers.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/lastcallers.h b/master/mbsebbs/lastcallers.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/lastcallers.h rename to master/mbsebbs/lastcallers.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/logentry.c b/master/mbsebbs/logentry.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/logentry.c rename to master/mbsebbs/logentry.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/logentry.h b/master/mbsebbs/logentry.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/logentry.h rename to master/mbsebbs/logentry.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/mail.c b/master/mbsebbs/mail.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/mail.c rename to master/mbsebbs/mail.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/mail.h b/master/mbsebbs/mail.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/mail.h rename to master/mbsebbs/mail.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/mbnewusr.c b/master/mbsebbs/mbnewusr.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/mbnewusr.c rename to master/mbsebbs/mbnewusr.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/mbnewusr.h b/master/mbsebbs/mbnewusr.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/mbnewusr.h rename to master/mbsebbs/mbnewusr.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/mbsebbs.c b/master/mbsebbs/mbsebbs.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/mbsebbs.c rename to master/mbsebbs/mbsebbs.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/mbsebbs.h b/master/mbsebbs/mbsebbs.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/mbsebbs.h rename to master/mbsebbs/mbsebbs.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/menu.c b/master/mbsebbs/menu.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/menu.c rename to master/mbsebbs/menu.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/menu.h b/master/mbsebbs/menu.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/menu.h rename to master/mbsebbs/menu.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/mib.c b/master/mbsebbs/mib.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/mib.c rename to master/mbsebbs/mib.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/mib.h b/master/mbsebbs/mib.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/mib.h rename to master/mbsebbs/mib.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/misc.c b/master/mbsebbs/misc.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/misc.c rename to master/mbsebbs/misc.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/misc.h b/master/mbsebbs/misc.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/misc.h rename to master/mbsebbs/misc.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/morefile.c b/master/mbsebbs/morefile.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/morefile.c rename to master/mbsebbs/morefile.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/morefile.h b/master/mbsebbs/morefile.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/morefile.h rename to master/mbsebbs/morefile.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/msgutil.c b/master/mbsebbs/msgutil.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/msgutil.c rename to master/mbsebbs/msgutil.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/msgutil.h b/master/mbsebbs/msgutil.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/msgutil.h rename to master/mbsebbs/msgutil.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/newuser.c b/master/mbsebbs/newuser.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/newuser.c rename to master/mbsebbs/newuser.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/newuser.h b/master/mbsebbs/newuser.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/newuser.h rename to master/mbsebbs/newuser.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/offline.c b/master/mbsebbs/offline.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/offline.c rename to master/mbsebbs/offline.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/offline.h b/master/mbsebbs/offline.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/offline.h rename to master/mbsebbs/offline.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/oneline.c b/master/mbsebbs/oneline.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/oneline.c rename to master/mbsebbs/oneline.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/oneline.h b/master/mbsebbs/oneline.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/oneline.h rename to master/mbsebbs/oneline.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/openport.c b/master/mbsebbs/openport.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/openport.c rename to master/mbsebbs/openport.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/openport.h b/master/mbsebbs/openport.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/openport.h rename to master/mbsebbs/openport.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/page.c b/master/mbsebbs/page.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/page.c rename to master/mbsebbs/page.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/page.h b/master/mbsebbs/page.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/page.h rename to master/mbsebbs/page.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/pinfo.c b/master/mbsebbs/pinfo.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/pinfo.c rename to master/mbsebbs/pinfo.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/pinfo.h b/master/mbsebbs/pinfo.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/pinfo.h rename to master/mbsebbs/pinfo.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/pop3.c b/master/mbsebbs/pop3.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/pop3.c rename to master/mbsebbs/pop3.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/pop3.h b/master/mbsebbs/pop3.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/pop3.h rename to master/mbsebbs/pop3.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/signature.c b/master/mbsebbs/signature.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/signature.c rename to master/mbsebbs/signature.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/signature.h b/master/mbsebbs/signature.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/signature.h rename to master/mbsebbs/signature.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/term.c b/master/mbsebbs/term.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/term.c rename to master/mbsebbs/term.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/term.h b/master/mbsebbs/term.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/term.h rename to master/mbsebbs/term.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/timecheck.c b/master/mbsebbs/timecheck.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/timecheck.c rename to master/mbsebbs/timecheck.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/timecheck.h b/master/mbsebbs/timecheck.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/timecheck.h rename to master/mbsebbs/timecheck.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/timeout.c b/master/mbsebbs/timeout.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/timeout.c rename to master/mbsebbs/timeout.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/timeout.h b/master/mbsebbs/timeout.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/timeout.h rename to master/mbsebbs/timeout.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/timestats.c b/master/mbsebbs/timestats.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/timestats.c rename to master/mbsebbs/timestats.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/timestats.h b/master/mbsebbs/timestats.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/timestats.h rename to master/mbsebbs/timestats.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/transfer.c b/master/mbsebbs/transfer.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/transfer.c rename to master/mbsebbs/transfer.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/transfer.h b/master/mbsebbs/transfer.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/transfer.h rename to master/mbsebbs/transfer.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/ttyio.c b/master/mbsebbs/ttyio.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/ttyio.c rename to master/mbsebbs/ttyio.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/ttyio.h b/master/mbsebbs/ttyio.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/ttyio.h rename to master/mbsebbs/ttyio.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/user.c b/master/mbsebbs/user.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/user.c rename to master/mbsebbs/user.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/user.h b/master/mbsebbs/user.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/user.h rename to master/mbsebbs/user.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/userlist.c b/master/mbsebbs/userlist.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/userlist.c rename to master/mbsebbs/userlist.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/userlist.h b/master/mbsebbs/userlist.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/userlist.h rename to master/mbsebbs/userlist.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/whoson.c b/master/mbsebbs/whoson.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/whoson.c rename to master/mbsebbs/whoson.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/whoson.h b/master/mbsebbs/whoson.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/whoson.h rename to master/mbsebbs/whoson.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/ymrecv.c b/master/mbsebbs/ymrecv.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/ymrecv.c rename to master/mbsebbs/ymrecv.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/ymrecv.h b/master/mbsebbs/ymrecv.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/ymrecv.h rename to master/mbsebbs/ymrecv.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/ymsend.c b/master/mbsebbs/ymsend.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/ymsend.c rename to master/mbsebbs/ymsend.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/ymsend.h b/master/mbsebbs/ymsend.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/ymsend.h rename to master/mbsebbs/ymsend.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/zmmisc.c b/master/mbsebbs/zmmisc.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/zmmisc.c rename to master/mbsebbs/zmmisc.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/zmmisc.h b/master/mbsebbs/zmmisc.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/zmmisc.h rename to master/mbsebbs/zmmisc.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/zmrecv.c b/master/mbsebbs/zmrecv.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/zmrecv.c rename to master/mbsebbs/zmrecv.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/zmrecv.h b/master/mbsebbs/zmrecv.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/zmrecv.h rename to master/mbsebbs/zmrecv.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/zmsend.c b/master/mbsebbs/zmsend.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/zmsend.c rename to master/mbsebbs/zmsend.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/zmsend.h b/master/mbsebbs/zmsend.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsebbs/zmsend.h rename to master/mbsebbs/zmsend.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/.cvsignore b/master/mbsetup/.cvsignore similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/.cvsignore rename to master/mbsetup/.cvsignore diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/Makefile b/master/mbsetup/Makefile similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/Makefile rename to master/mbsetup/Makefile diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/grlist.c b/master/mbsetup/grlist.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/grlist.c rename to master/mbsetup/grlist.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/grlist.h b/master/mbsetup/grlist.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/grlist.h rename to master/mbsetup/grlist.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/ledit.c b/master/mbsetup/ledit.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/ledit.c rename to master/mbsetup/ledit.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/ledit.h b/master/mbsetup/ledit.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/ledit.h rename to master/mbsetup/ledit.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_archive.c b/master/mbsetup/m_archive.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_archive.c rename to master/mbsetup/m_archive.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_archive.h b/master/mbsetup/m_archive.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_archive.h rename to master/mbsetup/m_archive.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_bbs.c b/master/mbsetup/m_bbs.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_bbs.c rename to master/mbsetup/m_bbs.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_bbs.h b/master/mbsetup/m_bbs.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_bbs.h rename to master/mbsetup/m_bbs.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_domain.c b/master/mbsetup/m_domain.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_domain.c rename to master/mbsetup/m_domain.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_domain.h b/master/mbsetup/m_domain.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_domain.h rename to master/mbsetup/m_domain.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_farea.c b/master/mbsetup/m_farea.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_farea.c rename to master/mbsetup/m_farea.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_farea.h b/master/mbsetup/m_farea.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_farea.h rename to master/mbsetup/m_farea.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_fdb.c b/master/mbsetup/m_fdb.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_fdb.c rename to master/mbsetup/m_fdb.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_fdb.h b/master/mbsetup/m_fdb.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_fdb.h rename to master/mbsetup/m_fdb.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ff.c b/master/mbsetup/m_ff.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ff.c rename to master/mbsetup/m_ff.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ff.h b/master/mbsetup/m_ff.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ff.h rename to master/mbsetup/m_ff.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_fgroup.c b/master/mbsetup/m_fgroup.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_fgroup.c rename to master/mbsetup/m_fgroup.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_fgroup.h b/master/mbsetup/m_fgroup.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_fgroup.h rename to master/mbsetup/m_fgroup.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_fido.c b/master/mbsetup/m_fido.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_fido.c rename to master/mbsetup/m_fido.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_fido.h b/master/mbsetup/m_fido.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_fido.h rename to master/mbsetup/m_fido.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_global.c b/master/mbsetup/m_global.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_global.c rename to master/mbsetup/m_global.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_global.h b/master/mbsetup/m_global.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_global.h rename to master/mbsetup/m_global.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_hatch.c b/master/mbsetup/m_hatch.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_hatch.c rename to master/mbsetup/m_hatch.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_hatch.h b/master/mbsetup/m_hatch.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_hatch.h rename to master/mbsetup/m_hatch.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ibc.c b/master/mbsetup/m_ibc.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ibc.c rename to master/mbsetup/m_ibc.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ibc.h b/master/mbsetup/m_ibc.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ibc.h rename to master/mbsetup/m_ibc.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_lang.c b/master/mbsetup/m_lang.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_lang.c rename to master/mbsetup/m_lang.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_lang.h b/master/mbsetup/m_lang.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_lang.h rename to master/mbsetup/m_lang.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_limits.c b/master/mbsetup/m_limits.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_limits.c rename to master/mbsetup/m_limits.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_limits.h b/master/mbsetup/m_limits.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_limits.h rename to master/mbsetup/m_limits.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_magic.c b/master/mbsetup/m_magic.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_magic.c rename to master/mbsetup/m_magic.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_magic.h b/master/mbsetup/m_magic.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_magic.h rename to master/mbsetup/m_magic.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_mail.c b/master/mbsetup/m_mail.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_mail.c rename to master/mbsetup/m_mail.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_mail.h b/master/mbsetup/m_mail.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_mail.h rename to master/mbsetup/m_mail.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_marea.c b/master/mbsetup/m_marea.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_marea.c rename to master/mbsetup/m_marea.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_marea.h b/master/mbsetup/m_marea.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_marea.h rename to master/mbsetup/m_marea.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_menu.c b/master/mbsetup/m_menu.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_menu.c rename to master/mbsetup/m_menu.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_menu.h b/master/mbsetup/m_menu.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_menu.h rename to master/mbsetup/m_menu.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_mgroup.c b/master/mbsetup/m_mgroup.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_mgroup.c rename to master/mbsetup/m_mgroup.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_mgroup.h b/master/mbsetup/m_mgroup.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_mgroup.h rename to master/mbsetup/m_mgroup.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_modem.c b/master/mbsetup/m_modem.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_modem.c rename to master/mbsetup/m_modem.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_modem.h b/master/mbsetup/m_modem.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_modem.h rename to master/mbsetup/m_modem.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_new.c b/master/mbsetup/m_new.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_new.c rename to master/mbsetup/m_new.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_new.h b/master/mbsetup/m_new.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_new.h rename to master/mbsetup/m_new.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ngroup.c b/master/mbsetup/m_ngroup.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ngroup.c rename to master/mbsetup/m_ngroup.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ngroup.h b/master/mbsetup/m_ngroup.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ngroup.h rename to master/mbsetup/m_ngroup.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_node.c b/master/mbsetup/m_node.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_node.c rename to master/mbsetup/m_node.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_node.h b/master/mbsetup/m_node.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_node.h rename to master/mbsetup/m_node.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ol.c b/master/mbsetup/m_ol.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ol.c rename to master/mbsetup/m_ol.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ol.h b/master/mbsetup/m_ol.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ol.h rename to master/mbsetup/m_ol.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_protocol.c b/master/mbsetup/m_protocol.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_protocol.c rename to master/mbsetup/m_protocol.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_protocol.h b/master/mbsetup/m_protocol.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_protocol.h rename to master/mbsetup/m_protocol.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_route.c b/master/mbsetup/m_route.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_route.c rename to master/mbsetup/m_route.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_route.h b/master/mbsetup/m_route.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_route.h rename to master/mbsetup/m_route.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_service.c b/master/mbsetup/m_service.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_service.c rename to master/mbsetup/m_service.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_service.h b/master/mbsetup/m_service.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_service.h rename to master/mbsetup/m_service.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_task.c b/master/mbsetup/m_task.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_task.c rename to master/mbsetup/m_task.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_task.h b/master/mbsetup/m_task.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_task.h rename to master/mbsetup/m_task.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_tic.c b/master/mbsetup/m_tic.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_tic.c rename to master/mbsetup/m_tic.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_tic.h b/master/mbsetup/m_tic.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_tic.h rename to master/mbsetup/m_tic.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ticarea.c b/master/mbsetup/m_ticarea.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ticarea.c rename to master/mbsetup/m_ticarea.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ticarea.h b/master/mbsetup/m_ticarea.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_ticarea.h rename to master/mbsetup/m_ticarea.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_tty.c b/master/mbsetup/m_tty.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_tty.c rename to master/mbsetup/m_tty.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_tty.h b/master/mbsetup/m_tty.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_tty.h rename to master/mbsetup/m_tty.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_users.c b/master/mbsetup/m_users.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_users.c rename to master/mbsetup/m_users.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_users.h b/master/mbsetup/m_users.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_users.h rename to master/mbsetup/m_users.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_virus.c b/master/mbsetup/m_virus.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_virus.c rename to master/mbsetup/m_virus.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_virus.h b/master/mbsetup/m_virus.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/m_virus.h rename to master/mbsetup/m_virus.h diff --git a/mbsebbs-code/mbsetup/mbsetup.c b/master/mbsetup/mbsetup.c similarity index 100% rename from mbsebbs-code/mbsetup/mbsetup.c rename to master/mbsetup/mbsetup.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/mutil.c b/master/mbsetup/mutil.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/mutil.c rename to master/mbsetup/mutil.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/mutil.h b/master/mbsetup/mutil.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/mutil.h rename to master/mbsetup/mutil.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/screen.c b/master/mbsetup/screen.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/screen.c rename to master/mbsetup/screen.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/screen.h b/master/mbsetup/screen.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/screen.h rename to master/mbsetup/screen.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/stlist.c b/master/mbsetup/stlist.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/stlist.c rename to master/mbsetup/stlist.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/stlist.h b/master/mbsetup/stlist.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/stlist.h rename to master/mbsetup/stlist.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/.cvsignore b/master/mbtask/.cvsignore similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/.cvsignore rename to master/mbtask/.cvsignore diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/Makefile b/master/mbtask/Makefile similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/Makefile rename to master/mbtask/Makefile diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/calllist.c b/master/mbtask/calllist.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/calllist.c rename to master/mbtask/calllist.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/calllist.h b/master/mbtask/calllist.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/calllist.h rename to master/mbtask/calllist.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/callstat.c b/master/mbtask/callstat.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/callstat.c rename to master/mbtask/callstat.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/callstat.h b/master/mbtask/callstat.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/callstat.h rename to master/mbtask/callstat.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/crc.c b/master/mbtask/crc.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/crc.c rename to master/mbtask/crc.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/issue b/master/mbtask/issue similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/issue rename to master/mbtask/issue diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/issue.netbsd b/master/mbtask/issue.netbsd similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/issue.netbsd rename to master/mbtask/issue.netbsd diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/mbtask.c b/master/mbtask/mbtask.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/mbtask.c rename to master/mbtask/mbtask.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/mbtask.h b/master/mbtask/mbtask.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/mbtask.h rename to master/mbtask/mbtask.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/outstat.c b/master/mbtask/outstat.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/outstat.c rename to master/mbtask/outstat.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/outstat.h b/master/mbtask/outstat.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/outstat.h rename to master/mbtask/outstat.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/pidinfo.c b/master/mbtask/pidinfo.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/pidinfo.c rename to master/mbtask/pidinfo.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/ping.c b/master/mbtask/ping.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/ping.c rename to master/mbtask/ping.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/ping.h b/master/mbtask/ping.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/ping.h rename to master/mbtask/ping.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/ports.c b/master/mbtask/ports.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/ports.c rename to master/mbtask/ports.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/ports.h b/master/mbtask/ports.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/ports.h rename to master/mbtask/ports.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/scanout.c b/master/mbtask/scanout.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/scanout.c rename to master/mbtask/scanout.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/scanout.h b/master/mbtask/scanout.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/scanout.h rename to master/mbtask/scanout.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/signame.c b/master/mbtask/signame.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/signame.c rename to master/mbtask/signame.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/signame.h b/master/mbtask/signame.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/signame.h rename to master/mbtask/signame.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskchat.c b/master/mbtask/taskchat.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskchat.c rename to master/mbtask/taskchat.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskchat.h b/master/mbtask/taskchat.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskchat.h rename to master/mbtask/taskchat.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskcomm.c b/master/mbtask/taskcomm.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskcomm.c rename to master/mbtask/taskcomm.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskcomm.h b/master/mbtask/taskcomm.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskcomm.h rename to master/mbtask/taskcomm.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskdisk.c b/master/mbtask/taskdisk.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskdisk.c rename to master/mbtask/taskdisk.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskdisk.h b/master/mbtask/taskdisk.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskdisk.h rename to master/mbtask/taskdisk.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskibc.c b/master/mbtask/taskibc.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskibc.c rename to master/mbtask/taskibc.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskibc.h b/master/mbtask/taskibc.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskibc.h rename to master/mbtask/taskibc.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskinfo.c b/master/mbtask/taskinfo.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskinfo.c rename to master/mbtask/taskinfo.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskinfo.h b/master/mbtask/taskinfo.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskinfo.h rename to master/mbtask/taskinfo.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskregs.c b/master/mbtask/taskregs.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskregs.c rename to master/mbtask/taskregs.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskregs.h b/master/mbtask/taskregs.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskregs.h rename to master/mbtask/taskregs.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskstat.c b/master/mbtask/taskstat.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskstat.c rename to master/mbtask/taskstat.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskstat.h b/master/mbtask/taskstat.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskstat.h rename to master/mbtask/taskstat.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskutil.c b/master/mbtask/taskutil.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskutil.c rename to master/mbtask/taskutil.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskutil.h b/master/mbtask/taskutil.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbtask/taskutil.h rename to master/mbtask/taskutil.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/.cvsignore b/master/mbutils/.cvsignore similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/.cvsignore rename to master/mbutils/.cvsignore diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/Makefile b/master/mbutils/Makefile similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/Makefile rename to master/mbutils/Makefile diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/dlcount.c b/master/mbutils/dlcount.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/dlcount.c rename to master/mbutils/dlcount.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/dlcount.h b/master/mbutils/dlcount.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/dlcount.h rename to master/mbutils/dlcount.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mball.c b/master/mbutils/mball.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mball.c rename to master/mbutils/mball.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mball.h b/master/mbutils/mball.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mball.h rename to master/mbutils/mball.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mbbw.c b/master/mbutils/mbbw.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mbbw.c rename to master/mbutils/mbbw.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mblang.c b/master/mbutils/mblang.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mblang.c rename to master/mbutils/mblang.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mbsnmp.c b/master/mbutils/mbsnmp.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mbsnmp.c rename to master/mbutils/mbsnmp.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mbsnmp.h b/master/mbutils/mbsnmp.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mbsnmp.h rename to master/mbutils/mbsnmp.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mbstat.c b/master/mbutils/mbstat.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mbstat.c rename to master/mbutils/mbstat.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mbstat.h b/master/mbutils/mbstat.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mbstat.h rename to master/mbutils/mbstat.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mbtoberep.c b/master/mbutils/mbtoberep.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mbtoberep.c rename to master/mbutils/mbtoberep.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mbuser.c b/master/mbutils/mbuser.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mbuser.c rename to master/mbutils/mbuser.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mbuser.h b/master/mbutils/mbuser.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbutils/mbuser.h rename to master/mbutils/mbuser.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/paths.h.in b/master/paths.h.in similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/paths.h.in rename to master/paths.h.in diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/.cvsignore b/master/script/.cvsignore similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/.cvsignore rename to master/script/.cvsignore diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/Makefile b/master/script/Makefile similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/Makefile rename to master/script/Makefile diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/README b/master/script/README similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/README rename to master/script/README diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/bbsdoor.sh b/master/script/bbsdoor.sh similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/bbsdoor.sh rename to master/script/bbsdoor.sh diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/bbsjmacsrc b/master/script/bbsjmacsrc similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/bbsjmacsrc rename to master/script/bbsjmacsrc diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/bbsjoerc b/master/script/bbsjoerc similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/bbsjoerc rename to master/script/bbsjoerc diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/doors.bat b/master/script/doors.bat similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/doors.bat rename to master/script/doors.bat diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/editor.in b/master/script/editor.in similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/editor.in rename to master/script/editor.in diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/hatch b/master/script/hatch similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/hatch rename to master/script/hatch diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/init.Arch b/master/script/init.Arch similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/init.Arch rename to master/script/init.Arch diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/init.Debian b/master/script/init.Debian similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/init.Debian rename to master/script/init.Debian diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/init.FreeBSD b/master/script/init.FreeBSD similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/init.FreeBSD rename to master/script/init.FreeBSD diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/init.Gentoo b/master/script/init.Gentoo similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/init.Gentoo rename to master/script/init.Gentoo diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/init.NetBSD b/master/script/init.NetBSD similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/init.NetBSD rename to master/script/init.NetBSD diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/init.OpenBSD b/master/script/init.OpenBSD similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/init.OpenBSD rename to master/script/init.OpenBSD diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/init.RedHat b/master/script/init.RedHat similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/init.RedHat rename to master/script/init.RedHat diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/init.Slackware b/master/script/init.Slackware similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/init.Slackware rename to master/script/init.Slackware diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/init.SuSE b/master/script/init.SuSE similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/init.SuSE rename to master/script/init.SuSE diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/installinit.sh b/master/script/installinit.sh similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/installinit.sh rename to master/script/installinit.sh diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/maint b/master/script/maint similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/maint rename to master/script/maint diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/mbsedos b/master/script/mbsedos similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/mbsedos rename to master/script/mbsedos diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/midnight b/master/script/midnight similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/midnight rename to master/script/midnight diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/monthly b/master/script/monthly similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/monthly rename to master/script/monthly diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/rundoor.sh b/master/script/rundoor.sh similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/rundoor.sh rename to master/script/rundoor.sh diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/runvirtual.sh b/master/script/runvirtual.sh similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/runvirtual.sh rename to master/script/runvirtual.sh diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/setup.mbse b/master/script/setup.mbse similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/setup.mbse rename to master/script/setup.mbse diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/weekly b/master/script/weekly similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/script/weekly rename to master/script/weekly diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/.cvsignore b/master/unix/.cvsignore similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/.cvsignore rename to master/unix/.cvsignore diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/Makefile b/master/unix/Makefile similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/Makefile rename to master/unix/Makefile diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/basename.c b/master/unix/basename.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/basename.c rename to master/unix/basename.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/basename.h b/master/unix/basename.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/basename.h rename to master/unix/basename.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/chowntty.c b/master/unix/chowntty.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/chowntty.c rename to master/unix/chowntty.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/chowntty.h b/master/unix/chowntty.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/chowntty.h rename to master/unix/chowntty.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/commonio.c b/master/unix/commonio.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/commonio.c rename to master/unix/commonio.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/commonio.h b/master/unix/commonio.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/commonio.h rename to master/unix/commonio.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/encrypt.c b/master/unix/encrypt.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/encrypt.c rename to master/unix/encrypt.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/encrypt.h b/master/unix/encrypt.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/encrypt.h rename to master/unix/encrypt.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/env.c b/master/unix/env.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/env.c rename to master/unix/env.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/env.h b/master/unix/env.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/env.h rename to master/unix/env.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/getdef.c b/master/unix/getdef.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/getdef.c rename to master/unix/getdef.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/getdef.h b/master/unix/getdef.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/getdef.h rename to master/unix/getdef.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/limits.c b/master/unix/limits.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/limits.c rename to master/unix/limits.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/limits.h b/master/unix/limits.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/limits.h rename to master/unix/limits.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/log.c b/master/unix/log.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/log.c rename to master/unix/log.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/log.h b/master/unix/log.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/log.h rename to master/unix/log.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/login.defs.in b/master/unix/login.defs.in similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/login.defs.in rename to master/unix/login.defs.in diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/loginprompt.c b/master/unix/loginprompt.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/loginprompt.c rename to master/unix/loginprompt.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/loginprompt.h b/master/unix/loginprompt.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/loginprompt.h rename to master/unix/loginprompt.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/mblogin.c b/master/unix/mblogin.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/mblogin.c rename to master/unix/mblogin.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/mblogin.h b/master/unix/mblogin.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/mblogin.h rename to master/unix/mblogin.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/mbpasswd.c b/master/unix/mbpasswd.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/mbpasswd.c rename to master/unix/mbpasswd.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/mbpasswd.h b/master/unix/mbpasswd.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/mbpasswd.h rename to master/unix/mbpasswd.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/mbuseradd.c b/master/unix/mbuseradd.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/mbuseradd.c rename to master/unix/mbuseradd.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/mbuseradd.h b/master/unix/mbuseradd.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/mbuseradd.h rename to master/unix/mbuseradd.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/myname.c b/master/unix/myname.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/myname.c rename to master/unix/myname.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/myname.h b/master/unix/myname.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/myname.h rename to master/unix/myname.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/putpwent.c b/master/unix/putpwent.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/putpwent.c rename to master/unix/putpwent.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/putpwent.h b/master/unix/putpwent.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/putpwent.h rename to master/unix/putpwent.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/pw_util.c b/master/unix/pw_util.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/pw_util.c rename to master/unix/pw_util.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/pw_util.h b/master/unix/pw_util.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/pw_util.h rename to master/unix/pw_util.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/pwauth.c b/master/unix/pwauth.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/pwauth.c rename to master/unix/pwauth.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/pwauth.h b/master/unix/pwauth.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/pwauth.h rename to master/unix/pwauth.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/pwdcheck.c b/master/unix/pwdcheck.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/pwdcheck.c rename to master/unix/pwdcheck.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/pwdcheck.h b/master/unix/pwdcheck.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/pwdcheck.h rename to master/unix/pwdcheck.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/pwio.c b/master/unix/pwio.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/pwio.c rename to master/unix/pwio.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/pwio.h b/master/unix/pwio.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/pwio.h rename to master/unix/pwio.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/rad64.c b/master/unix/rad64.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/rad64.c rename to master/unix/rad64.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/rad64.h b/master/unix/rad64.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/rad64.h rename to master/unix/rad64.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/salt.c b/master/unix/salt.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/salt.c rename to master/unix/salt.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/salt.h b/master/unix/salt.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/salt.h rename to master/unix/salt.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/setugid.c b/master/unix/setugid.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/setugid.c rename to master/unix/setugid.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/setugid.h b/master/unix/setugid.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/setugid.h rename to master/unix/setugid.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/setupenv.c b/master/unix/setupenv.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/setupenv.c rename to master/unix/setupenv.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/setupenv.h b/master/unix/setupenv.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/setupenv.h rename to master/unix/setupenv.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/sgetpwent.c b/master/unix/sgetpwent.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/sgetpwent.c rename to master/unix/sgetpwent.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/sgetpwent.h b/master/unix/sgetpwent.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/sgetpwent.h rename to master/unix/sgetpwent.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/shadowio.c b/master/unix/shadowio.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/shadowio.c rename to master/unix/shadowio.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/shadowio.h b/master/unix/shadowio.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/shadowio.h rename to master/unix/shadowio.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/shell.c b/master/unix/shell.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/shell.c rename to master/unix/shell.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/shell.h b/master/unix/shell.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/shell.h rename to master/unix/shell.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/sub.c b/master/unix/sub.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/sub.c rename to master/unix/sub.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/sub.h b/master/unix/sub.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/sub.h rename to master/unix/sub.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/utmp.c b/master/unix/utmp.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/utmp.c rename to master/unix/utmp.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/utmp.h b/master/unix/utmp.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/utmp.h rename to master/unix/utmp.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/xmalloc.c b/master/unix/xmalloc.c similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/xmalloc.c rename to master/unix/xmalloc.c diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/xmalloc.h b/master/unix/xmalloc.h similarity index 100% rename from mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/unix/xmalloc.h rename to master/unix/xmalloc.h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/.cvsignore b/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/.cvsignore deleted file mode 100644 index 9f1abfdd..00000000 --- a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -.filelist FILE_ID.DIZ INSTALL Makefile.global autom4te.cache config.cache config.h config.log config.status paths.h stamp-h diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/.hgignore b/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/.hgignore deleted file mode 100644 index 3d6068dd..00000000 --- a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/.hgignore +++ /dev/null @@ -1,57 +0,0 @@ -.filelist -FILE_ID.DIZ -INSTALL -Makefile.global -config.h -config.log -config.status -paths.h -stamp-h -html/basic.html -html/index.html -html/upgrade.html -script/editor -script/installinit.log -unix/login.defs -lib/ftscprod.c -mbcico/mbcico -mbcico/mbout -mbfido/mbaff -mbfido/mbdiff -mbfido/mbfido -mbfido/mbfile -mbfido/mbindex -mbfido/mbmsg -mbfido/mbseq -mbmon/mbmon -mbnntp/mbnntp -mbsebbs/mbnewusr -mbsebbs/mbsebbs -mbsetup/mbsetup -mbtask/mbtask -mbutils/mball -mbutils/mbbw -mbutils/mblang -mbutils/mbsnmp -mbutils/mbstat -mbutils/mbtoberep -mbutils/mbuser -unix/mblogin -unix/mbpasswd -unix/mbuseradd - -syntax: glob -lang/language.* -lib/*.o -lib/*.a -mbcico/*.o -mbfido/*.o -mbmon/*.o -mbnntp/*.o -mbsebbs/*.o -mbsetup/*.o -mbtask/*.o -mbutils/*.o -unix/*.o -autom4te.cache/* - diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/AUTHORS b/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/AUTHORS deleted file mode 100644 index abdd9df2..00000000 --- a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/AUTHORS +++ /dev/null @@ -1,60 +0,0 @@ - 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, -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 -Vincent Coen vbcoen@gmail.com 2:250/1@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 -Andrew Leary 1:320/219@fidonet diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog b/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog deleted file mode 100644 index 02f00378..00000000 --- a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/ChangeLog +++ /dev/null @@ -1,369 +0,0 @@ -v1.0.6A 17-Oct-2015 - Vincent coen - 1. Amended mbmon.c and mbsetup.c to reflect new hosting - for the sources etc at www.sourceforge.net. - 2. Other very minor cosmetics. - -v1.0.6 03-Aug-2015 - Andrew Leary - - 1. Added support for specifying a literal IPv6 address - encased in square brackets for a node. Previously, IPv6 was - only supported for nodes having an AAAA record for their - hostname in DNS. - 2. The BBS now allows alphanumeric and punctuation - characters in user passwords. Previously, only alphanumeric - characters were permitted. - 3. Several minor grammar and punctuation corrections. - -v1.0.5 02-Nov-2014 - Andrew Leary (Never officially released) - - 1. Adjusted mbcico's .flo file logic to support a space - character as the first character of the .flo file line. - This character indicates that the file named in the - remainder of the line should be sent to the remote system. - This is needed to allow transmitting filenames that start - with .flo file reserved characters such as ^, #, -, or @. - 2. Worked on increasing reliability of Binkp NR mode. It - is strongly recommended that CRC mode be enabled for any - node which NR mode is enabled for. - -v1.0.4 03-Sep-2014 - Andrew Leary - - 1. Reverted Vince Coen's packaging changes until an upgrade - script can be written and tested. - 2. Added Binkp CRC support (FSP-1020) to mbcico. - 3. Changed the No Binkp/1.1 setting for nodes to be - effective on outbound calls only. It was causing issues - with other mailers (including BinkD) on inbound calls, - because mbcico was reporting binkp/1.1 in the VER string and - then downshifting to binkp/1.0. - 4. Updated the Internet Rex binkp/1.1 bug workaround to - reflect that versions 2.31 and 2.67 are also affected. - -v1.0.3 13-Jun-2014 - Vincent Coen - - 1. Changed unix/mbuseradd.c - Added extra arg to useradd -p 12345 to avoid a locked - record under Mageia v4 that prevents the password - adding a record due to a file busy may be: Lets see. - No it is not so reverted back. - - 2. Still looking for cause of bug. - -v1.0.2 14-Mar-2014 - Vincent Coen - - Changed packaging to use /home/mbse instead of /opt/mbse - to suit users with a seperate / and a /home partitions. - - IT DOES NOT CHANGE THE RESULTS FOR AN EXISTING INSTALL - WHERE mbse & bbs users are set up to use /opt/mbse. - - YOU WILL HAVE TO DO THIS MANUALLY. - The supplied INSTALL script has been changed. - - To do this you will need to change: - 1. Users mbse, bbs and all bbs users to reflect the change - of home directory from /opt/mbse to /home/mbse using your - distro's graphic system editing tool for users or if not - available use usermod via sudo etc: - usermod -m -d /home/mbse mbse - usermod -m -d /home/mbse/home/bbs bbs - usermod -m -d /home/mbse/home/user-name bbs user-name - - Note that the '-m' option in usermod option is to move the - contents from the existing to the new location. - - You can see the list of bbs users by running: - ls -la /opt/mbse/home - - - 2. Using your favourite editor Change - /etc/services and - /etc/xinetd.d/mbsebbs - - Replacing all instances of /opt/mbse with - /home/mbse - - 3. Now do the same with http and ftp config files in - /etc/httpd/conf/httpd.conf and - /etc/proftpd/proftpd.conf (or whatever ftp & web service - you use. - - 4. Having installed/upgraded the mbse system you must - reboot the system or stop and start mbse, xinetd, ftp, - httpd etc - services. It is easier just shuting down and starting - the system. - - 5. As su run cp -ap /opt/mbse /home - - 6. If not already done so, build the system using the usual - ./configure & make and now run make install as su or if - not available do, sudo bash then su then make install - - 7. Change all crontab processes that deal with mbse both as - user mbse and root to reflect new directory using: - crontab -l to see what is current and then as crontab -e - to edit. - - 8. After rebooting the system check everything is working - Then I would suggest renaming /opt/mbse say from /opt/mbse - /opt/old-mbse and leave it a few days before deleting when - you are SURE that all is working. - - 9. Now when you change the /boot partition or install a new - version of your distro you can continue to use your /home - as is but do not forget to recreate the crontab, xinetd, - rc.d/init.d/mbseb etc as needed by using cp -vp from the - old partition to the new or failing that create a modified - version of SETUP.sh as needed and run it. - - ...........NOW READ THE ABOVE, AGAIN.................. - - lib/ - libmbse.a: - Replaced ftscprod.014 with ftscprod.016 - - -v1.0.1 Dec 2013 - Vincent Coen - - lib/ - libmbse.a: - Fixed packaging and compiling the correct ftscprod - file to ftscprod.014. - -v1.0.0 Dec 2013? - This is the last version of mbsebbs submitted by me, - Michiel. - - libmbse.a: - Updated to ftscprod.012. - - -v0.95.15 26-Dec-2012 - - mblogin: - Logs to facility LOG_AUTHPRIV instead of LOG_AUTH. - - mbuseradd: - Logs to facility LOG_AUTHPRIV instead of LOG_AUTH. - - mbpasswd: - Logs to facility LOG_AUTHPRIV instead of LOG_AUTH. - - -v0.95.14 01-Dec-2011 - - general: - Fixed the main manual html page. - - -v0.95.13 08-Aug-2011 - - general: - Added support for Arch Linux. - Added some IPv6 configurations to the manual. - Changed META description lines in the manual. - Fixed a six year old documentation error. - All manual pages have only the .html extention. - - mbfile: - Each html file index page now has an unique name to help - search engines. - - -v0.95.12 22-May-2011 - - general: - Removed several compiler warnings. - Added invisible markers in the html manual. - - mbselib: - The virus stream scanner can now uses IPv4 and/or IPv6 to - connect to the clamav server and can use server clusters too. - Connect smtp, pop3 and nntp upgraded to IPv4 and IPv6 use. - - mbcico: - Can accept both IPv6 and IPv4 calls. - Can call IPv4 and IPv6 nodes. - - mbtask: - Upgraded the ping function to newer system calls. Note that - for now I leave the interbbs chat IPv4 only. - - mblogin: - Don't use gethostbyname function. - - -v0.95.11 14-Jan-2011 (patches by Scott Street). - - mbselib: - Fixed memory corruption error in mbnntp. - Added sysop in nodelist search function. - - mbsebbs: - Fixed several (possible) buffer overflows, some serious ones. - Added lookup sysop in nodelist for netmail messages. - - mbtask: - Fixed several (possible) buffer overflows. - - lang: - Added language prompts 480 and 481. - - -v0.95.10 26-Aug-2010 (released by Vince Coen). - - mbsetup: - Minor cosmetic errors eg, inormation (information) etc in site - docs & update copyright dates for m_global.c & ledit.c. - - mbout: - Check that when using file attach mode that path is absolute - eg, starts with '/' ('~/ is changed to '/opt/mbse/ etc) - - -v0.95.7/8 12-Jul-2010 (released by Vince Coen). - - general: - Cosmetics and exp. code. - And a few others I don't remember. - - NOTE: I am incrementing the version minor number for every build as - mbse does not use build number. - - -v0.95.6 04-Oct-2009 - - general: - This may need more patches for Ubuntu 9.10. - - mbfido: - Patch to compile on Ubuntu 9.10. - - hatch: - Patch to compile on Ubuntu 9.10. - - -v0.95.5 29-Nov-2008 - 04-Oct-2009 - - upgrade: - Start mbsetup, enter global setup, leave and save. - - mbselib: - Newsservers can be connected with a port number from the - setup. - - mbfido: - Fixed a possible array subscript overflow. - - mbaff: - Fixed a possible array subscript overflow. - - mbfile: - Fixed a possible array subscript overflow. - - 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. - diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbmon/mbmon.c b/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbmon/mbmon.c deleted file mode 100644 index 74aeb1e2..00000000 --- a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbmon/mbmon.c +++ /dev/null @@ -1,850 +0,0 @@ -/***************************************************************************** - * - * Purpose ...............: Monitor Program - * - ***************************************************************************** - * Copyright (C) 1997-2011 - * - * Michiel Broek FIDO: 2:280/2802 - * Beekmansbos 10 - * 1971 BV IJmuiden - * the Netherlands - * - * This file is part of MBSE BBS. - * - * This BBS 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, or (at your option) any - * later version. - * - * MB BBS 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 MB BBS; see the file COPYING. If not, write to the Free - * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - *****************************************************************************/ - -#include "../config.h" -#include "../lib/mbselib.h" -#include "../lib/users.h" -#include "../lib/mbsedb.h" -#include "proglock.h" -#include "mutil.h" - - -int cols = 80; -int rows = 24; - -extern int bbs_free; -extern int ttyfd; -extern pid_t mypid; - -struct sysconfig CFG; - - -char rbuf[50][81]; /* Chat receive buffer */ /* FIXME: must be a dynamic buffer */ -int rpointer = 0; /* Chat receive pointer */ -int rsize = 5; /* Chat receive size */ - - -static void die(int onsig) -{ - char buf[128]; - - signal(onsig, SIG_IGN); - - /* - * Prevent clear screen when the program was locked - */ - if (onsig != MBERR_NO_PROGLOCK) - screen_stop(); - - if (onsig && (onsig <= NSIG)) - Syslog('?', "MBMON Finished on signal %s", SigName[onsig]); - else - Syslog(' ', "MBMON Normally finished"); - - snprintf(buf, 128, "CSYS:2,%d,0;", mypid); - if (socket_send(buf) == 0) - snprintf(buf, 128, "%s", socket_receive()); - ulockprogram((char *)"mbmon"); - ExitClient(0); -} - - - -void ShowSysinfo(void) -{ - int ch; - char buf[128], *lc; - - clr_index(); - set_color(WHITE, BLACK); - mbse_mvprintw( 5, 6, "4. SHOW BBS SYSTEM INFO"); - set_color(CYAN, BLACK); - mbse_mvprintw( 7, 6, "1. Total calls"); - mbse_mvprintw( 8, 6, "2. Pots calls"); - mbse_mvprintw( 9, 6, "3. ISDN calls"); - mbse_mvprintw(10, 6, "4. Network calls"); - mbse_mvprintw(11, 6, "5. Local calls"); - mbse_mvprintw(12, 6, "6. Date started"); - mbse_mvprintw(13, 6, "7. Last caller"); - center_addstr(rows - 3, (char *)"Press any key"); - IsDoing("View System Info"); - - do { - show_date(LIGHTGRAY, BLACK, 0, 0); - set_color(LIGHTGRAY, BLACK); - snprintf(buf, 128, "GSYS:1,%d;", getpid()); - if (socket_send(buf) == 0) { - snprintf(buf, 128, "%s", socket_receive()); - if (strncmp(buf, "100:7,", 6) == 0) { - strtok(buf, ","); - mbse_mvprintw( 7,26, "%s", strtok(NULL, ",")); - mbse_mvprintw( 8,26, "%s", strtok(NULL, ",")); - mbse_mvprintw( 9,26, "%s", strtok(NULL, ",")); - mbse_mvprintw(10,26, "%s", strtok(NULL, ",")); - mbse_mvprintw(11,26, "%s", strtok(NULL, ",")); - mbse_mvprintw(12,26, "%s", strtok(NULL, ",")); - lc = xstrcpy(cldecode(strtok(NULL, ";"))); - mbse_mvprintw(13,26, "%s", lc); - free(lc); - fflush(stdout); - } - } - ch = testkey(rows - 3, cols / 2 + 8); - } while (ch == '\0'); -} - - - -void ShowLastcaller(void) -{ - int records, maxrows, ch, i, y, o; - char buf[128]; - - clr_index(); - set_color(WHITE, BLACK); - mbse_mvprintw( 4, 6, "5. SHOW BBS LASTCALLERS"); - set_color(YELLOW, RED); - mbse_mvprintw( 6, 1, "Nr Username Location Level Device Time Mins Calls Speed Actions "); - set_color(CYAN, BLACK); - center_addstr(rows - 1, (char *)"Press any key"); - IsDoing("View Lastcallers"); - maxrows = rows - 10; - - do { - show_date(LIGHTGRAY, BLACK, 0, 0); - records = 0; - snprintf(buf, 128, "GLCC:0;"); - if (socket_send(buf) == 0) { - snprintf(buf, 128, "%s", socket_receive()); - if (strncmp(buf, "100:1,", 6) == 0) { - strtok(buf, ","); - records = atoi(strtok(NULL, ";")); - } - } - - if (records) { - y = 7; - if (records > maxrows) - o = records - maxrows; - else - o = 1; - set_color(CYAN, BLACK); - for (i = o; i <= records; i++) { - snprintf(buf, 128, "GLCR:1,%d;", i); - if (socket_send(buf) == 0) { - snprintf(buf, 128, "%s", socket_receive()); - if (strncmp(buf, "100:9,", 6) == 0) { - strtok(buf, ","); - mbse_mvprintw(y, 1, "%2d", i); - mbse_mvprintw(y, 4, "%s", cldecode(strtok(NULL, ","))); - mbse_mvprintw(y,19, "%s", cldecode(strtok(NULL, ","))); - mbse_mvprintw(y,32, "%s", strtok(NULL, ",")); - mbse_mvprintw(y,38, "%s", strtok(NULL, ",")); - mbse_mvprintw(y,45, "%s", strtok(NULL, ",")); - mbse_mvprintw(y,51, "%s", strtok(NULL, ",")); - mbse_mvprintw(y,56, "%s", strtok(NULL, ",")); - mbse_mvprintw(y,62, "%s", strtok(NULL, ",")); - mbse_mvprintw(y,72, "%s", strtok(NULL, ";")); - y++; - } - } - } - } - ch = testkey(rows - 1, cols / 2 + 8); - } while (ch == '\0'); -} - - - -void system_moni(void) -{ - int ch, y, eof; - char buf[128]; - time_t start, now; - - clr_index(); - set_color(WHITE, BLACK); - mbse_mvprintw( 5, 6, "1. SERVER CLIENTS"); - set_color(YELLOW, RED); - mbse_mvprintw( 7, 1, "Pid tty user program city doing time "); - set_color(CYAN, BLACK); - center_addstr(rows - 1, (char *)"Press any key"); - IsDoing("System Monitor"); - - do { - show_date(LIGHTGRAY, BLACK, 0, 0); - - eof = 0; - set_color(LIGHTGRAY, BLACK); - - for (y = 8; y <= rows - 2; y++) { - if (y == 8) - snprintf(buf, 128, "GMON:1,1;"); - else - snprintf(buf, 128, "GMON:1,0;"); - if (eof == 0) { - if (socket_send(buf) == 0) { - strncpy(buf, socket_receive(), 128); - mbse_locate(y, 1); - clrtoeol(); - if (strncmp(buf, "100:0;", 6) == 0) { - /* - * There's no more information - */ - eof = 1; - } else { - strtok(buf, ","); - mbse_mvprintw(y, 1, (char *)"%.5s", strtok(NULL, ",")); - mbse_mvprintw(y, 7, (char *)"%.6s", strtok(NULL, ",")); - mbse_mvprintw(y,14, (char *)"%.8s", cldecode(strtok(NULL, ","))); - mbse_mvprintw(y,23, (char *)"%.8s", cldecode(strtok(NULL, ","))); - mbse_mvprintw(y,32, (char *)"%.15s", cldecode(strtok(NULL, ","))); - mbse_mvprintw(y,48, (char *)"%.26s", cldecode(strtok(NULL, ","))); - start = atoi(strtok(NULL, ";")); - now = time(NULL); - mbse_mvprintw(y,75, (char *)"%s", t_elapsed(start, now)); - } - } - } else { - /* - * If no valid data, clear line - */ - mbse_locate(y, 1); - clrtoeol(); - } - } /* for () */ - - ch = testkey(rows - 1, cols / 2 + 8); - } while (ch == '\0'); -} - - - -void system_stat(void) -{ - int ch; - char buf[256]; - time_t now; - - clr_index(); - set_color(WHITE, BLACK); - mbse_mvprintw( 5, 6, "2. SERVER STATISTICS"); - set_color(CYAN, BLACK); - mbse_mvprintw( 7, 6, "First date started"); - mbse_mvprintw( 7,59, "BBS Open"); - mbse_mvprintw( 8, 6, "Last date started"); - mbse_mvprintw( 8,59, "ZMH"); - mbse_mvprintw( 9, 6, "Total server starts"); - mbse_mvprintw( 9,59, "Internet up"); - mbse_mvprintw(10, 6, "Connected clients"); - mbse_mvprintw(10,59, "Need inet"); - mbse_mvprintw(11,59, "Running"); - mbse_mvprintw(12,30, "Total Today"); - mbse_mvprintw(12,59, "Load average"); - hor_lin(13,30,8); - hor_lin(13,45,8); - mbse_mvprintw(13,59, "Diskspace"); - mbse_mvprintw(14, 6, "Client connects"); - mbse_mvprintw(14,59, "IBC servers"); - mbse_mvprintw(15, 6, "Peak connections"); - mbse_mvprintw(15,59, "IBC channels"); - mbse_mvprintw(16, 6, "Protocol syntax errors"); - mbse_mvprintw(16,59, "IBC users"); - mbse_mvprintw(17, 6, "Communication errors"); - mbse_mvprintw(19, 6, "Next sequence number"); - mbse_mvprintw(rows -3,59, "Press any key"); - IsDoing("System Statistics"); - - do { - show_date(LIGHTGRAY, BLACK, 0, 0); - - snprintf(buf, 256, "GSTA:1,%d;", getpid()); - if (socket_send(buf) == 0) { - strncpy(buf, socket_receive(), 256); - set_color(LIGHTGRAY, BLACK); - strtok(buf, ","); - now = atoi(strtok(NULL, ",")); - mbse_mvprintw(7, 30, "%s", ctime(&now)); - now = atoi(strtok(NULL, ",")); - mbse_mvprintw(8, 30, "%s", ctime(&now)); - strtok(NULL, ","); - mbse_mvprintw(9, 30, (char *)"%s ", strtok(NULL, ",")); - mbse_mvprintw(10,30, (char *)"%s ", strtok(NULL, ",")); - mbse_mvprintw(14,30, (char *)"%s ", strtok(NULL, ",")); - mbse_mvprintw(15,30, (char *)"%s ", strtok(NULL, ",")); - mbse_mvprintw(16,30, (char *)"%s ", strtok(NULL, ",")); - mbse_mvprintw(17,30, (char *)"%s ", strtok(NULL, ",")); - mbse_mvprintw(14,45, (char *)"%s ", strtok(NULL, ",")); - mbse_mvprintw(15,45, (char *)"%s ", strtok(NULL, ",")); - mbse_mvprintw(16,45, (char *)"%s ", strtok(NULL, ",")); - mbse_mvprintw(17,45, (char *)"%s ", strtok(NULL, ",")); - mbse_mvprintw(7,72, "%s", atoi(strtok(NULL, ",")) == 1?"Yes":"No "); - mbse_mvprintw(8,72, "%s", atoi(strtok(NULL, ",")) == 1?"Yes":"No "); - mbse_mvprintw(9,72, "%s", atoi(strtok(NULL, ",")) == 1?"Yes":"No "); - mbse_mvprintw(10,72,"%s", atoi(strtok(NULL, ",")) == 1?"Yes":"No "); - mbse_mvprintw(11,72,"%s", atoi(strtok(NULL, ",")) == 1?"Yes":"No "); - mbse_mvprintw(12,72, "%s ", strtok(NULL, ",")); - mbse_mvprintw(19,30, (char *)"%s", strtok(NULL, ",")); - mbse_mvprintw(14,72, (char *)"%s ", strtok(NULL, ",")); - mbse_mvprintw(15,72, (char *)"%s ", strtok(NULL, ",")); - mbse_mvprintw(16,72, (char *)"%s ", strtok(NULL, ";")); - } - - switch (enoughspace(CFG.freespace)) { - case 0: mbse_mvprintw(13, 72, "Full "); - break; - case 1: mbse_mvprintw(13, 72, "Ok "); - break; - case 2: mbse_mvprintw(13, 72, "N/A "); - break; - case 3: mbse_mvprintw(13, 72, "Error"); - break; - } - - ch = testkey(rows -3,73); - } while (ch == '\0'); -} - - - -void disk_stat(void) -{ - int ch, i, ro; - char buf[1024], *cnt, *type, *fs, *p, sign; - unsigned int last[10], size, used, perc, avail; - - clr_index(); - set_color(WHITE, BLACK); - mbse_mvprintw( 5, 6, "3. FILESYSTEM USAGE"); - set_color(YELLOW, RED); - mbse_mvprintw( 7, 1, " Size MB Free MB Used FS-Type St Mountpoint "); - set_color(CYAN, BLACK); - mbse_mvprintw(rows - 2, 6, "Press any key"); - IsDoing("Filesystem Usage"); - for (i = 0; i < 10; i++) - last[i] = 0; - - do { - show_date(LIGHTGRAY, BLACK, 0, 0); - - snprintf(buf, 1024, "DGFS:0;"); - if (socket_send(buf) == 0) { - strcpy(buf, socket_receive()); - set_color(LIGHTGRAY, BLACK); - cnt = strtok(buf, ":"); - cnt = strtok(NULL, ",;"); - if (atoi(cnt)) { - for (i = 0; i < atoi(cnt); i++) { - p = strtok(NULL, " "); - size = atoi(p); - avail = atoi(strtok(NULL, " ")); - used = size - avail; - perc = (used * 100) / size; - sign = ' '; - fs = strtok(NULL, " "); - type = strtok(NULL, " "); - ro = atoi(strtok(NULL, ",;")); - if (used > last[i]) - sign = '^'; - if (used < last[i]) - sign = 'v'; - if (last[i] == 0) - sign = ' '; - last[i] = used; - set_color(CYAN, BLACK); - mbse_mvprintw(i+8, 1, "%8lu %8lu ", size, avail); - set_color(WHITE, BLACK); - printf("%c ", sign); - if (ro == 0) { - if (avail <= CFG.freespace) - set_color(LIGHTRED, BLACK); - else if (avail <= (CFG.freespace * 4)) - set_color(YELLOW, BLACK); - else - set_color(CYAN, BLACK); - } else { - set_color(GREEN, BLACK); - } - printf("%3u", perc); - putchar('%'); - set_color(CYAN, BLACK); - printf(" %-8s %s %-37s", type, ro ?"RO":"RW", fs); - } - mbse_locate(i+8, 1); - clrtoeol(); - } - } - - ch = testkey(rows - 2, 20); - } while (ch == '\0'); -} - - - -void soft_info(void) -{ - char temp[81], *p; - - clr_index(); - set_color(YELLOW, BLACK); - -#if defined(__linux__) - p = xstrcpy((char *)"MBSE BBS (GNU/Linux"); -#elif defined(__FreeBSD__) - p = xstrcpy((char *)"MBSE BBS (FreeBSD"); -#elif defined(__NetBSD__) - p = xstrcpy((char *)"MBSE BBS (NetBSD"); -#elif defined(__OpenBSD__) - p = xstrcpy((char *)"MBSE BBS (OpenBSD"); -#else -#error "Unknown OS" -#endif - -#if defined(__i386__) - p = xstrcat(p, (char *)" i386)"); -#elif defined(__x86_64__) - p = xstrcat(p, (char *)" x86-64"); -#elif defined(__PPC__) || defined(__ppc__) - p = xstrcat(p, (char *)" PPC)"); -#elif defined(__sparc__) - p = xstrcat(p, (char *)" Sparc)"); -#elif defined(__alpha__) - p = xstrcat(p, (char *)" Alpha)"); -#elif defined(__hppa__) - p = xstrcat(p, (char *)" HPPA)"); -#elif defined(__arm__) - p = xstrcat(p, (char *)" ARM)"); -#else -#error "Unknown CPU" -#endif - - center_addstr( 6, p); - free(p); - set_color(WHITE, BLACK); - center_addstr( 8, (char *)COPYRIGHT); - set_color(YELLOW, BLACK); - center_addstr(10, (char *)"Ceeated in the Netherlands."); - set_color(WHITE, BLACK); -#ifdef __GLIBC__ - snprintf(temp, 81, "Compiled on glibc v%d.%d", __GLIBC__, __GLIBC_MINOR__); -#else -#ifdef __GNU_LIBRARY__ - snprintf(temp, 81, "Compiled on libc v%d", __GNU_LIBRARY__); -#else - snprintf(temp, 81, "Compiled on unknown library"); -#endif -#endif - center_addstr(12, temp); - set_color(LIGHTCYAN, BLACK); - center_addstr(14, (char *)"https://sourceforge.net/projects/mbsebbs"); - set_color(LIGHTGREEN, BLACK); - center_addstr(rows -7, (char *)"This is free software; released under the terms of the GNU General"); - center_addstr(rows -6, (char *)"Public License as published by the Free Software Foundation."); - set_color(CYAN, BLACK); - center_addstr(rows -4, (char *)"Press any key"); - readkey(rows - 4, cols / 2 + 8, LIGHTGRAY, BLACK); -} - - - -/* - * Colorize the chat window - */ -void Showline(int y, int x, char *msg) -{ - int i, done = FALSE; - - if (strlen(msg)) { - mbse_locate(y, x); - if (msg[0] == '<') { - mbse_colour(LIGHTCYAN, BLACK); - putchar('<'); - mbse_colour(LIGHTBLUE, BLACK); - for (i = 1; i < strlen(msg); i++) { - if ((msg[i] == '>') && (! done)) { - mbse_colour(LIGHTCYAN, BLACK); - putchar(msg[i]); - mbse_colour(CYAN, BLACK); - done = TRUE; - } else { - putchar(msg[i]); - } - } - } else if (msg[0] == '*') { - if (msg[1] == '*') { - if (msg[2] == '*') - mbse_colour(YELLOW, BLACK); - else - mbse_colour(LIGHTRED, BLACK); - } else { - mbse_colour(LIGHTMAGENTA, BLACK); - } - for (i = 0; i < strlen(msg); i++) - putchar(msg[i]); - } else { - mbse_colour(GREEN, BLACK); - for (i = 0; i < strlen(msg); i++) - putchar(msg[i]); - } - } -} - - - -/* - * Display received chat message - */ -void DispMsg(char *); -void DispMsg(char *msg) -{ - int i; - - /* - * Beep on minor system messages - */ - if ((msg[0] == '*') && (msg[1] != '*')) - putchar('\007'); - - strncpy(rbuf[rpointer], msg, 81); - Showline(4+rpointer, 1, rbuf[rpointer]); - if (rpointer == rsize) { - /* - * Scroll buffer - */ - for (i = 0; i <= rsize; i++) { - mbse_locate(i+4,1); - clrtoeol(); - strncpy(rbuf[i], rbuf[i+1], 81); -// snprintf(rbuf[i], 81, "%s", rbuf[i+1]); - Showline(i+4, 1, rbuf[i]); - } - } else { - rpointer++; - } - - fflush(stdout); -} - - - -/* - * Sysop/user chat - */ -void Chat(int sysop) -{ - int curpos = 0, width, stop = FALSE, data, rc; - unsigned char ch = 0; - char *p, sbuf[81], resp[128], *sysop_name, *name; - static char buf[200]; - - clr_index(); - rsize = rows - 7; - rpointer = 0; - - sysop_name = xstrcpy(clencode(CFG.sysop_name)); - name = xstrcpy(clencode(CFG.sysop)); - width = cols - (strlen(name) + 3); - snprintf(buf, 200, "CCON,4,%d,%s,%s,%s;", mypid, sysop_name, name, sysop ? "1":"0"); - free(sysop_name); - free(name); - - if (socket_send(buf) == 0) { - strcpy(buf, socket_receive()); - if (strncmp(buf, "200:1,", 6) == 0) { - set_color(LIGHTRED, BLACK); - mbse_mvprintw(4, 1, (char *)"Add \"fido 60179/udp # Chatserver\" to /etc/services"); - mbse_mvprintw(5, 1, (char *)"Leave mbmon, then restart mbtask and come back here"); - working(2, 0, 0); - working(0, 0, 0); - center_addstr(rows -4, (char *)"Press any key"); - readkey(rows - 4, cols / 2 + 8, LIGHTGRAY, BLACK); - return; - } - } - - mbse_locate(rows - 2, 1); - set_color(WHITE, BLUE); - clrtoeol(); - mbse_mvprintw(rows - 2, 2, "Chat, type \"/EXIT\" to exit or \"/HELP\" for help"); - - set_color(WHITE, BLACK); - mbse_mvprintw(rows - 1, 1, ">"); - mbse_mvprintw(rows - 1, width + 2, "<"); - memset(&sbuf, 0, sizeof(sbuf)); - memset(&rbuf, 0, sizeof(rbuf)); - - if (sysop) { - /* - * Join channel #sysop automatic - */ - snprintf(buf, 200, "CPUT:2,%d,/JOIN #sysop;", mypid); - if (socket_send(buf) == 0) { - strcpy(buf, socket_receive()); - } - } - - while (stop == FALSE) { - - /* - * Check for new message, loop fast until no more data available. - */ - data = TRUE; - while (data) { - snprintf(buf, 200, "CGET:1,%d;", mypid); - if (socket_send(buf) == 0) { - memset(&buf, 0, sizeof(buf)); - strncpy(buf, socket_receive(), sizeof(buf)-1); - if (strncmp(buf, "100:2,", 6) == 0) { - strncpy(resp, strtok(buf, ":"), 10); /* Should be 100 */ - strncpy(resp, strtok(NULL, ","), 5); /* Should be 2 */ - strncpy(resp, strtok(NULL, ","), 5); /* 1= fatal error */ - rc = atoi(resp); - memset(&resp, 0, sizeof(resp)); - strncpy(resp, cldecode(strtok(NULL, ";")), 81); /* The message */ - DispMsg(resp); - if (rc == 1) { - Syslog('+', "Chat server message: %s", resp); - stop = TRUE; - data = FALSE; - } - } else { - data = FALSE; - } - } - } - - if (stop) - break; - - /* - * Update top bars - */ - show_date(LIGHTGRAY, BLACK, 0, 0); - - /* - * Check for a pressed key, if so then process it - */ - ch = testkey(rows -1, curpos + 2); - if (isprint(ch)) { - set_color(CYAN, BLACK); - if (curpos < width) { - putchar(ch); - fflush(stdout); - sbuf[curpos] = ch; - curpos++; - } else { - putchar(7); - } - } else if ((ch == KEY_BACKSPACE) || (ch == KEY_RUBOUT) || (ch == KEY_DEL)) { - set_color(CYAN, BLACK); - if (curpos) { - curpos--; - sbuf[curpos] = '\0'; - printf("\b \b"); - } else { - putchar(7); - } - } else if ((ch == '\r') && curpos) { - snprintf(buf, 12, "%d", mypid); - p = xstrcpy((char *)"CPUT:2,"); - p = xstrcat(p, buf); - p = xstrcat(p, (char *)","); - p = xstrcat(p, clencode(sbuf)); - p = xstrcat(p, (char *)";"); - strncpy(buf, p, 200); - free(p); - if (socket_send(buf) == 0) { - strcpy(buf, socket_receive()); - if (strncmp(buf, "100:2,", 6) == 0) { - strncpy(resp, strtok(buf, ":"), 10); /* Should be 100 */ - strncpy(resp, strtok(NULL, ","), 5); /* Should be 2 */ - strncpy(resp, strtok(NULL, ","), 5); /* 1= fatal error, end chat */ - rc = atoi(resp); - strncpy(resp, cldecode(strtok(NULL, ";")), 81); /* The message */ - DispMsg(resp); - if (rc == 1) { - Syslog('+', "Chat server error: %s", resp); - stop = TRUE; - } - } - } - curpos = 0; - memset(&sbuf, 0, sizeof(sbuf)); - mbse_locate(rows - 1, 2); - clrtoeol(); - set_color(WHITE, BLACK); - mbse_mvprintw(rows - 1, 1, ">"); - mbse_mvprintw(rows - 1, width + 2, "<"); - } - } - - /* - * Before sending the close command, purge all outstanding messages. - */ - data = TRUE; - while (data) { - snprintf(buf, 200, "CGET:1,%d;", mypid); - if (socket_send(buf) == 0) { - strncpy(buf, socket_receive(), sizeof(buf)-1); - if (strncmp(buf, "100:2,", 6) == 0) { - strncpy(resp, strtok(buf, ":"), 10); /* Should be 100 */ - strncpy(resp, strtok(NULL, ","), 5); /* Should be 2 */ - strncpy(resp, strtok(NULL, ","), 5); /* 1= fatal error */ - rc = atoi(resp); - memset(&resp, 0, sizeof(resp)); - strncpy(resp, cldecode(strtok(NULL, ";")), 80); /* The message */ - DispMsg(resp); - if (rc == 1) { - Syslog('+', "Chat server error: %s", resp); - data = FALSE; - } - } else { - data = FALSE; - } - } - } - - /* - * Close server connection - */ - snprintf(buf, 200, "CCLO,1,%d;", mypid); - if (socket_send(buf) == 0) { - strcpy(buf, socket_receive()); - } - sleep(1); -} - - - -int main(int argc, char *argv[]) -{ - struct passwd *pw; - struct winsize ws; - char buf[128]; - - /* - * Find out who is on the keyboard or automated the keyboard. - */ - pw = getpwuid(geteuid()); - if (strcmp(pw->pw_name, (char *)"mbse")) { - printf("ERROR: only user \"mbse\" may use this program\n"); - exit(MBERR_INIT_ERROR); - } - - /* - * Read the global configuration data, registrate connection - */ - InitConfig(); - InitClient(pw->pw_name, (char *)"mbmon", CFG.location, (char *)"mbmon.log", CFG.util_loglevel, CFG.error_log, CFG.mgrlog, CFG.debuglog); - Syslog(' ', "MBMON Started by %s", pw->pw_name); - bbs_free = FALSE; - - /* - * Report sysop available for chat - */ - snprintf(buf, 128, "CSYS:2,%d,1;", mypid); - if (socket_send(buf) == 0) - snprintf(buf, 128, "%s", socket_receive()); - - - /* - * Setup several signals so when the program terminate's it - * will properly close. - */ - signal(SIGINT, (void (*))die); - signal(SIGBUS, (void (*))die); - signal(SIGSEGV,(void (*))die); - signal(SIGTERM,(void (*))die); - signal(SIGKILL,(void (*))die); - signal(SIGIOT,(void (*))die); - - if (ioctl(1, TIOCGWINSZ, &ws) != -1 && (ws.ws_col > 0) && (ws.ws_row > 0)) { - rows = ws.ws_row; - if (rows < 24) { - Syslog('!', "Warning, only %d screen rows, forcing to 24", rows); - rows = 24; - } - } - Syslog('+', "Screen size set to %dx%d", cols, rows); - - if (lockprogram((char *)"mbmon")) { - printf("\n\7Another mbmon is already running, abort.\n\n"); - die(MBERR_NO_PROGLOCK); - } - - screen_start((char *)"MBmon"); - - for (;;) { - - IsDoing("Browsing Menu"); - clr_index(); - set_color(WHITE, BLACK); - mbse_mvprintw( 5, 6, "0. MBSE BBS MONITOR"); - set_color(CYAN, BLACK); - mbse_mvprintw( 7, 6, "1. View Server Clients"); - mbse_mvprintw( 8, 6, "2. View Server Statistics"); - mbse_mvprintw( 9, 6, "3. View Filesystem Usage"); - mbse_mvprintw(10, 6, "4. View BBS System Information"); - mbse_mvprintw(11, 6, "5. View BBS Lastcallers List"); - mbse_mvprintw(12, 6, "6. Chat with any user"); - mbse_mvprintw(13, 6, "7. Respond to sysop page"); - mbse_mvprintw(14, 6, "8. View Software Information"); - - switch(select_menu(8)) { - case 0: - die(0); - break; - case 1: - system_moni(); - break; - case 2: - system_stat(); - break; - case 3: - disk_stat(); - break; - case 4: - ShowSysinfo(); - break; - case 5: - ShowLastcaller(); - break; - case 6: - Chat(FALSE); - break; - case 7: - Chat(TRUE); - break; - case 8: - soft_info(); - break; - } - } -} - diff --git a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/mbsetup.c b/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/mbsetup.c deleted file mode 100644 index cdba0821..00000000 --- a/mbsebbs-code-361e3323ef16e6d9c51e83748a5843a3b34b7f64/mbsetup/mbsetup.c +++ /dev/null @@ -1,556 +0,0 @@ -/***************************************************************************** - * - * $Id: mbsetup.c,v 1.53 2008/02/28 22:05:14 mbse Exp $ - * Purpose ...............: Setup Program - * - ***************************************************************************** - * Copyright (C) 1997-2008 - * - * Michiel Broek FIDO: 2:280/2802 - * Beekmansbos 10 - * 1971 BV IJmuiden - * the Netherlands - * - * This file is part of MBSE BBS. - * - * This BBS 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, or (at your option) any - * later version. - * - * MB BBS 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 MB BBS; see the file COPYING. If not, write to the Free - * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - *****************************************************************************/ - -#include "../config.h" -#include "../lib/mbselib.h" -#include "../lib/users.h" -#include "../lib/mbsedb.h" -#include "screen.h" -#include "mutil.h" -#include "ledit.h" -#include "m_global.h" -#include "m_bbs.h" -#include "m_farea.h" -#include "m_fgroup.h" -#include "m_mail.h" -#include "m_mgroup.h" -#include "m_hatch.h" -#include "m_tic.h" -#include "m_ticarea.h" -#include "m_magic.h" -#include "m_fido.h" -#include "m_lang.h" -#include "m_archive.h" -#include "m_virus.h" -#include "m_tty.h" -#include "m_limits.h" -#include "m_users.h" -#include "m_node.h" -#include "m_fdb.h" -#include "m_new.h" -#include "m_ol.h" -#include "m_protocol.h" -#include "m_ff.h" -#include "m_modem.h" -#include "m_marea.h" -#include "m_ngroup.h" -#include "m_service.h" -#include "m_domain.h" -#include "m_task.h" -#include "m_route.h" -#include "m_ibc.h" - - -mode_t oldmask; /* Old umask value */ -extern int do_quiet; /* Suppress log to screen */ -extern int bbs_free; /* Free/Busy status */ -extern int horiz; /* Dot position in docs */ -int exp_golded = FALSE; /* Export GoldED config */ -int init = FALSE; /* Run init only */ - - - -static void die(int onsig) -{ - FILE *fp; - char *temp; - int i; - - signal(onsig, SIG_IGN); - if ((!init) && (onsig != MBERR_NO_PROGLOCK)) - screen_stop(); - - if (exp_golded && (config_read() != -1)) { - temp = calloc(PATH_MAX, sizeof(char)); - - /* - * Export ~/etc/msg.txt for MsgEd. - */ - snprintf(temp, PATH_MAX, "%s/etc/msg.txt", getenv("MBSE_ROOT")); - if ((fp = fopen(temp, "w")) != NULL) { - fprintf(fp, "; msg.txt -- Automatic created by mbsetup %s -- Do not edit!\n;\n", VERSION); - fprintf(fp, "; Mail areas for MsgEd.\n;\n"); - msged_areas(fp); - fclose(fp); - Syslog('+', "Created new %s", temp); - } else { - WriteError("$Could not create %s", temp); - } - - /* - * Export ~/etc/golded.inc for GoldED - */ - snprintf(temp, PATH_MAX, "%s/etc/golded.inc", getenv("MBSE_ROOT")); - if ((fp = fopen(temp, "w")) != NULL) { - fprintf(fp, "; GoldED.inc -- Automatic created by mbsetup %s -- Do not edit!\n\n", VERSION); - fprintf(fp, "; Basic information.\n;\n"); - if (strlen(CFG.sysop_name) && CFG.akavalid[0] && CFG.aka[0].zone) { - fprintf(fp, "USERNAME %s\n\n", CFG.sysop_name); - fprintf(fp, "ADDRESS %s\n", aka2str(CFG.aka[0])); - for (i = 1; i < 40; i++) - if (CFG.akavalid[i]) - fprintf(fp, "AKA %s\n", aka2str(CFG.aka[i])); - fprintf(fp, "\n"); - - gold_akamatch(fp); - fprintf(fp, "; JAM MessageBase Setup\n;\n"); - fprintf(fp, "JAMPATH %s/tmp/\n", getenv("MBSE_ROOT")); - fprintf(fp, "JAMHARDDELETE NO\n\n"); - - fprintf(fp, "; Semaphore files\n;\n"); - fprintf(fp, "SEMAPHORE NETSCAN %s/var/sema/mailout\n", getenv("MBSE_ROOT")); - fprintf(fp, "SEMAPHORE ECHOSCAN %s/var/sema/mailout\n\n", getenv("MBSE_ROOT")); - - gold_areas(fp); - } - fclose(fp); - Syslog('+', "Created new %s", temp); - } else { - WriteError("$Could not create %s", temp); - } - - free(temp); - } - - ulockprogram((char *)"mbsetup"); - umask(oldmask); - if (onsig && (onsig <= NSIG)) - WriteError("MBSETUP finished on signal %s", SigName[onsig]); - else - Syslog(' ', "MBSETUP finished"); - ExitClient(onsig); -} - - - -void soft_info(void); -void soft_info(void) -{ - char *temp; - - temp = calloc(81, sizeof(char)); - clr_index(); - set_color(YELLOW, BLACK); - snprintf(temp, 81, "MBSE BBS (%s-%s)", OsName(), OsCPU()); - center_addstr( 6, temp); - set_color(WHITE, BLACK); - center_addstr( 8, (char *)COPYRIGHT); - set_color(YELLOW, BLACK); - center_addstr(10, (char *)"Created in the Netherlands"); - set_color(WHITE, BLACK); -#ifdef __GLIBC__ - snprintf(temp, 81, "Compiled on glibc v%d.%d", __GLIBC__, __GLIBC_MINOR__); -#else -#ifdef __GNU_LIBRARY__ - snprintf(temp, 81, "Compiled on libc v%d", __GNU_LIBRARY__); -#else - snprintf(temp, 81, "Compiled on unknown library"); -#endif -#endif - center_addstr(12, temp); - set_color(LIGHTCYAN, BLACK); - center_addstr(14, (char *)"https://sourceforge.net/projects/mbsebbs/"); - set_color(LIGHTGREEN, BLACK); - center_addstr(LINES -7, (char *)"This is free software; released under the terms of the GNU General"); - center_addstr(LINES -6, (char *)"Public License as published by the Free Software Foundation."); - set_color(CYAN, BLACK); - free(temp); - center_addstr(LINES -4, (char *)"Press any key"); - readkey(LINES - 4, COLS / 2 + 8, LIGHTGRAY, BLACK); -} - - - -void site_docs(void); -void site_docs(void) -{ - FILE *fp, *hp, *toc; - char temp[PATH_MAX], temp1[PATH_MAX]; - int page = 0, line = 0; - - if (config_read() == -1) - return; - - snprintf(temp, PATH_MAX, "%s/share/doc/site.doc", getenv("MBSE_ROOT")); - mkdirs(temp, 0755); - if ((fp = fopen(temp, "w")) == NULL) - return; - - snprintf(temp1, PATH_MAX, "%s/tmp/toc.tmp", getenv("MBSE_ROOT")); - if ((toc = fopen(temp1, "w+")) == NULL) { - fclose(fp); - return; - } - - clr_index(); - working(1, 0, 0); - IsDoing("Making Sitedocs"); - Syslog('+', "Start creating sitedocs"); - - set_color(WHITE, BLACK); - mbse_mvprintw( 5, 6, "21. CREATING SITEDOCS"); - set_color(CYAN, BLACK); - mbse_mvprintw( 7,11, (char *)"Erasing directory %s/share/doc/html", getenv("MBSE_ROOT")); - fflush(stdout); - - snprintf(temp, PATH_MAX, "-r -f %s/share/doc/html", getenv("MBSE_ROOT")); - execute_pth((char *)"rm", temp, (char *)"/dev/null", (char *)"/dev/null", (char *)"/dev/null"); - - if ((hp = open_webdoc((char *)"index.html", (char *)"BBS Site Documentation", NULL))) { - fprintf(hp, "\n"); - close_webdoc(hp); - } else { - Syslog('+', "Can't create html documentation"); - } - - mbse_mvprintw(8,11, (char *)"Creating site documents"); - fflush(stdout); - horiz = 35; - page = global_doc(fp, toc, page); - dotter(); - page = fido_doc(fp, toc, page); - dotter(); - page = archive_doc(fp, toc, page); - dotter(); - page = virus_doc(fp, toc, page); - dotter(); - page = modem_doc(fp, toc, page); - dotter(); - page = tty_doc(fp, toc, page); - dotter(); - page = node_doc(fp, toc, page); - dotter(); - page = bbs_doc(fp, toc, page); - dotter(); - page = mail_doc(fp, toc, page); - dotter(); - page = tic_doc(fp, toc, page); - dotter(); - page = newf_group_doc(fp, toc, page); - dotter(); - page = new_doc(fp, toc, page); - dotter(); - page = ff_doc(fp, toc, page); - dotter(); - page = service_doc(fp, toc, page); - dotter(); - page = domain_doc(fp, toc, page); - dotter(); - page = task_doc(fp, toc, page); - dotter(); - page = route_doc(fp, toc, page); - dotter(); - page = ibc_doc(fp, toc, page); - dotter(); - users_doc(); - dotter(); - ol_doc(); - clrtoeol(); - mbse_mvprintw( 8,11, (char *)"Created site documents in %s/share/doc", getenv("MBSE_ROOT")); - fflush(stdout); - - /* - * Append table of contents - */ - page = newpage(fp, page); - addtoc(fp, toc, 21, 0, page, (char *)"Table of contents"); - fprintf(fp, "\n\n"); - line = 4; - rewind(toc); - - while (fgets(temp, 256, toc) != NULL) { - fprintf(fp, "%s", temp); - line++; - if (line == 56) { - page = newpage(fp, page); - line = 0; - } - } - - fprintf(fp, "\f"); - fclose(fp); - fclose(toc); - unlink(temp1); - - Syslog('+', "Sitedocs created"); - - /* - * Remove obsolete documents - */ - snprintf(temp, PATH_MAX, "%s/doc/xref.doc", getenv("MBSE_ROOT")); - unlink(temp); - snprintf(temp, PATH_MAX, "%s/doc/stat.doc", getenv("MBSE_ROOT")); - unlink(temp); - - center_addstr(LINES -4, (char *)"Press any key"); - readkey(LINES -4, COLS / 2 + 8, LIGHTGRAY, BLACK); - return; -} - - - -void initdatabases(void) -{ - if (!init) { - clr_index(); - working(1, 0, 0); - set_color(WHITE, BLACK); - mbse_mvprintw( 5, 6, " INIT DATABASES"); - IsDoing("Init Databases"); - } - - config_read(); - - InitArchive(); - InitDomain(); - InitFilearea(); - InitFilefind(); - InitFGroup(); - InitFidonetdb(); - InitFidonet(); - InitHatch(); - InitLanguage(); - InitLimits(); - InitMagics(); - InitMsgarea(); - InitMGroup(); - InitModem(); - InitNewfiles(); - InitNGroup(); - InitNodes(); - InitOneline(); - InitProtocol(); - InitService(); - InitTicarea(); - InitTtyinfo(); - InitUsers(); - InitVirus(); - InitRoute(); - InitFDB(); - InitIBC(); - if (!init) { - clr_index(); - } -} - - - -int main(int argc, char *argv[]) -{ - int loop = 1; - struct passwd *pw; - - /* - * Find out who is on the keyboard or automated the keyboard. - */ - pw = getpwuid(geteuid()); - if (strcmp(pw->pw_name, (char *)"mbse")) { - printf("ERROR: only user \"mbse\" may use this program\n"); - exit(MBERR_INIT_ERROR); - } - - /* - * Read the global configuration data, registrate connection - */ - config_check(getenv("MBSE_ROOT")); - config_read(); - if (strlen(CFG.debuglog) == 0) - snprintf(CFG.debuglog, 15, "debug.log"); - InitClient(pw->pw_name, (char *)"mbsetup", CFG.location, CFG.logfile, 0x1f, CFG.error_log, CFG.mgrlog, CFG.debuglog); - - /* - * Setup several signals so when the program terminate's it - * will properly close the curses screens. - */ - signal(SIGINT, (void (*))die); - signal(SIGBUS, (void (*))die); - signal(SIGSEGV,(void (*))die); - signal(SIGTERM,(void (*))die); - signal(SIGKILL,(void (*))die); - signal(SIGIOT, (void (*))die); - - oldmask = umask(002); - - do_quiet = TRUE; - Syslog(' ', " "); - Syslog(' ', "MBSETUP v%s started by %s", VERSION, pw->pw_name); - if (init) - Syslog('+', "Cmd: mbsetup init"); - - if ((argc == 2) && (strncmp(tl(argv[1]), "i", 1) == 0)) - init = TRUE; - else - screen_start((char *)"MBsetup"); - - if (lockprogram((char *)"mbsetup")) { - printf("\n\7Another mbsetup is already running, abort.\n\n"); - die(MBERR_NO_PROGLOCK); - } - - bbs_free = FALSE; - initdatabases(); - - if (!init) { - do { - IsDoing("Browsing Menu"); - clr_index(); - set_color(WHITE, BLACK); - mbse_mvprintw( 5, 6, "0. MAIN SETUP"); - set_color(CYAN, BLACK); - mbse_mvprintw( 7, 6, "1. Edit Global configuration"); - mbse_mvprintw( 8, 6, "2. Edit Fido Networks"); - mbse_mvprintw( 9, 6, "3. Edit Archiver Programs"); - mbse_mvprintw(10, 6, "4. Edit Virus Scanners"); - mbse_mvprintw(11, 6, "5. Edit Modem types"); - mbse_mvprintw(12, 6, "6. Edit TTY lines info"); - mbse_mvprintw(13, 6, "7. Edit Fidonet Nodes"); - mbse_mvprintw(14, 6, "8. Edit BBS Setup"); - mbse_mvprintw(15, 6, "9. Edit Mail Setup"); - mbse_mvprintw(16, 6, "10. Edit File Echo's setup"); - mbse_mvprintw(17, 6, "11. Edit Newfiles Groups"); - mbse_mvprintw( 7,46, "12. Edit Newfiles Reports"); - mbse_mvprintw( 8,46, "13. Edit FileFind Setup"); - mbse_mvprintw( 9,46, "14. Edit Files Database"); - mbse_mvprintw(10,46, "15. Edit BBS Users"); - mbse_mvprintw(11,46, "16. Edit Services"); - mbse_mvprintw(12,46, "17. Edit Domains"); - mbse_mvprintw(13,46, "18. Edit Task Manager"); - mbse_mvprintw(14,46, "19. Edit Routing Table"); - mbse_mvprintw(15,46, "20. Edit Internet BBS Chat"); - mbse_mvprintw(16,46, "21. Show software information"); - mbse_mvprintw(17,46, "22. Create site documents"); - - switch(select_menu(22)) { - case 0: - loop = 0; - break; - case 1: - global_menu(); - break; - case 2: - EditFidonet(); - break; - case 3: - EditArchive(); - break; - case 4: - EditVirus(); - break; - case 5: - EditModem(); - break; - case 6: - EditTtyinfo(); - break; - case 7: - EditNodes(); - break; - case 8: - bbs_menu(); - break; - case 9: - mail_menu(); - break; - case 10: - tic_menu(); - break; - case 11: - EditNGroup(); - break; - case 12: - EditNewfiles(); - break; - case 13: - EditFilefind(); - break; - case 14: - EditFDB(); - break; - case 15: - EditUsers(); - break; - case 16: - EditService(); - break; - case 17: - EditDomain(); - break; - case 18: - task_menu(); - break; - case 19: - EditRoute(); - break; - case 20: - EditIBC(); - break; - case 21: - soft_info(); - break; - case 22: - site_docs(); - break; - } - } while (loop == 1); - } - - die(MBERR_OK); - return 0; -} - diff --git a/mbsebbs-code/COPYING b/mbsebbs-code/COPYING deleted file mode 100644 index 5b6e7c66..00000000 --- a/mbsebbs-code/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - 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. - - - Copyright (C) - - 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. - - , 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. diff --git a/mbsebbs-code/CRON.sh b/mbsebbs-code/CRON.sh deleted file mode 100644 index fe693ca9..00000000 --- a/mbsebbs-code/CRON.sh +++ /dev/null @@ -1,93 +0,0 @@ -#!/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." - diff --git a/mbsebbs-code/ChangeLog_1998 b/mbsebbs-code/ChangeLog_1998 deleted file mode 100644 index b53b9eab..00000000 --- a/mbsebbs-code/ChangeLog_1998 +++ /dev/null @@ -1,1393 +0,0 @@ -$Id: ChangeLog_1998,v 1.1 2002/06/01 13:55:39 mbroek Exp $ - - MBSEBBS History in 1998. - - -v0.00 Started work on the Rapidbbs sources to make new structures, - headerfiles and makefiles. - The whole thing will include Fidonet echomail and tic file processing. - -v0.01 Until v0.06 lots of sourcecode fixes, bugs removed which became - visible after writing the new header and makefiles. Included common - and jamapi libraries. The jamapi is not in use yet but will be the - final message base format. - - Rewritten the mbse deamon. This deamon monitors the bbs and all the - utilities. - - Written an import util to import textfiles from the databases exported - by a little Pascal program that exports the RA databases from the DOS - bbs. - - Started writing a new setup utility. While doing this the old config - program is being stripped down. - - Renamed the filelist program to allfiles. - -v0.06 In the internal mbsed server structure added information for user - online messages. Added ADIS:2,pid,flag; set users Do Not Disturb - flag, also changed the bbs to sent that flag. - - Added Status commands to the mbsed, test for BBS open, and Zone - Mail Hour. 2 new statements in etc/mbsed.conf. The mbsebbs now - tests at startup for ZMH and BBS open. If it is closed the user is - disconnected with the reason why. - -v0.07 The new structures are ready. The bbs can run with local mail only. - - Renamed the filepack program to mbfile, it will do a lot more later. - - Removed the whoson program, the functions are in the setup program now. - - Added in the setup program the oneliner editor, protocols editor, - language setup editor, limits editor. - The oneliner editor has an import facility to import plain textfiles - to add oneliners. - - Changed structures again, lastcaller and ttyinfo. - - Removed the usered program, the users editor is in setup now. - - Fixed the download (non batching) function DownloadB, it does work - more or less. Changed the calling program from execl() to system() - to fix the stack problems. Now need testing voor carrier loss and - timeouts. - - After testing with a DOS-PC (A real fast 286 10 MHz state of the art - of the eighties, directly connected to the tty port) the Good_Bye - function needed 5 seconds extra delay to be shure all data is - send to the user. Also the parent died too fast so the mbsed server - wasn't notified when the client was logged off. - - In the bbs chat.c added unlink the /tmp/.BusyChatting file so the - chat could be more than once in a session. - - In the internal mbsed server structure added information for user - online messages. Added ADIS:2,pid,flag; set users Do Not Disturb - flag, also changed the bbs to sent that flag. - - Added Status commands to the mbsed, test for BBS open, and Zone - Mail Hour. 2 new statements in etc/mbsed.conf. The mbsebbs now - tests at startup for ZMH and BBS open. If it is closed the user is - disconnected with the reason why. - -v0.08 Added the JAM c api. This is a modified version for Linux. - - Reading JAM messages and Quickscan JAM messages implemented. Removed - support for the old message base format. The function Msg_Post() does - not work anymore, must be rewritten to support JAM. - - In the msgpack program removed all code for the old message base - format. Inluded support for client/server. - - Removed all structures of the old message base format, the only - format left is JAM. - - -v0.09 22-Mar-1998. - In Language data compiler removed output to screen for each compiled - line. When finished compiling it reports the number of language lines. - - Changed the number of lines for the line editor in Post_Msg() and - Reply_Msg() in a #define statement. In the language source it still - allways says 60 lines. - - Bugfix in mbsetup: edit message area item 7 an 8 didn't work. - - Start writing of man pages. - - Start writing mbfido, the net- echomail tosser, scanner and packer. - Succeeded tossing echomail, no dupechecking, links checking or other - checks are done. No reply linking either. - - mbsetup: Added Fidonet aka setup. - - Moved JAM I/O functions to the common directory. - - Created the mbmon program out of mbsetup. Removed those items from - mbsetup. - - Start build of the dbase library, this library will contain functions - to access the configuration datafiles for all utilities except the - mbsetup program. - -v0.10 15-Apr-1998. - Allfiles changed to make use of the common and dbase libraries. Does - logging now of activities. Removed links to src/bbs/funcs4.c - - Added fileareas and filesdatabase import to the import program. - - Corrected file area mismatches in mbsebbs and fedit. - - Mbsetup: finished global setup. Fixed pull filegroup and messagegroup. - Added edit bbs file areas. Changed format of fareas.data. - - mbfido: Added first dupechecks, only logging. Fixed errors in dbase - search routines, caused mail to be tossed in the wrong directories. - Added tossing of bad (unknown areas) and dupe mail in the bad and - dupe boards. Checks for .PKT destination implemented. Ideas for - netmail tracking written. Dupe checking seems to work, but I can't - compare it with my other tosser yet. Note after more testing: - it's better than GEcho's 1.11+ dupechecking. - - allfiles: Opens header.txt now only before processing the areas. - Added footer.txt. Both files must be in the configfiles directory, - if they are not present, nothing will be inserted. Removed all code - that constantly opened and closed the output file. Added logging for - total processing time. Added new lines to the area headers. Areas - are only written if there are downloadable files in them. Download - counter now represents bbs downloads, ftp downloads and file requests. - The last two counters are not in use yet. - -v0.11 26-Apr-1998 - mbsebbs: In the mail reader swapped From and To language fields, the - names were in the right place. Added the nodenumber after the from - name. Must be set for messagearea type (Local/Net/Echo). - - mbfido: Corrected some loglevels. - - userpack: rewritten from scratch. Deletes unix accounts as well, uses - /usr/sbin/userdel to do this, so shadow support works just fine. - This program must be run as setuid root setgid root. - - structs.h: removed flags for Unixmode and all related flags. - - mbuseradd: written. This is a setuid root setgid root version of - adduser, this program is called by newuser to create the unix account - of a bbs user. It also creates the homedirectory, the .profile file - and expires the unix account password. When a new created unix user - logs in he will be prompted for a new password. - - newuser: lots of rewriting. Added inactivity timers. Now we have - always unix accounts and fido bbs accounts. It will also die - nicely when the user did hangup on us or waited for idle timeout. - - mbsebbs: Check for unix account, if it doesn't exist the user is - forced to create a unix account. If unix login we now have a pause() - at the same place the password prompt is so the user can see the - opening screen and read it. - Removed the code that there was a parent (guarding users logon time) - and a child process (running the user). There is only one process now. - Implemented keyboard input timers. The total onlinetime must be - guarded in another way now, ie. checking must be done at prompts. - In the mean time proper idletimeout, hangup and error conditions - will log the user off in a neat way and writing into the logs about - what happened is mostly solved. - - mbsebbs and newuser: New users can only be handled by the newuser - program. Listed users only by the mbsebbs program. You need 2 accounts - without a password for this. Maybe I'll chain these 2 programs later. - - misc: compiling is a mess again, more libraries are needed, time to - close this version. - -v0.12 07-May-1998. - mbsed: Rename the logfile from "mbsed" to "mbsed.log". The mbsed - logfile is opened and closed everytime now. Logfile cleanup utils - can now safely remove the logfile, make it smaller etc. - - mbsebbs: Splitted misc.c into bye.c, pinfo.c and misc.c - - dbase library: added userrecord search. Added netmailboard search. - - mbfido: removed segmentation fault caused by a too long kludge, added - a check for the stringlength (512 bytes). Removed bugs in netmail - destination tests. Implementation of ftn netmail import into JAM area. - Only the first netmail area is used, no need for several areas now. - - mbsebbs: Added aka display when reading netmail. Changed autowrap - to line 74. - Added test for users handle when scanning new mail. - Removed test tlcap() when comparing names. The tosser should correct - the names. - Changed the MsgSelectPrompt() to default return the lastread pointer - instead of message 1. - Changed Read_a_Message() so it will return TRUE if message read was ok, - FALSE otherwise. - CheckMail() now starts searching at the users lastread pointer. It - now also keeps track of messages to the user, and gives the option - to read them. Reply is not possible yet, but posting isn't working - also. - Added a check that the receivername must exist to prevent false new - mail. - Changed UserList() to skip the empty userbase records. - Place the users timecheck functions in a separate file, made it work - again. Inserted timecheck points at several prompts. - Changed the timebank to reflect new timecheck routine's. - Moved the exitinfo functions to a separate file, several other modules - now use new functions in this file instead of internal ones. - Changed FileArea_List() to work with options (F+ and F-) for direct - area change. - Improved the fatal menu error construction. The user now sees a message - and will logoff by SIGILL. - -v0.13 24-May-1998. - mbfido: - Added a debug line to show flagfield of the original packet. - Added code to fill the message header MsgIdCRC and ReplyCRC - fields. - Added version info in the logfile. - - mbsebbs: - Corrected unixmode login problem if there where more than one - field within the gecos field of the passwd file. - Added version info in the logfile. - Changed the setting of signal handlers, removed SIGINT, added - SIGILL. - Supress display goodby screen in case of a SIGHUP. - Display ttyinfo.comment instead if ttyname in connect info. - Added create/check for subdirectories wrk and tag in the users - homedirectory, wrk is for the users homedir fileoptions, tag - is where symlinks of tagged files area placed. - Corrected message diplayed to user when logging in during zone - mail hour. - Removed menu option GlobalDownload, see new feature below. - Implemented download file tagging in menus FileList and - NewFilesScan. - Implemented download tagged files, the old download function - is gone. - Moved Change_Protocol and Set_Protocol from file.c to change.c - where they belong. Change_Protocol is now Chg_Protocol as all - other functions in change.c use the same naming convention. - Made KeywordScan and FilenameScan working without coredumps, - implemented file tagging. - Made enum vars for WhosDoingWhat. - Changed the internal filearea record number, area 1 is now 1, - not 0. This should prevent a lot of bugs. - Now setting large timeouts on the client/server guard during - filetransfers to prevent server disconnection. Changed mbsed - and common.a for that. - Added logging info when user is kicked out if the BBS is - closed. - Split file.c into file.c and filesub.c - Added menu function 111, Copy file to home directory. - Download_Home, Delete_Home, List_Home, Upload_Home now all work - with the new directory structure. Upload and Download homedir - do not count uploaded/downloaded bytes, the user gets no ratio - bonus after upload, only the up/downloads are counted. - Quota check for users home directory. The value can be set - with the mbsetup program, value is MBytes. - Removed error message if user selected a menu option where he - has no access rights for. The user now sees nothing. If you - want to give a response, use the menu system! - Reset colors to lightgray on black after logoff. - Added menu function EditTaglist. - - mbsed: - Invented two new commands, ATIM:1,n; which set a new client/ - server timeout, and ADEF:0; which resets the client/server - timeout to 600 seconds. - - common.a: - Implemented the two new client/server commands: ATIM and ADEF. - - mbsetup: - In global BBS setup, added editing Users Quota. - - import: - In FDB import, changed the filenames to lowercase. - - allfiles: - Output list now contains CR/LF at the end of each line. - - mbuseradd: - Added the line "export TERM=pcansi" to the generated .profile - in the new users home directory. This seems to work quite well - for all kinds of clients. - - - -v0.14 02-Jun-1998. - msgpack: - Renamed to mbmsg, it will do more as just packing messages. - Implemented using the msgbase.a library: Purging (Days old - and Max msgs), Packing deleted messages and Reply linking. - During pack the messages are renumbered and lastread pointers - are adjusted. - - mbsetup: - Added edit messagebase storage type. - - msgbase.a: - New library, universal message base library, must support - JAMmb, Fido *.MSG, Passthru, Usenet news and E-Mail. - This came original from LoraBBS, written by Marco Maccaferri. - I changed the sources to normal C code without objects, that - was the fastest method to mix it with the existing sources. - I dropped support for Hudson and Squish. - Only JAM is supported for a start. - The JAM module renumbers the messages while packing. - Added support for lastread pointers. - Changed all msg handling so that the messagetext must contain - all the kludges to be compatible with several message bases. - This means that the JAM module now handles the kludges in the - text, storing and retrieving it between the *.jhr files and - text. This also means that the applications don't have to - worry about kludges. - - mbsebbs: - Changed mail.c to work with the new msgbase library, dropped - the old jamapi. Scanning new messages looks slower, maybe - the speed improvement must be made in the msbase library. - Applied all changes in the messagebase library to the bbs - program. - - mbfido: - Applied all changes in the messagbase library in the tosser - module. While doing that I saw some bugs but they don't - mather anymore. - - - -v0.15 13-Jun-1998. - msgbase.a: - Implemented msgbase locking for JAM messagebase. Dropped - future support for other messagebase formats, I stick to - JAM and only JAM, it can do all we need, including mailer - netmail directory. - Implemented all possible attributes in the interface. - - dbase.a: - Removed some bugs in dbmsgs.c - Added code to update the nodes and msgs data records if they - are changed. - During msgs record loading the group record will also be - loaded if it's defined. - Added support for .tic area lookup. - - mbmsg: - Implemented msgbase locking during msgbase updates. - Added colours. - - mbfido: - Implemented msgbase locking during msgbase updates. - Implemented simple echomail forwarding in the queue. - Splitted tosspkt.c into importmsg.c echoout.c and tosspkt.c - to make the source more readable. - Started collecting SEEN-BY and ^APATH information in memory. - Started appending SEEN-BY entries during echomail forward. - Added code which should append SEEN-BY and PATH lines in - outgoing echomail. - In the startup code changed the catching/ignoring of signals. - Activated mail send and received counters in the nodes - records. - Activated echomail received counters. - Started working on .tic file processing, using my own MBFIX - code (in Turbo Pascal) as a guide. - - mbsed: - Changed the server locking in a more portable and secure way. - Added sequencer counter for generating MSGID numbers and - message packet numbers. - Removed a bug in response strings when the BBS is closed. - The signal SIGTERM is now ignored, we wait for SIGKILL only - so we keep running as long as possible. - - mbmon: - Added support for sequence numbers display. - - mbsebbs: - Removed a bug in the syntax of BBS closed messages. - Added a toggle switch to display message kludges for the sysop. - Added hilite color for quoted message lines in message read. - - mbstat: - The BBS close command doesn't need a reason anymore. - Implemented the wait function. We only wait for users online - and utilities that we want to complete their actions. Depending - on the type of init program, if it uses shutdown scripts, you - can now wait for the system to become idle before the real - system shutdown starts. - - - common.a: - Added a flag "show_log" to the Syslog function to suppress - logging to the screen. - - mbsetup: - Added support to edit .tic areas. - Started working on the creation of a site document, this is - a complete overview of the whole setup. - - -v0.16 06-Jul-1998. - - General: - This version is the first version installed on the real BBS - server, line #2. While doing this I discovered lots of errors - in the Makefiles because I installed it from scratch. I also - found out that GEcho and or RA is screwing up some JAM bases - causing this program to dump core. Did some testing, download - and mail reading is ok. - - mbsebbs: - NewfilesScan and show files listings now work with the file - upload dates instead of the real filedates. - - mbfido: - It's possible to import .tic files into the bbs. - Unknown echomail areas now log with WriteError(). - Added functions to pack mail for downlinks and put it in - the mailer outbound. - Because of small diffrences between ifcico and DOS mailers - running 2 mailers together still doesn't work for attached - files and mail. - Fixed a bug in outbound mail packets, the packed messages - didn't start with 0x0002 so downlinks didn't process the - messages. Output of echomail works now! - When processing large amounts of .tic files, the processing - stopped after about 30 files. Added 2 forgotten fclose - statements. - Added sorting functions for filenames with date/time. All - inbound processing is now sorted by date and time, oldest - files first. - - common.a: - In mbfile.c changed file_cp() to copy file attributes as well. - - userpack: - Changed commandline syntax. - - mbmsg: - Changed commandline syntax. - - mbstat: - Changed commandline syntax. - Added colors. - Does timeout after one hour waiting for the BBS to become free. - - mbsetup: - Added setup for .tic magic records. - Improved logging reason when tossing messages not for us. - - dbase.a: - Remove a bug where reading downlinks from areas base gave - nothing. (Introduced in 0.15). - - mbmon: - Corrected the screen header. - - -v0.17 30-Jul-1998 - - mbfido: - When importing files to the BBS the destination directory - is checked and created if it doesn't exist. - Improved checks when to rearchive incoming files. - Forgot to chdir back to the inbound when rearc failed. - Switching virus check off when the inbound file isn't an - compressed archive. Should check incoming *.exe (selfextracting - archives). - Keep number of files now works. - TIC forwarding to downlinks implemented. There are 2 netmails - for each forwarded file, one for the file itself and one for - the .tic file. The subjectline is to short under Unix. The - second netmail is an empty one, lets see how this works. - Added cookies. - Packing ARCmail now checks for bundles older then 5 days and - creates new bundles if found. - Added netmail pack to ARCmail. - Improved errorlogging again when tossing bad echomail. - Scan for outgoing echomail from the bbs is working. It is a - complete messagebase scan for now. - TIC forwarding again with one netmail, I faked the subject - line, all files seem to come from C:\FILES\. This seems to - give no problems with the other end of the link. - - mbmsg: - Improved debug logging. - Processing in only one area didn't work anymore. - - mbsebbs: - Made post new message work. - Now unlocking and closeing the messagebase after a crash. - Moved the lineeditor to a seperate source module. - Reply to messages is working, also from scan for new mail. - Comment to sysop now works. - Removed the Voting door. - - -v0.18 10-Aug-1998. - - general: - New record structure for fidonet networks. This makes - it possible to use the same nodelist indexes as ifmail. - Note that de define -DHAS_NDBM_H may only be set if you - have done this also in the ifmail package! This is set - in ~/src/mbfido/Makefile - - run_inout: - A shell script run from the mbse crontab (every minute) to - see if there is something to do. It scan's the protected - inbound and scan's for the ~/sema/mailout semafore. - - mbsebbs: - Creates a ~/sema/mailout semafore if mail is entered. - Added extra debug logging during newmail scan. On the live - bbs mbsebbs keeps on dumping core probably due to RA or GEcho. - Most amusing is that after crashing mbsebbs, RA will see new - netmail again, as if only mbsebbs knows how to handle the - users lastread pointers and fixes them for RA; sigh. - - mbfido: - Start working on the netmail tracker/router. It works without - an external routing file, although hosts will need one. - It works on checking known nodes, then nodelists, and then - known nodes again. This is very experimental. - - mbsetup: - Changed to the new fidonet structures. - - import: - Changed to the new fidonet structures. - - general: - Installed at 13-Aug-1998 at the BBS for testing. - - -v0.19 14-Aug-1998 - - general: - Wrote some documentation about how to setup the ftp server - so that it works together with MBSE BBS. - - mbsebbs: - After download the message "updating download counters" now - will first send a to overwrite the zmodem init string - on the users screen. - Added structures for bluewave. - Now scans for new files at logon. - Removed global variable sUserName, gave some strange results. - Added logging which msg area was active when a segmentation - fault occurs. - - script: - A new subdirectory for /bin/sh scripts. Look out with this - one, if you modify the scripts in ~/etc or ~/bin directly - they will be overwritten with each new install. - - mbuseradd: - Add each new user to /etc/ftpusers to prevent them to login - under their own name in the ftp server. - - fbgen: - Setting umask to 002. - - fileedit: - Removed, was obsolete. - - import: - Setting umask to 007. - - common.a: - mkdirs now creates directories with permission 0775. - Added dos<->unix filenames translation. - Rewrote tu() and tl() functions. - - mbfile: - Setting umask to 002. - Now checks for files on disk, but missing in the fdb. Deletes - them when found (exept some). - Now when packing the fdb records marked for deletion, also - if the file is on disk, it is deleted. - Added some commands to the todo list. - With the check command it now reports the area number to the - mbsed server, so mbmon will display how far it is. This will - also avoid timeouts on large areas. - Now handles multiple commands in one run. Pack will run - automatic if there are files deleted. - - mbfido: - Set a semafore "msglink" when the message base is modified. - Added more debug logging for files descriptions. - Implemented dos<->unix filename translation for tic file - forward. - File attaches in .flo files now are DOS filenames and .flo - files are now DOS-compatible. - If there are no more then 2 Long Description lines we asume - that there is a better single (old style) Description line. - There are uplinks that make a mess of these lines. - Netmail forwarding should work now as long as the nodes via - we must route are in our setup. - - mbsed: - Added in wait for free the mbindex and mbuser programs. - - mbindex: - Written. Heavlily based on Eugene Crosser's ifindex. - - mbsetup: - Written the menu editor and removed the old mbconfig program. - Added some editor commands to the user editor. - - mbuser: - Now leaves the records alone with the NeverDelete flag set. - - mbmsg: - Added logging when a segmentation fault occurs which was the - last message area. - - -v0.20 24-Aug-1998 - - common.a: - Moved from mbfido the modules ftn, falists, nlindex and - nodelist to this library. More programs will need it. - - mbindex: - Changed some loglevels. Removed the -force switch, compile - is always forced now. - Removed a bug to the path of the index files. - - import: - Now using dos2unix pathname translation for fileareas and - mailareas import. - - mbfido: - Changed some logging. Removed ftn, falists, nlindex and - nodelist modules, they are now in the common library. - - -v0.21 25-Aug-1998 - - mbindex: - Trashed the index files when a new nodelist in the setup - was added. (ifindex did this also). Now it will allways - force to recreate the index files. - Now sends username who started mbindex to mbsed. - - mbfido: - Imported files into bbs areas now get filemode 0644 instead - of 0660 so the ftp/www clients will really see them. - Corrected the experimental replace test, could never work. - If after trigger the compile nodelist flag there came in - another file, the flag was reset. - Now sends username who started mbfido to mbsed. - - mbsebbs: - Created a language crossreference listing. Corrected some - language numbers. - After changing the language, it is now confirmed in the - new selected language. - When the language file is missing, the error message no longer - comes from the missing language file, now it is hardcoded. - Minimum location length is now adjustable with mbsetup, - changed language prompt 74. - Replaced hardcoded messages in chat with language prompts - 59 and 60. - Changed error logging in exitinfo.c - When reading messages the more prompt is now language prompt - 61 instead of hardcoded. - Posting messages is now blocked for Noreply boards. Language - prompt 438. - In message readpanel now language prompts 211 and 212 for - Next reply: and Reply to: threads. - In message area select now using prompt 207. - In newmailscan, added prompt 218 and the Quit option. - In message status, added prompt 226. - Readpanel, added prompt 227. - Delete specific message subfunction does work now. - In display file with more, changed prompt 72. - Changed prompts in file.c and filesub.c. - The info screen is 1 character smaller, 79 characters, some - terminal programs did extra line wrapping. - Added new language file format, the datafile now includes - the keys users can press. - Moved the loading of user's preffered language more to the - begin of the login procedure. - When the user is unknown (ordinary BBS account), the newuser - programm is started. If that runs successfull (depends on the - user on-line), mbsebbs will be run again. It's probably wise - to merge these 2 programs. - - mbsetup: - Minimum location length installed in menu 1.5 - - allfiles: - Now sends username who started allfiles to mbsed. - - mbfile: - Now sends username who started mbfile to mbsed. - - mbmsg: - Now sends username who started mbmsg to mbsed. - - mbstat: - Now sends username who started mbstat to mbsed. - - mbuser: - Now sends username who started mbuser to mbsed. - Did leave the users.data file owned by root. It is now - set to the owner and group of the "mbse" account. - Added screen output for non-quiet mode. - - lang: - Changed to compile new language datafile format, including - the keys a user can press. - - newuser: - Added new language file format, the datafile now includes - the keys users can press. - Now always asks Date of Birth, this is necessary for later - checks. - At the end now engages mbsebbs. - - mbuseradd: - Now uses the created gid and uid voor changing ownership - of files and directories. - - -v0.22 06-Sep-1998 - - mbsetup: - Changed logfile to one master logfile. - Added menus for offline reader. - - allfiles: - Changed logfile to one master logfile. - - mbsebbs: - Changed logfile to one master logfile. - Started offline reader. - - mbfile: - Changed logfile to one master logfile. - Corrected creating full path/filename in pack files. - Added creating and removing symlinks for file requests. - Now deletes files during "kill" instead of only marking. - Simplified log messages. - Added commandline switch "req", this will only check the - file request symlinks. - - mbmsg: - Changed logfile to one master logfile. - - fbgen: - Changed logfile to one master logfile. - - newuser: - Changed logfile to one master logfile. - - mbuser: - Changed logfile to one master logfile. - - mbstat: - Changed logfile to one master logfile. - - mbindex: - Changed logfile to one master logfile. - - mbfido: - Changed logfile to one master logfile. - Added creating and deleting of symlinks for file requests. - Files removed from the filedatabase when running "keep files" - are now also removed from disk. - Removed some debug logging for netmail forwarding. It seems - to work. - Replace files now works more or less. Moved the fdb packer. - - mbindex: - Only logs crash cause if errorlevel > 0. - Removed some invisible screen output in quiet mode. Cron did - notice this. - - lang: - Renamed to mblang, also the source directory is now mblang. - The directory lang will now be used for language sources. - - -v0.23 20-Sep-1998. - - global: - Added #pragma pack(1) to ~/src/include/libs.h so that all - datafiles are now compatible over several hard and software - platforms. I needed this to implement the BlueWave Offline - Reader into the bbs. Increased the QWK tagname field to 20 - characters. - - mbsebbs: - Made menu execution logging more readable. - If a user has no archiver set, set default to ZIP at logon. - Changed logging in the Download Direct command. - Implemented first raw version of BlueWave Offline Reader. - Needs some security improvements, file requesting, filters - but it works for now. - Checking for a Unix account was done before the password was - checked, so if the password was wrong the user was asked for - a new Unix account again. - - mbfido: - For netmail import now searches the netmail area on zone:net - match. - - import: - Removed bugs when converting DOS to Unix paths which resulted - in corrupted pathnames. - - mbsetup: - Corrected linefeed problem in language doc printing. - Horizontal line drawing now with low-ASCII instead of Alternate - Character Set. - - mbmon: - Horizontal line drawing now with low-ASCII instead of Alternate - Character Set. - Corrected a color problem in View BBS Information, and added - display BBS startdate. - - -v0.24 30-Sep-1998. - - structs.h: - New fields in config.data: OLR_MaxMsgs, OLR_NewFileLimit, - OLR_MaxFreq. - New fields in mareas.data: OLR_Default, OLR_Forced. - New fields in ttys.data: honor_zmh. - Added Areafilename field to group records. - - mbsebbs: - Combined some functions from offline.c and mail.c into - msgutil.c - Messages posted with a OLR are now counted in the users record. - Closeing the bbs during Zone Mail Hour can now be set for each - individual line. - Now counting and marking the date/time when posting messages - in mareas.data. - - mbsetup: - Corrected some sitedoc problems in global setup. - Added sitedoc printing for mail setup. - Added file and mailgroups setup to the nodes setup. - Added newfiles reports setup. - Added filefind areas setup. - - mbfile: - Corrected spelling error. - - mbaff: - New program. Announce new files and FileFind (Allfix). - - mbfido: - In .tic file processing if we were a pointaddress, the path - checking always gave an error. The check of our boss is - skipped now. - The correct .tic area and filedate is now set in the toberep - database. - - mbmsg: - Improved initialisation. - - -v0.25/a 12-Oct-1998. - - general: - From now on version numbering will get /a (Alpha), /b (Beta) - and /g (Gamma) release extensions. This is necessary for - live testing at my bbs. - - mbfido: - The Cost field in the toberep.data file was not set. - - msgbase.a: - Added extra screen output in certain error conditions. - Added a trick to generate a FromAddress from the Msgid - in case there is no FromAddress. This was left blank by - GEcho 1.11+ (DOS). - - mbaff: - Added some IsDoing information for the monitor. - Setting ReplyCRC to -1 instead of 0 if it's an original - message. - Minimum searchstring length is now 3 characters (hardcoded). - Added a check to see if there is a FromAddress and a Subject - before a message is added to the scanlist. - - mbsebbs: - Corrected spelling error in OLR download logging. - - mbsetup: - Changed some page layouts in the sitedocs, added some - forgotten formfeeds. - - -v0.25/b 14-Oct-1998. - - mbfido: - If the tic queue directory didn't exist, it is now created. - Netmail messages now have zone:net aka matching on the - destination and from addresses. - Started with the AreaMgr and FileMgr functions. It can respond - to %help. - Added the notify function. - - mbsetup: - When picking a mailgroup in messages setup or a filegroup - in ticsetup, the ftn aka is copied from the group setup as - a default aka for that area. - When setting the area tag and if the OLR tagname is empty, the - area tag is copied there as a default. - - -v0.26/a 17-Oct-1998. - - general: - In some databases in the header there is now a time_t field - added. This is to mark the last statistics counters rollover. - Programs that count statistics must perform an rollover when - it's run on a new day, week or month. - - warning: - To upgrade the databases, enter the setup for message areas, - tic areas, nodes, file groups and message groups and save - the databases. - - mbfido: - Implemented new statistic counters. - Implemented rollover of the statistic counters every week and - new month. - Changed program locking, now it locks the whole program in - stead of short moments. - - mbsebbs: - Implemented new statistic counters. - - mbaff: - It now counts the posted messages in the message area. - Corrected the announce message text. - - -v0.26/b 20-Oct-1998 - - mbsetup: - Wrote the hatch manager. All basic functions are present now. - All databases that can be packed after deleting records can - do this now. During update those databases area sorted. This - is not for the message areas, files areas and the userbase. - These files may not be packed. - - - -v0.27/a 29-Oct-1998 - - general: - Changed the database format for the files. Added support for - long filenames. The .tic file area is also stored in the - records to make the rescan function work later. - The files database must be rebuild for this release!!! - The BBS and the rest of the programs now use different - loglevels. - Changed the sourcefile distribution name to mbseN_NN.tgz. - - upgrade: - Delete all file databases! - mbsetup 1-5-20: set utils loglevel. - run mbfile check -debug to fix the files references. - - dbase.a: - Functions added to connect and disconnect nodes from echimail - and file areas. - Now marking the nodes record invalid after update. This should - prevent corrupting the nodes.data file from now on. - - common.a: - Added a function to convert ifcico addresses to internal fido - addresses. - Removed a pointer bug in the aka2str function. - - mbfido: - Added most AreaMgr and FileMgr functions. Needs a lot of - code cleanup but most things work for now. - Now imports the TIC area name in the filedatabase. This can - later be used for %resend requests. - The long filename field is filled with the dos filename for the - time being. - - -v0.27/b 04-Nov-1998 - - general: - Changed the top Makefile, it "forgot" the script directory. - This release adds nodelist diff processing and hatching of - new files, for example the nodelist you just created. - Switched to compiling with ndbm.h, this is now default - because the nodelist can now be opened by several programs - at the same time (for reading). Support for dbm.h will be - dropped, it gives trouble and cannot be used on a multiline - system. - Created the semafore.doc document for semafore handling. - - common.a: - Added the semafore functions. - - import: - Implemented long filenames on files database import. - - - mbfido: - Changed the way of counting FILE_ID.DIZ lines in archives. - Made macro's in tic processing case insensitive. - Implemeted automatic hatching of files. - Creates the "mbindex" semafore when new nodelists have been - put in place. - - mbuseradd: - Changed the contents of users .profile to: - . $MBSE_ROOT/etc/profile - The file $MBSE_ROOT/etc/profile contains the global startup - commands for normal bbs users. - - - mbsebbs: - Changed debug logging of DisplayFile function. - Logs the tty line comment after the username at login. - Linked with the new common/semafore functions. - - mbdiff: - New program. Nodelist diff processor. Creates the "mailin" - semafore when it created a zipped nodelist. - - mbsetup: - Added tic echo group pick in hatch and magic setup. - Removed setup of semafore path's, they are now hardcoded. - - mbcico: - A quick hack of Eugene G. Crosser's ifcico. At this time - only the logging functions using mbsed are implemented. - It needs ~/etc/mbcico.conf for configuration together with - the standard database configuration. In time, the mbcico.conf - file will not be needed anymore. For testing in this release - it does the job. - - mbaff: - Linked with the new common/semafore functions. - Creates also the msglink semafore when mail is written. - - mbindex: - Removes the "mbindex" semafore when the nodelists are - successfull compiled. During compiling it places the - "compiling" semafore. - - mbmsg: - Removes the "msglink" semafore when the messagebases are - linked. - - mbstat: - Now maintains the semafore's "bbsopen", "bbsclosed", "zmh" and - "scanout" according to semafore.doc. You must schedule - "mbstat check" in the crontan at the start op ZMH and end of - ZMH both on summer and wintertime. If you did configure the - ZMH right in UTC in $MBSE_ROOT/etc/mbsed.conf this will work - if you did setup your timezone correctly. - - - -v0.28/a 18-Nov-1998. - - general: - Modified the structs files to add a database for modems, - changed the tty database to link it with the modems, added - fields in the nodes database for the mailer, added fields - in the global config file to add setup for the mailer. - Dropped nodelist V21 flag, added V32T and VFC flags. The - U flags for modem capabilities must be implemented somehow. - - upgrade: - To upgrade, enter the global setup and leave it, say yes to - save changes. Enter the nodes setup, enter one of the nodes - record, exit and save changes. Setup the modems database. - Enter the tty ports setup, link the modems to the POTS and - ISDN lines and save it. - - common.a: - In crc added crc16ccitt functions. - In clcomm the function IsDoing(char *) now accepts formatted - parameters. - Added function SetTTY(char *). - Added debug logging of nodelist flags. - Changed the way the nodelist flags are parsed, sometimes - U flags became standard flags, and standard flags became U - flags. 'U' became a flag also. - Moved some common files from mbcico and mbfido into the - library. - - mbsetup: - Changed the lineeditor to accept the comma character. - Added modem setup, changed tty lines setup to pick a modem. - Changed nodes setup, finally added the statistics screen. - Changed fidonet setup, first zone is now called "primary zone" - - mbfido: - Added IsDoing info during date rollover. - Removed a bug causing a segmentation fault when a mail packet - had an error. - Removed check that incoming packets must come from a node in - our setup. All received mail packets are now processed. - Echomail must still come from nodes in our setup, the rest goes - to /dev/null - Moved some sources to the common library. - In forward() changed the uppercase functions for the subject - line. The original filename became uppercase also. - Corrected debug logging for packet date, the month was 0-11 in - stead of 1-12. - Added logging for ftsc product name and version. - - mbcico: - Added some EMSI extra logging. - Added more IsDoing info for mbmon. - Corrected the Makefile after testinstall on the live bbs. - Changed the order of the EMSI data to send to the remote - party to be more standard. McMail (maybe others too) didn't - recognize all options send too early. - Added EMSI logging for 'link', 'comp' and 'tranx'. - Moved some sources to the common library. - Completely rewritten the chat module. Everything received - from the modem is now logged. Because all modem responses - including echo from commands, are now logged, the aftercall - function (get modem aftercall or caller id), will go to the - logfile as well. (not tested, I have no CLIP capable modem). - Added patches from ifcico-3.0.cm.alpha-4.0 to filelist.c, - this should better handle files sent/notsent in failed - sessions. - Added counters for sent and received bytes. - Completely rewritten the scanout function. It now searches - only in the outbound directories defined in the setup. - In the fidonet networks of the setup the first defined zone - is the default zone for that domain. Other zones get a hex - extensions with zone number. - Scanning mail for the CallAll option now selects outside ZMH - only crash mail, during ZMH crash and normal mail. Logging - of selecting mail is improved. - When calling a node is failed for 30 attempts, the node will - not be called anymore. If the problem if corrected you now - must manually edit the .sts file or delete it to call that - node again. (Option for the future outbound manager). I think - that sessions errors do this after 3 attempts. - When calling a node, mbcico more ore less automatic selects - a tty with modem that matches the nodelist entries of the - node to call. ISDN is not yet supported. Also a best speed - test must set priority of ports to use. - - mbmsg: - Supressed error message if there was no semafore "msglink" - to remove. - - mbsed: - Added command SZMH, requesting Zone Mail Hour status. - Added command ATTY, setting a new tty port. - - mbdiff: - Removed some unnecessary debug log information. This program - seems to work fine now. (Wow, only needed 2 releases for - this one). - - -v0.28/b 09-Dec-1998 - - general: - Added structure for the mailer history file. - - mbaff: - Removed some debugging logmessages. - - mbsebbs: - Removed some debugging logmessages for newmail scan. - Removed some debugging logmessages from timer functions. - - mbmsg: - Added program info logline. - - mbcico: - Added monitor info during FTS-0001 sessions. - - mbout: - New program, the Outbound Manager, many ideas stolen from other - programs of the ifmail package. - - - -v0.29/a 11-Dec-1998 - - common.a: - Opening of nodelists is now logged at debug level. - Added .pol files to pktname.c - Moved attach.c from mbfido to common library. - Nodelock now tests for own locks, if so, no error is given. - - mbfido: - Worked on the uppercase bug again. It will only happen when - we must forward a file. - Moved attach.c to the common library. - - mbout: - Implemented file requests. - Implemented creating and removing of .pol files to make and - remove polls. - - mbcico: - Calls nodes when .pol file is present. - Made file requests working again, the .req files where not - added to the filelist to send. - When reading node options the NoEMSI and NoWazoo flags weren't - copied to the options. - Corrected a bug in yoohoo.c where it didn't initialize - remote->addr->name to NULL in checkhello(), this caused - a segmentation error and failing Yoohoo/2U2 sessions. Note - that this error is in ifcico as well. - Over TCP/IP with ifcico as other mailer EMSI, Yoohoo/2U2 and - FTS-0001 in- and outbound sessions are working. For other - mailers we will see if it will work in real live. - - -v0.29/b 17-Dec-1998. - - general: - Installed 0.29/alpha on the bbs. - Installed usleep() code in some utils. See usleep.doc for - details. - Changed the nodelist flag definitions to prevent conflicts - with system macro's. - - common.a: - Locking and unlocking nodes gives better error logging. It - now also checks our own pid if the lock was already made - instead of complaining. - - mbfido: - Removed some bugs in logging in magic.c - Changed FILE_ID.DIZ file checking for empty lines. - Now always marks a file announced when importing into the bbs. - Added code to prevent terminal output in quiet mode. - Added usleep() code in statistics rollover. - Added usleep() code in importmsg. (sleep each message). - Added usleep() code in LoadTic. (sleep each .tic file). - Added usleep() code in scan for mail. - Removed error message when "mailout" semafore didn't exist - in scan for mail. - - mbcico: - During outbound EMSI session we send the NRQ option flag, - requests on hold for us are not allowed when we callout. - When calling a node the first thing now is lock the node - to prevent further checking if the node is already locked. - Putstatus is logged for studying status updates. - Experimental status resetting of all nodes after successfull - session. - - mball: - Renamed from allfiles. - Now creates allfiles and newfiles reports. Honors maximum - security level to include in the lists (no flags yet). - Optional parameter -zip will create allfiles.zip and - newfiles.zip. - Installed usleep() code. - It is finished. - - mbout: - No more error message when a file attach in a .flo file is - nolonger on disk. This can happen if nodes don't poll often - enough. - - mbmsg: - Installed usleep() code. - Removed color code output when in quiet mode. - - mbaff: - Installed usleep() code. - Now marks the file announced after scanning the bbs for - uploads. - - mbfile: - Added the usleep() code. - Added some code to lower the disk i/o. - - mbstat: - Now logs status of ZMH with the "check" command. - - mbuseradd: - Added a check to see if the "shadow password suite" is - installed. It is absolutely necessary to have this. - If /etc/login.defs is present, the useradd program gets an - extra parameter "-M", to override the creating of the users - home directory. (Found on Redhat 5.1). - Added an extra check if reading the /etc/passwd file failed. - Added newline characters after some error messages. - - -v0.29/b2 24-Dec-1998 - - general: - Added modem.stripdash and ttyinfo.portspeed in structs.h - - common.a: - Changed logging functions in clcomm.c, repeated messages are - now counted and reported how many there were. A full filesystem - will hopefully not happen anymore. - Added the Nopper function, this one can be called often but - only once a minute a NOP is send to the server to prevent a - timeout disconnect. - - mbcico: - Removed some debugging logs. Added some return codes from the - tty drivers in zmodem send and receive. (removed later, it - didn't work). - Added Nopper code in file transfer protocols. - - mbout: - When creating a poll the node's status record is reset, so if - the node was undiable, it will start polling again. This will - not happen for sessions handshake errors and port errors. - - mbsetup: - In edit tty added edit portspeed. - In edit modem added edit stripdash. - - mbsed: - Corrected ZMH status response. - - mbstat: - Corrected ZMH status check. - - -v0.29/b3 28-Dec-1998. - - mbcico: - Inserted new ttyio code from the German version made by - P. Saratxaga and T. Tanaka. I hope the Zmodem problems will - now be solved. - Added Hydra filetransfer protocol. - Removed Janus, it wasn't implemented anyway. - Corrected modem init routine. - Implemented aftercall function. - - mbsetup: - Removed setup to disable Janus protocol. - - -v0.29/b4 29-Dec-1998. - - general: - Changed the Makefiles. Now only in ~/src/CONFIG you can place - extra defines. - Added compile switches -Wshadow -Wwrite-strings - -Wstrict-prototypes. This gave a lot of code cleanup, maybe some - strange errors are gone. - - common.a: - Corrected the repeative log counter. - Included in nlindex.c HAS_BSD_DB - - mbcico: - Improved ttyio logging, maybe we can better see what is going - wrong when transfering files. - EMSI compatibility protocol now gives Hydra first, then Direct - Zap. - Added file transfer counters to Hydra. Changed Hydra logging - a bit. - - mbindex: - Changed nodebld.c to inlcude HAS_BSD_DB - - mbuser: - Did some screen output when it was in quiet moded. - - diff --git a/mbsebbs-code/ChangeLog_1999 b/mbsebbs-code/ChangeLog_1999 deleted file mode 100644 index c1f89f84..00000000 --- a/mbsebbs-code/ChangeLog_1999 +++ /dev/null @@ -1,1602 +0,0 @@ -$Id: ChangeLog_1999,v 1.1 2002/06/01 13:55:40 mbroek Exp $ - - MBSEBBS History in 1999. - - -v0.30/a 01-Jan-1999. - - mbfido: - Removed a bug in the program lock that could cause a segfault. - In delete viruswork made rm now work in forced mode. - Hatch files now logs only hatched files. Added the - statistics update. - Changed completly the call module. There were some locking - problems and modem access attempts when the port was closed. - In Hydra the transfercounters are now updated after each - succesfull block. - Added more debugging log to the ttyio driver. - In answer mode we grep the environment variables CONNECT - and CALLER_ID created by mgetty and make log entries. - Swapped timer numbers in Hydra, in tty_write we now don't - test the read timer anymore, this gave unexpected timeouts - and is not according the Hydra specs. - Changed more debugging in ttyio, zmodem and zedzap are still - not working well. - Undiable nodes will not be added to the callist anymore. - - mbsed: - Added some logging in the ZMH status check to see what goes - wrong with asking ZMH status. - Changed the statusfile locking, now the lock tests are done - at 100 mSec intervals instead of 1 Second. - - mbsebbs: - Added CONNECT and CALLER_ID environment variables logging. - - newuser: - Added CONNECT and CALLER_ID environment variables logging. - - -v0.30/b1 10-Jan-1999. - - common.a: - Removed a bug in client.c that caused a segmentation fault - when the connected tty was /dev/console. It is now possible - to run clients from sysv init during system boot. - - mbsed: - Removed a bug in the ZMH status function. - Changed statusfile lock form 15 x 100 mSec to 10 x 250 mSec. - - -v0.30/b2 16-Jan-1999. - - general: - Defined bitmasks for logging. There are now maximum 26 debug - logflags. The logflags are changed from int to long. - All programs have been changed to use these flags now. - - upgrade: - In mbsetup set the new flags in menu 1.5.19 1.5.20 and 1.18.1 - - note: - This version still only compiles on Slackware 3.2 maybe - others, but not on RedHat 5.1 5.2 and RedHat 5.2 Sparc. - - -v0.31/a 23-Jan-1999. - - update: - Recompile the nodelists. Remove old index.dir and index.pag - files from the nodelist directory. - Set new value for dialdelay. - - general: - Removed mbsed from this source tree. From now on this will - be distributed as a seperate archive. - Finally found out why this package wouldn't work with glibc. - Complete rewrite of the nodelist indexes. I don't use any - dbm, ndbm anymore. I wanted username lookup included and - full support for ISDN and TCP/IP only nodes. - It now compiles on RedHat 5.2 Sparc and Intel. - - common.a: - Removed a serious memory leak causing the system to exhaust - all available memory during long filetransfer sessions. - Rewrote the nodelist lookup functions. Search is very fast - because the index file is sorted on nodenumber. - The nodelists will be closed after each lookup so that mbindex - may always compile new indexes. - - mbcico: - In call.c changed the port closing, it will now also close the - port after an unsuccessfull call so multiple calls in one - run will now hopefully work. - Removed a bug when calling a TCP/IP node it was trying to - dial with a modem. - Added random number generator to set the dialdelay before a - call is made. - - mbindex: - Total rewrite for the new nodelist indexes. In -quiet mode - it does the usleep(1) call every 80 lines (if set). Note - that in quiet mode it still runs faster then with screen - output. - The index file is sorted before it is written to disk. This - makes node lookup very fast (faster then with ndbm). - The old files stay on disk in case they are open, which can - only be for less then a second. - The semafore compile is not created anymore, instead the - mbindex program creates a lockfile to prevent that another - mbindex can run. Compiling the nodelists can now be done at - any moment. - Username indexes are not supported at this moment. - - mbstat: - Now only changes ZMH status if the status is really changed. - Will create the "scanout" semafore if ZMH status changes (I - did document it). - - mbmsg: - Changed the logging, killing messages now logs in columns, so - you can easy see how the mailflow and killing develops. - Removed some debug logging (finally). - When screen output is on, the last line is now erased after - processing. - - mbsetup: - Changed helptekst for mailer->dialdelay. - - mball: - Now creates semafore "mailin" when ready so the produced - allfiles and newfiles listings will be imported by mbfido tic. - - mbsed: - Changed the $MBSE_ROOT/sta directory to $MBSE_ROOT/var and - changed the names of the status and reginfo files. - -v0.31/b 06-Feb-1999 - - common.a: - Changed raw keyboard read to get cursor movement keys and other - gray keyboard keys. Only cursor movements is guaranteed to work - This is a limitation of PC-ANSI clients. - This change is needed to write the fullscreen editor. - Removed memory leaks from getheader.c and mbfile.c - Switched to one single .h file. - If loggin "message repeated n times" the first character is now - uppercase as in normal logmessages. - - mbsebbs: - Implemented raw keyboard read changes. - All actions in change.c are now logged. - Made change voice and data phone work. - Removed the (dangerous) gets function from funcs.c - - mbsetup: - Removed ncurses code. - In line editor the delete and insert key is finally working. - Modified help tekst for modem hangup string. - - mbmon: - Removed ncurses code. - In line editor the delete and insert key is finally working. - - mbcico: - If modem hangup string is empty only DTR-drop will be used - to hangup the modem line. - During ZMH mbcico will now only call nodes for which it has - non archived mail (netmail). - Changed ttyio debug logs, could block the session. - For magic file and execute requests now looks for both upper- - and lowercase matches. - Filerequests are searched in the internal database on both - long and short filenames, password protection is supported, - and the request counter in the FDB is updated. - - mbindex: - Doesn't complain anymore when the semafore "mbindex" didn't - exist when it tried to remove it. - Now tests for latest nodelist by filedate instead of file - extension number. - - mbfido: - Creates magic file names for magic filerequests. - - - -v0.32/a 16-Feb-1999 - - update: - Remove symlink directories. - - general: - Changed elapsed time logging, now ranges from seconds to - days with the same stringlength. - Moved signal names to common.a, also included the names - for i386 and Sparc systems. - Added PackNetmail flag to nodes record. - - msgbase.a: - Removed automatic adding of FMPT and TOPT kludges in netmail. - Applications are responsible for adding kludges. - - mbfile: - Removed code to work on symlinks for ifcico file requests. - - mbfido: - Added some code to prevent memory leaks. - The .pkt password check now always logs bad passwords, only - when mail password check is set, bad passwords are fatal. - Added code to keep dupe databases in maximum limits. - Now forcing chdir to inbound before processing each .tic file. - It will now export netmail from the message base. It also - supports packed und unpacked netmail. - Added TZUTC kludge (FSP-1001). - - mbcico: - Changed zmrecv debug logging for hanging session with one - of my links using InterMail 2.50 ML, rev B020. - If polling all lines of a multiline node and the first line - was successfull, mbcico would still poll the other lines. - The random dialdelay is now always 10 seconds or more to give - mgetty the chance to reset the modem and takeover the line - between multiple calls. - During dialdelay the IsDoing status is now sent every second - to the mbsed so you can watch it with mbmon. - - mbsetup: - Changed nodes setup so that password may be upper or lowercase - for remotes that are case sensitive (was always uppercase). - Added support for PackNetmail flags in nodes editor. - - scripts: - In run_inout added the news gateway (echomail => news). - - mbindex: - Now only tries to compile files with a numeric extension, - 2 or 3 digits length. - - mbsebbs: - Wrote a simple fullscreen message editor, more or less - Wordstar compatible. - Fixed a small problem in the line editor. - The maximum size of a message is now 500 lines. - When replying to a message, the original message is quoted - into the textbuffer including an introduction line. - When replying to a message, "Re: " is inserted in the - subject if there was none. - It is now possible to send and reply netmails. - Added TZUTC kludge (FSP-1001). - - mbout: - With poll and stop command you can enter multiple nodes. - With the request command you can enter multiple files. - The request command doesn't create a .flo file anymore, the - actual calling of the node must be done with the poll - command. - - mbaff: - Added TZUTC kludge (FSP-1001). - - mbsed: - Implemented CIPM and CSPM commands (online messages between - users). Updated the programnames list for check if the bbs - is idle. Changed the reginfo file lock to 30 x 150 mSec. - Fixed the Linux Sparc version. - - -v0.32/b 15-Mar-1999 - - upgrade: - Delete the newuser program and any accounts using it. - Move compiled language datafiles to ~/etc. - Move config.data from ~ to ~/etc. - Remove ~/lang directory - chown -R mbse.bbs ~/home/* - Upgrade mbsed to at least v0.32 Alpha. - - general: - The mbsebbs program now runs setuid "mbse" setgid "bbs". - All files are now owned by mbse.bbs, even the bbs users - private files. - All references to directories for the configuration are now - hardcoded to ~/etc, ~/fdb, ~/log, ~/tmp and ~/var. - The directory ~/lang is no longer needed. - The directory /tmp is no longer used, using ~/tmp instead. - Moved the language sources and installation into this source - tree. - - mbfido: - Forgot to append after the TZUTC kludge. - If we were a point, a route to our boss was not found. - Updated for hardcoded paths. - - mbsebbs: - Now runs setuid "mbse" and setgid "bbs". Changed the parameters - to the mbuseradd program. The newuser program is now part of - mbsebbs. - It is now possible to run mbsebbs as a shell, it is even wise - to do so! - Updated for hardcoded paths. - Sending and receiving online messages is now handled thru - mbsed. You need at least mbsed v0.32 Alpha. - Removed the last "gets" function. - - newuser: - No longer exists. - - mbuseradd: - Changed parameters to this program. - Finally worked around the problem of different passwd programs, - we will now let the user supply a new password instead of - creating an empty expired password. The shadow password suite - isn't necessary anymore but it may be wise to use it. - It will not install /bin/bash as user shell anymore, during - loading of the bbs users could get a shell prompt if they were - fast enough. The mbsebbs program is now installed as shell. - - mbsetup: - Updated for hardcoded paths. - Updated screen 1.3, global paths. There is only one screen now. - - mbmon: - Updated for hardcoded paths. - - mball: - Updated for hardcoded paths. - - fbgen: - Updated for hardcoded paths. - - mbfile: - Updated for hardcoded paths. - - mbmsg: - Updated for hardcoded paths. - - mbuser: - Updated for hardcoded paths. - - mbcico: - Updated for hardcoded paths. - If the tty port was locked by another process, mbcico tried - to close the port of that process (and luckily it failed). - Now it won't try to close that port and try to remove the - lockfile. Corrected the logmessages during this situation. - - mbaff: - Updated for hardcoded paths. - - mbsed: - Forgot to close the reginfo file after the CIPM command, - eventualy the bbs stopped logging because mbsed ran out of - file descriptors. - Added the GDST command, to get the status of all (but no - more then 10) mounted filesystems. - - -v0.33/a 25-Mar-1999 - - general: - Changed the users structure for IEMSI flags. - - update: - Open in mbsetup the users database, record 1, and close it. - This will upgrade the users database with new fields. - - mbcico: - Will dispatch mbsebbs when the EMSI string is EMSI_NAK instead - of EMSI_INQ. We then assume the client is an IEMSI client. - In the tty driver changed some error messages to debug log - messages. - - mbsebbs: - Didn't flush the screenbuffer when asking the user to read new - mail so the user couldn't see the prompt. - For OLR download the maxumimum number of file requests is now - taken from the main configuration. - Added IEMSI login support. Tested with FrontDoor 2.11/sw. - Flushed a prompt after file download. - The users filetaglist is removed from disk during logoff. - Deleted Toggle Expertmode, menu 307. - Added Toggle New Mail Check, menu 313, text code ^U1. - Added Toggle New Files Check, menu 315, text code ^U2. - Added Toggle Fullscreen Editor, menu 316, text code ^U3. - Added Toggle Bulltins Read, menu 307. - - mbfido: - Added more debugging messages for netmail processing. Netmail - between a boss and point are being bounced between each other. - At least they don't dissapear anymore. - When forwarding a netmail, all original characters were - lost and messages may have become undeliverable. - - mbsetup: - Added new menu choices that were added to mbsebbs. - - -v0.33/b1 29-Mar-1999 - - general: - Added support for "pktdate" from Tobias Ernst. This is a Y2K - .pkt analyzer and fixer. It is called before each .pkt file - is processed. Indeed, he did also made a Linux version. - Added support for ISDN and TCP/IP nodelist flags. They may - be in the Userflag field or in the authorized flags field. - - mbsetup: - Added .pkt preprocessor installation to global->mail for - the pktdate program. - - mbfido: - Inserted code to call the .pkt preprocessor. - Should insert ^aVia line in forwarded netmails and exported - netmails from the local msgbase. - Will now put netmail for direct links that are not in our - setup (by the stupidity of the Sysop, including me) still in - the outbound (normal status) instead of /dev/zero. - - mbcico: - Added support for ISDN and TCP/IP nodelist flags. - Will now call TCP/IP nodes. This is experimental! It uses the - proposal of Lothar Behet (2:2446/301) of 25 Oct 1998. The - defined flags may be in the User field or authorized fields. - At this moment only the IFC protocol is supported, the ITN - support on port 60177 is under construction. - - mbout: - Added support for ISDN and TCP/IP nodes. - - -v0.33/b2 02-Apr-1999 - - general: - 2 new configuration items, user levels to allow sending of - Crashmail and File Attaches. - - update: - Set Crashmail and File Attach levels in screen 1.4 - - common.a: - Updated nodelist flags and rendundency flags according to - errflags.zc2 dated 20 Mar 1999 (from 2:2/0). I should make - an external table for this. - If a semafore already existed (or was removed), nothing will - be done anymore. When a semafore is created, fsync is called - to make sure it is on disk. - Totally rewritten the .pkt header read function, it is now - more portable and does only one disk read to do that. - - mbfido: - Commented out some debugging logmessages in magic file test. - Corrected the ^aVia lines, in one case the Sysop name was - included, in all cases the year was only 2 digits. For - debugging the milliseconds fields are now different in all 3 - functions that create Via lines. - Now creates .pkt headers in a more portable way and only needs - one disk write to do that. - Now creates message headers in a more portable way. - When creating notify messages, the correct local time is now - entered. - Created a new fidonet date parser, removed the bison parser. - When messages are exported, the fidonet date is generated from - the internal structure, so incorrect received dates are - hopefully corrected on the fly. You should not need pktdate - anymore. - Now sets the local time when a message is imported. - - mbsetup: - When creating new message areas, the security fields will not - be preset anymore. - Removed the gid and start uid values. - Added setup for CrashMail and File Attaches. - - mbsebbs: - Remove an extra close menufile in the menu processing. The - Sparc version aborted with Segfault error on this. - When a message is created, the time is now the correct - local time. - Now sets the local time when a message is received by the user. - When a netmail address is entered, the user will now see the - nodelist bbs name and is asked to verify it. - Only above CrashMail level and if the destination node is CM, - the crash option is presented. - When creating a new user, the gid is now taken from the running - process instead of the setup. - - - -v0.33/b3 06-Apr-1999. - - general: - Due to hardware problems on my bbs, I was forced to takeover - the whole bbs on MBSE BBS, RA is now retired. This means that - lots of things must be solved in a hurry from now on, there's - no way back for me. The MOBO died, it is now replaced by an - old 386/DX33, so I have to fix the parts that slowing things - down. It must be able to run good enough on that board. This - also means that only necessary things are developed from now - on to create a stable and useable version. - - msgbase.a: - The message header read function doesn't seek the whole - messagebase anymore if it needs the next header. This will - roughly triple the speed of scan for new mail. - - mbfido: - Removed check for connected uplink if .tic file was a local - hatched file, there are no uplinks for local hatched files. - Finally found the bug where the TOPT and FMPT kludge info - dissapeared from the netmails causing mail for points to bounce - back to the boss. - Added commandline switch -full to force scan to scan the whole - messagebase for outgoing mail. - If ~/tmp/scan.mail exists the area and message numbers are used - to quick export messages. - It can now attach file attaches. File attaches are not routed. - If the imported file has a magic name, this magic is added to - the file description. - - mbcico: - Will stop calling a node after 3 attempts if there are no - matching ports, or if there is a port error. - - mbsebbs: - Abort on SIGHUP is not logged as error anymore but as normal - log message "Lost Carrier". - With netmails files can now be attached if the user has a high - enough security level. Files must be in translatable DOS range. - Fixed segfault when user tried to select an non existing - filearea. - Creates ~/tmp/scan.mail for posted messages to allow quickscan. - - mbaff: - Creates ~/tmp/scan.mail for posted messages to allow quickscan. - - mbsetup: - Finally added the pull uplink in file and mail group editors. - In the tic area and echomail area editors if the group is - selected and the uplink address is set in the group, the the - first default connection for that area is the uplink. - - -v0.33/b4 13-Apr-1999 - - upgrade: - The ticarea, hatch and magic datafiles are changed in format. - Order of update is important! - 1. Compile all sources, don't install. - 2. Make backup of all .data files in ~/etc. - 3. Announce new files. - 4. Remove *.*.*.*.bill files from the ~/tmp directory. - 5. Disconnect all modems, networks and stop the cron daemon. - 6. Run mbsetup from the source directory. ~/mbb0_33b/mbsetup - 7. Menu 10.2, leave and update the database. - 8. Menu 10.3, leave and update the database. - 9. Menu 10.4, leave and update the database. - 10. If all is well, install the binaries, check mbsetup. - 11. Start cron daemon, connect modems and networks. - - common.a: - Removed errormessage when created semafore succeeded when it - opened file descriptor 0. - - mbcico: - When searching for file requests it tried to use ~/fareas.data - instead of ~/etc/fareas.data. - - mbsetup: - Changed the tic areaname field from 12 to 20 characters. - Corrected screen numbers in hatch and magic pick areas. - Setting the magic "to area" now also uses the picklist. - Does normal logging again. - - mbfido: - Doesn't import the file area name anymore in the filesdatabase. - This needs a workaround because this field is now too small. - The check for quick scanned exported messages failed for - echomail if there was more then one downlink. This forced a - complete scan to be done while everything was really ok. - The .tic file dupecheck is moved to do a little later so that - if some checks fail, the file is not in the dupe database yet. - If the destination path is not available, the file and .ticfile - are moved to the bad directory. - Reads "Fullname" field from .tic file, logging only for now. - Will now process archived tic bundles with extension .c00 where - the numbers can be any digit. (Harald again :=). - More errorchecking in Magic file procesing. - Turned some debugging logging back on. - Corrected a bug that sometimes caused a segfault during tic - processing. - Corrected a routing problem if mail was to be sent to one of - my own points, in case there where more than one point. - - mbmon: - Does normal logging again. - - mbfile: - Calls the Nopper() function now to keep the connection with - the server alive. Good for slow systems and lots of files in - one area. - Removed a small memory leak in the check function. - - mball: - Creates "00index" files in each download directory that is in - range of anonymous ftp users. These files contain the file - names and file descriptions of that directory. A new command - "index" is added. - - mbaff: - Corrected for the .tic areaname size of 20 characters. - - mbsebbs: - Fixed segfault when user was trying to select a non existing - message area. - - -v0.33/b5 26-Apr-1999 - - general: - A new set of grouprecords is created. This is for the announce - of new files, so reports can be created by subject, ie. - Windows, Erotic pictures, Utilities etc. The groupnames are - part of the bbs file areas. - - upgrade: - Set in menu 1.15 the number of newfiles groups. - Create the several newfiles groups. - Install in all bbs file areas the right newfiles groups. - Install in all newfiles reports the right newfiles groups. - - mbsetup: - Will now ask if messagebase must be created if it doesn't - exist. - Implemented the setup of newfiles groups. - Will now show the TZUTC time instead of system generated - timezone (didn't work on RH systems). - - mbcico: - Changed some logging, removed some debug logging. - - mbfido: - Corrected a errormessage when the file import failed in a - non existing area. - If the file is imported in a bbs area, and that area has a - separate Newfiles groupname, that name will be stored in the - toberep.data file for announce. - If a fdb area doesn't exist during file import, it will be - created on the fly. - Doesn't send empty netmails anymore if node has tic messages - off. Only messages with text in it are send now. - Switched .tic description lines logging on again because there - are some strange descriptions coming in. - Fixed a problem when there was only a normal description line - in the incoming tic file, the downlinks got a shortened - description line. - Doesn't strip Hi-ASCII from FILE_ID.DIZ file anymore, only - control characters. Stripping of Hi-ASCII should only be done - by file announce programs (if the moderator wants that). - - mbdiff: - Removed a lot of debug logging. - Removed unarchive functions as they are already in the common - library. - - mbindex: - Removed some debug logging. - It now deletes old nodelists from the nodelist directory exept - the most recent two lists. - - mbsebbs: - Added logging of selected file and message areas by the users. - During mailscan and filescan inserted call to Nopper(). - Wrote a new Getstr function to create Unix accounts, this - one won't accept spaces. (Thanks to Henk de Graaf, a user - who failed to login). - The username won't be converted to lowercase anymore when - his Unix account is created. - The Unix name has to be at least 3 characters. - - mbaff: - In the announce function new uploads will get the area number - as fileecho name so they will be announced by area. - - - -v0.33/b6 30-Apr-1999 - - common.a: - Execute now only logs result messages if there was an error. - - mbaff: - Added High ANSI to Low ASCII translation for echomail areas - that need it. - - mbsetup: - Added High Ascii switch in filefind setup. - Corrected menu numbering. - - mbfido: - After tossing a .pkt the result is only logged if there was - an error. - Removed 2 debug messages during netmail import. - Made logging of "Keep files" final. - Allowed hi-ascii in .tic files for the descriptions. - Build in a check for multiple "Desc" lines in .tic file, - only one is allowed. Offenders are logged, See FSC-0087. - - mbsebbs: - Quick_Bye() is now logged (if possible). - - mbdiff: - The resulting new archived nodelist will now be a lowercase - name instead of a uppercase name. - The new nodelist will be default be archived with the same - archiver as the diff file came in, if it's not available - there is now a fallback to ZIP which is always available. - - -v0.33/b7 10-May-1999 - - upgrade: - ACRmail 0.60 file naming convention is default off for - existing nodes, check their setup. - - msgbase.a: - Added a counter which keeps track of the size of the message - being written. - - common.a: - Will now create unique arcmail names for out of zone mail if - it is turned on. This should prevent creation of duplicate - arcfile names to the same node. - Corrected logging of bestaka_s function. - Doesn't create 00000000.fr0 ARCfile names anymore if our - system is the point sending to the boss. - - mbaff: - In the announce function added logging of the size of the - written message. - Inserted a checkpoint log after each announced block. - Inserted code to split messages after 13000 bytes. - - mbfido: - Removed "Packing Mail" logmessage. - Imported netmail will now allways get the Private status. - Added code to replace the archive comment, currently this - works with .zip and .rar archivers, others don't support - this. - The ^aVia line was inserted at the begin of a forwarded - message instead of at the bottom, it also had the address - of the origin system instead of our own system. - Also moved the ^aVia line in the other 2 functions to the - bottom. - - mbfile: - If during the check for missing files in a download area there - is an extra file and it is not a regular file, it wil be - ignored. This allows the use of subdirectories. - - scripts: - Added support for binkd, if it is installed in ~/bin and the - binkd.cfg is in ~/etc it will be started and stopped as the - rest of the bbs. - - mbsetup: - Added in nodes setup ARCmail 0.60 naming convention switch. - - mbcico: - When there are session errors, the status counter is now - increased with 5, so maximum 6 calls are done. (was infinite). - - -v0.33/b8 23-May-1999 - - mbfido: - Corrected Connection time log messages. - - mbcico: - Restored the original filetime functions. - Removed 2 debugging log messages. - Made the filerequest processor 3 times faster. The remote - doesn't timeout anymore during the search for files. It - must still be made faster. - - mbsetup: - Added the (hidden) option to move echomail areas. - - mbout: - Will also clear the status record of a node with the poll - command if the reason was session errors. - - mbdiff: - Changed available archiver tests, and fallback to ZIP - archiving. It is finally working. - - mbsebbs: - Corrected the reply test for new users when they had entered - their name. - Updated language number 413. - New users won't see the "new files" when they logon the first - time. (They saw all the files on the bbs). - If IEMSI login is aborted or failed, IEMSI won't be used - anymore during login. - When the offline reader packs netmail, only personal mail is - now added to the dowload packet. - - -v0.33/b9 12-Jun-1999 - - update: - Change scripts that call mbuser. - - general: - Changed startup and finish logging of all programs to use - one style. - - mbaff: - New file reports that are splitted over several messages will - now report the right report totals. - Removed some development debugging logs for splitting messages. - - mbdiff: - Removed all extra debugging logs from version beta-8. - - mbuser: - Made command syntax and helpscreen as in all other programs. - This affects the scripts. - - mbsebbs: - For the "comment to sysop" function the .quote file in the - users homedirectory will now be truncated to 0 bytes to erase - its contents. - The "mailout" semafore is now only set at the end of the user - session. - Inserted the Nopper() call in the fullscreen editor to prevent - server timeout when writing a long message. - When writing a netmail to an unknown node, the user must verify - to send the mail anyway. New language prompt 241. - If a user is short with transfertime for a download, it will - be written to the logfile. - - mbfido: - The notify function will now only include areas that are - "Active" in the reports. - Changed the ASCII filtering of reading .tic and FILE_ID.DIZ - files, High-ASCII characters are not lost anymore. - The packet password is now only checked if the originating node - is in our setup. - Before processing AreaMgr and FileMgr messages the right - noderecord is loaded again in case it was replaced. - - -v0.33/b10 19-Jun-1999 - - general: - The man pages are removed. - - mbfido: - Removed logging of file descriptions. - Changed logging of replacing archive banner. - - mbaff: - Removed logging of splitting messages. - Removed several other debugging logmessages. - - mbsebbs: - Removed some debugging logging from download functions. - Corrected a logmessage for new users, language line 66 - is now obsolete. - - mbsetup: - Included (Spacebar = toggle) message in yes/no switches. - - mbuseradd: - Removed the creation of .profile in the users home directory, - this is not necessary because the users shell is mbsebbs. - - -v0.33/b11 29-Jun-1999 - - Most fixes in this release are from Jan van de Werken who is beta- - testing v0.33/b10. - - upgrade: - In mbsetup menu 1.14 set new fields 21 and 22. - In mbsetup, enter menu 8.5, set security levels for transfer - protocols and save the database. - - general: - Added 2 global setup integers for splitting newfiles reports. - - common.a: - Removed Getstr() function. - - mbfido: - Changed AreaMgr and FileMgr message body checks, lines with - more than 1 space or tab and empty lines are skipped. - Removed debug logging for import local netmail. - - mbsetup: - Added in menu 1.14 setup for newfiles reports message split - at a gently size (after a group of files) and a forced - message size. - In nodes setup, new records now default have Advanced tic off. - In nodes setup corrected several numbering errors. - New defaults for global configuration by Jan van de Werken. - To confuse all non-Unix users, all file attaches seem to - come from our A: drive. - Corrected a lot more wrong screen numbers. - - mbaff: - Implemented gently and hard splitting newfiles reports using - the global setup. - - mbsebbs: - Rewrote all user input functions. They should beep now if - the user does something wrong. - Changed the GetPhone functions, the format is not fixed - anymore and it accepts only 0..9 + - characters. This should - work in all countries now. Minimum length is 6 characters. - Changed the language prompts 45, 47 and 48. - Language prompt 46 is not in use anymore. - Removed the logdate2 function, it wasn't used. - Added GetstrP() function (instead of Getstr() in common.a). - Change transfer protocol now checks for the proper security - level. - - scripts: - Updated most scripts, added more comments, added tests to - see if MBSE_ROOT is already set, style fixes. - - -v0.33/b12 08-Jul-1999 - - general: - Removed creation of .VERSION file from the main Makefile. - - mbfido: - The echomail areatag is forced to uppercase. - Removes stale FILE_ID.DIZ files before processing a new one. - - mbsetup: - The new fields 1.14.21 and 1.14.22 where placed at the wrong - column on the screen. - Changed the default values for gently and forced message split - to 27 and 30 KBytes. - Corrected a missing linefeed in sitedoc protocols listing. - Corrected a menu error in menu 8. - Corrected placement of menu item 1.4.11 - Some cosmetic changes in the sources. - Corrected help message in screen 7.x.23, caused mbsetup to - crash. - - mbsebbs: - The info screen now displays compile date and time. - The Area listings for file areas and message areas now break - lines at column 79 and send cr/lf at the end of the line. - Also, area numbers increased to 5 digits (was 3). - Added cr/lf to language prompt 220 in mail.c - - lang: - Shortened prompt 220 with 1 character. - - -v0.33/b13 28-Jul-1999 - - general: - Added structure for file request index. - - update: - Run "mbfile index" once. - Include "mbfile index" in the maint script. - Modify "run_inout" script to start "mbfile index -quiet" if - the semafore "reqindex" is present. - Modify "run_inout" script to replace the fixed .pkt filenames - with stdin from the mbseq program, ie: 12345678.pkt will - become `mbseq`.pkt - Set the filerequest limits in menu 1.17.22 and 1.17.23 - You may specify portspeeds above 57600 in the tty's setup. - - common.a: - Corrected a comment in pktname.c - Changed error logging in execute.c - Moved execsh() from mbcico into common library. - - mbcico: - Removed some debugging logmessages from yoohoo.c - Changed some debugging logging from 'Session' to 'EMSI'. - File request response messages now contain MSGID, PID and TZUTC - lines and request limits. - Filerequest limits implemented. - Filerequest search now uses the index file created by mbfile, - should be fast enough now. - Moved execsh() to common library. - Magic execute request result is now send by mail instead of - an ASCII textfile. - Made some changes in zmmisc.c according to ifmail-2.13, sessions - with D'Bridge 1.58 seems to work now. - Logging of "chat: read return -1" suppressed, this is most of - the time caused by modem hangup during dial and is not a real - error. - During outbound scan missing directories will be created. - A major error in callall.c prevented crash arcmail to be sent. - Rewrote all functions that created mail, less disk I/O. Also - made the .pkt headers the same as the mbfido program did. - Will now handle serial port speeds upto 4000000 baud if your - hardware can handle that. - - mbsebbs: - Finally implemented user access flags. - Removed some debug logging. - Changed "Terminated on SIGALRM" error logging to normal log - with "User inactivity timeout" message. - - mbsetup: - In edit users toggle of flagbits is now correct, no "notflags" - anymore. - Added setting of filerequest limits in menu 1.17 - Changed fieldlength for integers to 7 digits. Now you can - enter all available portspeeds in the tty setup. - - mbfile: - New command: index. This will create ~/etc/request.index - which contains a sorted index of all requestable files on - your bbs. This index is used by the mbcico request processor - to speed up the filerequest search. The "reqindex" semafore - is removed when it is finished. - - mbfido: - Creates "reqindex" semafore if there were files imported. - The check for stale FILE_ID.DIZ files was at the wrong point. - Will pack the mailqueue if the temporary .pkt file is bigger - then the maximum size of that .pkt and creates a fresh one. - - mbseq: - New program. Write a 8 character hexadecimal unique sequence - number to stdout. This can be used in shellscripts to create - unique filenames. The sequence numbers are fetched from mbsed. - - -v0.33/b14 16-Aug-1999 - - general: - This is the first public release. - - mbcico: - Revised zmodem protocol, changed timers etc. Used latest - information (Aug 1999) found at Omen Technology's ftp site. - In the openfile function added support to skip files already - present in the inbound. - Hydra and TCP protocol transmitters now send the filetime - rounded up to even seconds just like zmodem already did, so - the filetime is always the same on DOS (Fat) as on Unix - systems. - Zmodem will now skip files already present in the inbound. - Hydra will now skip files already present in the inbound. - TCPproto will now skip files already present in the inbound. - Changed EMSI debug logging, should be more clear now. - Does finish zmodem session with D'Bridge [1a] 1.58 now. - - scripts: - Added support for UPS. The UPS software should set the - semafore "upsalarm" when it's running on battery power. Most - utilities will the not run anymore to prevent data-loss. - The semafore "upsdown" should be set just before the UPS - starts the real shutdown. This will force the mbstat program - to timout after 30 seconds. - - mbstat: - The wait command will only wait for 30 seconds instead of - one hour if the semafore "upsdown" exists. - - -v0.33/g1 01-Sep-1999 - - general: - Many brave souls have downloaded and tested the previous - version. Most changes in this release are bugs found by all - these people. - Added checks in the Makefile to test the MBSE_ROOT variable, - written by Jan van.de.Werken. - Added checks in some Makefiles for root privileges for - make install. - - upgrade: - Enter mbsetup 1.1.10 and set the name to "bbs". - Check UnSecure switch in echomail areas. Should be off unless - you need it. - Remove the line LOGDEBUG from $MBSE_ROOT/etc/client.conf - - common.a: - Added the original copyright in for the 32 bits crc code. - Checking .pkt header now checks valid system aka's. - Removed reading LOGDEBUG from ~/etc/client.conf, wasn't used. - Added SigName for Alpha CPU (not tested). - - mbfido: - Removed debug message in addpkt. - Added 2 extra DeleteVirusWork() calls in tic processing at - points where processing is aborted and left the temp directory - with unwanted files. This also happened when a virus was - detected. - Will now import echomail from points who are connected to - the normal nodenumber instead of the hub/host number. - Will now try to import bad netmail into a netmail directory - instead of losing it. - Changed the check for received echomail, the sending node - must be in the export list, unless the msg area UnSecure flag - is set. - Implemented the connected systems Excluded flag for echomail - connections in import/export echomail. - Implemented the connected systems Excluded flag in the AreaMgr. - The Notify function now also sends statistic reports to the - node. - Fixed a routing problem (I hope) for out of zone routed - netmail. - When scanning outbound netmail the domain field is zeroed in - the destination address to prevent garbage in the domain field. - Patches by Jan van.de.Werken, files import now set the name to - FileMgr instead of sysop's name. - AreaMgr and FileMgr generated messages now have AreaMgr or - FileMgr as "From" name instead of the sysop's name. - - mbcico: - Restored some zmodem code that was changed in beta-14. - Added some other code for error handling (Carrier lost). - Zmodem file transfers are streaming again. - Added a tty flush in the TCP/IP transmitter. - Solved the EMSI handshake problem with T-Mail mailers. - - mbsetup: - Added menu 1.1.10 to setup the name of the bbs startup - account. The default is "bbs". - Changed ImpSeenby switch in UnSecure switch in message areas - setup. - In message areas the Excluded flag is added to the systems, - you can now disable a node from an area if a moderator wants - that. - In edit users added a switch to toggle OLR Extended Message - Info in OLR download. - - mbsebbs: - Now reads the bbs startup name from the configuration instead - of using the hardcoded name "bbs" - Writes a door.sys dropfile in users homedir. The first line is - fixed to COM0 forcing doors to run in local mode. The second - line is 0, meaning 0 baud is local mode. Let's see how this - works. - Added some logging for the OLR upload function. - Now tests lowercase filenames also for reply packets created - by MultiMail. - Now includes the ^aMSGID string in BlueWave download messages. - Optional includes all other kludges in BluwWave download. - - -v0.33/g2 02-Oct-1999 - - general: - Moved the mbsed back into this archive. Included the new - installation procedure. - Moved the example files into this archive. - - upgrade: - Remove $MBSE_ROOT/bin/fbgen. - If you want to switch off CFG.dospath, be sure your outbound - is empty or mail and files will get lost!!! Thus: type - "mbout stat" and see if nothing is there before you do that. - - common.a: - Patches by JvdW, if CFG.dospath is empty then fileattaches - will contain Unix style filenames, otherwise the ataches - are translated to DOS style. - - dbase.a: - If SearchTic and SearchMsg function the area must be active - in order to be found. - - mbaff: - Removed a bug in scanning uploads function that created empty - lines in the toberep.data file. Also forced the long - description strings to be no longer then 48 characters. - - fbgen: - Finally fixed this one. Can now read multiple description - lines from files.bbs. Renamed to mbfbgen. - The dangerous gets function is replaced. - - mbsetup: - The edit path function now checks if the directory has read - access instead of write access, it might be on CD-rom. - - mbfile: - Skips the kill and pack functions on CD-rom areas. - Skips the check of files on disk against the database on - CD-rom areas. - - mball: - Doesn't create 00index files on CD-rom areas anymore. - - mbcico: - More bugfixes in TCP protocol. Better error handling for - disconnected sessions. - Creates inbound tmp directories when they don't exist. - Now presents the EMSI info from the tty records if - possible. - - script: - Corrected a syntax error in the maint script. - - mbfido: - The areamgr and filemgr names are not hardcoded anymore, - the names presented are the first names defined in the - setup. - Outbound processing now also works if CFG.dospath is empty, - then Unix style fileattaches will be created. - Rewrite of file import function by JvdW to fix some bugs. - FileMgr and AreaMgr global connect and disconnect now - check if the area is set to Active. - Rewrote ARCmail naming, zero length archives older then - 6 days are deleted. If a zero length archive then still - exists, the extension number is bumped. This should - prevent using the same archive name on the same day to - nodes with more then one mailsession each day. - - -v0.33/g3 18-Oct-1999 - - general: - Ideas for generating ARCmail names by Sean Rima and JvdW - implemented. - Lot's of cosmetic stuff to make commandlines, help screens, - more clear and the same for each program by JvdW. - - update: - In mbsetup 1.14.15 check that this is zero or the number of - old days you want echomail rejected. - Check in mbsetup nodes->mail that "ARCmail a..z" is off - for nodes that can't handle that. - - mbcico: - File attaches that are no longer on disk are now correctly - removed from the flo files. Changed logging for this. - The scanout function now removes truncated ARCmail files - that are not of the current day or are older then 6 days. - Corrected a bug that the inbound directory wasn't created - when it didn't exist. - - mbsebbs: - Now allows netmail crash replies. - Can now reply netmail that came in via the UUCP gateway, - when the reply is saved the message is readdressed to the - gateway. - Disabled the download transfertime check before starting a - download. It gave unpredicteble results if the users previous - download cps was bad for some reason, the user couldn't - download. - - mbsetup: - New menu item in 1.14, "Reject old", to reject incoming - echomail older then this number of days, or zero to not - check the age. - In nodes->mail setup added a switch to allow a..z - ARCmail archives extensions. - Made editing log (debug) switches more clear. - Some editing keys now beep if you do something wrong. - - mbfido: - The pack function now supports 'a..z' ARCmail extensions - if this is on for that node. - It's possible to reject too old echomail. - Short commands and options now displayed in the help. - The fileforward netmail now set's the filemgs name first - character to uppercase. - The uploader name with file import now only has one - name anymore, the first character is capitalized. This - line should not be too long, this gives ugly listings. - System aka's in the same zone other then the aka of echomail - area are added to the seen-by lines. - Added experimental zonegate support for echomail. - Removed some debug logging in tic processing. - - mbaff: - Short commands and options are now possible, like other - programs already did. - - mbout: - Short commands and options are now possible, like other - programs already did. - The scanout function now removes truncated ARCmail files - that are not of the current day or are older then 6 days. - Suppressed the help message for file attach, it is not - yet implemented. - - mbfile: - Short commands and options now displayed in the help. - - mbmsg: - Short commands and options are now possible, like other - programs already did. - - mball: - Short commands and options now displayed in the help. - - mbstat: - Short commands and options are now possible, like other - programs already did. - - mbfbgen: - Handles files.bbs lines of 255 characters instead of 80. - - -v0.33/g4 05-Nov-1999. - - mbfido: - The final seenby lines are deduped and sorted before writing - them to the in and exported echomails. - Areamgr and Filemgr messages now have a capitalized first - "From" name character. - Areamgr new function: flow reports. Can be requested by - %flow and is automatic generated with notify reports. - Areamgr, increased the area tag from 20 to 25 characters - in the notify reports and %list, %query, %unlinked response - messages. - Corrected a bug creating garbage at the end of the magic - execute commandline. - - mbsebbs: - Reply to UUCP gateway didn't work in real live, it seemed - that the official UUCP gate had no ':' character after the - REPLYADDR and REPLYTO kludges, while my testsystem running - ifmail 2.12 for the gate does. I now test both cases. - - mbcico: - Implemented remove ARCmail older then n days. - - mbout: - Implemented remove ARCmail older then n days. - - mbsetup: - Added integrity check for edit message groups. - Added integrity check for edit fileecho groups. - - -v0.33/g5 13-Nov-1999. - - upgrade: - Edit /etc/inetd.conf to add "-t ifc" for standard ifcico - protocol, "-t itn" for telnet protocol. - If you don't use the original binkp mailer, you may want to - add entries for the binkp protocol, this will show the - remote that you don't support the binkp protocol. - The installation scripts are updated. See the file SETUP.sh - on how the files /etc/services and /etc/inetd.conf should - look like. - - mbcico: - Implemented "not supported" binkp protocol. - Revised commandline parameters, in TCP/IP slave mode the - mode must be given on the commandline, -t ifc for standard - ifcico protocol, -t itn for telnet protocol, -t ibn for - binkp protocol. - Starting mbcico without arguments will show the help screen. - Now all programs do that exept the mbsebbs binary. - - mbsebbs: - Changed language prompts 214 and 215. - Added language prompt 46. - Added message export to file function. The file will be saved - in the users private homedirectory, the filename is created - as _.msg in MS-DOS format. - Corrected display header of users home directory file list. - Added import file in message function, the file must be in the - users private homedirectory. This only works in the fullscreen - editor. - - mbfido: - Inserted 2 sync() calls during mailtoss. I hope this prevents - temporary missing archives and .pkt files. - New command, "tag", writes areas tagfiles for each mail and - tic file group to the ~/doc directory. Filenames are automatic - created. - - mbsetup: - In edit tic area and edit message area editing of connected - systems now uses the existing node setup. - Made a new menu selector for areas with Global and Move - options. - Implemented new menu selector in message and tic areas select. - If you jump directly to a message or tic area with select, the - offset is recalculated to that area range. - Added global editing functions in message areas setup. Functions - are add, delete, change connected systems, aka to use and some - other settings. - Edit a nodes aka's is checked if these aka's are used in tic - and message areas. - Delete a node is checked against aka's used in tic and message - areas. - -v0.33/g6 22-Nov-1999 - - mbsetup: - Removed a bug where you could not add new aka's to nodes due to - the aka's checking. - With database intergrity checks the cause of blocked actions - is now logged in mbsetup.log - If you change the number of connected systems or maximum groups - in global setup, the databases affected will be automatic - updated. - - mbfido: - When writing a notify message to selected nodes all other nodes - received status messages. - Corrected uploader name, removed "BBS" string. - Installed patches from JvdW in file forward to correct some - segfaults with the subject variable. - The local hatched files are now moved to the inbound so that - the unarchiver programs can find these files. - - mbcico: - Added very experimental binkp protocol. Handle with care and - at your own risk. This isn't finished yet. - - SETUP.sh: - Fixed the script, there was one "fi" missing so the script - crashed and didn't do all changes. - - -v0.33/g7 05-Dec-1999 - - mbcico: - Fixed some logging in binkp protocol. It works for normal - mail and files transport. - - mbsebbs: - Export message to users work directory did not put the - message in the work directory but in the home directory. - - mbfido: - Netmail to unknown bbs users are now readdressed to the - sysop. Should be a bounce message. - Added a experimental test for empty imported netmails. - The netmail area Private flag is checked to see if we keep the - original Private flag or force imported netmail to Private. - - -v0.33/g8 12-Dec-1999 - - general: - Changed the Makefile, make zip now puts FILE_ID.DIZ in the - root of the directory tree so that file processors will - find it now. This is a version of this file. - - common.a: - Removed and changed nodelist lookup debug logging. - - mbuseradd: - Now check the existance of the users home directory, if it - is found then it is removed before the home directory is - created again. This fixes problems with RedHat 6.1. - - mbfido: - Global AreaMgr commands cannot disconnect message areas anymore - that are mandatory. - Removed some routing tracking debug messages. - Added check to see why not connected echomail is imported to - the netmail of the last user in the userbase. - Changed check to "Sysop of z:n/n@network" to readdress to - the sysop's real name. - After readdress a netmail to the sysop, the usersearch is now - done again. - If locking the message base during import fails, import is - aborted. - - -v0.33/g9 18-Dec-1999 - - upgrade: - If you ever used DOSEMU then do a rm -Rf .dosemu in each users - home directory. The ownership of these files are changed so - they are created again when the user runs a door for the - first time. - If you have created ttyinfo records with just digits in it - for the /dev/pty/0 type tty entries, you need to change them - to pty/0 type entries. The example etc files are now containing - these entries. - - general: - All sources recompiled with memwatch. I will not name all - places where I found memory leaks, it was a lot. Still busy - finding them, but most programs are allright now. - You can turn memwatch on and off in the file CONFIG. If you - change it, do a "make clean" before recompiling the sources. - Changed my Fidonet address, the testsystem is listed now and - removed my old e-mail address which was not valid anymore. - Changed the installation script. - For RedHat 6.1 and newer a different /etc/rc.d/init.d/mbsed - file is created then before because the su command behaves - different. The install script will try to detect this. - Thanks to Juergen Heisel for finding this problem. - Changed more startup and shutdown scripts. - Changed language prompts 306, 311 and 324 to reflect - GigaBytes storage instead of MegaBytes. - Changed language prompt 327, it had a space too many at the - end. - - common.a: - In the attach function implemented the global leavecase - switch to be able to turn off the forced uppercase for - file attaches when dos translation is on. - - mbfido: - Found a bug where mbfido ran out of file descriptors during - toss, only about 1012 messages were tossed and then the whole - thing started tossing everything to bad. Jim Hansen who - reported the problem, reported that tossing 37500 messages - now works fine. - Added the commandline switch -unsecure to be able to run an - unsecure toss, ie. no originating checks are performed. - Handle with care. - Forwarded netmail packets got the wrong from address in the - .pkt header. - Added fsync calls after every write to a message packet. - When writing .tic files to other nodes now the real aka of - the tic area is used in the From address instead of bestaka - match of the destination. - All system aka's in the same zone are now added to the .tic - Seenby lines. - Will now gently stop processing if the upsdown semafore is - detected. - Added a check with file import that there are no more then - 25 description lines. - - mbsebbs: - Added new controlcode, ^KM displays the users lastread pointer - in the current message area. - When reading new mail at logon, the users lastread pointers - are not updated anymore in echomail/news areas to prevent that - the users skips unread messages. - Only if a message area is Public/Private and a reply is given - the user gets the question Private y/N. On other cases the - flag is automatic set. - With netmail reply if enough security level a file may be - attached. - The door.sys dropfile date formats are now fixed. Depending - on the menu settings it can be original (pre 2000) format or - have four digit year numbers, the new style. Writing the - dropfile can also be suppressed. - Removed the setuid calls before and after running a door, - mbsebbs now always runs as user "mbse". - The $HOME environment variable is now forced to the users - real home directory, even if mbsebbs is started as user bbs. - When the user logs in, the existance of the subdirecties - .dosemu/run and .dosemu/tmp are created in the users home - directory if they don't exist. DOSEMU is happy with that. - Because of this, all files in the users directories are now - only owned by user mbse. - Moved the setup of last message and file area to a later - startup point in userlogin. - Autoexecuted menus are now also checked for user security - and user age. - Fixed the screen output of several bbs list menus. - Now handles the /dev/pty/0 device names found on newer - Linux distributions. - It will now also create the necesary subdirectories for the - /dev/pty/n devices. - - mbaff: - The written messages statistics counters always counted at - sunday in januari. - - mbmsg: - Added message post from a file function. - - mbsetup: - With the filebase editor I got segmentation faults on a Sun - Sparc machine, changed the filedate calls. They show up the - local time now also. - Added the global editor for the tic areas. - Added in menu 1.3 a switch to leave to case for .flo files - original, ie. not forcing it to uppercase. - Added menu creation in menus setup. - Added setup to suppress the creation of a door.sys dropfile, - and the ability to write the years in four digit format in - the door.sys file. Newer doors seem to understand this. - Added delete menu item in menu setup, finally. - Added menu item move. - The menu editor now shows the autoexec menus with the - lightred lowercase "a" at the selection key position. - When a new config.data is created, the default loglevels - are now set to normal values. - - mbcico: - Forgot to implement the NoTCP global and per node flag. - If you are not permanent connected to the net, use these - to prevent the use of internet protocols. - - mbmon: - Screen 5 now calls Nopper() to keep the server alive. - Corrected screen display numbers 5 and 6. - - diff --git a/mbsebbs-code/ChangeLog_2000 b/mbsebbs-code/ChangeLog_2000 deleted file mode 100644 index 18a6a520..00000000 --- a/mbsebbs-code/ChangeLog_2000 +++ /dev/null @@ -1,668 +0,0 @@ -$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 and 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, . - - 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. - - diff --git a/mbsebbs-code/ChangeLog_2001 b/mbsebbs-code/ChangeLog_2001 deleted file mode 100644 index 83d97317..00000000 --- a/mbsebbs-code/ChangeLog_2001 +++ /dev/null @@ -1,933 +0,0 @@ -$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 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^B^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 (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. - diff --git a/mbsebbs-code/ChangeLog_2002 b/mbsebbs-code/ChangeLog_2002 deleted file mode 100644 index 8d42dde5..00000000 --- a/mbsebbs-code/ChangeLog_2002 +++ /dev/null @@ -1,973 +0,0 @@ -$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 , 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. - diff --git a/mbsebbs-code/ChangeLog_2003 b/mbsebbs-code/ChangeLog_2003 deleted file mode 100644 index 0a515a63..00000000 --- a/mbsebbs-code/ChangeLog_2003 +++ /dev/null @@ -1,457 +0,0 @@ -$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. - diff --git a/mbsebbs-code/ChangeLog_2004 b/mbsebbs-code/ChangeLog_2004 deleted file mode 100644 index 24da9924..00000000 --- a/mbsebbs-code/ChangeLog_2004 +++ /dev/null @@ -1,889 +0,0 @@ -$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 - 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 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. - diff --git a/mbsebbs-code/ChangeLog_2005 b/mbsebbs-code/ChangeLog_2005 deleted file mode 100644 index 08b20f39..00000000 --- a/mbsebbs-code/ChangeLog_2005 +++ /dev/null @@ -1,451 +0,0 @@ -$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. - - diff --git a/mbsebbs-code/ChangeLog_2006 b/mbsebbs-code/ChangeLog_2006 deleted file mode 100644 index dc20757b..00000000 --- a/mbsebbs-code/ChangeLog_2006 +++ /dev/null @@ -1,184 +0,0 @@ -$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. - diff --git a/mbsebbs-code/ChangeLog_2007 b/mbsebbs-code/ChangeLog_2007 deleted file mode 100644 index 1bfb1ff5..00000000 --- a/mbsebbs-code/ChangeLog_2007 +++ /dev/null @@ -1,277 +0,0 @@ -$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. - - diff --git a/mbsebbs-code/DEBUG b/mbsebbs-code/DEBUG deleted file mode 100644 index 154ab8f5..00000000 --- a/mbsebbs-code/DEBUG +++ /dev/null @@ -1,31 +0,0 @@ - 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. - diff --git a/mbsebbs-code/FILE_ID.DIZ.in b/mbsebbs-code/FILE_ID.DIZ.in deleted file mode 100644 index c91eaddd..00000000 --- a/mbsebbs-code/FILE_ID.DIZ.in +++ /dev/null @@ -1,24 +0,0 @@ --= MBSE BBS System v@VERSION@ for Unix =- -MBSE BBS is a full Fidonet capable ANSI bbs -package including a mailer, tosser, ticfile -processor, filefind and other utilities. -The bbs supports full configurable ANSI -menus, multiple languages, standard file -transfer protocols, native GNU/Linux doors, -DOS doors using dosemu and BlueWave and QWK -offline readers. -The mailer supports FTS-0001, YooHoo/2U2, -EMSI protocols over modem, TCP/IP IFC and -Binkp protocols. Zedzap, Zmodem, Telink and -Hydra file transfer protocols. Full FTN mail -support, including automatic routing for hub -and host systems. -Internal mail format is JAM (c) messagebase. -Full tic file support, including extended -tic files. -OS: GNU/Linux and *BSD, 32/64 bit versions. -http://sourceforge.net/projects/mbsebbs -Copyright by Michiel Broek. -Released under the terms of the GNU Public -License. - diff --git a/mbsebbs-code/INSTALL.in b/mbsebbs-code/INSTALL.in deleted file mode 100644 index 02b4c05a..00000000 --- a/mbsebbs-code/INSTALL.in +++ /dev/null @@ -1,252 +0,0 @@ - New installation procedure. - --------------------------- - -The old initial system setup was a little tricky and didn't work on some -systems. This procedure is tested on Slackware, RedHat, Mandrake, SuSE and Debian. -I have not tested on other distributions. Installation is now done by a -script which will do the dirty work. This script can be executed once only, -unless you undo all changes the script has done. Basicly, if you already -have installed MBSE BBS, or there are parts left of an old installation, the -script will abort and inform you why. I hope this will give a better and more -universal setup on most distributions. - - - - Installing MBSE BBS for the first time. - --------------------------------------- - -Login as root and type the following commands to do the basic install: - -cd /tmp -tar xfvj /@prefix@/@PACKAGE@-@VERSION@.tar.bz2 -cd @PACKAGE@-@VERSION@ -bash ./SETUP.sh - -This will setup a new directory structure @prefix@ and create's some -necessary users. If this in successfull, logout and login as user "mbse". -To build and install mbse bbs type the following commands: - -cd -tar xfvj /pathtopackage/@PACKAGE@-@VERSION@.tar.bz2 -cd @PACKAGE@-@VERSION@ -./configure -make -su -[type rootpassword] -make install -exit -@prefix@/bin/mbtask - -Note: On XxxBSD systems, use gmake instead of make. -The next step is to read the documentation in @prefix@/html with a browser. -After your system is configured and tested type "sh ./CRON.sh" to install -a default crontab for the bbs. - - - Upgrading MBSE BBS on a running system. - --------------------------------------- - -Login as user "mbse", backup your bbs configuration, and then type the -following commands: - -cd -tar xfvj /pathtopackage/@PACKAGE@-@VERSION@.tar.bz2 -cd @PACKAGE@-@VERSION@ -./configure -make -su -[type rootpassword] -make install -exit - -Read the ChangeLog file for update instructions from the version -you were running and the version you have just installed over the old -version. Perform the upgrades step by step, version by version. - - -Next the instructions for the standard GNU installation programs: - - -Basic Installation -================== - - These are generic installation instructions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, a file -`config.cache' that saves the results of its tests to speed up -reconfiguring, and a file `config.log' containing compiler output -(useful mainly for debugging `configure'). - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If at some point `config.cache' -contains results you don't want to keep, you may remove or edit it. - - The file `configure.in' is used to create `configure' by a program -called `autoconf'. You only need `configure.in' if you want to change -it or regenerate `configure' using a newer version of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. - - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. You can give `configure' -initial values for variables by setting them in the environment. Using -a Bourne-compatible shell, you can do that on the command line like -this: - CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure - -Or on systems that have the `env' program, you can do it like this: - env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - If you have to use a `make' that does not supports the `VPATH' -variable, you have to compile the package for one architecture at a time -in the source code directory. After you have installed the package for -one architecture, use `make distclean' before reconfiguring for another -architecture. - -Installation Names -================== - - By default, `make install' will install the package's files in -`@prefix@/bin', `@prefix@/etc', etc. You can specify an -installation prefix other than `@prefix@' by giving `configure' the -option `--prefix=PATH'. This is NOT ADVISED for MBSE BBS!!! - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PATH', the package will use -PATH as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=PATH' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Specifying the System Type -========================== - - There may be some features `configure' can not figure out -automatically, but needs to determine by the type of host the package -will run on. Usually `configure' can figure that out, but if it prints -a message saying it can not guess the host type, give it the -`--host=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name with three fields: - CPU-COMPANY-SYSTEM - -See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the host type. - - If you are building compiler tools for cross-compiling, you can also -use the `--target=TYPE' option to select the type of system they will -produce code for and the `--build=TYPE' option to select the type of -system on which you are compiling the package. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Operation Controls -================== - - `configure' recognizes the following options to control how it -operates. - -`--cache-file=FILE' - Use and save the results of the tests in FILE instead of - `./config.cache'. Set FILE to `/dev/null' to disable caching, for - debugging `configure'. - -`--help' - Print a summary of the options to `configure', and exit. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`--version' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`configure' also accepts some other, not widely useful, options. - diff --git a/mbsebbs-code/Makefile b/mbsebbs-code/Makefile deleted file mode 100644 index f2ccbdf2..00000000 --- a/mbsebbs-code/Makefile +++ /dev/null @@ -1,164 +0,0 @@ -# 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 \ - ChangeLog_2006 ChangeLog_2007 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; - diff --git a/mbsebbs-code/Makefile.global.in b/mbsebbs-code/Makefile.global.in deleted file mode 100644 index aa2817c9..00000000 --- a/mbsebbs-code/Makefile.global.in +++ /dev/null @@ -1,46 +0,0 @@ -# Compile-time configuration for MBSE FidoNet/Internet BBS -# $Id: Makefile.global.in,v 1.16 2007/05/27 14:12:52 mbse Exp $ - -MAJOR = @MAJOR@ -MINOR = @MINOR@ -REVISION = @REVISION@ -VERSION = @MAJOR@.@MINOR@.@REVISION@ -PACKAGE = @PACKAGE@ - -# for make install, where to put binaries and what owner to set -SUBDIRS = @SUBDIRS@ -PREFIX = @prefix@ -BINDIR = @prefix@/bin -ETCDIR = @prefix@/etc -DOCDIR = @prefix@/doc -VARDIR = @prefix@/var -INTDIR = @prefix@/share/int -OWNER = @OWNER@ -GROUP = @GROUP@ -ROWNER = @ROWNER@ -RGROUP = @RGROUP@ -MODE = 0711 -SMODE = 6711 - -CHOWN = @CHOWN@ -INSTALL = @INSTALL@ -RANLIB = @RANLIB@ -LN_S = @LN_S@ -SHELL = /bin/sh -ECHO = echo -e -CC = @CC@ -AWK = @AWK@ -TAR = @TAR@ -ZIP = @ZIP@ -MAKE = @MAKE@ - -# joe editor -JOEBIN = @joebin@ -JOELIB = @joelib@ - -CFLAGS = @CFLAGS@ -LIBS = @LIBS@ -DEFS = @DEFS@ -LDFLAGS = @LDFLAGS@ -CPPFLAGS = @CPPFLAGS@ - diff --git a/mbsebbs-code/NEWS b/mbsebbs-code/NEWS deleted file mode 100644 index e69de29b..00000000 diff --git a/mbsebbs-code/README b/mbsebbs-code/README deleted file mode 100644 index 5faa673a..00000000 --- a/mbsebbs-code/README +++ /dev/null @@ -1,33 +0,0 @@ - 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. - - -Since 1 August 2013 I (Michiel Broek) stopped developing this package. But this -is a GPL2 licensed open source package so feel free to continue to improve it. -I only ask to make it clear to others that it is a modified package. You can do -that by changing the version numbers and messages in the file configure.ac and -then run autoconf to update the configure scripts. - - diff --git a/mbsebbs-code/README.Gentoo b/mbsebbs-code/README.Gentoo deleted file mode 100644 index 306cc584..00000000 --- a/mbsebbs-code/README.Gentoo +++ /dev/null @@ -1,19 +0,0 @@ -$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. - diff --git a/mbsebbs-code/README.Ubuntu b/mbsebbs-code/README.Ubuntu deleted file mode 100644 index d736c1ea..00000000 --- a/mbsebbs-code/README.Ubuntu +++ /dev/null @@ -1,28 +0,0 @@ -$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 - diff --git a/mbsebbs-code/README.developer b/mbsebbs-code/README.developer deleted file mode 100644 index 9a14de09..00000000 --- a/mbsebbs-code/README.developer +++ /dev/null @@ -1,55 +0,0 @@ -$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. diff --git a/mbsebbs-code/SETUP.sh b/mbsebbs-code/SETUP.sh deleted file mode 100644 index af91f9ce..00000000 --- a/mbsebbs-code/SETUP.sh +++ /dev/null @@ -1,682 +0,0 @@ -#!/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 }' ) - elif [ -f /etc/arch-release ]; then - DISTNAME="Arch Linux" - DISTVERS="N/A" - 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 a $OSTYPE system, however - that 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 - -if [ "$DISTNAME" = "Arch Linux" ]; then - if [ ! -f /etc/xinetd.d/servers ]; then - echo "*** You seem to be using Arch Linux but have not yet installed xinetd." - echo " 'pacman -S xinetd' will install that for you. ***" - echo "*** SETUP aborted ***" - log "!" "Aborted, Arch Linux 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 , 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 - diff --git a/mbsebbs-code/TODO b/mbsebbs-code/TODO deleted file mode 100644 index 32cf9d12..00000000 --- a/mbsebbs-code/TODO +++ /dev/null @@ -1,121 +0,0 @@ - - MBSE BBS V1.0.1 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. - -everything: - N: In BSO the i flavor should have been d flavor. - - W: Increase size of Unix usernames > 8. The limit on Slackware is 32 - characters, defined in utmp.h in UT_NAMESIZE - - W: 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. - - N: OLR: qwk, check netmail entered from reader, fido address missing? - - -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: 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: 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: - W: 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. - diff --git a/mbsebbs-code/UPGRADE b/mbsebbs-code/UPGRADE deleted file mode 100644 index a8d9facc..00000000 --- a/mbsebbs-code/UPGRADE +++ /dev/null @@ -1,18 +0,0 @@ - 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. - diff --git a/mbsebbs-code/aclocal.m4 b/mbsebbs-code/aclocal.m4 deleted file mode 100644 index f8a5ee45..00000000 --- a/mbsebbs-code/aclocal.m4 +++ /dev/null @@ -1,149 +0,0 @@ -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>>, <<[^ ]>>, <<>>), <<>>, -<>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>, -<>; 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]) - - diff --git a/mbsebbs-code/checkbasic b/mbsebbs-code/checkbasic deleted file mode 100755 index 7174d760..00000000 --- a/mbsebbs-code/checkbasic +++ /dev/null @@ -1,50 +0,0 @@ -#!/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 - diff --git a/mbsebbs-code/config.h.in b/mbsebbs-code/config.h.in deleted file mode 100644 index 8a70e2ee..00000000 --- a/mbsebbs-code/config.h.in +++ /dev/null @@ -1,273 +0,0 @@ -/* config.h.in. */ -/* $Id: config.h.in,v 1.49 2007/08/25 21:01:03 mbse Exp $ */ - -#undef SHORTRIGHT -#undef COPYRIGHT -#undef VERSION_MAJOR -#undef VERSION_MINOR -#undef VERSION_REVISION -#undef VERSION - -/* According to Sun we MUST define this in the source */ -#define _REENTRANT 1 - -/* Compile experimental code (may not be present) */ -#undef USE_EXPERIMENT - -/* Compile full newsgate */ -#undef USE_NEWSGATE - -/* Has strcasestr function */ -#undef HAVE_STRCASESTR - -/* If you have gettimeofday function */ -#undef HAVE_DECLARED_TIMEZONE -#undef HAVE_TM_GMTOFF - -/* From unix: */ -#undef SHADOW_PASSWORD -#undef AGING -#undef ATT_AGE -#undef ATT_COMMENT -#undef AUTH_METHODS -#undef CKDEFS -#undef DOUBLESIZE - -/* Defined if you have libcrack. */ -#undef HAVE_LIBCRACK - -/* Defined if you have the ts&szs cracklib. */ -#undef HAVE_LIBCRACK_HIST - -/* Defined if it includes *Pw functions. */ -#undef HAVE_LIBCRACK_PW - -/* Defined if you have libutil.h */ -#undef HAVE_LIBUTIL_H - -/* Defined if you have util.h */ -#undef HAVE_UTIL_H - -/* Defined if you have sys/types.h */ -#undef HAVE_SYS_TYPES_H - -/* Defined if it includes *Pw functions. */ -#undef HAVE_LIBCRACK_PW - -#undef KEEP_NIS_AT_END - -/* Define to support the MD5-based password hashing algorithm. */ -#undef MD5_CRYPT -#undef PAM - -/* Define to support OPIE one-time password logins. */ -#undef OPIE -#undef SW_CRYPT - -/* Define to 1 if NLS is requested. */ -#undef ENABLE_NLS - -/* Path for lastlog file. */ -#undef LASTLOG_FILE - -/* Define to support /etc/login.access login access control. */ -#undef LOGIN_ACCESS - -/* Path to vpopmail. */ -#undef _VPOPMAIL_PATH - -/* Path for wtmp file. */ -#undef _WTMP_FILE - -/* Define if you have the updwtmp function. */ -#undef HAVE_UPDWTMP - -/* Define if you have the updwtmpx function. */ -#undef HAVE_UPDWTMPX - -/* Define if you have the header file. */ -#undef HAVE_LASTLOG_H - -/* Define if you have the initgroups function. */ -#undef HAVE_INITGROUPS - -/* Define if you have ut_host in struct utmp. */ -#undef UT_HOST - -/* Path for utmp file. */ -#undef _UTMP_FILE - -/* Define if you have the `a64l' function. */ -#undef HAVE_A64L - -/* Define if you have the `c64i' function. */ -#undef HAVE_C64I - -/* Define if you have the header file, and it defines `DIR'. */ -#undef HAVE_DIRENT_H - -/* Define if you have the `fchmod' function. */ -#undef HAVE_FCHMOD - -/* Define if you have the `fchown' function. */ -#undef HAVE_FCHOWN - -/* Define if you have the `fdatasync' function. */ -#undef HAVE_FDATASYNC - -/* Define if you have the `fsync' function. */ -#undef HAVE_FSYNC - -/* Define if you have the `gettimeofday' function. */ -#undef HAVE_GETTIMEOFDAY - -/* Define if you have the header file. */ -#undef HAVE_GSHADOW_H - -/* Define if you have the `lckpwdf' function. */ -#undef HAVE_LCKPWDF - -/* Define if you have the header file, and it defines `DIR'. */ -#undef HAVE_NDIR_H - -/* Define if you have the `putpwent' function. */ -#undef HAVE_PUTPWENT - -/* Define if you have the putspent function. */ -#undef HAVE_PUTSPENT - -/* Define if you have the putgrent function. */ -#undef HAVE_PUTGRENT - -/* Define if you have the header file. */ -#undef HAVE_SHADOW_H - -/* Define if `tm_zone' is member of `struct tm'. */ -#undef HAVE_STRUCT_TM_TM_ZONE - -/* Define if you have the header file, and it defines `DIR'. */ -#undef HAVE_SYS_DIR_H - -/* Define if you have the header file, and it defines `DIR'. */ -#undef HAVE_SYS_NDIR_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_RESOURCE_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_TIME_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_VFS_H - -/* Define if you have that is POSIX.1 compatible. */ -#undef HAVE_SYS_WAIT_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_TERMIO_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_TERMIOS_H - -/* Define if you have the header file. */ -#undef HAVE_TERMIO_H - -/* Define if you have the header file. */ -#undef HAVE_TERMIOS_H - -/* Define if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define if you have the header file. */ -#undef HAVE_USERSEC_H - -/* Define if you have the header file. */ -#undef HAVE_SGTTY_H - -/* Define if you have the header file. */ -#undef HAVE_UTMP_H - -/* Define if you have the header file. */ -#undef HAVE_UTMPX_H - -/* Define if you have the memcpy function. */ -#undef HAVE_MEMCPY - -/* Define if you have the memset function. */ -#undef HAVE_MEMSET - -/* Name of package */ -#undef PACKAGE - -/* Define as the return type of signal handlers (`int' or `void'). */ -#undef RETSIGTYPE - -/* Define if the `S_IS*' macros in do not work properly. */ -#undef STAT_MACROS_BROKEN - -/* Define if you have the statfs function */ -#undef HAVE_STATFS - -/* Define if you have the statvfs function */ -#undef HAVE_STATVFS - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define if you can safely include both and . */ -#undef TIME_WITH_SYS_TIME - -/* Define if your declares `struct tm'. */ -#undef TM_IN_SYS_TIME - -/* Define if `lex' declares `yytext' as a `char *' by default, not a `char[]'. */ -#undef YYTEXT_POINTER - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* Define to `int' if doesn't define. */ -#undef gid_t - -/* Define to `int' if does not define. */ -#undef mode_t - -/* Define to `long' if does not define. */ -#undef off_t - -/* Define to `int' if does not define. */ -#undef pid_t - -/* Define to `unsigned' if does not define. */ -#undef size_t - -/* Define to `int' if doesn't define. */ -#undef uid_t - -/* Define to `int' if doesn't define. */ -#undef ssize_t - -/* Define as `fork' if `vfork' does not work. */ -#undef vfork - -/* Define if you have the header file. */ -#undef HAVE_ZLIB_H - -/* Define if you have the header file. */ -#undef HAVE_BZLIB_H - -/* Define if machine is bigendian */ -#undef WORDS_BIGENDIAN - -/* Define if Del != 207 */ -#define GBK_DEL @GBK_DEL@ - -/* Define if you have the header file. */ -#undef HAVE_CRYPT_H - -/* Define if you have the header file. */ -#undef HAVE_ICONV_H - -/* Define if you have the header file. */ -#undef HAVE_GEOIP_H - diff --git a/mbsebbs-code/configure b/mbsebbs-code/configure deleted file mode 100755 index ba4041aa..00000000 --- a/mbsebbs-code/configure +++ /dev/null @@ -1,8772 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69. -# -# -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -# -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, -$0: including any error possibly output before this -$0: message. Then install a modern shell, or manually run -$0: the script under such a shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -test -n "$DJDIR" || exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= -PACKAGE_URL= - -ac_unique_file="lib/mbselib.h" -ac_default_prefix=/opt/mbse -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_header_list= -ac_subst_vars='LTLIBOBJS -joelib -joebin -CONVERT -GOLDNODE -GOLDEDBIN -SZ -RZ -SB -RB -CLAMAV -UVSCAN -FPROT -ANTIVIR -HA -ZOO -UNZIP -UNRAR -RAR -LHA -UNARJ -ARJ -NOMARCH -ARC -GZIP -COMPRESS -LIBOBJS -EGREP -GREP -CPP -CHOWN -ZIP -TAR -LN_S -RANLIB -SET_MAKE -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -INSTALL -AWK -MAKE -VERSION -RGROUP -ROWNER -OWNER -GROUP -COPYRIGHT -REVISION -MINOR -MAJOR -PACKAGE -SUBDIRS -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_experiment -enable_debugging -enable_optimize -enable_newsgate -enable_gbkdel -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures this package to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF -_ACEOF -fi - -if test -n "$ac_init_help"; then - - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-experiment Compile experimental code - --enable-debugging Compile for debugging - --enable-optimize Enable CPU optimize - --enable-newsgate Compile with newsgate - --enable-gbkdel Delete key is 126 (default is 207) - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to the package provider. -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -configure -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_mongrel - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_func - -# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES -# ---------------------------------------------------- -# Tries to find if the field MEMBER exists in type AGGR, after including -# INCLUDES, setting cache variable VAR accordingly. -ac_fn_c_check_member () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 -$as_echo_n "checking for $2.$3... " >&6; } -if eval \${$4+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$5 -int -main () -{ -static $2 ac_aggr; -if (ac_aggr.$3) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$4=yes" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$5 -int -main () -{ -static $2 ac_aggr; -if (sizeof ac_aggr.$3) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$4=yes" -else - eval "$4=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$4 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_member - -# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES -# --------------------------------------------- -# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR -# accordingly. -ac_fn_c_check_decl () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - as_decl_name=`echo $2|sed 's/ *(.*//'` - as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 -$as_echo_n "checking whether $as_decl_name is declared... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -#ifndef $as_decl_name -#ifdef __cplusplus - (void) $as_decl_use; -#else - (void) $as_decl_name; -#endif -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_decl - -# ac_fn_c_check_type LINENO TYPE VAR INCLUDES -# ------------------------------------------- -# Tests whether TYPE exists after having included INCLUDES, setting cache -# variable VAR accordingly. -ac_fn_c_check_type () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - eval "$3=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_type -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by $as_me, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -as_fn_append ac_header_list " utime.h" -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -ac_config_headers="$ac_config_headers config.h" - -ac_config_commands="$ac_config_commands default-1" - -SUBDIRS="lib mbcico mbfido mbmon mbsebbs mbutils mbnntp mbtask mbsetup unix lang examples html script" - - -# -# General settings for MBSE BBS -# After changeing the version number, run autoconf! -# -PACKAGE="mbsebbs" -MAJOR="1" -MINOR="0" -REVISION="6.1" -VERSION="$MAJOR.$MINOR.$REVISION" -COPYRIGHT="Copyright (C) 1997-2015 Michiel Broek, All Rights Reserved" -SHORTRIGHT="Copyright (C) 1997-2015 M. Broek" -GROUP="bbs" -OWNER="mbse" -ROWNER="`id -un root`" -RGROUP="`id -gn root`" - - - - - - - - - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define VERSION_MAJOR $MAJOR -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define VERSION_MINOR $MINOR -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define VERSION_REVISION $REVISION -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define COPYRIGHT "$COPYRIGHT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define SHORTRIGHT "$SHORTRIGHT" -_ACEOF - - -SYSTEM="`uname -s`" -CPU="`uname -m`" -LDFLAGS="-L/usr/local/lib" -CPPFLAGS="-I/usr/local/include" - -# -# Checks for programs. -# Try to find GNU make -# -# Extract the first word of "gmake", so it can be a program name with args. -set dummy gmake; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MAKE+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MAKE"; then - ac_cv_prog_MAKE="$MAKE" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MAKE="gmake" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MAKE=$ac_cv_prog_MAKE -if test -n "$MAKE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKE" >&5 -$as_echo "$MAKE" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "make", so it can be a program name with args. -set dummy make; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MAKE+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MAKE"; then - ac_cv_prog_MAKE="$MAKE" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MAKE="make" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MAKE=$ac_cv_prog_MAKE -if test -n "$MAKE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKE" >&5 -$as_echo "$MAKE" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Alternate awk check, I skip mawk because it doesn't work for MBSE. -# Extract the first word of "gawk", so it can be a program name with args. -set dummy gawk; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="gawk" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "nawk", so it can be a program name with args. -set dummy nawk; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="nawk" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "awk", so it can be a program name with args. -set dummy awk; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="awk" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Try to find GNU install -# Extract the first word of "ginstall", so it can be a program name with args. -set dummy ginstall; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_INSTALL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$INSTALL"; then - ac_cv_prog_INSTALL="$INSTALL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_INSTALL="ginstall" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -INSTALL=$ac_cv_prog_INSTALL -if test -n "$INSTALL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "install", so it can be a program name with args. -set dummy install; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_INSTALL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$INSTALL"; then - ac_cv_prog_INSTALL="$INSTALL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_INSTALL="install" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -INSTALL=$ac_cv_prog_INSTALL -if test -n "$INSTALL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - -# Extract the first word of "tar", so it can be a program name with args. -set dummy tar; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_TAR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$TAR"; then - ac_cv_prog_TAR="$TAR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_TAR="tar" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -TAR=$ac_cv_prog_TAR -if test -n "$TAR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TAR" >&5 -$as_echo "$TAR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "zip", so it can be a program name with args. -set dummy zip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ZIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ZIP"; then - ac_cv_prog_ZIP="$ZIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ZIP="zip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ZIP=$ac_cv_prog_ZIP -if test -n "$ZIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZIP" >&5 -$as_echo "$ZIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "chown", so it can be a program name with args. -set dummy chown; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CHOWN+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $CHOWN in - [\\/]* | ?:[\\/]*) - ac_cv_path_CHOWN="$CHOWN" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_dummy="/bin:/sbin:/usr/bin:/usr/sbin:" -for as_dir in $as_dummy -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_CHOWN="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_CHOWN" && ac_cv_path_CHOWN="chown" - ;; -esac -fi -CHOWN=$ac_cv_path_CHOWN -if test -n "$CHOWN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CHOWN" >&5 -$as_echo "$CHOWN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 -$as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if ${ac_cv_c_bigendian+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - # Check for potential -arch flags. It is not universal unless - # there are at least two -arch flags with different values. - ac_arch= - ac_prev= - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do - if test -n "$ac_prev"; then - case $ac_word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then - ac_arch=$ac_word - else - ac_cv_c_bigendian=universal - break - fi - ;; - esac - ac_prev= - elif test "x$ac_word" = "x-arch"; then - ac_prev=arch - fi - done -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - # See if sys/param.h defines the BYTE_ORDER macro. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - -int -main () -{ -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ - && LITTLE_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - -int -main () -{ -#if BYTE_ORDER != BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to _BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -#ifndef _BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # Compile a test program. - if test "$cross_compiling" = yes; then : - # Try to guess by grepping values from an object file. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } - short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; - } - extern int foo; - -int -main () -{ -return use_ascii (foo) == use_ebcdic (foo); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then - ac_cv_c_bigendian=yes - fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi - fi -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_bigendian=no -else - ac_cv_c_bigendian=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 -$as_echo "$ac_cv_c_bigendian" >&6; } - case $ac_cv_c_bigendian in #( - yes) - $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h -;; #( - no) - ;; #( - universal) - -$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - - ;; #( - *) - as_fn_error $? "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; - esac - - - -# -# Additional commandline switches -# -# Check whether --enable-experiment was given. -if test "${enable_experiment+set}" = set; then : - enableval=$enable_experiment; experiment=$enableval -else - experiment=no -fi - -if test "$experiment" = "yes"; then - $as_echo "#define USE_EXPERIMENT 1" >>confdefs.h - -fi - -# Check whether --enable-debugging was given. -if test "${enable_debugging+set}" = set; then : - enableval=$enable_debugging; debugging=$enableval -else - debugging=no -fi - -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 - -# Check whether --enable-optimize was given. -if test "${enable_optimize+set}" = set; then : - enableval=$enable_optimize; optimize=$enableval -else - optimize=no -fi - -if test "$optimize" = "yes"; then -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cpuflags" >&5 -$as_echo_n "checking for cpuflags... " >&6; } - for cpuflagsbin in /usr/bin /usr/local/bin /usr/pkg/bin `pwd` NONE; do - if test "$cpuflagsbin" = "NONE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unknown" >&5 -$as_echo "unknown" >&6; } - elif test -x $cpuflagsbin/cpuflags; then - CPUFLAGS=`$cpuflagsbin/cpuflags` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPUFLAGS" >&5 -$as_echo "$CPUFLAGS" >&6; } - CFLAGS="$CPUFLAGS $CFLAGS" - break - fi - done -fi - - -# -# Enable full newsgate, this was default upto 0.50.0 -# -# Check whether --enable-newsgate was given. -if test "${enable_newsgate+set}" = set; then : - enableval=$enable_newsgate; newsgate=$enableval -else - newsgate=no -fi - -if test "$newsgate" = "yes"; then - $as_echo "#define USE_NEWSGATE 1" >>confdefs.h - - NEWSGATE="Yes" -else - NEWSGATE="No" -fi - - -# -# Checks for libraries and functions. -# -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for re_comp in -lcompat" >&5 -$as_echo_n "checking for re_comp in -lcompat... " >&6; } -if ${ac_cv_lib_compat_re_comp+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcompat $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char re_comp (); -int -main () -{ -return re_comp (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_compat_re_comp=yes -else - ac_cv_lib_compat_re_comp=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_compat_re_comp" >&5 -$as_echo "$ac_cv_lib_compat_re_comp" >&6; } -if test "x$ac_cv_lib_compat_re_comp" = xyes; then : - result=yes -else - result=no -fi - -if test "$result" = "yes"; then - LIBS="$LIBS -lcompat" -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pw_age in struct passwd" >&5 -$as_echo_n "checking for pw_age in struct passwd... " >&6; } -if ${ac_cv_struct_passwd_pw_age+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ - struct passwd pw; pw.pw_age = ""; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_struct_passwd_pw_age=yes -else - ac_cv_struct_passwd_pw_age=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_passwd_pw_age" >&5 -$as_echo "$ac_cv_struct_passwd_pw_age" >&6; } -if test "$ac_cv_struct_passwd_pw_age" = "yes"; then - $as_echo "#define ATT_AGE 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pw_comment in struct passwd" >&5 -$as_echo_n "checking for pw_comment in struct passwd... " >&6; } -if ${ac_cv_struct_passwd_pw_comment+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ - struct passwd pw; pw.pw_comment = ""; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_struct_passwd_pw_comment=yes -else - ac_cv_struct_passwd_pw_comment=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_passwd_pw_comment" >&5 -$as_echo "$ac_cv_struct_passwd_pw_comment" >&6; } -if test "$ac_cv_struct_passwd_pw_comment" = "yes"; then - $as_echo "#define ATT_COMMENT 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for setspent in -lshadow" >&5 -$as_echo_n "checking for setspent in -lshadow... " >&6; } -if ${ac_cv_lib_shadow_setspent+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lshadow $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char setspent (); -int -main () -{ -return setspent (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_shadow_setspent=yes -else - ac_cv_lib_shadow_setspent=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_shadow_setspent" >&5 -$as_echo "$ac_cv_lib_shadow_setspent" >&6; } -if test "x$ac_cv_lib_shadow_setspent" = xyes; then : - result=yes -else - result=no -fi - -if test "$result" = "yes"; then - LIBS="$LIBS -lshadow" - SHADOW_PASSWORD=1 - LIBSHADOW=1 -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getspnam in -lshadow" >&5 -$as_echo_n "checking for getspnam in -lshadow... " >&6; } -if ${ac_cv_lib_shadow_getspnam+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lshadow $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char getspnam (); -int -main () -{ -return getspnam (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_shadow_getspnam=yes -else - ac_cv_lib_shadow_getspnam=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_shadow_getspnam" >&5 -$as_echo "$ac_cv_lib_shadow_getspnam" >&6; } -if test "x$ac_cv_lib_shadow_getspnam" = xyes; then : - result=yes -else - result=no -fi - - 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 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setspent in -lc" >&5 -$as_echo_n "checking for setspent in -lc... " >&6; } -if ${ac_cv_lib_c_setspent+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lc $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char setspent (); -int -main () -{ -return setspent (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_c_setspent=yes -else - ac_cv_lib_c_setspent=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_setspent" >&5 -$as_echo "$ac_cv_lib_c_setspent" >&6; } -if test "x$ac_cv_lib_c_setspent" = xyes; then : - result=yes -else - result=no -fi - - 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 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgetspent in -lshadow" >&5 -$as_echo_n "checking for fgetspent in -lshadow... " >&6; } -if ${ac_cv_lib_shadow_fgetspent+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lshadow $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char fgetspent (); -int -main () -{ -return fgetspent (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_shadow_fgetspent=yes -else - ac_cv_lib_shadow_fgetspent=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_shadow_fgetspent" >&5 -$as_echo "$ac_cv_lib_shadow_fgetspent" >&6; } -if test "x$ac_cv_lib_shadow_fgetspent" = xyes; then : - result=yes -else - result=no -fi - - if test "$result" = "yes"; then - if test "$LIBSHADOW" != "1"; then - LIBS="$LIBS -lshadow" - fi - fi - fi - $as_echo "#define SHADOW_PASSWORD 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for crypt in -lcrypt" >&5 -$as_echo_n "checking for crypt in -lcrypt... " >&6; } -if ${ac_cv_lib_crypt_crypt+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcrypt $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char crypt (); -int -main () -{ -return crypt (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_crypt_crypt=yes -else - ac_cv_lib_crypt_crypt=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypt_crypt" >&5 -$as_echo "$ac_cv_lib_crypt_crypt" >&6; } -if test "x$ac_cv_lib_crypt_crypt" = xyes; then : - result=yes -else - result=no -fi - -if test "$result" = "yes"; then - LIBS="$LIBS -lcrypt" -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for login in -lutil" >&5 -$as_echo_n "checking for login in -lutil... " >&6; } -if ${ac_cv_lib_util_login+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lutil $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char login (); -int -main () -{ -return login (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_util_login=yes -else - ac_cv_lib_util_login=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_login" >&5 -$as_echo "$ac_cv_lib_util_login" >&6; } -if test "x$ac_cv_lib_util_login" = xyes; then : - result=yes -else - result=no -fi - -if test "$result" = "yes"; then - LIBS="$LIBS -lutil" - for ac_header in util.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "util.h" "ac_cv_header_util_h" "$ac_includes_default" -if test "x$ac_cv_header_util_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_UTIL_H 1 -_ACEOF - -fi - -done - - for ac_header in libutil.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "libutil.h" "ac_cv_header_libutil_h" "$ac_includes_default" -if test "x$ac_cv_header_libutil_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBUTIL_H 1 -_ACEOF - -fi - -done - - for ac_header in sys/types.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_types_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SYS_TYPES_H 1 -_ACEOF - -fi - -done - -fi - - -# -# Support for zlib and bzlib transfers compression -# -ZLIBSUP=No -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for compress2 in -lz" >&5 -$as_echo_n "checking for compress2 in -lz... " >&6; } -if ${ac_cv_lib_z_compress2+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lz $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char compress2 (); -int -main () -{ -return compress2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_z_compress2=yes -else - ac_cv_lib_z_compress2=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_compress2" >&5 -$as_echo "$ac_cv_lib_z_compress2" >&6; } -if test "x$ac_cv_lib_z_compress2" = xyes; then : - result=yes -else - result=no -fi - -if test "$result" = "yes"; then - LIBS="$LIBS -lz" - for ac_header in zlib.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" -if test "x$ac_cv_header_zlib_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ZLIB_H 1 -_ACEOF - ZLIBSUP=Yes -else - ZLIBSUP=No -fi - -done - -fi -BZLIBSUP=No -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BZ2_bzCompressInit in -lbz2" >&5 -$as_echo_n "checking for BZ2_bzCompressInit in -lbz2... " >&6; } -if ${ac_cv_lib_bz2_BZ2_bzCompressInit+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lbz2 $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char BZ2_bzCompressInit (); -int -main () -{ -return BZ2_bzCompressInit (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_bz2_BZ2_bzCompressInit=yes -else - ac_cv_lib_bz2_BZ2_bzCompressInit=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bz2_BZ2_bzCompressInit" >&5 -$as_echo "$ac_cv_lib_bz2_BZ2_bzCompressInit" >&6; } -if test "x$ac_cv_lib_bz2_BZ2_bzCompressInit" = xyes; then : - result=yes -else - result=no -fi - -if test "$result" = "yes"; then - LIBS="$LIBS -lbz2" - for ac_header in bzlib.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "bzlib.h" "ac_cv_header_bzlib_h" "$ac_includes_default" -if test "x$ac_cv_header_bzlib_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_BZLIB_H 1 -_ACEOF - BZLIBSUP=Yes -else - BZLIBSUP=No -fi - -done - -fi - -# -# Support for iconv, check libc first. -# -result="no" -ac_fn_c_check_func "$LINENO" "iconv_open" "ac_cv_func_iconv_open" -if test "x$ac_cv_func_iconv_open" = xyes; then : - result=yes -else - # AC_SEARCH_LIBS(iconv_open,iconv,result=yes,result=no) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv_open in -liconv" >&5 -$as_echo_n "checking for iconv_open in -liconv... " >&6; } -if ${ac_cv_lib_iconv_iconv_open+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-liconv $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char iconv_open (); -int -main () -{ -return iconv_open (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_iconv_iconv_open=yes -else - ac_cv_lib_iconv_iconv_open=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_iconv_iconv_open" >&5 -$as_echo "$ac_cv_lib_iconv_iconv_open" >&6; } -if test "x$ac_cv_lib_iconv_iconv_open" = xyes; then : - result=yes -else - result=no -fi - - if test "$result" = "yes"; then - LIBS="$LIBS -liconv" - fi - -fi - -if test "$result" = "yes"; then - for ac_header in iconv.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "iconv.h" "ac_cv_header_iconv_h" "$ac_includes_default" -if test "x$ac_cv_header_iconv_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_ICONV_H 1 -_ACEOF - -fi - -done - -fi - -# -# Checks for header files. -# -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -ac_header_dirent=no -for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do - as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 -$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } -if eval \${$as_ac_Header+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include <$ac_hdr> - -int -main () -{ -if ((DIR *) 0) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$as_ac_Header=yes" -else - eval "$as_ac_Header=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$as_ac_Header - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 -_ACEOF - -ac_header_dirent=$ac_hdr; break -fi - -done -# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. -if test $ac_header_dirent = dirent.h; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 -$as_echo_n "checking for library containing opendir... " >&6; } -if ${ac_cv_search_opendir+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char opendir (); -int -main () -{ -return opendir (); - ; - return 0; -} -_ACEOF -for ac_lib in '' dir; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_opendir=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_opendir+:} false; then : - break -fi -done -if ${ac_cv_search_opendir+:} false; then : - -else - ac_cv_search_opendir=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 -$as_echo "$ac_cv_search_opendir" >&6; } -ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 -$as_echo_n "checking for library containing opendir... " >&6; } -if ${ac_cv_search_opendir+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char opendir (); -int -main () -{ -return opendir (); - ; - return 0; -} -_ACEOF -for ac_lib in '' x; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_opendir=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_opendir+:} false; then : - break -fi -done -if ${ac_cv_search_opendir+:} false; then : - -else - ac_cv_search_opendir=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 -$as_echo "$ac_cv_search_opendir" >&6; } -ac_res=$ac_cv_search_opendir -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -fi - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 -$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } -if ${ac_cv_header_time+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include - -int -main () -{ -if ((struct tm *) 0) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_time=yes -else - ac_cv_header_time=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5 -$as_echo "$ac_cv_header_time" >&6; } -if test $ac_cv_header_time = yes; then - -$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 -$as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } -if ${ac_cv_header_sys_wait_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#ifndef WEXITSTATUS -# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8) -#endif -#ifndef WIFEXITED -# define WIFEXITED(stat_val) (((stat_val) & 255) == 0) -#endif - -int -main () -{ - int s; - wait (&s); - s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_sys_wait_h=yes -else - ac_cv_header_sys_wait_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5 -$as_echo "$ac_cv_header_sys_wait_h" >&6; } -if test $ac_cv_header_sys_wait_h = yes; then - -$as_echo "#define HAVE_SYS_WAIT_H 1" >>confdefs.h - -fi - -for ac_header in termios.h sys/termios.h termio.h sys/termio.h sgtty.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - -for ac_header in sys/time.h sys/vfs.h unistd.h netinet/in.h regex.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - -for ac_header in sys/resource.h usersec.h gshadow.h shadow.h crypt.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - -for ac_header in limits.h utmp.h utmpx.h lastlog.h rpc/key_prot.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 -$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if ${ac_cv_struct_tm+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -int -main () -{ -struct tm tm; - int *p = &tm.tm_sec; - return !p; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_struct_tm=time.h -else - ac_cv_struct_tm=sys/time.h -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 -$as_echo "$ac_cv_struct_tm" >&6; } -if test $ac_cv_struct_tm = sys/time.h; then - -$as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h - -fi - -ac_fn_c_check_member "$LINENO" "struct tm" "tm_zone" "ac_cv_member_struct_tm_tm_zone" "#include -#include <$ac_cv_struct_tm> - -" -if test "x$ac_cv_member_struct_tm_tm_zone" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_TM_TM_ZONE 1 -_ACEOF - - -fi - -if test "$ac_cv_member_struct_tm_tm_zone" = yes; then - -$as_echo "#define HAVE_TM_ZONE 1" >>confdefs.h - -else - ac_fn_c_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include -" -if test "x$ac_cv_have_decl_tzname" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_TZNAME $ac_have_decl -_ACEOF - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5 -$as_echo_n "checking for tzname... " >&6; } -if ${ac_cv_var_tzname+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#if !HAVE_DECL_TZNAME -extern char *tzname[]; -#endif - -int -main () -{ -return tzname[0][0]; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_var_tzname=yes -else - ac_cv_var_tzname=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_var_tzname" >&5 -$as_echo "$ac_cv_var_tzname" >&6; } - if test $ac_cv_var_tzname = yes; then - -$as_echo "#define HAVE_TZNAME 1" >>confdefs.h - - fi -fi - - -# -# Checks for typedefs, structures, and compiler characteristics. -# -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 -$as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if ${ac_cv_c_const+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - -#ifndef __cplusplus - /* Ultrix mips cc rejects this sort of thing. */ - typedef int charset[2]; - const charset cs = { 0, 0 }; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *pcpcc; - char **ppc; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - pcpcc = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++pcpcc; - ppc = (char**) pcpcc; - pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this sort of thing. */ - char tx; - char *t = &tx; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - if (s) return 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; } bx; - struct s *b = &bx; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - if (!foo) return 0; - } - return !cs[0] && !zero.x; -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_const=yes -else - ac_cv_c_const=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 -$as_echo "$ac_cv_c_const" >&6; } -if test $ac_cv_c_const = no; then - -$as_echo "#define const /**/" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 -$as_echo_n "checking for uid_t in sys/types.h... " >&6; } -if ${ac_cv_type_uid_t+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "uid_t" >/dev/null 2>&1; then : - ac_cv_type_uid_t=yes -else - ac_cv_type_uid_t=no -fi -rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 -$as_echo "$ac_cv_type_uid_t" >&6; } -if test $ac_cv_type_uid_t = no; then - -$as_echo "#define uid_t int" >>confdefs.h - - -$as_echo "#define gid_t int" >>confdefs.h - -fi - -ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" -if test "x$ac_cv_type_off_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define off_t long int -_ACEOF - -fi - -ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" -if test "x$ac_cv_type_pid_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define pid_t int -_ACEOF - -fi - -ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" -if test "x$ac_cv_type_mode_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define mode_t int -_ACEOF - -fi - -ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define size_t unsigned int -_ACEOF - -fi - -ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" -if test "x$ac_cv_type_ssize_t" = xyes; then : - -else - -cat >>confdefs.h <<_ACEOF -#define ssize_t int -_ACEOF - -fi - -ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_BLKSIZE 1 -_ACEOF - - -$as_echo "#define HAVE_ST_BLKSIZE 1" >>confdefs.h - -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5 -$as_echo_n "checking whether stat file-mode macros are broken... " >&6; } -if ${ac_cv_header_stat_broken+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -#if defined S_ISBLK && defined S_IFDIR -extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1]; -#endif - -#if defined S_ISBLK && defined S_IFCHR -extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1]; -#endif - -#if defined S_ISLNK && defined S_IFREG -extern char c3[S_ISLNK (S_IFREG) ? -1 : 1]; -#endif - -#if defined S_ISSOCK && defined S_IFREG -extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1]; -#endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stat_broken=no -else - ac_cv_header_stat_broken=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stat_broken" >&5 -$as_echo "$ac_cv_header_stat_broken" >&6; } -if test $ac_cv_header_stat_broken = yes; then - -$as_echo "#define STAT_MACROS_BROKEN 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 -$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if ${ac_cv_struct_tm+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -int -main () -{ -struct tm tm; - int *p = &tm.tm_sec; - return !p; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_struct_tm=time.h -else - ac_cv_struct_tm=sys/time.h -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 -$as_echo "$ac_cv_struct_tm" >&6; } -if test $ac_cv_struct_tm = sys/time.h; then - -$as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h - -fi - - -# -# Checks for library functions. -# -for ac_func in c64i a64l fchmod fchown fdatasync fsync lckpwdf strcasestr putpwent -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - -if test $ac_cv_c_compiler_gnu = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5 -$as_echo_n "checking whether $CC needs -traditional... " >&6; } -if ${ac_cv_prog_gcc_traditional+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_pattern="Autoconf.*'x'" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -Autoconf TIOCGETP -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "$ac_pattern" >/dev/null 2>&1; then : - ac_cv_prog_gcc_traditional=yes -else - ac_cv_prog_gcc_traditional=no -fi -rm -f conftest* - - - if test $ac_cv_prog_gcc_traditional = no; then - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -Autoconf TCGETA -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "$ac_pattern" >/dev/null 2>&1; then : - ac_cv_prog_gcc_traditional=yes -fi -rm -f conftest* - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_gcc_traditional" >&5 -$as_echo "$ac_cv_prog_gcc_traditional" >&6; } - if test $ac_cv_prog_gcc_traditional = yes; then - CC="$CC -traditional" - fi -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working memcmp" >&5 -$as_echo_n "checking for working memcmp... " >&6; } -if ${ac_cv_func_memcmp_working+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - ac_cv_func_memcmp_working=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - - /* Some versions of memcmp are not 8-bit clean. */ - char c0 = '\100', c1 = '\200', c2 = '\201'; - if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0) - return 1; - - /* The Next x86 OpenStep bug shows up only when comparing 16 bytes - or more and with at least one buffer not starting on a 4-byte boundary. - William Lewis provided this test program. */ - { - char foo[21]; - char bar[21]; - int i; - for (i = 0; i < 4; i++) - { - char *a = foo + i; - char *b = bar + i; - strcpy (a, "--------01111111"); - strcpy (b, "--------10000000"); - if (memcmp (a, b, 16) >= 0) - return 1; - } - return 0; - } - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_memcmp_working=yes -else - ac_cv_func_memcmp_working=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_memcmp_working" >&5 -$as_echo "$ac_cv_func_memcmp_working" >&6; } -test $ac_cv_func_memcmp_working = no && case " $LIBOBJS " in - *" memcmp.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS memcmp.$ac_objext" - ;; -esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5 -$as_echo_n "checking return type of signal handlers... " >&6; } -if ${ac_cv_type_signal+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include - -int -main () -{ -return *(signal (0, 0)) (0) == 1; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_type_signal=int -else - ac_cv_type_signal=void -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5 -$as_echo "$ac_cv_type_signal" >&6; } - -cat >>confdefs.h <<_ACEOF -#define RETSIGTYPE $ac_cv_type_signal -_ACEOF - - - - - - for ac_header in $ac_header_list -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether utime accepts a null argument" >&5 -$as_echo_n "checking whether utime accepts a null argument... " >&6; } -if ${ac_cv_func_utime_null+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f conftest.data; >conftest.data -# Sequent interprets utime(file, 0) to mean use start of epoch. Wrong. -if test "$cross_compiling" = yes; then : - ac_cv_func_utime_null='guessing yes' -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default - #ifdef HAVE_UTIME_H - # include - #endif -int -main () -{ -struct stat s, t; - return ! (stat ("conftest.data", &s) == 0 - && utime ("conftest.data", 0) == 0 - && stat ("conftest.data", &t) == 0 - && t.st_mtime >= s.st_mtime - && t.st_mtime - s.st_mtime < 120); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_func_utime_null=yes -else - ac_cv_func_utime_null=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_utime_null" >&5 -$as_echo "$ac_cv_func_utime_null" >&6; } -if test "x$ac_cv_func_utime_null" != xno; then - ac_cv_func_utime_null=yes - -$as_echo "#define HAVE_UTIME_NULL 1" >>confdefs.h - -fi -rm -f conftest.data - -for ac_func in gettimeofday re_comp select statfs statvfs -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - -for ac_func in getspnam initgroups updwtmp updwtmpx -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - -# -# Check for usefull external programs -# -# Extract the first word of "compress", so it can be a program name with args. -set dummy compress; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_COMPRESS+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $COMPRESS in - [\\/]* | ?:[\\/]*) - ac_cv_path_COMPRESS="$COMPRESS" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_COMPRESS="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_COMPRESS" && ac_cv_path_COMPRESS="no-compress-found-during-configure" - ;; -esac -fi -COMPRESS=$ac_cv_path_COMPRESS -if test -n "$COMPRESS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $COMPRESS" >&5 -$as_echo "$COMPRESS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "gzip", so it can be a program name with args. -set dummy gzip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_GZIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $GZIP in - [\\/]* | ?:[\\/]*) - ac_cv_path_GZIP="$GZIP" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GZIP="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_GZIP" && ac_cv_path_GZIP="no-gzip-found-during-configure" - ;; -esac -fi -GZIP=$ac_cv_path_GZIP -if test -n "$GZIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GZIP" >&5 -$as_echo "$GZIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "arc", so it can be a program name with args. -set dummy arc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ARC+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ARC in - [\\/]* | ?:[\\/]*) - ac_cv_path_ARC="$ARC" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ARC="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ARC=$ac_cv_path_ARC -if test -n "$ARC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ARC" >&5 -$as_echo "$ARC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "nomarch", so it can be a program name with args. -set dummy nomarch; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_NOMARCH+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $NOMARCH in - [\\/]* | ?:[\\/]*) - ac_cv_path_NOMARCH="$NOMARCH" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_NOMARCH="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -NOMARCH=$ac_cv_path_NOMARCH -if test -n "$NOMARCH"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NOMARCH" >&5 -$as_echo "$NOMARCH" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "arj", so it can be a program name with args. -set dummy arj; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ARJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ARJ in - [\\/]* | ?:[\\/]*) - ac_cv_path_ARJ="$ARJ" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ARJ="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ARJ=$ac_cv_path_ARJ -if test -n "$ARJ"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ARJ" >&5 -$as_echo "$ARJ" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "unarj", so it can be a program name with args. -set dummy unarj; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_UNARJ+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $UNARJ in - [\\/]* | ?:[\\/]*) - ac_cv_path_UNARJ="$UNARJ" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_UNARJ="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -UNARJ=$ac_cv_path_UNARJ -if test -n "$UNARJ"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UNARJ" >&5 -$as_echo "$UNARJ" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "lha", so it can be a program name with args. -set dummy lha; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_LHA+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $LHA in - [\\/]* | ?:[\\/]*) - ac_cv_path_LHA="$LHA" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_LHA="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -LHA=$ac_cv_path_LHA -if test -n "$LHA"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LHA" >&5 -$as_echo "$LHA" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "rar", so it can be a program name with args. -set dummy rar; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_RAR+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $RAR in - [\\/]* | ?:[\\/]*) - ac_cv_path_RAR="$RAR" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_RAR="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -RAR=$ac_cv_path_RAR -if test -n "$RAR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RAR" >&5 -$as_echo "$RAR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "unrar", so it can be a program name with args. -set dummy unrar; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_UNRAR+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $UNRAR in - [\\/]* | ?:[\\/]*) - ac_cv_path_UNRAR="$UNRAR" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_UNRAR="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -UNRAR=$ac_cv_path_UNRAR -if test -n "$UNRAR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UNRAR" >&5 -$as_echo "$UNRAR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "tar", so it can be a program name with args. -set dummy tar; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_TAR+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $TAR in - [\\/]* | ?:[\\/]*) - ac_cv_path_TAR="$TAR" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_TAR="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -TAR=$ac_cv_path_TAR -if test -n "$TAR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TAR" >&5 -$as_echo "$TAR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "zip", so it can be a program name with args. -set dummy zip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ZIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ZIP in - [\\/]* | ?:[\\/]*) - ac_cv_path_ZIP="$ZIP" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ZIP="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ZIP=$ac_cv_path_ZIP -if test -n "$ZIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZIP" >&5 -$as_echo "$ZIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "unzip", so it can be a program name with args. -set dummy unzip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_UNZIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $UNZIP in - [\\/]* | ?:[\\/]*) - ac_cv_path_UNZIP="$UNZIP" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_UNZIP="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -UNZIP=$ac_cv_path_UNZIP -if test -n "$UNZIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UNZIP" >&5 -$as_echo "$UNZIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "zoo", so it can be a program name with args. -set dummy zoo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ZOO+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ZOO in - [\\/]* | ?:[\\/]*) - ac_cv_path_ZOO="$ZOO" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ZOO="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ZOO=$ac_cv_path_ZOO -if test -n "$ZOO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ZOO" >&5 -$as_echo "$ZOO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "ha", so it can be a program name with args. -set dummy ha; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_HA+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $HA in - [\\/]* | ?:[\\/]*) - ac_cv_path_HA="$HA" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_HA="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -HA=$ac_cv_path_HA -if test -n "$HA"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HA" >&5 -$as_echo "$HA" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "antivir", so it can be a program name with args. -set dummy antivir; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ANTIVIR+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ANTIVIR in - [\\/]* | ?:[\\/]*) - ac_cv_path_ANTIVIR="$ANTIVIR" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ANTIVIR="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ANTIVIR=$ac_cv_path_ANTIVIR -if test -n "$ANTIVIR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ANTIVIR" >&5 -$as_echo "$ANTIVIR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "fpscan", so it can be a program name with args. -set dummy fpscan; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_FPROT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $FPROT in - [\\/]* | ?:[\\/]*) - ac_cv_path_FPROT="$FPROT" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_FPROT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -FPROT=$ac_cv_path_FPROT -if test -n "$FPROT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FPROT" >&5 -$as_echo "$FPROT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "uvscan", so it can be a program name with args. -set dummy uvscan; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_UVSCAN+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $UVSCAN in - [\\/]* | ?:[\\/]*) - ac_cv_path_UVSCAN="$UVSCAN" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_UVSCAN="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -UVSCAN=$ac_cv_path_UVSCAN -if test -n "$UVSCAN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UVSCAN" >&5 -$as_echo "$UVSCAN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "clamscan", so it can be a program name with args. -set dummy clamscan; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CLAMAV+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $CLAMAV in - [\\/]* | ?:[\\/]*) - ac_cv_path_CLAMAV="$CLAMAV" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_CLAMAV="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -CLAMAV=$ac_cv_path_CLAMAV -if test -n "$CLAMAV"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CLAMAV" >&5 -$as_echo "$CLAMAV" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "rb", so it can be a program name with args. -set dummy rb; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_RB+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $RB in - [\\/]* | ?:[\\/]*) - ac_cv_path_RB="$RB" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_RB="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -RB=$ac_cv_path_RB -if test -n "$RB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RB" >&5 -$as_echo "$RB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "lrb", so it can be a program name with args. -set dummy lrb; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_RB+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $RB in - [\\/]* | ?:[\\/]*) - ac_cv_path_RB="$RB" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_RB="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -RB=$ac_cv_path_RB -if test -n "$RB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RB" >&5 -$as_echo "$RB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "sb", so it can be a program name with args. -set dummy sb; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_SB+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $SB in - [\\/]* | ?:[\\/]*) - ac_cv_path_SB="$SB" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_SB="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -SB=$ac_cv_path_SB -if test -n "$SB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SB" >&5 -$as_echo "$SB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "lsb", so it can be a program name with args. -set dummy lsb; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_SB+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $SB in - [\\/]* | ?:[\\/]*) - ac_cv_path_SB="$SB" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_SB="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -SB=$ac_cv_path_SB -if test -n "$SB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SB" >&5 -$as_echo "$SB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "rz", so it can be a program name with args. -set dummy rz; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_RZ+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $RZ in - [\\/]* | ?:[\\/]*) - ac_cv_path_RZ="$RZ" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_RZ="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -RZ=$ac_cv_path_RZ -if test -n "$RZ"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RZ" >&5 -$as_echo "$RZ" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "lrz", so it can be a program name with args. -set dummy lrz; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_RZ+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $RZ in - [\\/]* | ?:[\\/]*) - ac_cv_path_RZ="$RZ" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_RZ="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -RZ=$ac_cv_path_RZ -if test -n "$RZ"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RZ" >&5 -$as_echo "$RZ" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "sz", so it can be a program name with args. -set dummy sz; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_SZ+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $SZ in - [\\/]* | ?:[\\/]*) - ac_cv_path_SZ="$SZ" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_SZ="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -SZ=$ac_cv_path_SZ -if test -n "$SZ"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SZ" >&5 -$as_echo "$SZ" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "lsz", so it can be a program name with args. -set dummy lsz; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_SZ+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $SZ in - [\\/]* | ?:[\\/]*) - ac_cv_path_SZ="$SZ" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_SZ="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -SZ=$ac_cv_path_SZ -if test -n "$SZ"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SZ" >&5 -$as_echo "$SZ" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "golded", so it can be a program name with args. -set dummy golded; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_GOLDEDBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $GOLDEDBIN in - [\\/]* | ?:[\\/]*) - ac_cv_path_GOLDEDBIN="$GOLDEDBIN" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GOLDEDBIN="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -GOLDEDBIN=$ac_cv_path_GOLDEDBIN -if test -n "$GOLDEDBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOLDEDBIN" >&5 -$as_echo "$GOLDEDBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "gedlnx", so it can be a program name with args. -set dummy gedlnx; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_GOLDEDBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $GOLDEDBIN in - [\\/]* | ?:[\\/]*) - ac_cv_path_GOLDEDBIN="$GOLDEDBIN" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GOLDEDBIN="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -GOLDEDBIN=$ac_cv_path_GOLDEDBIN -if test -n "$GOLDEDBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOLDEDBIN" >&5 -$as_echo "$GOLDEDBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "goldnode", so it can be a program name with args. -set dummy goldnode; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_GOLDNODE+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $GOLDNODE in - [\\/]* | ?:[\\/]*) - ac_cv_path_GOLDNODE="$GOLDNODE" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GOLDNODE="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -GOLDNODE=$ac_cv_path_GOLDNODE -if test -n "$GOLDNODE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOLDNODE" >&5 -$as_echo "$GOLDNODE" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "gnlnx", so it can be a program name with args. -set dummy gnlnx; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_GOLDNODE+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $GOLDNODE in - [\\/]* | ?:[\\/]*) - ac_cv_path_GOLDNODE="$GOLDNODE" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GOLDNODE="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -GOLDNODE=$ac_cv_path_GOLDNODE -if test -n "$GOLDNODE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOLDNODE" >&5 -$as_echo "$GOLDNODE" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -# Extract the first word of "convert", so it can be a program name with args. -set dummy convert; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_CONVERT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $CONVERT in - [\\/]* | ?:[\\/]*) - ac_cv_path_CONVERT="$CONVERT" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_CONVERT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -CONVERT=$ac_cv_path_CONVERT -if test -n "$CONVERT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CONVERT" >&5 -$as_echo "$CONVERT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - -# -# Check for GeoIP support, see http://www.maxmind.com/ -# -GEOIPSUP=No -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GeoIP_new in -lGeoIP" >&5 -$as_echo_n "checking for GeoIP_new in -lGeoIP... " >&6; } -if ${ac_cv_lib_GeoIP_GeoIP_new+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lGeoIP $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char GeoIP_new (); -int -main () -{ -return GeoIP_new (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_GeoIP_GeoIP_new=yes -else - ac_cv_lib_GeoIP_GeoIP_new=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_GeoIP_GeoIP_new" >&5 -$as_echo "$ac_cv_lib_GeoIP_GeoIP_new" >&6; } -if test "x$ac_cv_lib_GeoIP_GeoIP_new" = xyes; then : - result=yes -else - result=no -fi - -if test "$result" = "yes"; then - LIBS="$LIBS -lGeoIP" - for ac_header in GeoIP.h GeoIPCity.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - GEOIPSUP=Yes -else - GEOIPSUP=No -fi - -done - -fi - - -# -# FIX DEL for Del!=207, this was default upto 207 or 126 if no argument -# -# Check whether --enable-gbkdel was given. -if test "${enable_gbkdel+set}" = set; then : - enableval=$enable_gbkdel; gbkdel=$enableval -else - gbkdel=no -fi - -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 -cat >>confdefs.h <<_ACEOF -#define GBK_DEL $GBK_DEL -_ACEOF - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking location of joe editor" >&5 -$as_echo_n "checking location of joe editor... " >&6; } -for joebin in /usr/bin /usr/local/bin /usr/pkg/bin NONE; do - if test "$joebin" = "NONE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -$as_echo "not found" >&6; } - elif test -x $joebin/joe; then - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $joebin" >&5 -$as_echo "$joebin" >&6; } - break - fi -done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking location of joe rc files" >&5 -$as_echo_n "checking location of joe rc files... " >&6; } -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 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -$as_echo "not found" >&6; } - elif test -f $joelib/joerc; then - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $joelib" >&5 -$as_echo "$joelib" >&6; } - break - fi -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking location of utmp" >&5 -$as_echo_n "checking location of utmp... " >&6; } -for utmpdir in /var/run /var/adm /usr/adm /etc NONE; do - if test "$utmpdir" = "NONE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: utmp file not found" >&5 -$as_echo "$as_me: WARNING: utmp file not found" >&2;} - elif test -f $utmpdir/utmp; then - cat >>confdefs.h <<_ACEOF -#define _UTMP_FILE "$utmpdir/utmp" -_ACEOF - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $utmpdir" >&5 -$as_echo "$utmpdir" >&6; } - break - fi -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking location of lastlog/wtmp" >&5 -$as_echo_n "checking location of lastlog/wtmp... " >&6; } -for logdir in /var/log /var/adm /usr/adm /etc; do - if test -d $logdir; then - cat >>confdefs.h <<_ACEOF -#define _WTMP_FILE "$logdir/wtmp" -_ACEOF - - cat >>confdefs.h <<_ACEOF -#define LASTLOG_FILE "$logdir/lastlog" -_ACEOF - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $logdir" >&5 -$as_echo "$logdir" >&6; } - break - fi -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking location of vpopmail" >&5 -$as_echo_n "checking location of vpopmail... " >&6; } -for vpop in /var/qmail/vpopmail/bin NONE; do - if test "$vpop" = "NONE"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -$as_echo "not found" >&6; } - elif test -x $vpop/vadduser; then - cat >>confdefs.h <<_ACEOF -#define _VPOPMAIL_PATH "$vpop" -_ACEOF - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vpop" >&5 -$as_echo "$vpop" >&6; } - break - fi -done - - -ac_config_files="$ac_config_files Makefile.global paths.h unix/login.defs INSTALL FILE_ID.DIZ script/editor html/index.html html/basic.html html/upgrade.html" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - - - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by $as_me, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to the package provider." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -config.status -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# - - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; - "Makefile.global") CONFIG_FILES="$CONFIG_FILES Makefile.global" ;; - "paths.h") CONFIG_FILES="$CONFIG_FILES paths.h" ;; - "unix/login.defs") CONFIG_FILES="$CONFIG_FILES unix/login.defs" ;; - "INSTALL") CONFIG_FILES="$CONFIG_FILES INSTALL" ;; - "FILE_ID.DIZ") CONFIG_FILES="$CONFIG_FILES FILE_ID.DIZ" ;; - "script/editor") CONFIG_FILES="$CONFIG_FILES script/editor" ;; - "html/index.html") CONFIG_FILES="$CONFIG_FILES html/index.html" ;; - "html/basic.html") CONFIG_FILES="$CONFIG_FILES html/basic.html" ;; - "html/upgrade.html") CONFIG_FILES="$CONFIG_FILES html/upgrade.html" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi - ;; - - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "default-1":C) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - - -#================================================================================= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: 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} - -" >&5 -$as_echo " --=-=-=-=-=-=-=-=-=-= Configuration Complete =-=-=-=-=-=-=-=-=-=- - - Configuration summary : - - Version : ..................... ${VERSION} - Hydra/Binkp zlib compression : ${ZLIBSUP} - Binkp bzlib compression : ..... ${BZLIBSUP} - Full newsgate : ............... ${NEWSGATE} - GeoIP support : ............... ${GEOIPSUP} - Delete key : .................. ${DEL} - -" >&6; } - -if test x$ac_cv_c_compiler_gnu = xyes ; then - echo -e " Tools :\n" - echo " Compiler is GCC : ............. ${ac_cv_c_compiler_gnu}" - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: - Installation directories : - - Main directory : ........... ${prefix} - Owner and group : ........... ${OWNER}.${GROUP} - - Now type 'make' and as root 'make install' -" >&5 -$as_echo " - Installation directories : - - Main directory : ........... ${prefix} - Owner and group : ........... ${OWNER}.${GROUP} - - Now type 'make' and as root 'make install' -" >&6; } diff --git a/mbsebbs-code/configure.ac b/mbsebbs-code/configure.ac deleted file mode 100644 index c31cf387..00000000 --- a/mbsebbs-code/configure.ac +++ /dev/null @@ -1,405 +0,0 @@ -# Process this file with autoconf to produce a configure script. - -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="1" -MINOR="0" -REVISION="6.1" -VERSION="$MAJOR.$MINOR.$REVISION" -COPYRIGHT="Copyright (C) 1997-2015 Michiel Broek, All Rights Reserved" -SHORTRIGHT="Copyright (C) 1997-2015 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 ], -[ 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 ], -[ 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.html - 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' -]) diff --git a/mbsebbs-code/cpuflags b/mbsebbs-code/cpuflags deleted file mode 100755 index cd91fc5e..00000000 --- a/mbsebbs-code/cpuflags +++ /dev/null @@ -1,140 +0,0 @@ -#!/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}} - ' <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 diff --git a/mbsebbs-code/examples/footer.txt b/mbsebbs-code/examples/footer.txt deleted file mode 100644 index 5e2a7835..00000000 --- a/mbsebbs-code/examples/footer.txt +++ /dev/null @@ -1,9 +0,0 @@ - -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 diff --git a/mbsebbs-code/examples/header.txt b/mbsebbs-code/examples/header.txt deleted file mode 100644 index 96a2c31f..00000000 --- a/mbsebbs-code/examples/header.txt +++ /dev/null @@ -1,28 +0,0 @@ - - ----------========== 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. diff --git a/mbsebbs-code/examples/menus-de.tar b/mbsebbs-code/examples/menus-de.tar deleted file mode 100644 index 38a86eb0e72a42f0db1bb85da07e5514918903af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61440 zcmeHQS##sK5k}5QvbihCGqx&KyE`dar={5=yKBpy-O1V>k7dtnc50lWC`e+4A`~9> z_+=}9A;%BOYwr6_enyVUQyQRX$+Sd(9FY=fuw0fzHi7=SK@i;ly1QLxV`OYUlP3;12z4aFE8z#Z$<+f{^Sf@SWppVSg6hm)Vy6N>IwLkyn zbvl~}{U-qd_K$B<&&KT`HFSbs{t%B0>y_7VGJtamJpJ%=QsnE&$`srcpdS&-!(*F{ z#_r4=T=$=wocPS-vxGi2Lz3&SN5u7P3-R5<8rFx}?2|u-%PsV;1@D46#49}Y6>;5Ly&gc`-tLG=1BxB= z-=d)3*X*Z0e9Uy;BPMYTY6VE=eeR)u=K}pa-b3g1498`ve@T8=+Cl#-3i=MwY<fv#FNV*P><=z<|5WdJJs z@8;Tn@1xg>G7fAHH4E(D9xZ|QqtpY7z_SIup9A#ea7UQe-yLFs`Dvf*RaZNf3)EYqwZSEYbQ+SY|M@wX!CP@9$%O+eoFwLN2#6m44}aNYp^*% zHvQLVH8z{oD%gM3TD76kFw|3Ws~Zf$vXwh zD=~TCnbXA8%a#X!C7oJ*V;}%InNmA_e7b-7OK2Pj2bVL+@yPG8aF)Q07+! zGMJ+8_~<)uCvMxC{`8VtfdIvqd6_$x%{Cf+gOwLXf5%6E<$Z9c3zH(ad?2oWA;lE^ z9Ur}4=F2_mkdgPw!uw)f;AKwlh(`ZDBMhTg)-MP}S-)!b^M=iSBE;VJYQ+n5(@R|O z!g|<@k6^SD!{a%RLl`pHTFMhZg7JT|1#1J@_`h1K*DITKHvX@+)cnspb)|5Q^#{Ba zq)>LIMFvkqjPbwf4bxcvm#NnM$^zZT=nd5f7(}N=z-k11!$!dGq95d9{--DIM%ns5 zY7sX35x9XwH|?Px7X>|E{};fQTLQR+ewYjNA}zvozWy&jFSiEp1N5V!pzruA-~#*- z@q;HXoAs>OMBV{OoM^blGskTO55JzzKOwfPM$%Z>i$~ zIqcAL%cNQlyV_ttdc64yoFKa>=a%186uUjxr48HN8G5;;zvx}Q<9$d+q-WSE&-YFl zP32pH9q;d<@20}a3JMK&zOn!()WT26#W}U3eZ_mI4~&-Yu7KNRSINDe+*)O88z<|( zapZgN0GZ3?VpZjJbXY#h_PPged_k87d>$bK{ue^`N7^}t&I?97)V|=(P6%HSt%?qM z8cmR&tD)zfJp-0DVnf-5#|auOyq2>ICu9D$*Z7NGj`xR1&^Y9ZSqG|zMliyMrPnU( zc)9-E2kU!pP56DA$M@l}UGn|5M@S;RPZ<3=C@mj6WHBNXtp97(8@0gy->lSY%>UnL zHI@HAn-;|U|Ev`tLv{^8HhjgdMfv|@M?X~YA7Zz%b-W=_{67`{LB;>OiShs5L*HA+ zXE+H@Z92a2J^v8=guTP3_Hj^Lcx1eT&VoyM|Ge}8^SGz;;fFBpq3f1Yh$JsRcUZVX z;%gsVVKVTyP|inqQ{7zk1ImC$he#qY?6ih;{&omksr@Mr<^`2P{{f=wj3^FoQ*VeY zc(m(pfR9tly3(Fl<3Rhe%0EHp>xw2WUlTvz!q;8g@@_o60schWBB{mz_5D9_@;_8t zmAdl(WYajA|0ie#+0>X)Ez19+{68`Ff40%zQ)-CIEmk59Jf!V_=rS0xIhbAgOse`L z^cN|*RTD{|KO(RWh%oTd%pRh@O4F{APy+oSg*fo>&>y3}trC=U-4f`JZOs|RgZ}{i zLz;tC5=x+d;2HYUlEYSo@D?DE3qY-U2c4=_?`qZi4O{iTs3*%}4n$!8)mqI-{GZGG zf7N#_Z$knOAR3Hlj5u4X6GC&H}|INhz+k{x)JpMPN zfKvY7*vd?F1AG6oR*>lCb-HQ!?|&z83f%1F5}=Ra0aaOWBC_CQufgOsCdh)?=KBG& z$o`icmgJoY_5&Vr^jYM-ki?LjECKrWIr=Oj|0ahed1nIjI~+aVLzw@aF|l($-{a_m z`QBU$Ac5`=IQo$@NIT?}Wb=IvvIOYwbM%n%oCS=`wd!F{SnQU+%h5Z;^~U+e&UVDb zM*jhN;W--HTHP9qbX@}$JUcE#zjItezp}75yz2RFU-!)Czt*~s-p9|ikU;lQ+RLIZ zjJE%);OxKL|5tB7;D6ZvSE;G|Ur}mX;x%sn!y9plMXsi(pkGk&|5W@x75`804BqDP z0kZJ^3K)6*%M$Sc!j&k`SA^#aZ)|LY1-7og6L`MfKtBaE`vr^tH%WdR9SR9>zv-hd zSo}X(^p83ElN+M@uod*gM}I?fA4Y$dqd!>Jo-7VuGqE3KTmBCERh$~unRc@CRm0Ah z=tker#hKp^(9hNxQ5@d*dT)(KfRjjg&r5!Qei^5Rb*7zJ@jO8a22y!#0KQ%I8& z0zcmmgtx}F2MJ5&aUFi&&!bW2!V<`0Hb~(At<>w2{4dk>-;L&`TK^T+RXV?!|98>~ z(y1V;QkDN#?f;Fj`c3VGg9lUXgi|}=ZrDz^WAvM>-biWJbARs$A8P}=CC>X2uyTZc z8+^_CCqsWkM)ZtG3*aI8UEWa#{4?}C5*AbbT!Sc}y!_llzrXyR^Dn;c9oIG>|IrTY zei7q2L4Obv<%5Eu_ak9R^Sh1yC{4TOgbe*BagH*f&L$$Kdm_^Y4)z5fAHu% zi5s`jpCzbrL2?ECR;PXMo{;Tb^mb9QUblyuH6WM?VfPv2f#^Zzt9y_Fct!?cFW4d4 zP6fRmafk(?BsP9ov-P2IM(kH+I9dAF3HqR}dF6-E&!bW2W+jltdT4?FuimOv{QM77 z|6fhT|C`lPn%|lKkGFy}E6JklME*Y&{~-(2q+Unz_z%hhraWLb%mY?K^;E`$sXyh{ zE0~N4ogqDEOJW?{^-PG1Z&-^xB6ZX%82TY~OOOY2G2|J!HPCAXL*Jt%3k1-EU0|Nw zoq;;%>n3`&VCeN2%R-vy^+KcPd%EXn-9Obr-z*sVyB!SKoLvmPpY7_N%aQ>Hoj}+U zeigk{F!URaF@U&7p6w?=xuW+l`U-lpVCc18&n8Zw?JM9>82uJ17Yw~gb=dYxrD7Is zqiVs>pHV|6cs!(*!0ipqqK#?=L*LU}O%goXL7T-x4|(7FxNF$%@akiK?bj}977V=! z{%=nkh?_mg;x4*VF!bR4@0kR=?WUnQ0$2Mxs8lfYuB};4A7&fIHg%~^qt-vai#7^| zeylmpIkhDML?Cnzy-_gqeX!~s-6jMA-NT5NM&+^l7TPKpdWh0yYdYj!Jv zIl6!UxZE|Y@~AtKvn&>3#r|>n__TWZDVz1V>Pc7CH;_dAYyTGb|kbaQN zO*7dma$svCmLSj>5(o?Y6GjsB6)&(KaMU<@j@c27CH*_3{!h`@eDobxvzeEIF|w>< z&#=5_xD%8ajsE+r)-d|IkKS|aGBYPlUk+NIlw3+pT%KMau3mQF0{>Uisns_I3vo=* z*C*)VPRv40viwYtZO_syU1|Wku!?IJqS5o^u3_{IA3Ytr(B2)w!S|?x%Lmw^XJA}- zS`uYV(KlvwzjL3r(QAw+I{|#o-WZMk4kHbtPigJ{6n)7@e`u34gL)3^P_|OaJ}WWv z8K4hhp5I2P^qAXdnyOY_qCC}_+ZI8#YXEwF9PEiyjF+&jw z4}1KwmA{bV2jw;QeJ4L7N98FEP#np$L_oAii8NF$iz1sqf88L6ZZsO5j=M3meU#>> z0-vo~4Z)Yzs8`r`MXPP`Z#b;8b6TaoRj)T{+LneY8jx2JuB6FSShnwax`Qzqc3cvk zoAur4xU){@|J)}4LLtDlOm}4I7kK-vw{Xw22tF@2J;%ZZ?GhJ#WVWUldeb&6zZJ5m4SpyIk_X_$b5LvWOd%c|Ff57y;82nT8SwP>^Ez7j~*u8M+2#+kHyU=Co zriV8+HpC)a4~j#*PsRv()WJG72Kw}qKZDC{^shPZf*HgsJoOcE-P_$RK;GGDi%CO@ z7W!{d(C_Qcvj9G3y6+N;cqX+&q_e*F(7$tmeirYMb9<)iG1b2+KP+vd{}ly&o9K=) z;Ch#R0G^=#6bAi(o-g{~N19Lgll7NrzX6%Ow^ieIpQQb#RVoc-|AjhA_nTQj;n~`7U_9EKt3e>!;|8VxoLdJRQ(iU2OP{Lu}8w2-`p$^G)=75R|Mn4kKFYr9lr3uL7Vi{nzr^H$r%n^kDBC{# zl?-b4%)S8RcuMW`{nP!^4^H9Ne(-970V+Nq9_G*Qm?-gl*a3O&v4Y0D9QiheGsLlV zi_L)b9es#R8@mHyS%|+K!am{i<6GLZ(7Sq%%*4+wl=)SG3?}H?0s1!FiJOjYJbS^d zK!D=Qyv){%W*d*b#>$JLzZ0Op^gg)Lfk_cuJ`mSGmtuncPJlir^H!I-Waz&(_r8TL z@G>WN#G`+Y5k}D~>lcKgtY0>}?!T5ix0kMG)|JPuVfLepa|7lgNuEzhf^tJqRtUutbVEIL7TVnV`EHM68y|! z{|n*Eg#hlMALatRNQ-ct$Nz=s4 zaW6ps4FOpmE+;_0&C%xpoRG%^=vyd%p^kIp(4yzIMfEQB^nRaodGi-IL3UBjEx(B< zcDt}j8^m3uU=pDY|eL#n#YdR^<_f8m186!jxGYvFDxu%@9>Fz6xJRc7q-w@cq#ASFMNPJ@8xXx5sbU&>c}}ll9!(? zmhO%O+6PyN4E#Nm^AX-eH<$fDGT_l6l1L0XsbQUu4q+*6;PPf(Fe&s;5M5_Pi|{tF zhGoH{lVAb#BDJh5?TI}KwJ)pu_t5#eqFI!$u^(ve>u%BVZalpS{v^jHspfzT{6CB2 z|JNGTn)3f-(>R&`Cu{}T)R?(O(cQ-h(H_&Vc?~iJw$(%rd=hW1o}e?dB7J#e~kXNN>I{uOQ1h?ba${A z{Kx1Y(j2UkPy+p9-!z_;Tox6;TYy9^cop>wI#p56D(d-$MLo~!$+DOO5!ip##@3bm zkDGP1|Jyv3E%`jN|AJPq(5? zhhX+YKs*h00+Xod6%_6UC_%j5B*(;oy&83x3S?;j7UngJ9RLOKe_{T&sr_HIO0}Z= zzY8lf(GBeV&sssEo7d^4<-h;k#9N?dFP9Mg0v=Gc3rfr`DA{W;d5sBn!EEyNU|H<` zmK>Jkoe9>1wK)1L_CAorken<5`dyAbi_EXdVM*SZ0R4TAp06Rx_c};~5}<#`(TDTB zxfVbI^!ptB(Cw$4@<_7zUV|(F`bQi+YV8jvr9){Ohm->Hu~{WbQ9~% zf~kn-F?ylhdW3$S6L3N{`AP>_+(Bt=^lM?UIU(RXAFyQ}-09~F6%Viu&@XZVPRM3+ zK-i-1aq>SV2H`DF&_9JVIUxx4dx7-E*zsY*idkGo-}kd<)VZhxvX~7L_B>l-(>VcO1+v# zdq?DL?Pvi?>+SU z7sok22z2jyjtTqUv|#m%7|#j%gP15E6byZk2}_#a9rQS+ifl?w%pl8 z`ewn<-*02s&DX=w`#GNBdu%h9C);Q#jZzPQs+RPTxP(PCqz> zA4k58uV3ut`u3^KdP2Oj(`FY~6_C;oHgnT0_KNH~`jBl9=ne>^1^x*m3Hyqd*$?JEZs=F=A;$K zLGO{0N2!I&lMBQ%$}U{s|4Ih6duD$wjtTnBF?zTYvs9C8e{2Y5+U8iYpi5 z(erTEDEeA}o{l_d?=IosyVS+y18mbXFfM#OiLxf>Yty=KJ>qTj3ggL60H4!0#-qQ( zNTcXeiv6FUF9qli9dc$;-<3>DGL1_1SYqZgL?7lnzl~Da`+b7`c7T2#+Ixz~nS>-V z-$&7>l>23Z{*?gz9__=jDp@rqqLau47e$ZIR})pWhBt-p`(t?R;YYT0afwH61BB?= zTR!;QjCX{OV3U=os8Q-p>` zy#A-(p~si%ec$~seE>zvk|hF?MT(@s@mLZ80`CVr0(cJ(?-@hl?~I%PC3scfYBeed zKC10zjel0Ejh6U?ug!K7(%S8My;83=TX4Txt3ftgNsy+iq65z-F2-nd=FzL03%;D4 zc?<4NZ*fp?MWCh$S^xG~AkY9V$U2=;`t~hvY?Dj8`~Lg5Z`l-Ilsmp_V}qI0L!Vmw zJV$Rih8>u(y}$V3EZtoT{pSDy4zFip!(tBp&d>13a^8J_k@%M-gmJV)=ttBE@YrRe z@pXP)*!Ly$nYa@3l-8ww;5xVuxbc8_!I_-+`{*s6iC9k3qraS%TjrRc_Zjxt7;_Gg z7I+VR8uHj|!2121z}lL>!Z0Vq@>pgQlb2n7U+VX9w*_ zTQDOTj>&*dsP8iu6D*&}_R)id<3UCctwKg;NF2a#vJ!NE$+SEe1|;u(4}E==8nT?X zM;#LwA2X+9TMh-@_dH;SIFe7%7vhrhlori+fd{X>4P7rM{w4aVJX1b$yd1K3JZuE6 zOC8_7jCdf9_zwCOPiAAk%-8zmGs`La{n3s$jC(4RX{Wr;`ACO7;CWcK-K6p>lUr}! zOq#i4GUj>-Pk~%6ijn^s^(M%C?RKM9X|@`*DwqEna7)X7Gd-2m4=w?5E=a2U)XI%U zL@oa*OTSwFON~2|tVqj$ApL6jPs@KQ^50X$*F@#ObIUd}h%FX^PEg`=Aij2+`bOCa z;ICvbr*93Ce1TQVeo8;_`QmSqzZ*Ch?oihO86LD=1DA}jsxc{?@ex8f{A5%Vn?3yNM zzA4}Rh(rR}L;L7gML~Z=-195=m~a1?)TaJIb@-%N4$&`ifnL^&kbVeTK3C}DO_QS1 zdgzx$LEjs)3)t;lh54)K8_*CJl)5Da3xTN3GWi*;ba$qzZp$Cy0|!(AO9-w_(KpRZ z=rWcND!;u3`no`W&Zz6r1)F8^IVq%{R2GkVnFHwRWpqxwo)228uEg!>q z4~|~V^c#I7PP`1+h?j`1D<0-viX$(UBhh5{(D}CdYSZ=3z4!bbaL9-+WtU#3XtXpfX9=fcG20U{ z?y1rK0!f%dt(Yw2dSOK?d@#fG;l$I;_g?k9&pezoRs<6JzgD}^nA-pG@6}qnrS1Rb zyDFjIT>s0t09niS4il<))5U82ueSfw{vWje2LB}`+s<|>6vF++ekW>|06EgNP*ibM9cqL z{$D}<@1Xx~i&Iysm!DdYT%93f9ymZFmVL%Pkz@{&yXap^`L>-&0ezQ(9RTIvm5Dt@ z|5nbs&5R1@j~Sc;S`GaP`p-5&Dc7xl{=_BTa5ebP(f^bw*k(or^v?s!I4^m8S6Fbs zJ961xd%cA|)n0G!px4{i!s~5^*l=8SF!32Xwkd&$^MZgq7596alWPsHx66>F;R9JB z|G{Rj*#8aXzq;`M(gIKVTK-$sX&b%I<-d>%Hd<`@g{>w3-8=zv%>_PpgP)fxLcf9p zq}Kv@>0Ak&Yk0svL|>B>nw#Vf8v)aUK{N|zbp^ujp)V`s%0-qF>O#N{0vloA%TQec zjKp=Uk9*HOUtr&44SN|Ghc?hY@f* zKKF}%$rHYj8Y1*7%>UX7CbWWa$l@p{8|jxc3Ry!Q?1=L~JcdBN4+BB-u5lh{U!YGT z_Cey^zXtjPfj$k-uUSO@SfEeC?@1QXKN0Ao{oY)^`)hFikw8E421&cTNxbXV8TFnC z^bqolI}FTq*RO-VC(wHkDsP-`>}$<+<|{oMe*_#!@Jp!r`Z04~y+ zuXxQ@ku4z}qF)0)9Tm*~*ChCDyekyI{U}6VF#lhw=ywJB_~9fcsn`5}siNOUf5-_q zDVdYAe*{Cwa>MFdhCKT7G5U?P*qme#Horu80a6HhEkHd-zt0IcDVf)-UMJ|KvP&2J zR$6RMG6-vTRoo$_9{OWWz)8sz{@=N&zfk-H(vF7$pQ7JMi_J-f&XDqBuM-Dgycupy zcpBPZnf_-I|F2%DRqLSn5&nO4{J&dwtzrRO12W+P#V0bFP3wR3`M(vcU$pfryvHe6 z|0O)$x2ZndPiW~%QJo;<&blyM1zW03Bg7^pfVErx!bc+5a&yqi8ju0=f-`yJ-bZioOj-kS2YrFO623qVZ8Exx8W8ZX zQIt6Fogr}s6c1c79)b-x9x+oQ3ZNRQ7Yw~OWEb2Rz{6*O4L*@AXSqJ0j@ku7KV*Ih zqF^nDd~GUdpa%s*Z?cjD4Pe3#rf8U*Ig|GbA91w-!{E~O5JAYcQ3KC0(D`U-kfF!aPUUFt=>eQkh; zuk+}4QMq8~ZDzosH>TvVV-HmehW?EZ(8ojO$X0p?bx^Hf=uP4itOg$Kqh|5YQ_TAK z%yMsxdb6VdLIZos`ckr#w0vsjaP-;=s_=T}13&r|fJ5dE=B-&iaF%{*0z%Nf$P;(vwH?-BaQ z>uW-Le^d1LL-a?`;|U_?4W(fHJdZvh>*p!@dm;KmHh_aAEB5AU*%iFu%%ex>o2%84 z-Q3ZPcLD=He&*PhGo*@DaD+a3?-9CY@o?vSe$2Fw{-Ikyw}5T|-2%D=?raPEANl?! AzyJUM diff --git a/mbsebbs-code/examples/templates-de.tar b/mbsebbs-code/examples/templates-de.tar deleted file mode 100644 index ef33e03ca580506b243e8a929792f9a7d4cb6eb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81920 zcmeHw`Bxi9+HQUw{S`Iw$p!8-n9VTb7`_%DFk`kL+4-EDIX*3^1q#~S-2#)j`QPvJ zyj9hUc4K5aaqA?eySnP_+PdmppYj6VYhMK`jaK*WyE*+<@!Q(m{0@KCwx6x@@9Ns- zmi)!#=H}MMcdOf5s~cMz+Z$V}->t5#ZEbCSr&i}wpA6Z47}&r zDSwIECxs{K@c2zhl}r1Te>&|Z}?SHBKdR!NV&jPs-sr7>b2CZ7c{+U%MaO7wLJJ^;-T76 zmtLpdZL3B%i2A5?t=qk6%IjX@;oe?ZT}M$*y}mqQffJK<(ye(>v)f_XsYydOwiHOQ zH#=TiXq=g6XXgGK_vdBBTh(gb`09IfRsX|sbK{>|->dJ>{AjOyuw3qWLG63eE}Qb@ z`>@;7#TE~n^=`+HmiWA4p6_?tZNG!|EA@Irk=LE(2g(1&JbdE^p{f2`lO(giyYbXw z%ZvO#1%BOcU>xfh6;U!z*NX1>&mPKvjAeo#$$G`4Fp@T3bHrM$N`OMxQxLw|;P+ znXVXcJ~#r2^ekrDzvDE#y%sckb`+1}2gMsNP1sEH7P{g&=PjxHFEXE+X+pO z<#kyt?kjXe*z;<>bkm2yd{~2`eyA2Z{k9)8YmQn~%j$Ip#Bcn%qtDHzvjT zyQYql#pkZsYQ-x~$qQ|_@cE2(iSI}GT-_h0XVzc46i#v|{%2{2)Rk>7oQ@nIcK8F(vJGMGJIse&w z0!vH7Mb}0Y{TXwjb+5SBCnXCny;iHMT&#zM1JtY0ZC&}DIv3tZVeQx1FXdZPx806H zcC;ux&%;8&{eR}0y4D-UQPA)8eB~Y~_up#KJzgr zU~MkqA+w!wDL?{cPL*>+7IOShV; zlX7eE-7Y5hp1nh>_U-jM*8RWkFMsHNM-1k)q{Tz*2KWYl?}Jn5cz*2~%bcAdOPr#G zg4)N|T=)A}|DLOZzN&JPdz~vR`q!;)7-C|B#i%#^&<_>Av_j#uapfqtTquCEQ0`%& z@R#8GY$LellmC|`&?Y|eU-J7C`2Y2dXU`J;e;aba+WP9Vt(^aV|?ujaU?Ow~5 z%|D(9D)NyCeor-;cqSY9KG*%aY6Rel?W}3x^Kpc;uqhp3!B+TyyS$XFTn9dwcI<}W zEy;Fs&m1jXm=$tZeE9XW8<02d_@Naba?bv1=IlAfBf0qrth`!W-8qpdwYH;q`6WGr z)G-!iEmsP|t*6ixxHZjJTDj^PDH#S{xU&v;nr#VbDoSL{@m z{ur+1@-!x8RFT3j{m`Ru`&_xz6wjQz$pHr}yPEzt1P3s31^l)X?Ye#Kw|evHi7EU4 z#x`|`@jh*RzzZ*eCc7W~FR@c55YOH=Jx+>}< z%G9phMCuox{3*6wDp~$sD1c9(2BzAr-%~@#Yoq4k8%+;j3;xFoE_`GgAdo^=Si7cz zwk0{Rd4V969EIgc*}Q6!@rQpDPfn5zy@=9TqG5{a56e?CXKBBXeN1YKp&UV*>_=cY zjLeHZu4Lw|GKz7N4k!|vK(M6brzBVNPT9z|xv7cTs#@F2(PJ;z5BCAj#>G` zWvTr7G%m$LUYrN23{iU7(sxbhI|AMMCM+f>e)03cPRGCN-Qi<~wpV}H=pbtSIH;%P zqq2I@G4qY&+uny}+rykLc7FG+Va@ZwZ2OC&WKONC#-6aFXeHdXPxfPw*( ztXQF%SDkKvwnl}*p5F|6O}~Xt9*W|7FpD8BDqUO@q1Abdn@i~L-3wflVM@5TjTDVI zEf^VEEhLWOJ!eZp;eV9hmd`KBBy&_cD_s^(aQTBwcV6)0;j`ss{qJmahjOuL`Uh3j z^Y~^qm6d1oKNQ%roWbMWP2vBxHrK5EcXM@f9l9Xef7f#T&*P22cuKMUC&Tj5>?!iH z%&YVqAv2LlOeuVZo`C~^32rF4FNQ6Vx?hJ)nsvLd7E(Ec@6P|wBhx}nkwbQLfEl$W zV6md0mZV;9Hn^}w#-@RCFdx$(bLVxU73L^6!Peem8G~sxyl+>#t!9nNq#I#GBG_}Z zqU)|nLmBuKn8=#25sSe#6cXnRRI?w1z9Xb*iS}AyS8-iN1xyVxy+~V1pnR`(ZE8jv z&q#B-HhODahPG;|t1ebanz*?LqVCu|s9z9eo6(KvjvcK?)3mhpUJsbgZALFQ(^~^? zZl<4yncjL26kioN??zkgWj@DN`}O6YWVzT_wuW!{TD~efegi9js$F|QsLGcYiB%uU zCA2bh0;lKHAT(vnk|T}#_=L4x|E;eJ(}JBTW{mo!!E`OW@qK9z2dxa(mi2uUsfeYY zD|g7{wFBill=oOfM3i9Z2iUspD`m+^)bD%a-lqpJWgVww+}N?_W)~NcL@%PV+Ql>d zZiZ_-h4m4Z^`d5@lon;im))39HkM-I;!o&Vpzr7gCEp8n6utaAM)z%=$NL4wb}@v# z#qQcN;Ih3@nLhHDvBp3Efzn&Hp6A>G7XSt@80_ z57_Y+RgLMA$Nuy2TBv5oDM#d3cB0{m6^zrHS zgI<@`3n=AuK%AaJ#*9L2p%$0QZomnzx#3~3BWgO1eCR1Rw(oO)bX z7zRe)_Dk_i@%Us?>rBNm1Te%bk7Cp&*p9%vj2_2-@33Tw$hm`T@(nzb9P>={*^ z{qwW4cZcVfKNl}YjZ)$&?4-Xc=u6t_HG(NSH={aAh(2iSZOLTp^{g?I#&};u!=r5r zCf$mHi1D)1&6adj9h(@x06h);pylA^q zJG=^49HE|FA2pqKug_jdU){i4#|#!&Ig;&nsyJRnMLxd`Z_|U)RpQ_(%E8SAzmr_;9c9-Eq2m9-^R4x~f^dOim^*J_A ztk?*Z7LPx}c*XIUAx26fFpCaMbIw^eySrgnE64lqiU)6G5Gwfa5npSfCB6Es*QxpS zY&%Vnv-8W-5oO@21kb9GCC(2IM-=Eb8qEDf9d*0)>OEM-)arM1etxj`Hr{(jDm9$l&*jAJ7>y3^v>flRy;5l198hBA!o>Ihv%fHV2nUeK*Un8Ak0 z2i-nhR^W`=k9vLC0>q+735VV}CLMARWgOKNPZ!!eLm~#igV!?-LGTB{j-o1;uS;t2 z?>od200$c>_rEXbF|_*!J&EHg8P{LZWQ~zGmx~0n;>*fKltp5}h@Mm8kr2CI=|BTI zLIChW7UzQ|Fa{)$kUkAIbwBXJYmlNiW7A%CTXiHgm?R;HxVgp6B_^K#?zZVEFZPBf z0K^G`e*1(Mx$*DSVl0N!w}Vq_gur%AumS7Wf(;*c_aKCDvly*HQjvb)sGl4W+l=8j z#Edpr34+Kl9-INCdyabVC;~aerC}dK#QJ1d2btz^keX8{!~&Gq#uv$`E=jLy?_`*i zZRgc>H$z-Atd9xTI#`PLK%2G3z8ASJn{|IU>otZ%OMuy|r6jAY1>o)KbatcUAz!dw zQ5IGWcEVlIL|B~+qe3%^HvMKc=~jBC3@j1^klJCV z>p$ILAmgeQMP3(96C&}p0J$Jm-bIim_0n1S==i{KkCvSOk)Kn7%BC4!J7;vQ2FZHp z0GkEU@wId0!L_jIb(~}HG5mXgU~{mba7D3G?r*5m5x9(&Di~QWuB#n@M%?d+KZo&@ z1~749PUSS0C*tjGa18W~g*Z6!;XfJ04#DZNX^VH(^q;yb#Pjd>K13m)B;n_dg&t7u zrLor=&vBIyAZ~=AFb>t=9nb)RK?3PI+w0ltE+|I$=0!mwxF^6@G2uqFMh+k_yXH^=LTA+#pjTPCTKZZ1?}ISwQjm42zO-**Qf|%pDy%ui z)tYlO1>vOS71g6SLFu(}55%j*i}Om^QOD(jGyHp2s!*Iz?~&&MdPwN6MfJ@za`@$* z4PVu``5lqc><;nHt=!HvyVp^%8U?;Bz~g8P4q5NoW19YEdj z=e`vG&&~=$Fu_QG%RlRjlcgzt%D~Zn8`y`O=jNB4;KI(Qq>hBWpFL5^jCTxvqWI;e z0A%1zu4TNQa|-2c+u`S`oMSd?DGjw2v*L+t5+~86xskd{Urwuw-sJG%dw?txU;B}m zFG*i~#MPvC%MxOu!sO)$&llai_A388l}PXZZkTkN5q);mt16JzqU6CWSCd+;clF_A z#7@Yezb-tcM|o6hn}hV2*`+^XTqb8Nz&^x}-RMdXUQjeH)`(NyQ+jb)5unAvMZnyr z-MwM#ec`zKjthh12`q8=_~5=yWh@pK_dqWz$tnYNECO>7&>^9U0^FcOI$|P+a5HFA zgF>zj77NPA>b4m|dBd{UrA-V7Dz0C9i2X?3nr)T!fuHhn!tVVD_iVHn+}K|acW(yP z{Ig`?;L!eaMKskpy>W{Cx4yO>$A3cCZO?)bzI!q z;B%b9>l?A3pZ8MF>21zZVEC=4GL`!&x_ThD3~)VM@!NkFQF)baD;9Uc}!3`mTesBdjB{ zb#P|TPQ74VJX+0(HJqTf3XWtKWJSMx56`T;Lo~L_yJC} zuMDB5MdL=RGPLl`YHpqyTV)A37$7>(8iJC`KPu zj@SpN7KTqIPE?cGktAwZNBYd!LKe|63mm@k;7DL_xiP?_V6IJpcpQ)K2ug?%i(QPh zYiT-Ol3XJY9?xficO5v9+7LriHbSIBQ0jRRQVS_iIMzwauVZLhUrM=S_^~r zV8$5$9gWPa%fV(od{84e$zd$V$Wd^PEKViKL*N{3*;qV{U;RmNjt#@8iJ?|DUb>Ty{7rBQ`pj^S z8nYNs1<;isrqh0Y4+3)>ReB1Nqj|3t+lQ<0KorMJQxY4`&|u6A;V5mRfIIZt8?;J| zw?d77k~K={y9w2{?a11!z66A0@v$Ksi%@ia5`?35%K7U-IJR*f3UEUZwx%%|Q}~UX zp2Tl#3ohdX{6?J-;p4;jjp8%~btO;Yuu82Qk})HTeTkcf*;Z15-lJFJG&U8 zxfYnpN3WG3_>JQ~+AjXu@c*`O{_DD}Tt5Eun*HC|E=I)tT=D-t4*zv)V-@@&D9iRnTKk)D7>iUNGf2^c_IyE6&#B7EEQcb>2%g5`6hMuoA5pIE_zr{eOmLVKq>%o7N>WcFZT!bmGdvg(u6T_H7RbceWJ9FYXPhH8962#cDz+bs-E8RgdFoXF_MH!NlY z$#%`#V!Rl*W+g{-BV+1lZrn8o-5Tg7cANyTU011pL^)+_zPut824xu6tDyk?S~hGv zz1Zc~Lp^XEwOcFvlIL;oi+S6W{eOFHmHIz({?``czt=X%|K;&tL&Npx36u7JnH$*f zJ9_u$l~D^I{K5ZV_xsAr%Tm1Km+h9XK}NU+;&;%!>$JLFU7V<71ywo9RU66-_RnkV z9baBC$C?;m7<%^V;hDw|2xE|N1sBvT0gkzeQ{U?b;E9}p>@9XLB|Gr?@`P@=I34G< zi8Dx4Pal0FY=L>kvo1|Ks}|27S*xbkOIM1VglrlK>K56E)#u8FjWn=}!+GyH&icSv z@Yew6>Hu$*ZzOAB>cUJ+B4fd35JbhMk*zS<;^I7ip6?MHEAkkugY6IkWAQ%bTYz>$ z;^Z+jY*pQSEeWe3h${qf$#6<6^|KdH2mg0oCu|z~tFsX4!|A(yo@B2>@znQ@B$`u) zBoPeJ0*e;`mI@%`9+({H_Q4XuZ%e(9G0mD`T(Y4&bC(zx>EJMpnDhk zz)`KsTfw{Cp)Uc*ZHNJO#&6-I8A=N&f_y13z0(IJ;Y=fD64Ds`095gY(Z8{5QsKql z56<^1Z!b#fW##llUA*2qIo?+b%TJ&Fys`iE=|SZ{KiFJZRh0m4FHHs~d99~UOJ@ta zg%>QfTTm}v;xGyRtsGZQO1m;>$6WdJghoU>gP7bi_2Q|{fvl&cN>N=$QE%CQ-*4XT zER^^;_~8PNZo=WM(awVF;TaAxl;?1L8oRPqA&c3a`oy)y9O`45*V z_sw9DSN=T^!s_WZO6~*y)^BxtT;~RhSS;jJ1?#Ey=&Gb9dn(`9VUTx}D{p~dAEE6# z3)19T81eyrFW31mfB!|>T9j}Dzy2dw=1#QS@Y>DR{d0_L(?b_Y8U>5zYJIgA{Rm_} z=DPFw2|QO-LR(g-!T2Ev$H@=xF1N%Uc6i%H8)YCbt&}}#pL2* zED`GP%auzUnB=%MoH>Da6&1GiL(JCN!tRUX(<2;szrVBaw24^}J_XcUv~tyKEU4m1 zWoO|6b8&3 zQ7P_W!e&PmQ7ZN5dS_w#874wij@jB-Si?8qw_03MvEc6z9-a3+2(EI!j;!&VE6Gn! z{1=r=4m@66d6~-cul@Z4OuXH*Uf%Sl=I$?=n%mJd=}zdbDzyxVy^#I$U7!w;ur zOnb=2d2xY8kH&C|`5Xw%j)vf~8#+%n!_j=LP$q5CZwF?8^bW}N7vEsi?d?K(#;dSN z@CyR;S%Vn#x~~raEgt7fX3y2au6vC_#od8|Jl0+Y$-Yc~;$x{KAEnzg-=TY*nsdo3 zEZJ0j+}}*SM?Jfl@T`@6w)^7Zvb5{Ak;)6*B(`E=|H~3?dRh&Pf`-`@3j8wih3jiu zxL!Qv4hJsjsb-TNT_nv3e#RaU8Q&K*?A$a!WMC$q{|m4`tN+=AFBtSc+iUB&{^xT{ zgQ@x-GdHvf$b`Q^{H2seWDl_i>FGm}8zS8d>Y!6>vAPVmUj)=q63jJ108akeG(uq3 z`n{MbO6eG8)col33bS~qSiO+h+QAF8CNw9yITpatDS6X)Do^$GPVC-x+y z_*f-Ur@}^_v>~cpXC6^;lN6%)k_D)`Nfpq^eDF;uRmP}QKDSoI`1xVP1)fpxa}e&) ztbv6TwaX|~Nv>3RWTnd3QTU3KDk<6ZQB^7;`Njg;L&GC)E7d%O=5R+KnEwy_MoXqBTW-o$sv}p8( zTE)Bs7h2CTMc<(pnz+~)t;k5N!kE0p8*dspdobHC{VTL{TJE2LIW|>6ate)g()uw~ zdjKWfj~}Hvxyo<}6#rAIlU?Y^L6eGfd2+Dp)&>*m*#x6)(F%}6$70H-buqhcV`NcL z)a<%flO9qFld4vhY%_T{xkEIk@(^XleAk^B#dMMX8Zv-iPX60U%YS132M}y7|9utm zpP3t@i+a}%Vj@RfdoRET6`wc*W?Y5S=lHSS^M%=BKvXriRK^{ z{CKRcy2EnkX zm;KT<@5h$?#`pW5N%$Mz3b4&HN`L9Vy^k$r&bp3^X=Xhuf{e0y{|Tf(u8mWz-`c-D zZvGfC@FAphPv&wU`a#RClRG5CEq#TSEHhKPs_W$18(D7e9 z|2y~pp4*Vbgs0m7^xTL&z=`8`4gGvKxSw6-qrER(4$E`y{{0mi`&!*9ko2t!)S$$- zEFwM}e{q!Y7)S4ydS>u^gc>Ydp$;$xktuMGoWH~Q>A z%wYN(GUyE%@#sE{*yNOf4vn@x)5h*M=-sRxvCYFl_vXw)dNR)>?!B)*vS zmkTTZb+XBidN)n}+gRI9lzxRCFQJDIJQM6!EC?UM5mF)KwIa5fk<+wWn|>#zn+mK^SD?jE^b{<}%&qlj%5W zGNha-c|7jtmgk1L{~MC!Mn&OraY@a@VX^9qx^LR3Pu4PK^v6gIAL9clOXoC#5LdkR zj8agb27DzSAdPU%PqvQ%S;WfYA{8Jg(?)V48wHBp*dy3&;3+)`ZOEp{F-TyvKjDI< zKU!dk1G&=?nUkApcCU$I2U>7BP(R~-`7&|4O*vHCX)!!Pv&d{FLOLrr(FIz(lxg33 zp<~YKVNp$FjfQ`~xHZ@k5zgUrdqzwgCK|lK*fPD8#?j z9RG1{H5|9#yapsg-21IAnJwA?k?AV?`F z;}gMzSYqRaE}h^*#ZntZM%m=7d5@B!Bp9^GSkebo`eI7aZxy8THL+}mAfb(_R z8VB~22^-8#`$YROEOSnc8T_oKysbE9Fx!GD@?#>oeAa+L)^SSBcF$%&N5VP4)5y%` zmHKhPgs0)vR4>v8gb9w(89aazI^|={jI!^?e936R-dOuSI{0u%6JX?M8;v+I;BcaC z@lm1?shco0GA&FQJ12K#h8_E}8Z6VoOMd;yJs|Rb2Uh?2iT~eCk^i6Z%!kVTHb9} zEVLBmB?+pa0Pb7{HJb9gB)16lqf>L?8V+!uF+NlJKNqU0g!6+EXS-3*A54}razNemrriZ=3M$`C!d2Xc9F z77qH)ok!$9aB0m>qdTvbOqKt(Q}{p6#QwXz{w$CGoY#1y=}wjZ%-jG_`hAEq0%7ZF zbZ3|R=oTc(x?KFjA&3xazFM>&?DTecW5w#A#a5edCs}=Q?gbiYXw^I%S3s$a;^4)3 zrL5uPTS*cPyM}&NWQizX7no!~uB7jAaaU52EYg@UE`5t`5;P zV51MB%PmS;JVe!qZV#e*=10HZ`2k#5fsiyr+4vzph%$pwwZuF`)|f3njx4l)8JQha z<9N)Eqhv*TJrM%ibbS^My{*&ey;G-ChMMy9nL|=JBiveY_-js)$vuVBY=3+$@*mLF z<{9;dGrjPT^5Xsi6$8MZI76Y@MynK7^u{*+JSIr55hr>**kapdZkx}C>=KIRaNr8PB#6q_g} z-{$X__8ql%AL&S22FR98qGne3K1%)~{lO1RW>JKM!4DNRP^ymyr`}bwCeTWO|Gw{s zfbmT#oqU!|Kk*;1Q(=W)hrjC;@`mWh(#h-EH zs4kRX!5!cZeYI-euRAmThIM84gPJK~3 zWtC4x6E%CH6ex`5+r$peZ(5^ODt^;p!Cl1Zv5wnwh=tj9#7n_BX0w-+`~Ka~Pr1QR z+B@Yoh7%=aT3z(^M-^!hg?hg*jsEmMlin?hi{7m>FE7Xg_lTIA|1Nxb9Sns@RY~&) zZkY6=a&LIEt6l*w&W(}>vs_Jjq2BcoqmtnlLXl$a)Xe;Kqe&g8N_hmp?Kc zk-b?w#C{RNy4i1EaXBR%TgU$p`5ns{fz?@3n$DzF${NZqq2TVTGrvDjyZyL!zxRPC z1tfjt9_VT&O*k-_R3m7@Ll{*lN8LsP%{Xmb{ixhBu23E29u^8?+2i~{-UE3L+4HDsKrNWPl{|m>IGe;ez-o1!qkm{A7^LL zK+0d@=TC*7)c(QSlB$$;s|P2?l^00BKYWgYMoYa4gL>H22~1QkyX}6*Buj$Ht*`NS zFYE=4raEl2!bCCN{+(%RVPWAvi5r^Ue!Jacmcmbe``h0(=T+leU58N=T!g9-sb0IS zn(fwwss$}|7OJSzZ1mJ+*iF{(yQW0)$p;|i0-sX7Y_`vWrn(8bjo_>qMto8=Klowd zzS>gdpjB^QtMhiZ*GH>s?eNFntM)mX(!uDwP>b{XSiRKJ{BgV2IKRc{ zGiT{0?B1rPD+Zi5UV=n&7BlT%E)BKUx{Zz<#RGSvcoifGn`z!eSG?f7C6)g{<|8w0 zi&$7yrCO}Msi@gqg^q|iK`oSS`ZSmiYf!Hrso7TlI_x%To?2A%>P-v8ufn>gmhcM` z0@qT!I9R+IT(J6%_rdGp-eC~+)WG+T*X>sCQei%0$a;7KI_;>3@iQ-2q%bji zmjOl*O(vaF?^mx3I{5s^KlYROA(!2-7B+51Q%ZJM{F<`{{y+0-Ui}`ez2HJbLOb5B zw|B4RI#Qg!OX?tAd_FdsO}FCoJk{=D)%keYh(fifAB2BV;I`dYQP@LAhFoFPOw>R7 zBdqmin9@>Mt}Lm3gdPhb+x^O9TtIL6e@9pQvyF4lpWX8O*WThBt}3PK+hW->`8-Z6 z?AU7m@Z>l13e3$77hTFI`Wxm%^Hy=Mk4qNzLbTV%a#*OM@#pO(Za1*lV&M&vdHKo( z=nlIubGk%@g8%=_+jOb73O&;POXdGd&H4v(1v`BveV?imENoR(QhP3I8NYV%|3JNE zI%wJVi?zFK@r9fFSd`RQ`^;_IK@N!T+!S@6Y=0 z2y)|+XRB?#ay1MQHbJg=c=kd8^WZuRTG0#j4(}R^o)yr-OrX8;;cuTU~+%vPK3$uU@ix0maweiN2+ls6Jk#qLnGH1^* z&gACDu<~klaqCc~)Y6vb<>&MaQU@(n*K(yW+k&(HxJU6)LEvjDSystf>2?lm zd&#E8j6{5uU^L>y@mFLM^pjX#1cF1DdJzA@Y}AP_5iEm=MivRkv7hw;K zuy;21IjhBA@@Q2`FE5mTmf(@&YCLef(%t%R1h(N3*Ui5QX}fM;hRx1nJ=28!e|348 z`@h!ztt>8z{%>V5*Z)1%cqHlmq>A7Gk04KS2B=6g1F7xbs!ekB8MJ;$joY`UKBLmk zj3;zv#d^I9Z4~!Bs*K_rR_&O%KPQxJr*SED8br~@cDF9d8&Nlm)J(i89iBq|`p}0W z538_ghUgAVDpk5_#xKq&sGVl~cQb1CBZRhgzo$O*+r1ErH-x;dZL;dv$}iesq}tS1 zfuYnI7GVk(3I(tTOg(GYZ>g!^wbfLhGV}1*iGSVuy#ph zZBq-A^Fz7ojmQ?zyzpR=XFnGY596JFpaLjRQZ+<{XY+&khpNaZ^z)`{cJd6Vr=W@^ zU4tlYG%JG22Fp#ZELC0x*F7B`&I~C!90Is3BBt95&kheNRhN}LZSw{gGzbV7rh%5m z>=On9I<>;HU*D9__R(-gDA=#Wj}R8gZg)_QQ7D)_`u zG~YtMdtG>TT6|L}B`f8!-tGoaiw_Pu-xk;0fk7!eE0-#7jvOUvf_(*8FpDfC#q`jk zIlt{~wZe~`k61%w#!_DzC?wgpQzXfKNSxe{>^on0c2s#;QJbxJsQ25!NTnC_b(han*UhB?2v%BlLXx{JiixINkra4%Ze4ycW=dp$flwqh| zZCtb<)z%Az(kIz>u{uGWeG3*h!bP=>iy{h@er5#z2gO6V&0pd*MFy@JCuu$rawE_7BE1fo_pa^ zb2VL(Eqk(S&U&hSxE?=Nr4#u7^%WTVq5s=hU0;ReAN~ROyOHbv9&0#Kbe;Y$#qx76 z5q*igvB^0?W-^tSQ1}hq0|$t`W+=HYhE37ByotCvVl$~Xs2s$K7JllGX{Dynqd20s zmsl5RTmZz1#vKpT>y2}`0>BKdH$s$y`v7)A^)YDm7MP>bfI9OQdj?GF(e3qFyVirTs>WoCG`ca}vDu1LO-p-k=mFEY&FJNB z8rHy{yJ9?4mF|7*fTIQ%7kqT?_9llJs!V#t`jU zv5O+2D-{toN-*|VL_}(2=`ZkguvN;E6PsUlM%AYWFyS3R&j>5FgBgAlzX%aJ^&&d0 zUqq_kQ$kf1h2;#-ilSztl$KUU*S<2QtdmY%@t^2fV)g@w3-Z2T%hSuhXKWwlzS}P_ zwzCoJZFbj|0T(+SjVYO*lr>K6(C8sHj~CoK(F90Crn0iQTw!0ng?RykDe5p7@iYvaH zRXkQkuw*O+W9JtKM0RAPA4S@*GMR|xa3BMxX~ZUzpjH774z?7X#0dz2T=fqCTI`S<7a zXr+D)dc2U?YlWYnto`?FzcsAw%-IJi6gUI54^Baq zp%M^J9ODJ3?VX}ZxxTe3DEM=kT-R7Jq7aS(qFU{>RU*?VGx4oXzAfVS>-1HffDAu< zfDAp%e|Vqvpmot62?_Tf=O6SjY}VS>RGj24Kq;Xw@x$&CMvQxuFaXN`8yg#={Qr6T zho!}}4TJ(LuPxL5x3-Ef0JUrz_b9D0o$#Ie|JyD$_=~FMVTOB%%H79*bp_!<`S=g@1C?9&7(q@P|1tibYwO$_jQ_`? z=zo_tR+n@CkB1-aVTyOr|GGIs^?`h-G^O<*aR>LlN2P9+)^DRjh7<`CWTS;}Dd@5# z)Fx=%s$K*9t*C_CX9$sNQS%)rD!}P2s5yP~9zsK?yQYF!#CTAny-=LnV@)|^%d=bM zmt8m;mDC)UJj#v1d0*X4#|62`sAM|Yz#5?FVY91)8fS`HhcrWL@(iuuc(Z1xfnh9G z*{si)0rhY}RjA-OYu`|Z(oI<`Zh|KKZersN2^2kvk@7^Bh)}!+9lksLZl_J_1(b3+ zAW}~u=aw*W%=aI zsT6vL<%RM%3k^DgkRJfS5oC6Xd&NCn^9UlQJfhuTNo!%Q8W#nPho*`sW_ zR6N{94X~vUcPl1lLLDlD;b}K7ndx+Nf>%qJG3SKVh{-bCmW;_VJpY7b@vvMf?!9w^ z&M7nGZN;Y?oWU4&5|Cks7R!W25K6m=DTH0ZJw6r3yeb${DH_JRm*QmYWDA2#F799+f)93H|a67{h6NRu1R21 z$vToITa3K9TqK|+Uso=oEaC(sdQR2Jay$1c9cV&F2mqeQa=zDqbx8tA>C<3Sce_CZ z79D^9aoVePvyP;5CP@e?e%#5iv9fL#P_ zR~nYHp5E=pl|?oVTerV-rk&N zH%*(h#;zC1E}eCEIO`=wM9YBbtfe@sI2QmKqt2)fN+a?D>jh>^2aGEaRx& zHiCq+!7PN+sMq!U8*j;jSH|MpXO~Ua%tyMB_rC%t8Y~EQ)alp9xd#zfH7W7>@R<;S zw+X}zG5pSgG^v-4D=!cBJpbjK_kZN$m7uX{M3>$%pm4e%36udq^R$@sGJt1cBWQUC zV0iew7xsHm?Gk<@cEp3JJRv+*vp z_fH4}9Oqx1EE?Ou6RrS>%YvJDV5KpAq--WC1vF5`Zg0HvRa{oY99=pa=)&&~mQ6O& zUQcYS;8o%67FCEK+yF_(1hQcxsDZ=58+yU9h7t|TVjUqrL9^C}Qz_j{CB`^81^&Pk z_?cp$-eYZlCv;gN-zgwxh<(|O*1N37B_Wz~D#pMk+{uBRW z37!DC{pW7I{AIbv*nh;F!MR~r=+eQqV_n80fF9k$o=Hrxn#P2DIGzFH%p&--GH2#MRF5KU{*WY+R|w}LhQ=;{H{w{gb|%p zH-MgI$!6($?(Y|27A7DI6MboGVp49+`6jG6#?_j0G=cD?TL(n8mA}K zil+`Ld&l^DT&hx>P#=)z^b+`tCS;LmtGr{d8XKELH%C~&3)}8u5k?qZaGZIm~ir$ES4c9pvooi7116TMZhmJe-o*P zMB+>)5>Tbm_`kwX@7yAKn>nu%iLYHM0smN3?Ezef*?LGAd{NaB@APr!1X6q#$S>&^ zIn^og+sQ)w&scZOdvS9k%cr|Wgv|?w8t8IGrs=wslnPv?hx3t-ee!jqwAVIV8qr`% zyyXxI(nL6GfM`=Pt&-d6jjhA2`%W#tY0qtl`iMr72qwrC#|16=n+3}UD5d|#_m3c# z7|c?+;~y5v;dRixviYi%5)t=*MT}3-d51WAtb;8?;PT_Y60gwKLTYxK!ff29#&!Q1 z(3hO%=98Y^!rmujk4$!dLZaNx_KekfWxlux{2+L9YZLh&Qs^J-k(vVxePFsU5q3|v%h&4W`g-w=X|Bdqs5kZDRm4unp>H2<)D}j`y=wMCY{1HF((x1D z^Qr*D5#M#AD?y+^(fC~>0DMR3wFxK}W7;K*7-yCk5jH)4*YjbKJcLUpUOsrVQx^+? z*x%Eu3T(h;kr541gm?~#R1`C%j_7bi_F=fWrUr#f9gG|loYhSug7StTQP`wS2nZUk ztKFwHnzg2%%DTl*s5~VG{{jbYJUY0t9K`X7z?LPO5bK#oq89DsH-ii3gb5U`OdHH7dO7aOWDqih=JF)nNUXbD=7u1_!& zvhg0{;*+aRkx9co#$+s_qd4)5Lw_7DlE7WC5%vQQGKl^-mWE(F4iRvm8m6p#VZdy= zr)Wg7WPANOK7&^P3i~@CJ?`@; z1*HU^KmajGjV|QGd{pq_N=%u<(zWNRQ5K=-q(ZvAdCDDm*kR_EqR{ z=b--YF+=Pp=>OK2mx1|c@E@0#sQ-f-$Xd?-KgEP_{vXMS;K?$|X#uB9oTw+WBTf{o z0P&==g|zn=c+(XA;ldY30)vux2Q#=)FxMtPJdVb9WSiQti?Q}CCCfB`@OUx}yyM^l zW&=DTSH_8&Im9DPX1P@P7e9%U*2efG&TkCUaUYwVHs9KVIi~=0G%~X;XL$AWL7i~p z9>#Kv>jIFYJM)Mk3-O(V<4e-dXPirmaN>!m%*XLo`8E(8*-=n%s4qZtjQhBvaRIe- zH7%SYi&IJRC2)?mtdl%l)%SvPJU5J*7;0sIrjvQ*XN*(O*Mf6o>x~r2Ak{lzIcAl; z6OiKof$ck^I3@^;bHLE=?L-L2ef9-q)uB&vJ)l2HrdyOanvA}a<%cq+(RKn^zeYMT zejNzM;zL6?7NOL<7lfnr!1-<<968Uy(^4&wfM*=WaMbz0S0{2!58_zJ0UDn|vYW0B z4&{KLH(kLyF4MzVhuWSG&a#ip@00WZye@@%M z_sBO2|3kb&vhY9Xen27NPXqvBLz;4Dmap&3!s+9@Sw=yCFoMfK5FooKqZ&0_F^CF= zU%)ishv0-*sE_fUFUTEuXL2&jzKA%2r!hMLiev5Tu{V7#4dvJL<4!vg5L03)?#4A|o&*nyy4DmO&*D~VFZzI1Y2QU)c$1gOKg3Hi+CqcPxeWP@)2 zj}3#Rt&wJ=O^md}@5j4ie5H+)0T>mIIZctO7YJ?vApl%jBGQ&M)XY7u=CyVN9{{BU z2LLhG+L|>`AVh&kpa)pQLJyD&YZ7`OnRvmhCVv0SLJwRf67`PED#?`SUbvmbrn?bTx zO>UQN6gdgmJ2bKm36YIhe4%V)0C!3_Z@o~LICrIY*}pz(0dSKU$y%7UFcXu=Snx3z z8DrDPR+wzAIL{wvJ%VFI9)oSL9YSCv{&su|;7&-KJcfoXs++eZW;FzIgD4&;PKl*{ z3%Ueh{yVQNqsHsKHqqXByhpv==Sk)t`oJ%X)Q_Gdnp0;a5eyN|s{n2iAT$Al+X0h< zCz9-vW|TEV-0L|+1s*$@NnNZ3SE zC@mxivQl6=ClAWOnKsNMq%kXS+xw12ENpX=MmcT}nt)n%{Ona5cVjhn5R65oX|nxVs94{X}jj31zajGVhT zB|eaVS`_gHKChPfm!JRQ!J3q9yJ7to z2)M1@{CRNQXx_fSBGm}cKaxg~;)PmX?DT%YioskTLr(q|>WrwypD}{Zr9O`3b309T zPWIlZvkR$VYv!kYeD?N$VvNqmPjW$v05t|E`IY&(zdxgH62Jd}+ZbNCzrQcp`2d@H z2XC2v(b}4!4m9k_b8Ws_9-fnE&9anvjzV&AI+6r+x0Pxc2j+Nw4W|>JrlP`TzK>~I zo7vtxIC_a=&Ud$Fo;NTZqUS&g?JZn1&SzBdu(~yKipe;mc23HBrSjI|Hh*qDFK+*@ z)>+i~h5hcRJ=gpKCtwEIekVcn6%K4o5arKNM9;B^M&n7J1+}XL@dL6g3F`8j;MlT4 zoW<6RWWL5-wr9phZ+TpE@$&WBooz_Xs0zCRUmiG;o)dLkck><)rd_^x;#|yZ`%v&?0DY-Rf09!VvBAN_`T1^vs!bc?I7WE1W2|1j;&x_33^UNe1fd-Jqh+V-!J z$_xESe2TICFUz*+>A_LZxT->dFGap)eQRsh=5uarV2hq>z9<$R^Q%974~UE(iW>GY zj((N?AtN*H{MU`u#QER2hW=+`DL?<`N#@o>{g0U&S_NdnpCJBHN~4bfltN8|vPF>_ zBHa|~ARtvX^_1go-0SBWA&6EEm-$Q!Q259I2P^yejt30(<#rS!dHAL0}gpf9BlmbNUlBF%l^(qgnR~b19-+^jHWMC(+ zja5}ltxrfw{Mp(YXcw2aM|Qi@Ee>mQ2n@41PJaL--N(}(?C<|`m--1PxuBD1ZLN-e z2E4%I^b3x}@^(3SINJ2ZDp<$mR5Vuv7h3BvLHi-wiz_ukMPfGON!f~5!K5s*$#4Uk zl#!>qP0Ay?+oVi)Cj^RjRiIq(EQL`Dlx_cPKy%>N1{3P(1fz4&YLHmdVl@_8xgr{w zZT~#8sJVGD?k06HRN!QiZNxXncZg{kt&SfOOp8U7M_zz?M*Z7|s zx&8l1#J?XV%712VWXXS2z~5Q+qbg8Ow_Ns9RY)K-tL3ua7s!5`exf;Wf**H1b(Qi1 zOvraG|A5?Q3*?d?^fLA+x8zwuk7Q4`aVELw2bMtl4rnX<)0)&r4?`~dC9U5NE&Gk` z_dk*FH~JwaNGJ*E&nf2aSR^e7X?C5K$k>XTW%w4xeL_v!UqSSf-Dy(0v^V>tTwg*; zci)}t=fcJ1;$JhmlSTX6690Y>`Hx1Nu={8N$3*+zGS7do@}JzTLgOo4qet4y&{|KQDLxR&R_9sL$s-rhD=1n^xnKoE!Vr+vy}kg~x?7-j97*SQ$}HOkTZm7W=JZN^cwI=fARTO*8k#@Py$S!d0v$CO3HcRONN^lpLl+ZA&kjeyk#x);ujt*{1n zYG$P{2)A1%@Jz#czbl6u@)kX}MaS$UO8Ra)WwlGC=XNEGI6$C{Af?%$`7yYSq+@lk zn6y7KdFt>9mfH05=GI2*pSKe-5)ViIhA$pT=EO^rSiu~lom(28%!4~?1ik}7)B5_- zhuS#kT3_p@wK!(K0AFBc{O8)Ur!zDDV|!rU$PR-*RoZK`l~GGDlLf%yWP2Sp7lgw* z$|LN9_TcPE`KrC!Nm)b$Hro<*kxALPDNV{_x2Z|_cmTG`gNwTw0Sz}^l9 z`VHCgw*3M79sQ>fl$@~5VMMIcv@!V&x;Lkcg@gXhshf0VHuk^?k8hZpKflp0!T($N zua!u9=*vm+-wK31C;#E#U-*A6<@j$8Jqp?Mrjh^h_}}m3eBj53|D`mi!&*fxsURbr zor&3wa-F_&bhhBqDR|jPAdMLBwiet;N{jKemZK;Z>PTZm@rGRzqFiW#a~U_xB#MTT zD-mGGbV`T&v?xMCmU@{;;ZQeGKt@d1ue6@Rp={fT#Dbv7hciB^ESSr5PbbrH)XYrD zBXSY^`n2Z5!QTIlWVx(ZTrM+_(<=;%RbSP4(*}QX{c}A323+{xg~@sDbDE(uv3Wp=_7ln2^poE=}qR@aP>U>PCT<otB{J{VX2J zGcBF#A5&FEngV;zNQGHiG$87F5Pc`x%SFK0uj0y7J`tr(hLjGH${I|B4 z+y5SIJd%W`kpDP0vfMvi_@6AbxzM?@>~e1cNr|Bt3CKVNEV7(1r=7eL^XniPV-31hk%?L!p2! zzmxKGOkrGrmOvA|laLs5(NC<>Mvw3W<~&$bi8&@KP#!y26m+tumH=%K+u$I42a@39 zI&+NzeoBQ74)*#O*>hs#;FFs4)?MV_;3FhukPH{jScv)3z`;{EX+US!45HYKrsb}* zoS0Ghc5w>XnNBes@B;{~yi) z)kwg`Jb33=#37x4p=W~=$HpIywKonJH`DFR)+3mQ$krm5n+XHx_^wPbWutTmATbQa z^th{CF3~6DvZuNh`M(7pfX5U6f0!WuudS~o{D0R4|7QiqfaT|ZJ;5ZHDF4gc7!>~{ zae9fL-j7ip?)lda_v9d3mtE(=n>_Cz;mLd63~t(Dp`|DzzsT$~@r|#%!v_ zOnEn|141+%qHRd#-3W<{ZMI!*$F`07Kpgs6i%2`|EJ~7d7H?^tv5Z=B_%_zd+^Cr1 z_J@Cn{0F%8;X4nPGD-g1fU(cTe{M+p=i<^@ZvT6@5g1KrqWp)sF=+kc*&hUc6ThA5 zWkFXYw*-FMqF_oLMnTDme!Lhb{xLHJKn``{h!2SYMUoZCB=Qr#MKi!M6#iI7tbJn- z{BWMRX$RlfG1rNK+GE${cVb}Llb5yU!I~Mtn(C1dcsR@)l-y_cn*e8? z2wUTn$gb0P@X9vn8Ze?hc{(SojP8(a*{CK_`-|bf4g`-TY=72lI1redw(pJg!F>=n zTRp2rIVGp~q(7-AZ7cjJGjFtnaQ{1#GVMM&r!OK@wRVnRO4^ECNFSHzxIxddPwEk49@3blDQchluZ}9e>pn$4FAcDp> zT#0jiAh08)-!dIi7H1zxhc`-}dffokM73_CBe0%CADxW^3Y8i3=XbV1Ei5ejr|{F? zB(4<)yJEk3(G_(U@pFG^N<%G6lbB|ji^Pb@MN##31Mk?Ke-CM;uY9=oy zlz9a@=m?of)!PoRduizO#JGvS$EB)Fx(~>6dfCRHv|N~L7ipDFh(M&M*TrG(>{J>& z_ZxL&>?wFWUBGO1UxMrHr|DTrL4~a_vfG zB2e;@I*4E8kBw&2y}vzAwW0m$egx`as1|MgdU)K+t2=PlRX5NmmfCYS2ioGAP9m9~ z)QX!trbQKuU7X{hlz+_M?T%fj{EC|O-}wH~T*1Eba?3v~l*8))W_SJZs|9PWAiA{j z-xUs80GQ^K%91T6ntu2_ph-Y za^{;)ddiEsDXnypr1|;j6Qw{Qn{#8g%Db%5VHDrxsNl~cuFdm19uYCGJ+T9M2Yl)| z<$riT^ih6yDDA!S&xaEwWl~%8wnx=y7gjCVC(J|N|7%>`vZ&}?I#qc=Zul>Wy!o%f z{o7zDjB84gFYu$dAC-T_AKU6RaN_)4d}ErcaTV&_9eS-B3afQUsDeboOrep&v%Q7s~ICqb;LhID-cqjH2k`{Mp92=g)3=e$iW+^So%z zQ~r)wwigNo|G)mfKPQ_$a6MaXbBP3iZLiVlg~DVuInR;zK;8p+59B?N_dwnQc@N}0koQ2|19=bRJ&^Z6-UE3L3MzYX&!uX7nrI_u~2UNBFb6zP7@@ zh2`fjZz~YWkO+`Uzdt`?Tn<{`JLA>Zb#*yHzbOR@-i;{u60e zP5J6=7_@b<`E9=uw7l*DpV!RuQgC(Uwa|X0PKFdYY5AWd|6B9$t=9=n_1~E!nFa2p ztLB?-*XyW`*YM6Tjtz{8s`ok_&{udabpC-tRT&(=)$q|5K}XFazuRkeRRLL8leZ%V zfX_k@D0^YoZ%IEYX<#@PN*kHs4Klm|aTT1QDs7C;OI29h#_FY(7Y~B2e|C$}XU@vC z*SSqiR}45G?0`ga7BlVdQ5xP}@Az#yio4N+;-#A;Y^He=UGb9hmQ?;5nfJ}KEn;C+ z)mpK3QdRRMg^mc@Zrzh^`qZBfYf!frs`*y$%Io;`yeg3~XMQ8^yvY|9a8<3;-WHGZCSU$oX1%8x zp4x8qJ_NkrWaBQrurNqtc?^xJcjdM)BS7Mev`8RV!RL47HUi~fiR7K9yioO8s_lL3 zdH)H_cPBNFQY_vL8fX)yo6Mq+NmzM8_k$NM<#Nvdm@n=^ZznsQUK{jxl=F8r@9Zw* z>=YaOx1tWzTeYi-s;myN2J&~TDyoFEE&Q)jK}){9L=F0=qSdPHhHk^<*QzfAEULqj zbBlvpL~6@OJWgIFujBlRJ&{;Ba?XD%r}%!%PdRP#bW=GWqf6x+Mc2-+_A>5g+4a71 z)%$vJ@YXrC6;Vz-x>U|qbnTSvWzPAx^N-K^-$6|!2wUA@fZN4v{%%quxaM=^kR@^o zwTq4irX61)cuTU~+%tzu7iMuB6d!)y4?5(HTi8#G0FiO_-!o^=F&@gzk74E2d|_ix zrquF==H(ak3{tx-a1H;Y#241+c7NoeKE8-sSPorX`pvNv0 zYER5hPfX3Hfb%=|TcMUT2l*oIC*X@*OiS)7nhOfR1>yg5ayVdv{IDIgd@XL~G~3g+ zxtaRbDR;%3LVT6rB;v&JSL6e9b1bs~>A_32#yK}TapI41E)sWBT_)bd&oTXqe>?N% zUKiYO{&eBg6$neDoL;WgW{YW#%# zANs#FqyJl5feujge`~AR{y(enNYZ^G!qWbE2a8;@twPNVq_%&nHp$dy(E24cZr`8! zj7qyAIC_jHbY{gyqXTUe_dKeM;s;jkICOtbDBF(WQtHSJ!yCvVu$m{yt z#^g=lCDrT7-Vs*dvfuGPSQP>FTy2vP+o!AMoZ_5c)9D5L7Z71S;+7Vlb5 z)tm0Ms2WW5p)6FOqkp5n_qr zyOVM;_jGT!S{s%<#Z|FuMWbXpD#=zseFGgp*Uvru^`vtAE+WP**RP&HOD0pOpxP4k z0H!45l+aPl zCL9(B5bk!|(EE>GCG@(eZq+tqTC9+{r~B2Ns(RH*e>7+Qc@HxRi-&0A19jzo@~=eA zYBib|x=>6ZiyTZYV6Q`}WQ({cLOJ#hH^(q@I7hgs!s2pt-Bq-8 zHDQZsHjy}tyPqx%g@3NTs~#RzNoJ>VP&qE{;ZlFjyxNIHjbt)4t>01B`9efN#(Rt(3PzsYDR0mYrh`~M-5{GA~X0H>%SU}ROhT9AS zg^I8OrUt3Hf+#BJx%CTEGurrux?5JGk`sxeWv8r_)g z*x`y)O-p-k=mFEY&FE!r8rHy{xoOP8O~ZPR6yFp%?}mGA$b62xHdYpYmE~e}(KWW%OmQqh)32FJ+ojTeN`4KJ=0s zDXIX$!@TTRJW;So-@?p*krmw-taG&L&u`LyWqIMVeneN2RI1z=AD7SYSfbs&=Tj6K zW>mp&q+~-Y1;teOrb^RN@iZAqvf8r>LVmv%1fw)aW(8#KRGC=N)$Nletr{v*Hz+C6 z#wL}4;W7QLcXh~WdXtA64dfQ%NK=CPO(rnqaofIV)3?U4y8pl0*fd&j8~tQJvZ7=b zS)2wcZ4;8FDEPg+f3KYK2pf}fDkGi@OCJ4h(_gYuVfK}V8li?YXR5TEQ-Tc&u63O0 z#cL=D=~kM!!dU2aH*a^e1^EzT53dsKRrzoM944pFKR(AJHE>0j7ka!<`w107{Joe_ zrWXwSi?myfwg1`9=U;8vJflCXvt>4jFRZ^cylpMmhUDN_)564aY3PS{7N+L0SNBiB z%+>=qi;5oQ=|Q4(IR#IyMRnAJV`->WcGzQeUROOm$SEik7x{5>5lc;L(PpI8Lv6Q5 z$1ZvTu@F9gd9nEa;ERYHfKUNel|Dd`BH#oXf*;Kb$ZiZqjGIXq0OkMn_4QHy|9t#t zxv;j5P=J*eE3gGFuRUK|f23AyuZPw zllZSSY!u@EiAbB3m7W3xVE1~j}S#Hv82a~i-ihVv~^QrurcaHPFRrdBu zhx-*MLF5M^%*GStM`atDj)I~Mg0zbTX7uanpccQra(w*$s93GO->V#;3jalYju_e_ zS0Z#aytetpx5eE(TXK9WQZz86B!QBPq7jQCgfJRLIpclI zJ4bo*NiO8+jFN|U+ojgvpr=y=*^tuV!NL3O!{gtI#{)wW`vm3j^=i*3&sPS7#++DhC*?{(8`oyqiZQ7JGaY?CyJt?Pl$0>LTfr#Fx@tS!D%9d zhEJ0r6^WnkXs8W&J_x+HU24%KwCU zqPTcp(VHmz5H96~e0t^6gx;SVypfK=mx&c#J`Ht&@MFerC&}l{{157wlc`E^N*iLB zhw)@UC88OXCW#4+#&H!&4?}{|cCl8}A8e)5!N#@iG9FpC7%D@?=*1M${bpFrR2?xE z`;}_7xT8nI?3oDsqsw7OI!PfUp8lH{CmEk&9tOAkL6BZkL8!J{dS5KRl_7wx@rr&_ zXc3a%&?4bpyRCm=`%5>?lsh;)-XB#E9#&Uwb7--{?QJPV-Ddy$if#AYyzYtG34+Gy zEttc^I=FLqSl)UUZL$N(Ot@3^>oT7ViG^T)lY`fGlBvapJ7t_8|E&V~Ba;8%`os9Y z6}SXt_#b!b<@;rZ{8!vR+N-GjV(Iu0P$0O(CZ>v5Z1;DLmGvG4L$_Z%C}Rpf5onK4 zhx$;45vLi1t|P#md~CZD)FI43K;eU+N0*gbg}?1ySC&H?E>G_qlMbedGL8zw(}iYE zvU|jMfVo2)g6LKbt7q-_q@w2kvOz2fENflm{QDI%Y<^Y%FpzL9RtW_eh) zmc3p#tY5%=!%n!zsM8L(k*3P&i5gXvwG|%a%yxP%2Tz+OtzY7poy@7PheB2u)9$&% zYei1a$-=RDJ7MKdT;?Jv6+9z4v+J{N!w@H+fifm}<3z9Gvf!SiAj=K~v2Z&5Ws{Y( z*Apu%cvbkiMHM0lH$c)cfo#|a>fmtjg`RV;!N(z19UlT**Xun5xYNy4VvLh>-~;Bs z&lLZh_5w}niRp2vA3@LYvH#I0{pdLFbol5=PP<^)X6V1php5TUWqkR`UZ&Z&6fOm3 z{tRF#EdQr{a_`4OOe%E``_Ebd_z#)=XHw68`E!a@fb(j6Ii=AQCh-4jt1GLp|1TE` zE9-^z6~X_*Wyb%H?$NLJWQ_es+ypr{3=3V^-FaP837kOi8~9<18iWa~)!t!$JqzGD z=%(=lQDP`UU{rz*N=d}Qq$j(6qh3l!(BZ?%C#XL~vtf|jL=u?Sj<&XR8jld$GJe17 zl2~dJ5QVw|bRtVuD<&gX_rfepKo%zY(!PmFnKkFTu;v(7YtGRGdY1`|Z&RG0^jf=Z zBU#&{~lCo6erY2_hI2tnX8!Jsf7c*0vgQ)=JnPRI2Fq67xp4$j-;u`iniZCH#!pSz#g`7_)0aY)6uPEV? zWSE)SMCu-qIH_y1i3C)s`u`G+dh539NyPbOBJoX>O29uBRb_w+kzf}I5TPvOqE-Ve z^GOd+4hgphHC+06s#D^xlZE&{W8F3H#m$W@pYEEp`+MxP9-6A_TF%HvKK9AimC}yd z9%WYG*3rHPMW~(|)LvY<-TDQYR>>`D6H$lu|C3sN)6Uve9mD(hv2&2qV!v6k80d(I zN5|P;$eo-5DNSPb@$j*;2bV~=lR}8{0f>i$8iV(js0cmAJVnC0+%E0fEkGUe_n3fb z(5<(Y)Isk`6s8^+iU8&T`Mvd;qFQcXn?Mw;mdi>mkT7Wj!Qe<_K1`Zd8v7<8gbd~T zCnU<_(f+_s6u;mEkWiR2(q22i&r0O^*{b|5o3{|-?HTTze^ey2q!P~(cgf31bWr&Ik`HjgxZ9K#jW*SrQ;0m> z_`x(+<6fwD_rc{v&($ISI&hU9=1Q$i6VhX5x4u{B3@em_J&7N^QJNs0plE!nAq{RR zy+~ZdV3D~-3PA|!f#1Sc3GZ@P z=V;TAh>_##vCDrtN*oT_f6j@fJEPW3kpEVe;p}Jq|5hLi z68~{6!+)RAXr#%K*URu3HH7*Pg}hG2bBLA0z{!K-92T|vtpFMau@}WL46r$L4L6nz zjrhl{jf)!19K^5Q5vb|Dz1>J0Q5anRMm&@a?a!3Hj~N9kB2p&I%?4*tcI58>Td^;I z3UaSNsYJVSv?-?-o$T(r=>fa{e@pyF#D0nXcWrfjWo23LUtWL>$oxMZV3rV$WUm6( z4meRA3t*pd2+>-gO#k>@=pQ4e326Kx9oIH?Irt4H@EV8g=ZEdYb9$Sz6d3*p&k^Gc z11BuceaB1~>Uv6ac=AJtvt@DyQ&L>cO{!q%2#O5Omprbi1olPlEkzP!dLOXi(zuRsv4Iy3DNAHW z$Y!YqLcbZckk0?<_i4W=DWzc@hZUdv>J*tYu4CK+GY2$=l0eAXNR~cq$H5{RH(TCf zgXjAi(vRslmIhH9W7bbb8a;0TG)z(b2fb(OJw+u_MWY)`ESv)aXeS2ixNt6^1B=^) z5)D(<%p$0Ft^Zt9PA*av00T=K{sePf-nQ zN5GdifxH-#5&T8^cFSitj3^YpXrBdJYPny~A=V4@BxL3Nx?M*`jHmno=DUJW66W0hE$>tZ_$(%`waZpps+uM#{0(f zrQ6|hM!!WtTEuk7RXz#AviS3C^C$(S;0#3ULo|dxI+PP~Q6Z_S&k#ZqffvOd#0*~- zeQ_wzV&pc2m0M=_jn@P$uLn#A^Fy68?*0K7v>CsGI|ucDvkbAGp#OWZx*XxZ7XSc3 z{Kpr7i^%x@8IL{5NB$qliIA6Nl+!{lgfctgM8OIWPdZ!3B08qA8kg=J2@Eb*yo0$J z3g+4bh{w_Rj-b??2I28=8hA$%OM+1j2Y5uTAt!2P5RbH!Wm4sz{3K2q8RL^UzcWln za-_ndMhA0F0qAICW?jzk>Qi7j#_s}~;M0AW@T7(l%aQE=N z(}EsK|LG7NdAuu5xx}bJ&v9Qg$Et`|!!Q`fVL0-oRFm8bz|j`A!snNwH=Y?LO-5Sw zW;&P;{f%)5x)*w5B@W*IstAtO^*}5c0-BgcaMY3i{Q!<|AxPms4pRBL0FHOSq-;Rq zmI!GG%CRkIV2t|w_l$XJG=!sVAwntYTJq|*U5&O?jee3gUFo|qmA0)&TeiLhgk$k* zLpT)XG=ZY>Ex@2gkp z?(sisI{wF2ZkEc49~}SDcCpCxUwz~?!Ml(D^VRhN;=gR=vhknM$UJ&vyBHDoGsXYA z8~*Ey)dKAQQT*R5E0=x$qW{%`?QEvm1pV)7;RWOW3IP2mtgNon{{wCynf`Y+gV9G7 z`ro1WAL11<4F7}f2lQ6aQZ~vETbSmsO~b@7sxJ=T7Df@45EVJ zw#thnb z{S%6u=P&ZU(euHqU%xii@-am|jV9ZS-vl=e{}eELcva+5j5pZ>+i~gJ^7c)MA}BN*c%m5qy-(HN8H8mfQrx+SME8QXx~lV9R9gYAm~cxT;YBjv?3Ub z77`NHe1kkW7-0veUPRbwvh2;FzcDsk%d95MvVi)ldBEAxM`r=s4A9;2;b1Z-i6h-9 zENJdkNIeFp2h0)&7~^7*G4z@2!mi_-8Uy7v#tLW;NN(h6?v?u=gYUo;_`FKbmyS!e zdXm%69inR?e#nnGKhU;yx$t>kI+w{vykue%*nQ$z^)Em~AhDU-hOlB`{8;vi+3KH5 zm_X*;NUY}))=+tAD~+JWQ1Nt7TEcBL<76K_y69dtm-r>m;@}sv%}m(;*R}r7od30o zvtX8&S65zS`+vMk&+cm6{x5R_8-7dg{=AYE6z=S;hWE+t_qEr@m1xJW+AUv$i*S*} zuN>U8ngKxXxyZ;0sxp)-0`0JWPOx`;d&L}UVgO+zcthaMCNTuU8pK?|5dn1p$LupG z#Q;2!Gmx#t?xkc0PLB8JmW$JIu6>+Af)Eio`bO9S^Q`54>Y8*`Et)~HR!y##t`s>5 z*{5UFEwT}Xm&!(lkR!lB%r60Dk2tmqfOE9~xym<^wJ>#ICMJ=wU^5uAWYfr2m~2sT zoAlo0bR8rZw2qh2pB{I8e+id_L`^)rG*4R7G-Qq z;-Dm)X(UlVB#qJUfGXZF{5O(K%Dwta`LI-bcT`cYYx{fZ=wxeex1{D4pFR6+we;*+ zxmMN>o-Y+tt%IXVae_tAa+}YdRSxDhbFWxxGpAm?#(@+3TidPeRW@bNWaZ=dJEue( z2gLrXXZkVn?N@3=bIAglcn<>n~!VkP{X3 zTK$<4Gd+=S_!vmpYV94c>$_<9#+uC57{O=qK91!xJ59C@%kR|bxx8Ux z?#VWOe=NSS9SBo{{`Nl;l|tsUc>q`XtdNfdZfQDHOR#x$+ZZNA#w-@!5W zrH#2~KBhzX48U&PrE~vmP8IiR8*@jPjB{%1@VHz#-Y9JH_SLiE=KpJ*hV5V2?-8|U znqS}q9749&P7r;KAhQHf-i{)AhD9_SPx{oYUnYp}l5I&)mwS?@Y!P)uL%KpYBWi-v z7*cat5EJwdFwzO~ycO!`ioW5f6}K>1(_;$Y^G5e#WA3ko@IRO%k;NB zl1ltNI==Y?or}bDi(g^MChFsSF!dhx>~hSrX8PIYtE1z}rgMccUXvE%A8+>PO} zLP;>w2wi=D8lfFR&qO>DM#<_JrqulC@=4W?P63vLZ7fYeI#D00q^Pvf3F4py-2;JL ztonp{l|6fg62v%ttP&>>6*ltZ3If|j>Jb$;aUq&7S%9jWL;;=52S0>TWrSMgp|vW; z&re$d;hBf^Ks?td1&G>Zn6@O-t9)g>%E(dp0aPm@14r`OSXIT;`h=v!KU{kQ?c&Pj z$Zn5xi-X!60t3Aor$1OL;M&f=;5f@qBa}@Bxq0FGM6(HsQnRVU2Id z5qHxUt708b7tvBE#nD)lAEy0~?PbD?HqAj9ld=^r-AP$wli>z7DdUajT~5j)yW6Bp zcP9jjcU7RArir3gbb`^jXf;TzX))!K8ktS!Y-mwY*KEQg zA@$~TN$O$})k;6~urL^CM&QEAL}xw)&bF7n@*jO4eI|5n!#|6}a`&!3C@m-+ua zi1_ztqWov(#xVJh3V6e}O)vXV6{x3MCi@`ccP9IB`ibTs z68yO9smqifU_!o&^7qMowm>HNK`&#E@=Km2H6wdEX-Ny z#k>p0UmRsT!qNM+o*8g$1~$LWZj<2F2qT_xwi+OX%ls0woSGlRvX{-Md!fKRZzO}96* zHrl|0Esv3SIPw|i49v!dJG~M`jCN*ed@v90VI%MZ2%5&sFh?J1L}b{Ga>M8c4kVA5j9FadB1dmT0xgu_RaN4QY$nGI)B zzFPNoQWg<`&9;PHWKwo+N|W-~ZE8|Jo_ikU!NpyTfQA{2w)XS@OkwpKu;mTd@8~~` zSmcCl4kKcnrj5z3-@RFTVw;Ek{>`a}bY(X7zzNMa%*`L)=ohp9k^I+6qD;}P4GXKpJ(yEUwasa(wj#9%i@23kn^Eu5&uhRPKULMT9W6vot}!>j&hxTvVXc1 zrBhO~kwE&~xoB${AvG=e?<02m*KGOzuA{#}E&Bz#AT4hadC5sJE8`eCBWriu1ODedT~Yd_5Nbsud5M zHT?s+klOeuS%ESK(r@EHI%*Jp07-DR&RnB_pHiWN{ZoI8>^U)V@Ig&_FQUl7{w5@4 zkRcYlSctiA;NTIQH2R|rt>i-KNrn{{LtehgeP}`jHxH&jO~R?blgP;SIVqD!%hSXb z?uX|Sk(GX%BK~ln(e;yRb$3FbcvlgBtOKf%fQ<$4&asFCIsrq^1}BbK@4i9s-?*{*h(M4yz)9_m`+KU?qtn4S3lXoCE|_5w102_5d3OH8gG_;m^1sZDe(_%trP-sQxL#JvqqMWjAu+O`dn4PkoSV zXHEAy5DP6uc}apQsMAfM{77<>P(N0vw@}I<4oX{+L)<8ETR>%<3fEe}lHe0M=0-xg zhWAm5?zmB6oI4ZUA69hd=w@&~z>B7m>!FRd{hgnQ>a&dW?C>ozZ*?t!|AVu@iT}Eq*?(s>94WdJ*GWNNqJ`jg~)*{kQJByO!B8#`w&iGeb za`0;V^Sh5)lB|c^?mM z0310AKY%!B1e0$L#WQjYzQ{iKkf=P*H%GQXSp6vMFg~KxgrFvTc!jH<;=GFfBC?K0 zud%E@>_=nWcc(nmbd*#4~9 zurDw-ZQmQ~gZow7Z1t=fg^HWvlm4Kdv@P#OX5MHC;me;)lK-CL%*W-za-p!YURcLj zkg)$1US#+`U*7RkP#7ow*|}jvyvpv*>zb-oO10g?gX&ABG8#T%N6-mOtkvFWQ__X! z;vDPv0UwqH1yt<;5j1`fl{nJ}0t;>C)?b;1rirtUq{9c5Pu-4-*M#+s-xgR;qL0pp z0>{Y=`u96)pq7@F{+WC7SdxC%C3TX`rYm3pYi(-Z-&c#uKT}sg_#`x{AF6H;sAkYQ zhk_D_H=YXHO}{JHmT@C~*QDduNnhGGG2f1cWW9EAIQ=PN7}4u};uvK!CT>H7I(A!) z;0g!Uce*{atR4iHzI5?xJfuSRqT6i~5Qhc!OqzwUW7@t+Lp>1o$-_Nck+qS3XY3R(0aTEU@RBAHmJ|fT2MSwwR zMPaTTq*dD<0+GUQ2Zy<{Q)%$r_8Z99Rq%K^hxwGr`t=MwN_`Hd0y`*FY_)T^(sluUwm` z*%p?k=luIC;@JQD#mFXYIw5)dH5BkP$Hlwe&n^ysJV4WLaA9|`_->>Tx zeZso3rRa5im13!K^suikQPoLg=r6VICJ$>-xhmvo@5roD&b!=htLt?*F(v+TW^HWQnsTvt^darCiSWxATwBQN0H*=JDNk{Z`L~NTl!?w>tqo@c_(GD|A12;C2?2CNi#x zvX1gI$T?6P_q^*M?5kZVs@;cPtBc1@SywV{K-pyBGFEr7c&RgtL*3=t)M@x`lPjM0 zi*l+; U16dDbJ&^T4)&p4&e6Kz5e}Qr?Z2$lO diff --git a/mbsebbs-code/examples/templates-nl.tar b/mbsebbs-code/examples/templates-nl.tar deleted file mode 100644 index 91e1cb1ed6271853a9d6dc665bae837f6944366e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81920 zcmeHw`&Zk>)^>kA{wwA*DpkR-Dw=uj_a?GfdBA0ay(z`yH3juWdbFNy)fu?RWc{2-10mAt+=t{ zb;P0PyQyOI_)kg`b8~b5Nj;GCc7q_METtF!_{TpsW`%bluH7hd+OF^-5eI?j1b$mI z9bcTgBIye@ zt>9W*1Yz7mtD8Y^<#BcUc(}b?7ngC|6=$c1RNzph9R^J&_5z>Mj#L`Du_Hi=dee8V znZ~htcC3Ea@VizQ^iy=aD_8u8uIhc9^_G8L`%(OO?8e*m%51&sgv}p`c3qXP-$g-J z7MtGnT7mDzGxWTnp6>+L*RGHE7ve0Z$eHhb_2s`KD@e#=8&1fiHley7)o#R9TWOWq6_0D2aIK*fz> z&*y#={DRR`#P3KMUL(V65EsD(n$pGSyb=quyV$+N;_Pt{dlz>YeaczAal^aJbj5(v zgFTQ)&tgjZ)uf^JX6SYGC?1#xUqiR)dN;!pK)O&bvr+O~GA%2zelkfQm!C=Qa% z=ho|V%#IUVB8ai;++KQ-D;DI7(7z~f7xYBr#^^|wb{H`g_0HeB&3KAZe1Yvslj=q2 zF(=a9FI2`k^p^ckbhSP0U0C+?re(jj7H06RUTwT7pIR!PMHB0&9f|<+`;*taj8UI2 z@Z;7EuVR-+cV=dg)?yB=T0*10d}$lY&=oee$DUiWdDD) zzAokAfw6bH!rl}1uVUIhm?`NAHTv(KsEQL&!)Dho8EfJgzut&4{?hYf(AuUYa~Y#; zZTH+m=Vm`|g3xR8auD+CH5LMPp}geM?BIcrIUrJx(_hoyll+2uBDGJH?0*Zp{BFcY z*j@E>OV}UGS7D!+@Ahx{Ytqkr#yxV=vz?gp%Rbi)5q8sj7529IZtv)?CHuejAD`vF zIi$uVP5&N*EzEN_ya_sOY=U_8Qc3J!WybE6>$hHsUtRp5lgRPgZqx~AI^bw*Vd2SH zF;^-bVSV0&9`d^#?>$agta}%W+OC&MU>k(JTPpo6n7RkN1nv36|MM33fN~GXO8ou^ z{(otC6+FM<|M3I-|I)(pdcprcq>sNe?+a0PuDjU8GZR6?E)v1-i3<}ia1x%m;SyqI3tJme|0xG8!0899T*fiGH8u4IN=PN6oqHSiV?N3~pa ziIfZj&)k_0DK3av+@s&;rr1uFVsg)Ov$<6NNIb1BqhxUFhu8&AuheEb1Vvw zFx&~TL9P#eN-{)!r(W$Eg+lNBjpw&Z2@{cgOEDQq;^=S0BFOjBd>G1y}3eCBgri@)U68jxk2&MRS`rs9t->~A8PX7 z2u#D5?va1za(dssbUWQiz2}(oe`RSAI>Ghzm8I3CwY6n@C;i_-asE$gJkoSuh_aF= zX$FW$G6R|8U#m?D^%=B&X^q?SQ=gI2PK_sYX605Zgf@!KJW?4Y5474b_k2z%+fI^F z;>3xfTZmz-ykYG^u4V$VgxIeho{+HiDR8f_?bhR7FBDo+K#7peAg75byF5ig+LZlv zN=$zWAeSMZ<6k;Ba=Q>ANnxoMZt3MweXlMyd^MGioR8jh4??BmlXg1jN(!hfihD3Gr0YbJ zcgn|t*W{LX6FN>idCU!0D|m`lIPES>tn~7@);QRGyIJ$+YZn(_hD8^AdC>B($0RCE z)P+WnX#s0rd~&HbN`Hc3{g3HxUU(4%4(vTx2w>UWUWmEs3)&oGoZ`F?3A z{8RmHy>?P3GJDnI>S_59UtjX#qc60M>Dlb8{P%uz2XfJ?%1^$=?Ui}{J!{_5T-dk! zPRoS!f26RPR4c~t|7&Xt%S!*Zy1ckX`oG1swWWgppVWAy=^FiChUF)-H|tAy8K>t6 zF_W3Zl)`V|*@qsPUVMeC`a9cI`d9kJJ{``yX*6y<26Z{ctySiu+YJ_ z#fr{bj|`P0esRQ6SI|YJh4%rWZjJ4RoF6rD_@3 z_;TGXq|*b`LeOQ&mk{m1m5L`ZUGvd)7->m0#>!Tu8PvgLNMnfftk^*j z(vEi6DihK6>cjW~;|(?u79y$i7x+5pDtXIE%rD!+>XQSQ@{S9?X;J2(~-T0r2GEqmm3Wxu1+>555_&G_d{T6`jLq z0t7Kt*(tkk;f%k7JcfzEsx=t*$W35+i`-upXFh|1c03$O+K$$zeM;?r zzk4U_$`GrRu&YC!zBOe|m0T3wSOMk~tTI3_b+XOu)rspLcT z*O&i<@>h(<5Gmx~6`3f(pegJ+;P=V%NK%&C!3#Z1+=j&E2zrnq3XtdHa-?^5CB{u8 z41nbS_4V~({{Qs&hsA}}b%X*etuK=Nzq+yt|DPq@xQVn%Nx|Q_|G(~HHU1M(1AWQ( zucgO-BCRUMpL#%#KdWj~mpt~LhmZftGQxzC^Uw=Ps}?j(YoX#7X` zf37VqlmDmk|5#xE&-LZCLjP+9X@XxKqW?8>gwzN8A*Cr<4^mI??0Zz|Hc~od88YJe z2$zB`n?r3J{|<~KB5qhE9GoLW&L_>cBS--bMY9UVLGK|ngml-WU}n)9)X3*CA|X7{ zltY+$c;xO*U<*n0K~U!iXDtJf*PmF(i8`y zHNuC;XpWUNMOqVz#X42{GiE@`ofCCZ%A7;d!1F0>vAA(MJr&z1*C+^-Esl}0SeJ-U zJdYf{yS=a*ko7{(AhvU$xfF$DL+!&3n>y+U^`jukLnLRx9l<^!g$X=BoHoVvk#eT` zn`NI`zgG_rcWOsf=riO;YjCWgnQ|ZKpd<3-!TvI|c5+WkYOkK2zB?(`>+cS$$7sR- zu!9Es02u!R#KVCk;_V_xjqo5^7WlikDz2Q+K>!tWyB&y@;uB=a4C&fyrVOgHqud)P zP|EMIb5o|c^gtL^+UShX7OI&@Na4P0!BfCG^C+^j??o#I^__R1yIVUuuJGIL$p|RB zEFBTr?hW}z`5atkMu_@I7u`FpotwdKd{5cRoHKb^*QGQcCIMf8L;M+a;Hl0Yib)~x!154e3f*9DW zFt7A0?gz_0;mA9z$r)&AlutM5Yhr{yK<$!LHPF1B+VSzb-P-Bz<;c2y8d8;RbRMfyAlIYarT*?;5OrXZdnb4P2hGh<&3B(Ge zCPAi+nHj;`2t2sB68i++KxH#`xQ=b>gtSan1-?UVGU{tTw``mm9*cT9lz!-ea!^1SD8}U z)k-^UQI&yz&f$4U-P!J@jYtv3d`>15T6Mn)%sUOGyIXFQ<(9DPz#>NHWe*Y2m_XXk z4E}m~y)@YAirMY&^`mONUfz?#sZQ-zaNi=ISA^qVQ}n;-Bn&nWaoPISv5sAe22XA2 zm>G?Oop?w*Fh&XT{pxbg$E#`Hk<6*s$$2r(<4>x7C->^C{f$pRRu7R0~Nq# z5CpCBI{+4>+PGJ%Rkq)n!+nH)^F~F&@agU<)f3ssyHg|oYnvZgRfv!L>b5D(cY=he#+qJ zkIKgt>;*4iJ0@|IgUCpRWv3|!4FEVmqUeS}6AoMuQ0W2fwj})GZ?_lormEo*$U94= zLk=bx7Y7ENZ)B$?exDq19pw-Pe=uUK8>eSgG5ya?!V-Z56ASyl8{{#z^;tkPF-<~2 z0%9PV)MDf< zA*sd^%Vktalr=%BR)X3AVcjqwD#!pH0J`H^=;ABJUQ)b?Hp5nC43nbsf^8y43Hm6( zNQHIo4CcK7@(fl#M5DgE)g&)Fguvd~B40;XpyUFU8_Lvzf=;;&5r-qkQM~b-l!M4L zloL@LTK0{#Xu_M&jW<1HVr=1s_2~- zpsbuuvj@lnay;g!^Yol}k2&!ZsQ~Qm3^_`qrpuLl1l8Av{zo6>qf^Tc>Cual902_q z@~{2gys~|jeEq1uP8haC^MBGOdooPM7uf$+VFoJff0G%G3{?_p0q54rBtG(wG5r7P z(&{qv{|oT`SXkotkA>wT{`-+fA)nj``ycyx(%euiboF3wzadgMk=SJM$&Ei~G~VKL zy$Im?>16REQ6lZlr!9%XlprUwG~#4Bl0nueH_jn+=wbC^96H3AX(T_E1g52(G;GW0!HYP zI6=~D62QcZi$0>s=Q@5V%aRBa}w+ zivsc#yB(*E;C)J#p8jRQnW>(vhM@Trs=BZI>MiDE&CoBOwfdI`kgeEB}qW_ zOWunEFpW?-dVZR2ieq55W zzuvcOz>?Z$wtX~HI$;xld2m>&bpbCZji7@=#tv#@)j5i*bIGW(PfVPQfUW4 zCUc_Uf}IGUtHG;)hJ368yd&T3T)G~iF9Ks%!qtj5nB@c_z)XFLiO*&7$0YLOdVI9zm%_IPfiWR3n!bm8Y#EaCg^w)81k!KwVg00If)uq@dXT^$5;03wic2Z6LeSxY8BQ<9(z zU^v5~CdMwr4u!nuE@g$@HX`++3f)0_Wo4*j;7v@N0*r#%IbjGg=Pz)R$4i16`!1n5 z^BML>PNnmOJoq@W>yc?|a%1GbrNu>!|G5enQ1<_XEvWGS)crTfzr;Wm_?(PM2_f-2 zLf$9FGsnsS*Bz1_z;Wh9ZGS6(PGi=9&RhEhk|n};&GBI-{iv=K?56USkYHHP0d})A z8K_M@rN0%trrRZWO@cKo@HHp7O;3!rKL5WZ{^ugjeDeQTU0z>WS|R_B#WjS46!-s3 zY}6CN1V?jNg=+^~*iI#KqjU(7il;*V_$>5~#%Y2;ndoRH9oH^c_alS|B$wmloaeP} z>N!OlP$@9{2G0}Y409&T-+kANDC!de^VHNeCLlTELKY=wb-Kr7B$%fzYrs5XuSu#% zZEt2Vep~xWYTr{b#v4e_`<1v*zT$njo=Qznme3N0&Cn(eFIi8pyK8Ov91>tgLQ9mC>CTUC-|5H(+FnLA+Rjwr%z>wKN6a`t`0)Y2x^dNa~3^xbX6uOp})TSSC<98po^fgd@U3* zky7R+EzY8VDiVEQpwub)G8E}5jh6<5!6$-C>&O38BywOt+b)-3KV(ft!GF3E{8N>M zp#l}4e|op0BV>H2rZN0zgYur%z?_nh_BTr0mM9bg`$ICcc(p#9&X@3Dey!-tms{*Q z-4X;I-0wb3n@t%`Is!p8L?q>C-47J1UQAILf*A^0LN2{l7E1%yE~AAsj6 z!}g6XAfb^1=s9An6N%JF#^g1zH4M|UkJP{z=g=GF z*0T&n>Z8JX8pof%46G-eP>JJ`jwX8`sHdK;q}vZ$Xo2>xN9p8L=O$@NLTc8C;( z28eZ9e+7uniOPZcEJz7@k6z!y<9}9V{Eu$jB$X52IsT{a;^&6{xQ_UrCEd7U{2zTy zYJ$3p5ph3J{Ktpk|E?|LN}weEZ<38G)<64y;#mA<_#X=Z`(0dEfbYiw+&`cTCj1YK z|AL;Rll=Rgk3aOkx%eOK6_SVlLGA~CF#r%9(o{IJe0ygWnm)#xWf%kqdABI+3uNa= zEw71h6hsBfZi9a?PKbv3814CjqKBqu$ldn3iY>UU5fhOT2#aCZIcWL~IQPX8o$kShSO-Tvr{d~NMjwv)G z7zfS<^&%E$lAOplp{@D<=Z615{9hseO@2zi!hY+7tvPr^POP#q{vS)rE9U;!m30XI z@c&*#NLa!DPi#aI!p8q22VYV< zt_p<`q7V`QJ%xM<;$C6^7RVOQ0FMuY#s1)Wq~R%viwQc6-;f)c%y1J97*!f`QuK@1 zVcZIWfG}yP_-d-5sh-hM(+nc`fC#}j5S3$j8zrhW01x!gMS+N+C#Z-3o6Ad-_8w_L=+Pa82|S=6=n6og;}vz?#G3=L zq2mDAlFD7<_bzA|7z-Z>DQiCC%}~aExdeW^Fg-}JWb)7bj4--tc9s}VglAlGdkK|r#e7Bx6ezvazxxN(vi1Sf_X8BQ4xKR z(8iq;1n;qPy2D8-*(=q8Faqu;14bau3I&_NCrY81`}T@C8YzVcL!P~I zc*ZdV%p^$HHR1|R2v8Sr%wBjWS_Q1cHr#vklb={JJOAZJ7{2wZ!;Pc zu?6ax?|zI`IyKGAAl|FSw@WsPI0-(d6VxqYBNko>z|8`}q{H(W&U>%KCEV)bOMr9v z;DD$`Vl7l#h;5)GVl3!2DB44(5nG|Mnc@UtP4zI274aC<2HhdVU2vN;-vW>uB2GMp zgsp0+)snCp47WlTNo6=CD)qY)(nV7Lr0<$#qwkf#pMqix*ZZ`B-Z?mx4?W=5MdC+` z6V&_kA9v%uXN|%Ju3t%eBdF?dAfSbM@ z2DcGioYUf3!Moj}FX3jPhykY?c)5@iu#2P!Ql-H3PG6LTJFVna1JW4%5L8h^{%0tg zRNDAwrMA;}dr}qqjiW+K%+FVk zr?yHPRBEdvHuiCa2>opwG!CmZ1F!A&c?N;`i z{vxm4yW1darQeZrSKJ%icn(N0KkhH0QMgkLbp8HJsX3p@$4iLMAzFGNN_ScjzC&~5z!0mzSMFPv+ybN33{mFJ*;IE@zR zE3vfDjeh|;ALY7rX&Jl{=Rh16pHbaB*GCo4>j|@6tGpHGZLVQ+>cuWTl?w2z(fRmE z{Llj6tpQJerGD=2PKle;@1OA)!^_WicR4$~z((cZ4W+mJ%_-7+yCJ{V#{N=jb|x-{ z=oPeSiA&C-D1SK_N{F=g^~Nb~&a&(#ZU#YpWr4$e7n8L)wY70@v?uDPJDXGU9wtRJ z52&|zuI*h+iSl7%bLs?Ba!PF1PAk>Z&4n%2xVszk<*oncpGVzasQ(SUdC5W0M9d-F z>!!%=2iKUuhAjOYMwIsCXf)|_r+Jkken5;&iu#_4;-wncB~qiFpgVmD70M zB~w)#W6)DIyip<=*MJ`B8<$3T8*?{1!~jHZ#h05?KhvZ+#}aeH&8bDK1;kL&4vYPN zliD*;uL@ zmq|&OC%iNvRmcbsQRAHuz5x~-zdN1lhY4P!mV zL3az%HLAjqK`RL!z!wBbFT1(|gc_4CnLzESE&CFM%3FN}$&;CD)s@NRK9owbIBid@ zNBc50?UE`q*;IS%_p04_&#p#1>tvs8ZJeA|x9n@A(iizk^cExgpLcTA)3}N+GYS%P zmnqP~C^oS9F&mh+`9ApuwlPnK9+;q~|G=Se2USpAQh8&U-%y#(oeBq_~pUIuIrlGBGoZisaEPzN1B z#Fk~0YYIt%g+>U7$v#_0&Y%i-9vUIAXFWpZ$u|p)*Zj!xY1NNRX$IzHN#`RI<)un& z{*ejnpatE7hkK5-`h@f|F5`d*{91QJZZZ@@OP;sug*p-;h_-JF`BK1KOkN{cK!B;gN^P;Rfu znv=h|N`-}8Bb1F)O^ji`8*bQZ4~X{pS{vvWNo`}MzXlLv?PAk|s#U8M2UR!(`?E1h zSFpZ1L0!S_?!R_O7Xkei^bh{#O8PZ&R`Dopf+4cBb%@A3Z0y**$vo`(SpN?zsa+~f zK`D5W1Ug#jf#b&Qno>hFBe|-DA$iMm*WfsU@_qSe>s^n_Ovl~0JlBXqZ;i|Ja6+K? zQ1uD+@)X~Y9e~Of>m^A~f(Ph8BsBXJ33e-+pfoO036khpRQa?%X3M_FEy~K8Ex0h? zZIYU^B}o%A^r4qL9Ni(3cli>9#$@-QTnU}!zY89&Zzcb&E#R`ZME+Z6`EL>TzZLO6 zlNSNU%71EZ@l{<8e! zWIwj{WCTAJ39mAKfGPRTnhP9WPZc}3#-E%()g?CIIyBJ2qSBVR~= z>|wGw^|aP>8jI9+UWk7~EYpuI{*74!e<2BQ%$tB^zNaiF{RUXQ_uxWV0Z6jxS>Yqk z9muyLY_i?$tl$`9*2N}|_uNRUa1ywxAwEYbv!O6=SMGeod2Uz|m zBc2;htZ`%QzpI4*q3pjaOEUg%sgVCCHXtd&W95H2H%tTo=83q3VIT2Sw&4MgJ0RqRkj#nsq zFd2yXw^k*PSHHZ>Sf{X2IB3FT75G{sa2CN|K92817nfL5A{l`j9=!MAyz0B~Xy?n9 zNf`iVYf3<2(dvbU3VH6=VRuteZy-Uw`-C|GgLErNCC~l38%0!}0vyG()46r-BC)`C ze^am^w?9&OTJQwt+T{Bd*5;?vIjEfoh9X?A?Y3MW@dw(c_2uN;()&%#KW}9kua+>*n^r_YAV%<&lInQb z|6Yb#95%7*jy2I923I&c5S=hm)v?ux@5W`(mf;&WJjbiSp?_S7J%uJTE?@1Q#`UcO ze;yYa8FKjYP#dsf6V0KY9gKSzeFsdr1Lj+Do=4<*$}~&nA#cb7On=g4M~>*SN8^Es1FlA4b8Vu+a}3aj4)ZS2ufjv}#8 zMw%mv+YN~j$%QI7o8rc`Xvn!zVWnC++=ZHg;*q&tN+jV>Hj#t1RoFMTo`gd-E+gO$ z!XO*Zq>nNcEM&T;lj)MUY#sbmh;$Uf{j?TjT03gJ7LnL}m&=&>I4E6xQ$JoE^DCpC z4X;1Mr}ZKJuVzh-Bg(rgdyx^))VSQrLpToHwtItr5@**j47%$eXu8h=M<+sZxb#UU zN`{zXIRQbsI~zv z!asQ(bG6{jHMNr_=D41y*g@)<>cb^@S87zG}N$%tHIeSm3Dr3dgZqo0)8 z5_~WtwUNlk$Cx(nk)+583T@O#dhA?8HJPYT9VTjmLD?smMNi6?4FuJmzXPG5CclyL zWK3yNfGmM3WG*E!QWb^h_mrYve)OEzyd>3i5k2};Xk0pal#hbKd-%(|haYUm8x}lD z(|?4_IW~CoNiBM7>EKZVzctc?_B>)nxvgnoD9^X}*m1_%4RJyAI5PKgQI^v2I8uW` zTwc3>zel*~(S5>AA5I7_@K96ZNGId0Igo9{NdV~h(9;3gU(wUCs3XHoN7@%3B^Gt0 z!E z$az8}l{bZkSd}@DV_c?PJ}<`Qs_P?UJerbru*JzTJ~PLFyxtyH{VCn_IzAgyyN=pp z;h~sbCL>z#sFLw`Af`T9_e)Tj?j_?9urDLKbBF-}S=&JE`$V(;X}Ssks4YdrRI0GiK9!A@ zwjLe=xry@#;Jz;C@(XxheWlSD+3(>NTJ$-cm~y(~_7-1W6gKDxJlrUoy75O{1hmZH zyN`MMPk)#tfQj{N>0huC#z~4IN(9WkNl0=P67*Hf>k&Gih@tZXRREC5Yw{a0 zFzd-nwHF?{IUc*>X;6PNmtGWxz$Z2Y(wd_ck_yN8ZZ3UM^2yY<2IHYIFnFwDAcXlL zlA;n1pVWPKWh?&$z-HeQ@K?(O6shs>QeOu7`;b`H`?&Dp$Q%zLtY0*dPfXNha#gR6 z$u(1AOqcu}5r6w4MpG`X+L+iEj+?dmjr7QU6sKE^$p}MihJSkIezm@P%Pdl^aPUZp zi&^rM#+DAZYXnK^fR;Tv;-Ix{Lg}4U7 zr_*)?P$lCa5S_qp!*T`08&^c#ju-QN8p%uiDM=^Qu?wEAiSq49NY)!C^qg~m)1cS; z#4(c1C~+4e)G4n23a$mz&2bNJ)(nCxkGpsu4@seW8OL1$#GwL*D(x_Zn|h?u2xCux z6nO+{q3u{bJ9e&_W(~h<_3s23sR}>EJ3(_)OL`cU@OZlcCdM<0k$+ zt~PkmeL$X*%K(Gon=sc9Y4xrP@SrFT0r5wJLI%%WuZ4`UfYVbO=2J?R)pH1JdO4^D z?4eNE_k$ilcU8=-9;9CfADO#`62j?s5<*rPQR^--lhB@yt0w_@)E?5TPA9U-*ZYKN z?~Cob*kzk9dF9qsqP&!V>LbaYii(O8^DK&y(7#YAV-M*^PTOnZ9@h^&fE%VeB3Y4? zmHsayyEHQJX(k-i9W828o30?BT-zoW!#UxRY*{ALAIP*Q4wA)u>vcM21;>^Mp#KVQ zfo|xE1zo=!AhUdBV|Pq-eT|}074xvKEvD&2B=?iqb4BW+9#LY;I4mNhRu?ceQ3CL7 z^~bJ@Y5UB!k7h~=tWrI(4@5V>hIkDRbb_0UH7g<}%8fSnd3ww{iHh-0a z^7T!@xiw-?(oBLKB|RzZEBdh|UIR4Fj*|!X`8KLTdGy06J;O9aETYL7+xM>>k0K{G zFPcxp7<93O=+@~z63NfZUiV7ay-~DzpcI?%7~{Y+N_JW6A?#`I!m_6~ExT+j&RCY~ z&sf6VR=ed~sbv4x{^N7f_UC=z*dKiXJF>py+|32Z|mjdZ6fmzd{fEACyE8 A&Hw-a diff --git a/mbsebbs-code/examples/txtfiles-de.tar b/mbsebbs-code/examples/txtfiles-de.tar deleted file mode 100644 index d22d363964fb53a40cbd30d3b4c6d900ee98e678..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40960 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 - diff --git a/mbsebbs-code/html/basic.html.in b/mbsebbs-code/html/basic.html.in deleted file mode 100644 index dc3cd818..00000000 --- a/mbsebbs-code/html/basic.html.in +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - -MBSE BBS basic installation. - - - -
- -
Last update 3-Jul-2011
-

MBSE BBS Basic Installation

- -

Introduction.

-

-Before you compile and install MBSE BBS you must first setup the basic -environment. If you don't do this, things will fail. -

-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: -

    -
  1. Zlib. On some distributions you also need zlib development. When you have - zlib installed, then in mbcico 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.
  2. -
  3. Bzlib. On some distributions you need to install bzlib2 development to add - support for binkp BZ2 compression.
  4. -
  5. GeoIP. 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 - www.maxmind.com. -
-If you use Gentoo or Ubuntu, read the files README.Gentoo or README.Ubuntu. The last one may be usefull -for Debian users too. -

 

- -

Step 1: planning the filesystems.

-

-MBSE BBS is default installed in /opt/mbse. 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 -Filesystem Hierarchy Standard for more info. -The default filesystem layout looks like this:
-

-/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
-
-

-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 the -ftp server 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. -

 

- -

Step 2: Running the installation script.

-

-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 man procfs -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.
-If you are upgrading, proceed with step 4. If not, follow the next steps -very carefully!
-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 .mbse To run the installation script you need -the archive mbbsebbs-@VERSION@.tar.bz2. -Unpack this archive on your system, in /tmp: -

-cd /tmp
-tar xfvj /path/to/the/mbsebbs-@VERSION@.tar.bz2
-
-To start the script type: -
-cd mbsebbs-@VERSION@
-bash ./SETUP.sh
-
-Ubuntu users should do: -
-cd mbsebbs-@VERSION@
-sudo bash ./SETUP.sh
-
-Yes, use bash 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: -
    -
  1. Create the group bbs -
  2. Create the user mbse On Ubuntu this user is added to the admin group. -
  3. Create a .profile for user mbse -
  4. Create and set owner of directory tree under /opt/mbse -
-Then the script will ask you to give a password for user mbse -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: -
    -
  1. The user bbs is added. -
  2. The password will be removed from user bbs 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. -
  3. If they don't exist in the file /etc/services the services fido, tfido -and binkp will be added. -
  4. If they don't exist in the file /etc/inetd.conf the internet protocols -for the mailer will be added. The inetd is restarted to -activate the changes. If your distribution uses xinetd instead of inetd, an -include file for xinetd is added instead. -
-

 

- -

Step 3: Check the basic installation

-

-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 .mbse 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@: -

-cd /tmp
-rm -Rf mbsebbs-@VERSION@
-
-

 

- -

Step 4: Install the basic packages.

-

-Login as user mbse. Yes, very important, login as user mbse. -While in mbse's home directory (/opt/mbse) unpack the distribution archives: -

-tar xfvj /path/to/mbsebbs-@VERSION@.tar.bz2
-
-You now have the subdirectory with sources in the right place. -Next build the binaries and install them using the following commands: -
-cd ~/mbsebbs-@VERSION@
-./configure [--enable-optimize] [--enable-newsgate] [--enable-gdkdel]
-make
-su        important, do not use "su -"
-password: enter root password here
-make install
-exit
-
-Ubuntu users should do: -
-cd ~/mbsebbs-@VERSION@
-./configure [--enable-optimize] [--enable-newsgate] [--enable-gdkdel]
-make
-sudo make install
-
-Important: it seems logical to use the --enable-newsgate 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. -

-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 --enable-gbkdel -to configure. -

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

-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 start. -For example: -

-/etc/rc.d/init.d/mbsed start
-
-Ubuntu users do: -
-sudo /etc/init.d/mbsebbs start
-
-This will start the mbtask daemon. -After that the bbs will be opened for use. -Check the file /opt/mbse/log/mbtask.log for startup problems. -The first time mbtask is started on your system it will create a -lot of new configuration files with default settings. -

 

- -

Step 5: Ready.

-

-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.
-Editing ansi screens can be done on a GNU/Linux system with one of the -following packages: -

    -
  1. duhdraw, this is available from 2:280/2802 as - duhdraw.tgz (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.
  2. -
  3. TetraDraw 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. -
-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. -

-Now the basic environment is finished, the next thing to do is -configure the bbs. -

 

- -Back to IndexBack to Index - -

- - diff --git a/mbsebbs-code/html/dist.html b/mbsebbs-code/html/dist.html deleted file mode 100644 index 5f34199f..00000000 --- a/mbsebbs-code/html/dist.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - -Unix distributions. - - - -
- -
Last update 12-Sep-2007
-

Unix Distributions.

- -

Which distribution

-

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

 

- -

Slackware

-

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

 

- -

Redhat and Mandrake

-

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

 

- -

SuSE

-

-Since SuSE 7.1 the setup scripts are working and tested. Older distro's -might work. -

 

- -

Debian

-

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

 

- -

Ubuntu

-

-Since 0.91.10 the installation on Ubuntu 7.04 works fine. Read the file README.Ubuntu in -the source for more information. -

 

- -

GenToo

-

-Installation and startup scripts are tested on GenToo. Read the file README.Gentoo for -more information. -

 

- -

FreeBSD

-

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

 

- -

NetBSD

-

-Currently NetBSD 3.1 is used for the latest tests. NetBSD before 3.0 doesn't -work anymore. -

 

- -

OpenBSD

-

-Currently OpenBSD 3.7 is used for testing. -

 

- -

Famous last words...

-

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

 

- -BackGo Back -

- - diff --git a/mbsebbs-code/html/doors.html b/mbsebbs-code/html/doors.html deleted file mode 100644 index 72d78420..00000000 --- a/mbsebbs-code/html/doors.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - - - - -Running DOS doors on MBSE BBS. - - - -
- -
Last update 05-Nov-2004
-

MBSE BBS - Running DOS doors.

- -

Introduction

-

-Running DOS doors is possible on systems that can run -dosemu. 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.

-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! -

 

- -

Installing dosemu

-

-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 dosemu. 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:
-

-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
-
-Note that the --with-x 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.
-Then as root do:
-
-root@seaport:~/dosemu-1.2.2# make install
-
-

 

- -

Setup dosemu in mbse

-

-First copy /etc/dosemu/dosemu.conf into ~/etc/dosmeu. -Then edit ~/etc/dosemu/dosemu.conf so that we have a version for -mbse users. Set the following settings in that file:
-

-$_hdimage = "/opt/mbse/var/dosemu/c"
-$_floppy_a = ""
-$_xms = (1024)
-$_ems = (2048)
-$_dpmi = (0x1000)
-$_layout = "us"
-
-Next copy this new file as virtual.conf in -~/etc/dosemu/. Then add the following line: -
-$_com1 = "virtual"
-
-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 -rundoor.sh now also uses two configuration files.
-Next we need to setup the C: drive. Do this as user mbse. First type umask -007, 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: -
-mbse@seaport:~$ umask 007
-mbse@seaport:~$ cd var/dosemu/c
-mbse@seaport:~/var/dosemu/c$ mkdir dos dosemu temp util doors
-
-Now we must install dos. If you use ms-dos then in ~/var/dosemu/c -copy the ms-dos files command.com, io.sys and -msdos.sys. In ~/var/dosemu/c/dos copy all ms-dos -commands. Next install the dosemu utilities, copy these from -/usr/share/dosemu/freedos/dosemu to -~/var/dosemu/c/dosemu. Now there is a empty -~/var/dosemu/c/util, copy some utilities here such as your -favourite dos editor, zip and unzip etc.
-Next we must create config.sys and autoexec.bat. These -files must be dos crlf formatted. You can do that with the joe editor, for -example joe -crlf config.sys. Examples:
-
-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
-
-Now we are ready to try it, type mbsedos and the dos emulator -should start. You can leave dosemu with the command exitemu. -

 

- -

Installing a door

-

-All doors are started using the script ~/bin/rundoor.sh. 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:
-

-mbse@seaport$ cd ~/bin
-mbse@seaport:~bin$ ln -s rundoor.sh 8ball
-
-See also inside rundoor.sh 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.
-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 mbsedos and create a directory c:\doors\8ball. -Unpack 8ball in that directory and run setup. Test the door with -the command local. Now goto the directory c:\doors and -create the file 8ball.bat. That file will be used to start the -door. It will be called by c:\doors.bat with two parameters, the -name of the door and the nodenumber. -
-@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
-
-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 /N is replaced by the -current nodenumber of the user. A second option may be used, -novirtual, if that is present the rundoor.sh 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. -

-door setup

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

-doors menu -

-

 

- -

Netmail support

-

-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: -

-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
-
-In dos you now have: -
-C:\MSGS
-C:\OUTBOX
-C:\SEMA
-
-In C:\MSGS 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 c:\doors\bre.bat must copy the file to send to -the node outbound box. In the above example that would be copy to -C:\OUTBOX. -To create the semafore to tell mbse to scan add to the batfile (for example -C:\DOORS\BRE.BAT the following two lines: -
-CD C:\SEMA
-ECHO "">MAILOUT
-
-See also the F.A.Q. 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. -

 

- -

What if I don't upgrade

-

-That's your choice, but for a while the old method starting dosemu via sudo is -still supported. The file ~/bin/bbsdoor.sh is still there, but the -file ~/bin/rundoor.sh is renamed to -~/bin/runvirtual.sh. So you should change all symlinks of your door -names in ~/bin (or copies) to ~/bin/runvirtual.sh. You -should not need to change anything else. -

- -

Problems

-

-Currently there are some troubles with modem calls. -

- -BackGo Back -

- - diff --git a/mbsebbs-code/html/errcodes.html b/mbsebbs-code/html/errcodes.html deleted file mode 100644 index ac1242a6..00000000 --- a/mbsebbs-code/html/errcodes.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - -Error return codes. - - - -
- -
Last update 30-Jun-2005
-

MBSE BBS - Error return codes.

- - -

-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 kill -l to see -a list of errors for your own platform.
-Here is the list of other return codes: -

    -
  1. Commandline error -
  2. Configuration error -
  3. Initialisation error -
  4. A full disk partition -
  5. UPS alarm detected -
  6. No valid recipients -
  7. Execute external program failed -
  8. Set tty failed -
  9. File transfer error -
  10. File attach failed -
  11. Can't lock program, retry later -
  12. Node not in nodelist -
  13. Node may not be called -
  14. Can't make connection -
  15. Can't open tty port -
  16. Node is locked -
  17. Node IP address not found -
  18. Unknow session type -
  19. Not Zone Mail Hour -
  20. Modem error -
  21. No modemport available -
  22. Session error (password) -
  23. EMSI session error -
  24. FTSC session error -
  25. WaZoo session error -
  26. YooHoo session error -
  27. Outbound scan error -
  28. Can't make poll -
  29. File request error -
  30. Error processing nodediff -
  31. Virus found -
  32. General error -
  33. Timeout error -
-

-The mailer can also return the following error codes: -

    -
  1. TTY general error -
  2. TTY timeout -
  3. TTY EndOfFile -
  4. TTY Hangup -
  5. TTY Empty -
-

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

-BackGo Back -

- - diff --git a/mbsebbs-code/html/faq.html b/mbsebbs-code/html/faq.html deleted file mode 100644 index eb4806c7..00000000 --- a/mbsebbs-code/html/faq.html +++ /dev/null @@ -1,1502 +0,0 @@ - - - - - - - - - - - -MBSE BBS FAQ & Howto - - - -
- -

MBSE BBS FAQ and Howto.

-
Last updated 31-Jan-2005
- -
-Authors: P.E. Kimble aka King Kimerud            kimerud@bayhaus.org
-         Michiel Broek                           2:280/2802
-         Rick van Ruth                           3:640/954
-	 David Gonzalez                          4:930/1
-

-

Introduction

-

-This FAQ is a work in progress. It is not complete, nor does its author -claim that it is complete. This FAQ only answers questions pertaining to -using MBSE BBS on your GNU/Linux box. It is a compilation of previous questions -that Michiel Broek has recieved and answered from us newbies in getting -MBSE up & running. -

- -
    -
  1. Installation

    -

      -
    1. Why do I have to install MBSE in the /opt directory?
    2. -
    3. What other operating systems will MBSE run on?
    4. -
    5. Will MBSE ever be ported to DOS/Windows or OS/2?
    6. -
    7. What does the quest switch in the bbs user setup mean?
    8. -
    9. How do I monitor as the things happen?
    10. -
    11. How do I start mbsebbs from inetd or xinetd?
    12. -
    13. I just installed mbse, now I get a Socket send failed error 2
    14. -
    -

  2. -
  3. Fidonet Setup

    -

      -
    1. The nodelist compiler crashes, why?
    2. -
    3. What is the purpose of the "Comment" line in the tic area setup?
    4. -
    5. How do I poll a node?
    6. -
    7. I created a filerequest but mbcico doesn't call out.
    8. -
    9. Does MBSE support fidonet via ftp feeds?
    10. -
    11. The tosser and mbmsg program are slow, why?
    12. -
    13. How can I use an external netmail tracker with MBSE?
    14. -
    15. I am having problems with dates when unarchiving .arc files.
    16. -
    -

  4. -
  5. Internet Setup

    -

      -
    1. Posting newsmessages to the newsserver fails.
    2. -
    3. FTP fidonet feeds how-to.
    4. -
    5. Polling a internet node fails
    6. -
    7. Dialup script examples for MBSE
    8. -
    9. BBS users cannot get their email on Debian
    10. -
    -

  6. -
  7. BBS Setup

    -

      -
    1. How do I to set up MBSE for ISDN?
    2. -
    3. How do I use GoldED together with MBSE?
    4. -
    5. How do I use MsgEd together with MBSE?
    6. -
    7. How do I adopt a directory full of files to the bbs?
    8. -
    -

  8. -
  9. Doors Setup

    -

      -
    1. How do I run DOS doors under MBSE BBS?
    2. -
    3. Dosemu compile tips
    4. -
    5. Setting up for InterBBS games.
    6. -
    7. Door Maintenance.
    8. -
    -

  10. -
- -BackGo Back -
- -

1. Installation.

- - - - - - - - - - - - -
Q 1.1Why do I have to install MBSE in the /opt directory?
A 1.1 The /opt is for extra applications, when mbse is installed there - it is easier to upgrade the OS. If you insist on installing in /usr/local - the choose /usr/local/mbse. -
-Up -

- - - - - - - - - - - - -
Q 1.2 What other operating systems will MBSE run on?
A 1.2 Currently only on most GNU/Linux distributions, FreeBSD and NetBSD. - The author, Michiel Broek, has made a valiant effort ensuring that -MBSE will recognize and install on the major distributions of GNU/Linux. -
-Up -

- - - - - - - - - - - - -
Q 1.3 Will MBSE BBS ever be ported to DOS/Windows or OS/2?
A 1.3 No.
-Up -

- - - - - - - - - - - - -
Q 1.4 What does the guest switch in BBS user setup mean?
A 1.4 Nothing yet.
-Up -

- - - - - - - - - - - -
Q 1.5 How do I monitor as the things happen?
A 1.5 tail -f /opt/mbse/log/system.log or start mbmon.
-Up -

- - - - - - - - - - - - -
Q 1.6 How to start mbsebbs from inetd or xinetd?
A 1.6 This is described in the documentation of the - mblogin program.
-Up -

- - - - - - - - - - - - -
Q 1.7 I just installed mbse, now I get a Socket send failed error 2.
A 1.7 With a normal system boot the mbtask daemon will be started - by one of the systems init scripts. If you just installed mbse you need - to do this for the first time manually. As user mbse issue the - following commands:
mbtask
mbstat open

- This will start the daemon, the daemon creates the default - databases. Then you can use mbsetup to configure your new system. -
-Up - -


-

2. Fidonet setup.

- - - - - - - - - - - - -
Q 2.1 The nodelist compiler crashes, why?
A 2.1Note: From previous experience, it is vital that you follow - the docs closely. Also, ensure that you have a copy of a valid nodelist - and nodediff file. I have ran into problems where either the noddiffs - don't match the nodelist, the crc checks fail, or I have files from - two different zones. I have even had to back up several months before - finding a valid noddiff that would match the nodelist.
-Up -

- - - - - - - - - - - - -
Q 2.2 What is the purpose of the "Comment" line in the tic area setup?
A 2.2The downlinks will see this when receiving FileMgr replies. - It is meant only as a description for the filearea.
-Up -

- - - - - - - - - - - - -
Q 2.3 How do I poll a node?
A 2.3 mbout poll f2802.n280.z2
-Up -

- - - - - - - - - - - - -
Q 2.4 I created a filerequest but mbcico doesn't call out.
A 2.4 You need to add a poll for that node to do the call.
-Up -

- - - - - - - - - - - - -
Q 2.5 Does MBSE support fidonet via ftp transfers?
A 2.5 Yes, but only the passive side. Refer to 3.2.
-Up -

- - - - - - - - - - - - -
Q 2.6The tosser and mbmsg programs are slow, why?
A 2.6 Tossing mail and linking message areas are background tasks. - When mbse was first developed the hardware was not fast enough to run - these programs at full speed. The mailer could give CRC errors and the - bbs seemed to stop now and then. To overcome this problem all programs - started with the -quiet switch (background jobs) are stopping for short - periods so that they would use less system resources. Systems with SCSI - disks or other fast and well designed machines don't have a need for that - slowdown. In mbsetup menu 1.5.17 is the setting for the speed of all utility - programs, the default is slow. You might try this set to fast and see what - happens on your system.
-Up -

- - - - - - - - - - - - -
Q 2.7How can I use an external netmail tracker with MBSE?
A 2.7If the netmail tracker can work on .pkt files you could try to - install it into mbfido. It can call a external program to process incoming - .pkt files before mbfido does something with it. That option was built a - few years ago for extra Y2K checks. (The pktdate program of Tobias Ernest).
-Up -

- - - - - - - - - - - - -
Q 2.8I am having problems with dates when unarchiving .arc files.
A 2.8If you are experiencing a problem with the dates on arc files - showing as January 1970 or similar when extracted using Arc v5.31 for linux - then obtain "nomarch". MBSE will detect nomarch during configuration/install - and set your archiver.data file accordingly. Nomarch extracts .arc files - and keeps the original file date.
-Up - -


-

3. Internet setup.

- - - - - - - - - - - - -
Q 3.1 Posting newsmessages to the newsserver fails.
A 3.1Check if you need the "mode reader" command for the newsserver. - Set this flag in mbsetup 1.15.5
-Up -

- - - - - - - - - - - - -
Q 3.2 How do I configure MBSE for my ftp filenet feeds?
A 3.2Follow the next steps to setup your system for FTP clients. -
    -
  1. As root, add a new group to your system: groupadd bbsftp.
  2. -
  3. Make sure there is a directory /opt/mbse/var/bbsftp. This directory - should be owned by mbse, group bbs and have mode 0775.
  4. -
  5. Add an invalid shell to /etc/shells, /usr/bin/false is good.
  6. -
  7. Install an FTP server, the examples here are for ProFTPD.
  8. -
  9. In /etc/proftpd.conf make sure there are the following lines: -
    -# Anonymous ftp and members of group bbsftp have a chroot environment.
    -# DefaultRoot     ~ bbsftp
    -
    - This will make sure that users who are member of the bbsftp - group have a chrooted directory structure for their ftp directories. - Also make sure the line Umask 022 is changed to Umask 002.
  10. -
  11. Add a username for the node you whish to give an FTP feed. - Use the following as root: -
    -useradd -g bbs -G bbsftp -d /opt/mbse/var/bbsftp/username
    -    -s /usr/bin/false -c "FTP Account for username" -m username
    -
    - Note: this is one line! There will now be a user added and - have a home directory of /opt/mbse/var/bbsftp/username. Make sure - that directory has permission 0775 or 0770. Create in the username - directory two other directories, inbound and outbound. They must - be owned by the user and be a member of group bbs and have mode 0775. - The modes 077x are needed because the user and mbse must be able to - read and write to these directories.
  12. -
  13. Try to login with ftp from some other system with the choosen - username and his password and check the changes until now. You should - not be able to escape from the directories of this user and you should - be able to upload files, download and delete files. Check also if you - uploaded a file if user mbse can delete that file and also put a file - in the users ftp directory as user mbse, and check that you can download - and delete is as ftp user.
  14. -
  15. Make sure for the node you want to change there is no mail - left in the outbound. Now start mbsetup, menu 7, open the setup - of the node that will use ftp. In screen 3, items 7 and 8, set these - to Directory. Now enter screen 8, here you will setup the directory - session. -
    -       7.8  EDIT NODE DIRECTORY SESSION
    -
    -            Outbound settings
    -       1.   Files path      /opt/mbse/var/bbsftp/username/outbound
    -       2.   Check for lock  Yes               3.   Wait clear lock Yes
    -       4.   Check lockfile  /opt/mbse/var/bbsftp/username/lock.bsy
    -       5.   Create lock     Yes
    -       6.   Create lockfile /opt/mbse/var/bbsftp/username/lock.bsy
    -       
    -            Inbound settings
    -       7.   Files path      /opt/mbse/var/bbsftp/username/inbound
    -       8.   Check for lock  Yes               9.   Wait clear lock Yes
    -       10.  Check lockfile  /opt/mbse/var/bbsftp/username/lock.bsy
    -       11.  Create lock     Yes
    -       12.  Create lockfile /opt/mbse/var/bbsftp/username/lock.bsy
    -
    - Save this and you are ready.
  16. -
  17. A final note, since this user is in group bbs and not in the - bbs userdatabase he can never telnet to your system with this account - and get a shell. The user doesn't even have a valid shell.
  18. -
-
-Up -

- - - - - - - - - - - - -
Q 3.3Polling a internet node fails.
A 3.3There are several reasons why mbcico refuses to call an internet - node, most problems are nodelist related. A internet node with binkp - protocol should be listed with the flags CM,IBN before mbcico will - make a call. Also, in the nodelist system name field there should - be the hosts full qualified domainname so that mbcico can get that - node's IP address. If one of these items are missing, the node will - not be called. To correct this problem there are two options, make - sure the node is listed with a dns name and proper flags in the nodelist. - The second option is to add a setup record for that node and fill in - the nodelist override fields. You can find these in menu 7.3, item - 5 can be filled with the nodelist flags, ie. CM,IBN and item 6 can - be used to give that node's fdn or IP address. -

- If the call still fails there are several things that must be - right before mbcico makes any internet call. In mbmon, screen 2 (SERVER - STATS) there are flags that indicate if the system is running, internet - is available and the bbs is open. If one of these is No, then no call will - be made. (For POTS the Internet flag does not matter of course). -

- In mbsetup, screen 18 (taskmanager), you need to set the maximum - TCP sessions to allow. This is inbound and outbound together. So if you set - this to 3 and 3 or more systems are already calling in via internet, your - system will not call anymore until the amount of TCP sessions drops below 3. -

- If you set this to high on an average cable/adsl connection, - you can get into trouble because you use up all upstream bandwidth. (We have - seen a lot of errors at a busy when the upstream speed was 64K and downspeed - 512K and about 4 sessions together). A good rule seems 1 TCP session for - each 32K bandwidth. -

- Then turn in that same screen debug on. After a minute mbtask - rereads his configuration. -

- Make a poll with mbout poll <node>. -

- Watch the mbtask logfile and see what it does for that node. It - should be added to the calllist. If not, it might be still a nodelist problem.

-Up -

- - - - - - - - - - - - -
Q 3.4Dialup script examples for MBSE
A 3.4Dialup Script using mclient: -
-#!/bin/sh
-#
-# Dialup script for MBSE BBS.
-#
-#============================================================================
-# Copyright (C) 1997-2002
-#   
-# Michiel Broek                FIDO:           2:280/2802
-# Beekmansbos 10
-# 1971 BV IJmuiden
-# the Netherlands
-#
-# This file is part of MBSE BBS.
-#
-# This BBS 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, or (at your option) any
-# later version.
-#
-# MBSE BBS 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 MBSE BBS; see the file COPYING.  If not, write to the Free
-# Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-#============================================================================
-#
-#
-# Enter commands to make the dialup connection and to hangup the connection.
-#
-DIALCMD="mclient -d -c DDS"
-HANGUPCMD="mclient -k"
-#
-# Log to syslog
-#
-LOGGER="logger -p user.notice -t basename $0$$]"
-
-if [ -z "$DIALCMD" ]; then
-    echo "This script is not configured, edit this script to use it."
-    exit 1
-fi
-
-echo "Dial internet start" | $LOGGER
-#
-# Do 3 attempts to connect
-#
-connect=0; try=0;
-while let 'connect == 0'
-do
-    # Count connect attepts
-    #
-    let try=try+1
-    if [ $try == 4 ]; then
-        echo "No internet connection, giving up" | $LOGGER
-        $HANGUPCMD >>/dev/null
-        exit 1
-    fi
-
-    echo "Call attempt $try"    | $LOGGER
-    $DIALCMD >>/dev/null
-    i=60;
-    while let 'i > 0' && let 'connect == 0'
-    do
-        if [ -f $MBSE_ROOT/var/sema/is_inet ]; then
-            connect=1
-            echo "mbtask detected internet"     | $LOGGER
-        fi
-        let i=i-1
-        sleep 1
-    done
-    #
-    # Check if we have a connection
-    #
-    if [ ! -f $MBSE_ROOT/var/sema/is_inet ]; then
-        echo "Failed, 10 seconds pause ..."     | $LOGGER
-        sleep 10
-    fi
-done
-
-#
-# Here we have a connection, now make all needed polls
-#
-$MBSE_ROOT/bin/mbout poll f5003.n280.z2 f19.n280.z2 -quiet
-
-#
-# Now we wait until the do_inet semafore appears, we
-# timeout at 25 seconds, must be enough.
-#
-i=25;
-while let 'i > 0'
-do
-    if [ -f $MBSE_ROOT/var/sema/do_inet ]; then
-        i=0;
-    else
-        let i=i-1;
-        sleep 1
-        echo "wait do_inet $i"
-    fi
-done
-
-#
-# Now test until the do_inet semafore is gone.
-# Timeout is one hour.
-#
-i=3600;
-while let 'i > 0'
-do
-    if [ ! -f $MBSE_ROOT/var/sema/do_inet ]; then
-        i=0;
-    else
-        let i=i-1;
-        sleep 1
-        echo "wait ready $i"
-    fi
-done
-
-echo "Internet sessions done, hangup"   | $LOGGER
-$HANGUPCMD >>/dev/null
-echo "Script ready"                     | $LOGGER
-exit 0
-
-=================================================
-
- Dialup Script using diald: - -
-=================================================
-#!/bin/sh
-
-PATH=/opt/mbse:/opt/mbse/bin:/usr/bin:/usr/local/bin:/bin:/usr/sbin:/usr/local
-/ sbin:$PATH
-cd /opt/mbse
-if [ -f /opt/mbse/tmp/ip.up ] ; then
-        exit
-fi
-echo "up" > /var/run/diald.ctl
-sleep 15
-
-ping -c 10 -w 10 mail.iol.ie
-if [ -e /var/run/ppp0.pid ]  ; then
-        touch /opt/mbse/tmp/ip.up
-   cd /opt/mbse
-   echo "Fetching News"
-   /opt/mbse/fetchnews
-   echo "Synching clock"
-   telnet 192.168.0.2 9049
-   bin/mbfido news
-   echo "Fetching Mail"
-   /usr/bin/fetchmail -f /opt/mbse/.fetchmailrc
-   bin/soup
-        if [ ! 'cat /opt/mbse/irex/s/rexbusy.0 | xargs ps --no-header' ] ;
-        then
-                rm /etc/ftn/irex/s/rexbusy.0
-        fi
-
-   ./rexl
-   fetchmail -f /opt/mbse/.fetchmailrc
-   ./rexl -sf m
-   /opt/mbse/bin/bink
-
-  echo down > /var/run/diald.ctl
-
-  bin/bres.sh  # >> /dev/null 2>&1
-fi
-rm /opt/mbse/tmp/ip.up
-
-==================================
-
-
-Up - - - - - - - - - - - - -
Q 3.5BBS users cannot get their email on Debian
A 3.5 - Debian Linux uses for normal users a security model with private user groups. - The users of the bbs are all in group bbs. Some pop3 servers do not handle - that situation well and don't show the email for bbs users that is delivered - in /var/mail. If you choose to use qpopper it will work. -
-Up - -


-

4. BBS setup.

- - - - - - - - - - - - -
Q 4.1 How to set up MBSE for ISDN.
A 4.1Contributed by: J. Beekhuizen, 2:280/1018 -

- Of course, you have to configure and build your kernel for ISDN - support and the correct drivers for your card. It is beyond the scope - of this document to explain how to do that. -

- To your /etc/inittab file add the following lines for your ISDN - devices ttyI0 and ttyI1.

-
-# ISDN lines
-I1:23:respawn:/usr/local/sbin/mgetty -x 4 -i /opt/mbse/etc/issue ttyI0
-I2:23:respawn:/usr/local/sbin/mgetty -x 4 -i /opt/mbse/etc/issue ttyI1
-
- To your mgetty.config file [/usr/local/etc/mgetty_sendfax/mgetty.config - on my system] set up the ttyI0 and ttyI1 ports. With AT&E you set - the MSN/EAZ the device should listen to. This should for an MSN be your - telephone number with the area code but without the leading - 0. For an EAZ the last digit of your EAZ. -

- The ISDN ports -

-port ttyI0
-modem-type data
-init-chat "" ATZ OK
-AT&E714015437&W0 OK 
-AT&B512 OK
-
-port ttyI1
-modem-type data
-init-chat "" ATZ OK 
-AT&E714017198&W0 OK
-AT&B512 OK
-
- From the mbsetup menu #5 "Edit Modem types" configure the ISDN - modem type. -
-	Modem type   ISDN Linux
-	Init string  ATZ\r
-	Init string
-	Init string
-	OK string    OK
-	Hangup       \d\p\p\p+++\d\p\p\pATH0\r
-	Info command ATI2\r
-	Dial command ATD\T\r
-	Connect      CONNECT 64000
-	Connect      CONNECT
-	[...]
-	Reset cmd    ATZ\r
-	Error string BUSY
-	Error string NO CARRIER
-	Error string NO DIALTONE
-	Error string NO ANSWER
-	Error string RING\r
-	Error string ERROR
-	Error string
-	Error string
-	Error string
-	Error string
-	Cost offset  0
-	EMSI speed   28800                   ! not relevant for ISDN
-	Strip dashes No
-	Available    Yes
-
- And from #6 "Edit TTY lines info" the ISDN lines -
-	TTY name     ISDN Line 1
-	Device name  ttyI0
-	Phone or DNS 31-71-4015437
-	Line speed   64 kbits
-	Fido flags   CM,XA,MO,X75
-	Equipment    ISDN
-	Available    Yes
-	Auth. log    No
-	Honor ZMH    Yes
-	Callout      Yes
-	Modem type   ISDN Linux
-	Locked speed 0                                 ! not relevant for ISDN
-	EMSI name    The Wizard's ISDN line 1
-
-	TTY name     ISDN Line 2
-	Device name  ttyI1
-	Phone or DNS 31-71-4017198
-	Line speed   64 kbits
-	Fido flags   CM,XA,MO,X75
-	Equipment    ISDN
-	Available    Yes
-	Auth. log    No
-	Honor ZMH    Yes
-	Callout      Yes
-	Modem type   ISDN Linux
-	Locked speed 0
-	EMSI name    The Wizard's ISDN line 2
-
-
- T-t-that's all folks :))
-Up -

- - - - - - - - - - - - -
Q 4.2 How do I use GoldED together with MBSE?
A 4.2Since MBSE BBS version 0.33.12 GoldED and MBSE BBS can be used - together without problems as long as you use it to read the sysop mail. - The mbsetup program can export a file called /opt/mbse/etc/golded.inc - which will contain your main Aka's, Aka matching, sysop name and all your - mail areas. This file is only (re)created if you change the global settings - or one of the mail areas. The first time you must force this by making - a change somewhere. -

- Now create /opt/mbse/etc/golded.cfg, here is what I wrote: -

-; GoldED.cfg
-;
-; Internet Addressing
-;
-INTERNETADDRESS Michiel_Broek@f2802.n280.z2.fidonet.org
-INTERNETGATE UUCP 2:292/875
-;
-;
-OUTBOUNDPATH /opt/mbse/var/bso/outbound
-REPLYLINK chain
-STYLECODES yes
-;
-;
-; MESSAGE READER
-;
-DISPMSGSIZE KBYTES
-DISPATTACHSIZE KBYTES
-DISPLOCALHIGH YES
-DISPPAGEBAR YES
-VIEWHIDDEN YES
-VIEWKLUDGE NO
-VIEWQUOTE YES
-;
-INCLUDE /opt/mbse/etc/golded.inc
-;
-; The end.
-
- Put in /opt/mbse/.profile the following line: export GOLDED=$HOME/etc -

- When you now start GoldED you use it as the sysop. Make sure that - the sysop's userrecord is the first user in the MBSE BBS userbase. If not, - the lastread pointers are not right. The GoldED nodelist compiler can be - added to the setup in menu 18.

-Up -

- - - - - - - - - - - - -
Q 4.3 How do I use MsgEd together with MBSE?
A 4.3Since MBSE BBS version 0.35.05 MsgEd and MBSE BBS can be used - together without problems as long as you use it to read the sysop - mail. The mbsetup program can export a file called /opt/mbse/etc/msg.txt - which will contain your mail areas setup. This file is only - (re)created if you change the global settings or one of the mail - areas. The first time you must force this by making a change somewhere.
-Up - - - - - - - - - - - - -
Q 4.4 How do I adopt (batch upload) a directory full of files to my BBS'es file base?
A 4.4Written by: Russell Tiedt. -

- Easy using the script below, provided the file archives (*.zip, *.rar, *.arc, - *.lha, etc.) all contain "file_id.diz" files. -

- Sort the files in tempory directries that correspond to the filebase area, ie. - /dos4 (DOS files - filebase area no 4) -

- Then copy the script below to the directory, edit the number of the filebase - that the files must be batch uploaded to, to the number that corresponds to - the required filebase. (On my BBS system the DOS file section corresponds to - the number 4, hence the name above for the tempory directory used above) I - copy all files to be batch uploaded to the DOS file section, to the /dos4 - directory, copy the script below to the /dos4 directory, edit the script so - that it uploads to the DOS filebase (4) and run it. -

-for file in `ls` ; do
-  mbfile adopt 4 $file "Dummy description"
-done
-
- NOTE: the 4 in the script above, indicates the filebase/filearea that the - files will be batch uploaded to. - - For archives that have/contain a file_id.diz file, "Dummy description" will be - replaced with the content of the "file_id.diz file of that archive, if no - file_id.diz exists in the archive, then "Dummy descrition" will appear in the - description field of the files.bbs file for the file area it gets uploaded to. -

- If the files don't have/contain file_id.diz files, then create and insert in - the archive, a file_id.diz file having a suitable description of the content - of the archive, then follow the instructions above. -

- For *.exe and *.com files, as well as other files that are not archived ie. in - *.zip/*.rar/*.arc/*.lha/*.lhz/*.zoo etc. Create a file_id.diz file for the - file, then make an archive using the archiver of your choice containing the - file and the file_id.diz you created for it, then follow the instructions - above. -

-Up - -


-

5. Doors setup.

- - - - - - - - - - - - -
Q 5.1 How do I run DOS doors under MBSE BBS?
A 5.1 -
-Written by: Redy Rodriguez, sysop of Parolas BBS 2:348/609
-Fidonet:    Redy rodriguez 2:348/609
-Email:      redy@users.sourceforge.net
-            Redy_Rodriguez@f609.n348.z2.fidospain.org
-
-

-Note: the next method is obsolete, with newer versions of dosemu it is -possible to run the doors without sudo but with user privileges. See the -doors page for details. The information below is for -old versions of dosemu. -

- NO WARANTEE -

- The information gathered here, works for the indicated intention. - It is proven and working in PAROLAS BBS, however, I do not guarantee - that it works correctly in all the cases. The author is not responsible - for the damage this can cause. If you follow the instructions, and you - get not the expected result, or as a result of it you get undesired results, - you loose data or destroy your system, you you will be the only person - in charge. -

- INTRODUCTION -

- This document describes how I have been able to execute MS/DOS - doors in MBSEBBS. Probably it is not the best way to do it, but this - is the one that works for me. If somebody finds one more more effective, - or simpler or safer a solution, then I like to hear this solution. -

- WHAT IS NEEDED? -

- MBSEBBS is correctly compiled and working, in my case I have the - version 0.33.19, that is at the moment the most recent and stable, I suppose - that this method can be valid for newer versions. DOSEMU 1.0.2 I have tried - previous versions, but these do not work correctly with virtual ports. You - can download dosemu.1.02.tgz from www.dosemu.org - , you may also need to download the freedos archive dosemu-freedos-bin-1.02.tgz. - A partition with MS/DOS, I have on my disc a partition with installed - MS/DOS, and that is the one that I use, but I'm sure that many doors - could work correctly with the freedos. You also need sudo. Sudo - is a utility that let's ordinary users execute certain programs as superuser, - this is available with almost all GNU/Linux distributions. -

- COMPILING DOSEMU -

- Unpack dosemu in some directory, for example /usr/src, then changed - into that directory and execute 'make'. When this is ready we have - dosemu compiled. If we already had a previous version of dosemu it is - advisable to uninstall it before continuing. Copy dosemu-freedos-bin-1.02.tgz - to the toplevel directory of the dosemu source and execute: -

-./install_systemwide -fd dosemu-freedos-bin-1.02.tgz
-
- In the directory etc, within the directory where we have decompressed - the source code of dosemu we have configuration examples. Create the - directory /var/lib/dosemu if it does not exist the directory, and copy - global.conf to that directory. Also copy dosemu.conf to directory /etc - and copy dosemu.users.secure as dosemu.users to /etc. -

- CONFIGURE THE DOS PARTITION -

- Now we must configure the dos partition, in my case this exists - as a mounted dos partition in /dos/c. If this is not the case then you - could work with an image of freedos. I have created in my dos partition - a directory c:\doors where I install all doors that I want to use, and - a file called c:\doors.bat with the following contents: -

-@echo off
-c:
-cd \doors
-if exist %1.bat call %1 %2 %3 %4 %5 %6 %7 %8 %9
-c:\dosemu\exitemu
-
- Change to the directory /var/lib/dosemu and create directory - called for example 'c': -
-mkdir c. 
-
- A link to the mounted partition could be made but I prefer - to create a new directory and in that directory make links to dos program - which are only of interest for us. Many programs and directories of the - dos partition are not needed in dosemu and to run doors. Change to the - created directory and make links to everything what we have in our dos - partition (we will erase soon what we do not need). Autoexec.bat and - config.sys must copied instead of making links so we can modify them, because - surely we will want that they are different in dosemu, then in real dos. -
-cd c
-ln -s /dos/c/* .
-rm autoexec.bat
-rm config.sys
-cp /dos/c/autoexec.bat config.sys .
-
- Create a directory dosemu and copy the typical utilities of dosemu. -
-mkdir dosemu 
-cp /usr/src/dosemu-1.02/1.0.2.0/commands/* dosemu
-
- Now we modify the copy of config.sys and autoexec.bat to erase - everything what is not necessary to execute our games as doors, like - drivers for cdrom, mouse etc... We will clear the keyboard driver 'KEYB - XX' and make sure that in the path in autoexec.bat to include the directory - c:\dosemu. Also load the fossil emulator, for example add these two lines: -
-path %PATH%:c:\dosemu
-c:\dosemu\fossil
-
- If there is another fossil, such as bnu or x00 in config.sys - or autoexec.bat we clear all references to these, we will load them - if that is necessary in the file that it executes the door when needed, - this can be necessary for some doors and for other not. Now we can erase - all the links to the directories who are not necessary, and that we do - not want that they are visible. -

- Then edit the file /etc/dosemu.conf and look for the line that - begins with "$_hdimage =" and change that to: -

-$_hdimage = "c"
-
- Now login as root and you should be able to execute our dos - emulator by executing '/usr/bin/dosemu.bin' -

- (to leave dosemu type in exitemu) -

- CONFIGURING SUDO -

- Normally the dos partition is not accessible to the users of the - BBS, except from within dosemu, and to be able to have access without activating - the setuid bit of dosemu, we use sudo so that any user of the BBS can execute - dosemu.bin as root. As root execute visudo to edit the configuration file - of sudo add the lines: -

-%bbs   ALL=NOPASSWD:/opt/mbse/bin/bbsdoor.sh
-%bbs   ALL=NOPASSWD:/opt/dosemu/bin/dosemu.bin
-
- The first command is a script that takes care of copying the - file door.sys to the dos partition, the second line is to allow to - execute dosemu.bin. Any user of group BBS can execute these commandos - like root without password is asked. -

- In order to test that this works login as user mbse and execute: -

 
-sudo dosemu.bin
-
-

- INSTALLING A DOOR -

- First we need a pair of scripts. These scripts are installed when - you did install MBSE. These scripts are needed to execute the doors and are - installed in /opt/mbse/bin: -

---- rundoor.sh ---
-
-#!/bin/bash
-#
-# rundoor.sh - Never call this script directly, create a symlink
-#              to thisfile with the name of the door. For example
-#              tu run the door ilord do:
-#              cd /opt/mbse/bin
-#              ln -s rundoor.sh ilord
-#
-# by Redy Rodriguez and Michiel Broek.
-#
-DOOR=`basename $0`
-COMMANDO="\" doors $DOOR $*\r\""
-
-/usr/bin/sudo /opt/mbse/bin/bbsdoor.sh $DOOR $1
-/usr/bin/sudo /opt/dosemu/bin/dosemu.bin \
--F /var/lib/dosemu/global.conf \
--I "`echo -e serial { com 1 virtual }"\n" keystroke $COMMANDO`"
-reset
-tput reset
-stty sane
-
---- bbsdoor.sh ---
-
-#
-#  Initialize DOS environment before starting a bbs door.
-#  Parameters: $1 = name of the door
-#              $2 = the nodenumber for this session
-#
-#  by Redy Rodriguez, 22-Oct-2001
-if [ "$1" != "" ]; then
-    if [ "$2" != "" ]; then
-        mkdir -p /dos/c/doors/node$2 >/dev/null 2>&1
-	# Copy door.sys to dos partition
-	cat ~/door.sys >/dos/c/doors/node$2/door.sys
-	# Create .dosemu/disclaimer in user home to avoid warning
-	if [ ! -d $HOME/.dosemu ]; then
-	    mkdir $HOME/.dosemu
-	fi
-	if [ ! -f $HOME/.dosemu/disclaimer ]; then
-	    touch $HOME/.dosemu/disclaimer
-	fi
-    fi
-fi
-
- The script rundoor.sh is never called directly, simply create - a link with the name of the door to this file, this name must be the - same as the one of the .bat file that starts the door in the doors directory - of the dos partition. Let me explain this with an example: -

- I have chosen the door Virtual Sysop, but it could be any other - door. My experience says to me that not all doors work correctly with - a serial port in virtual mode. This one is working at Parolas BBS. -

- Unpack Virtual Sysop in the dos partition, in the directory c:\doors\vsysop. - Execute as user mbse 'sudo dosemu.bin' and make sure that the door - works in local mode (these commands are for this door): -

-cd doors
-cd vsysop
-vsysop -local
-
- If everything is correct then create the file c:\doors\vsysop.bat - with the following contents: -
---- vsysop.bat ---
-
-@echo off
-C:\COMUNIC\X00\X00 E B,0,57600
-cd vsysop
-vsysop -D c:\doors\node%1\door.sys -BBSNAME PAROLAS
-deltree /y c:\doors\node%1
-C:\COMUNIC\X00\X00
-cd ..
-
- Before passing the control to dosemu, the file door.sys will - be copied to c:\doors\node???? where the ???? is the node number from - which the door is invoked (to allow that several users can execute the - door at the same time). This nodenumber also is passed as the first parameters - to the .bat file, this is to indicate to which directory to copy the door.sys - file. -

- The Virtual Sysop door supports door.sys and that is the only - dropfile that is generated by mbsebbs and that is supported by most - of the doors. If you need another format you must use a converter to change - the format of the dropfile. -

- I use the fossil X00, I have it installed in C:\COMUNIC\X00 and - this door works for me correctly with these parameters, it is alos possible - that it works without X00 or that you can load another fossil. -

- Now create a link to rundoor.sh in /opt/mbse/bin called vsysop. - The name must be the same one that the name of the .bat file created - in the dos partition, but without the extension bat. -

-ln -s /opt/mbse/bin/rundoor.sh /opt/mbse/bin/vsysop
-
- Now we execute mbsetup and enter the menu setup to add an entrance - like this (It puts option 16 to Yes): -
-    8.3. EDIT MENU ITEM
-
-    1.  Sel. key  V
-    2.  Type nr.  7         Run external program in shell
-    3.  Opt. data /opt/mbse/bin/vsysop /N
-                  1234567890123456789012345678901234567890123456789012345678901234
-    4.  Display
-    5.  Security  0     --------------------------------
-    6.  Min. age  0
-    7.  Max. lvl  0
-    8.  Password  <null>                    13. No door.sys No
-    9.  Credit    0                         13. Y2K style   No
-    10. Lo-colors Normal display color      14. Use Comport Yes
-    11. Hi-colors Bright display color      15. Run nosuid  Yes
-    12. Autoexec  No                        16. No Prompt   Yes
-
- And that is everything...
-Up -

- - - - - - - - - - - - -
Q 5.2 Dosemu compile tips
A 5.2 -
-Written by: Rick Van Ruth, sysop of Vampyre's Heaven BBS 3:640/954
-
- Dosemu still exhibits some file locking behaviour and this needs - to be overcome, especially if you are running multinode door games. The - following information was supplied by Bob Newell of Chung Kuo BBS (telnet - chungkuo.org) and I reiterate it here. -

- There is an issue in that GNU/Linux file locking does not map precisely - to DOS file locking. You need to patch DOSEMU and build a special version - to deal with this problem. Find the file "dosext/mfs/mfs.c" in your - DOSEMU source tree. Locate the following lines: -

-case DENY_ANY:
-fl.l_type = F_RDLCK;
-
-Change the second line to 
-fl.l_type = !writing ? F_RDLCK : F_WRLCK;
-
- and build a new version of DOSEMU. -

- To solve a problem of slow screen painting, locate "base/async/int.c" - in your source tree. Locate -

-case 0x2C:
-
-and just below, comment out or delete the line
-
-usleep(INT2F_IDLE_USECS);
-
- and rebuild your DOSEMU. -
- It is recommended to use both tips above as it will not harm - any dos door games.
-Up -

- - - - - - - - - - - - -
Q 5.3 Setting up for InterBBS games.
A 5.3 -
-Written by: Rick Van Ruth, sysop of Vampyre's Heaven BBS 3:640/954
-
- There are 2 methods for providing InterBBS setup. If your system - merely connects to one host for your games packets you need only perform - a few simple steps to have it working. If your system is a Host for InterBBS - games you will also need to add a script to separate different packets - for different downlink systems. -

- Common to Both Methods:
- With most BBS games you will need 2 directories in your dos - filesystem area. One for the inbound packets and one for netmail messages - door games produce to send outbound packets. -

- The easiest way to solve this is by creating symlinks from your - MBSE directories into the directory where your dos doors live (c:\doors). - The 2 directories you wish to link are /opt/mbse/var/inbound and /opt/mbse/var/msgs - - link them into your dos directories doors directory with the same - names ie: "inbound" and "msgs". Now according to dosemu you will have - a c:\doors\inbound and a c:\doors\msgs. We do not actually use the "msgs" - directory for anything other than a place to tell games where to write - its netmails to. These "netmails" are subsequently deleted from the system, - but the games need to be able to write them there. -

- 1. The Easy Way - Single Host System:
-

- 1A. First of all you will realise that door games running under - dosemu usually write files as owner root, chmod 0644. This is not good - for MBSE to transfer these files as it does not have permission to act - on the files. In order to force dosemu to write games files so that MBSE - can act upon them we need to alter /etc/sudoers and change the umask for - root running under sudo. To do this open /etc/sudoers (you must be root - to edit this file) and add the following line at the top of the file before - the specifications: -

- Defaults               umask=0000

-

- This will allow dosemu to write files chmod 0666 (read/write everybody) - and MBSE will be able to manipulate them. -

- For my example I will use the InterBBS dos door game called Barren - Realms Elite (BRE for short). -

- 1B. Install Bre in c:\doors\bre and setup the necessary files - for its execution as a dos door from MBSE as per the dos doors faq. -

- 1C. Tell Bre (in its BBS.CFG) that the path for inbound packets - is c:\doors\inbound and the netmail path is c:\doors\msgs Bre will now - automatically process all inbound packets it finds in the inbound directory - for itself. It needs no assistance as it merely searches for the correct - filename in the directory. -

- 1D. We need to link Bre's outbound path to our host nodes MBSE - mailbox for automatic transfer of games packets. First make sure you - have added an "outbox" for your uplink node in the nodes setup in MBSE - - Section 7, Select Uplink, Menu 1, Section 2 "outbox dir". eg: if your - uplink is 3:640/954 then MBSE will default to creating /opt/mbse/var/boxes/node3_640_954 - as the outbox (I will use this as an example). Note the flavour of your - uplinks node connection will apply to the outbox as well. Thus if that - particular node is set crashmail then anything you put in the outbox will - also be sent crashmail. -

- Next go to your Bre game directory. You will notice Bre has an - OUTBOUND directory, this is where it places all its game packets that - are to be sent to the uplink. We need to delete this directory and instead - create a symlink to the node outbox instead. If Bre is in c:\doors\bre - then the symlink command will be: -

- ln -s /opt/mbse/var/boxes/node3_640_954 /dos/c/doors/bre/OUTBOUND -

- Alter the above depending on where your linux path to your dos - is, also remember linux is case sensitive! Note you can also make as - many symlinks as you like to the nodes outbox, so if you have 2 or 3 - different games you send to that node you can link the outbox to each - games outbound directory. Also if you have different games to different - host nodes just link the game outbound directories to the outboxes of each - node. -

- Thats it. The system will now process inbound and outbound packets - automatically. You will however need to delete the netmails in the msgs - directory - I have included this in the Door game maintenance section - further on. -

- If you experience problems with your system polling nodes and - sending the game mail packets while a user is online within the game then - you might wish to use the dos "share.exe" so packet files are not being accessed - by both the game and the mailer at the same time. You can load share.exe - within your doors.bat in dos root directory. -

- 2. The Hard Way - Multiple Host System -

- Follow steps 1A, 1B, 1C above, the change occurs for 1D (below). -

- 1D. We need a script to process the Bre outbound packets and add - them to MBSE's node outboxes path so they are sent. A script on how to do - this follows (with comments ). First remember to create your outboxes for - each node that you transfer games packets to. I will use 3:640/954 as above - and 1:123/456 for this example of 2 systems linked to the one Bre game. -

- This script should be owned by user "mbse" and have the permissions - (chmod 755) -rwxr-xr-x. It is best kept in /opt/mbse/bin with your - dos game executing scripts. I call this script "dos_poll" -

-------------------------------------------------------------------------
-#!/usr/bin/perl -U
-use File::Basename;
-use File::Copy;
-
-# Define the variables for the outboxes for our links
-$node1 = "/opt/mbse/var/boxes/node3_640_954";
-$node2 = "/opt/mbse/var/boxes/node1_123_456";
-# Define the linux path to Bre's outbound directory
-$bre_path = "/opt/mbse/dos/doors/bre/OUTBOUND";
-
-opendir(DIR, "$bre_path") || die;
-@dirlist = readdir(DIR);
-closedir(DIR);
-
-foreach $filename (@dirlist){
-    $brefile = "$bre_path/$filename";
-    ($filenameOnly, $pathname, $fileExtension) = fileparse($filename, '\..*');
-    
-    if($filenameOnly eq "048b0201") {
-        move("$brefile","$node1"); 
-    }
-    if($filenameOnly eq "048b0203") {
-        move("$brefile","$node2"); 
-    }
-}
-
-# '048b0201' is the packet name Bre creates. You can find out what
-# your packet name is by running BRE PLANETARY and then checking inside
-# the Bre OUTBOUND directory - note no ext on name. You should also check
-# your nodes dat for which is which 048b0201 means from system 2 to system 1
-# so you would be system 2 in the nodes dat and 1 would be 3:640/954
-# 048b0203 is obviously to system 3 in the nodes dat - 1:/123/456 in our
-# example here
-
-------------------------------------------------------------------------
-
- Thats it. You can run this 'dos_poll' script from the maintenance scripts described below.
-Up -

- - - - - - - - - - - - -
Q 5.4 Door Maintenance.
A 5.4 -
Written by: Rick Van Ruth, sysop of Vampyre's Heaven BBS 3:640/954
- Ok, so you can setup doors, run inbound and outbound for interbbs - games. So how do you do maintenance?
- Again by scripts. Again I will use BRE as an example. First - I create a maintenance batch file in my C: root directory. I have called - it maint.bat and for the bre game it looks like this: -
-cd \doors\bre
-BRE INBOUND
-BRE SCORES
-BRE REQUEST
-BRE PLANETARY
-exitemu
-
- if you are familiar with Bre you will know this to be a standard - sort of maintenance except for the "exitemu" at the end. That is there - because we are going to use a script to start dosemu and call the maint.bat - - so afterwards we need it to exit dosemu.
- Now a maintenance script to be called from your cron or whatever - else you are using to execute events on your system. I call this script - "dos_maint" and it also lives in /opt/mbse/bin -
-#!/bin/sh
-#
-COMMANDO="\" maint \r\""
-/usr/bin/sudo dosemu -dumb -E dir > /opt/mbse/log/dos.log -quiet -I "`echo keystroke $COMMANDO`"
-/bin/rm /opt/mbse/var/msgs/*.msg
-#/opt/mbse/bin/dos_poll # Uncomment this line if you are using the Multiple host script
-
- You will notice this script starts dosemu and calls maint.bat, - and then when its finished there it deletes all those games netmails - and if you run the script for multiple hosts for your games it can call - that as well. Please note the second line is all ONE line, it has most - probably wrapped here. -

- You will notice that the script calls dosemu and not dosemu.bin, - this is because we need to tell dosemu to open a dumb terminal and not - display to a console or screen. By use of the redirection we redirect - the normal console output to a file, here I have used /opt/mbse/log/dos.log - as that is where all of MBSE's other logs reside. -

- Once "dos_maint" is run via the cron it will run maintenance on - your dos doors, process inbound/outbound interBBS game packets and have your - outbound packets ready to send. Thats about all there is to do :) -

- Note: You can make variants on these scripts for running daily - maintenance or just packet processing at certain times of day. They - are just variations on the information above, but if you have questions, - contact me! -

- Have fun!

-Up - -

- - diff --git a/mbsebbs-code/html/flow.html b/mbsebbs-code/html/flow.html deleted file mode 100644 index c9cbf4a2..00000000 --- a/mbsebbs-code/html/flow.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - - - - - -Running a BBS under Unix. - - - -
- -
Last update 01-Mar-2007
-

Running a BBS under Unix.

- -

Introduction

-

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

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

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

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

 

- -

Waiting for a call .....

-

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

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

 

- -

A Human is calling.

-

-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 bbs 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 door -in the bbs that calls a shell for them. -

-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 root are -denied access. -You might consider installing SSH on your system for remote maintenance. -

-It is also possible to install the mblogin program as the login program for -telnet users if you are directly connected to the internet. -

 

- -

A PPP call is detected.

-

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

 

- -

A mailer call is detected.

-

-If a mailer is detected by mgetty, the mbcico 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 mailin -so that another process can take care of the received mail. -

 

- -

There is mail in the inbound

-

-As I said before, if the mailin semafore is present, the task manager will -then start the mbfido 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. -

 

- -

It's time to poll a node

-

-At the time that you whish to poll a node, let cron create "poll" requests. -When a poll is created, the semafore scanout 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 scanout semafore is removed. -If a timeslot ends, you can just remove the "poll" requests that didn't succeed. -

 

- -

It's Zone Mail Hour, so now what

-

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

 

- -

Daily maintenane

-

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

 

- -

How about system load

-

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

- -BackGo Back -

- - diff --git a/mbsebbs-code/html/ftsc/index.htm b/mbsebbs-code/html/ftsc/index.htm deleted file mode 100644 index cfcd3560..00000000 --- a/mbsebbs-code/html/ftsc/index.htm +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - -Fidonet Standard Commitee documents. - - - -
-
Last update 01-Mar-2007
-

Fidonet Technical Standards

- -

Introduction

-

-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 FTSC -website. -

-Michiel Broek. -

- -


-

FSC Documents

-
    -
  • FSC-0035 Transparant Gateways to and from FidoNet, Michael Shiels -
  • FSC-0039 A type-2 packet extension proposal M.Howard -
  • FSC-0046 A Product Identifier for FidoNet Message Handlers, J.Homrighausen -
  • FSC-0048 A Proposed type-2 packet extension, J.Vroonhof -
  • FSC-0049 A proposal for passing domain information during FTS-0006 sessions, B.Hartman -
  • FSC-0050 A character set identifier for FidoNet message editors, T.Sundblom -
  • FSC-0053 Specifications for the ^aFLAGS field, J.Homrighausen -
  • FSC-0056 EMSI/IEMSI Protocol Definition, J.Homrighausen -
  • FSC-0057 Conference Managers - Specifications For Requests, F.Fabris, J.Homrighausen -
  • FSC-0059 Newsgroup Interchange within FidoNet, J.Decker -
  • FSC-0062 Nodelist Flag indicating Online Times, D.Thomas -
  • FSC-0070 Improving FidoNet/UseNet Gating and Dupe checking, F.Arnoud -
  • FSC-0072 The HYDRA file transfer protocol, J.Homrighausen, A.Lenz -
  • FSC-0087 File forwarding in FidoNet technology networks, R.Williamson -
  • FSC-0088 Compatibility and Link Qualifier Extensions for EMSI Sessions, R.Williamson -
  • FSC-0091 ISDN nodelist flags (rev.002), A.Lenz -
  • FSC-0093 Reduced seen-by lines, F.Ellermann -
- -

- -

FSP Documents

-
    -
  • FSP-1011 BinkP - a protocol for transferring Fidonet mail over reliable connections, Dima Maloff -
  • FSP-1013 Character set definition in Fidonet messages -
  • FSP-1018 Binkp/1.0 Protocol specification -
  • FSP-1019 Binkp 1.0 optional protocol extension CRAM -
  • FSP-1026 Translation of a Fidonet Address into an Internet Domain Name -
  • FSP-1030 Unicode character set in FidoNet messages -
  • FSP-1032 Binkp optional protocol extension Dataframe Compression -
  • FSP-1033 The ICM Flag -
- - -

-

FTA Documents

-
    -
  • FTA-1005 FTSC Product ID -
  • FTSC Product codes list -
- - -

-

FTS Documents

-
    -
  • FTS-0001 A basic FidoNet(r) technical standard, R.Bush -
  • FTS-0004 Echomail specification, B.Hartman -
  • FTS-0006 YOOHOO and YOOHOO/2U2, V.Perriello -
  • FTS-0007 SEAlink protocol extension, P.Becker -
  • FTS-0008 Bark file-request protocol extension, P.Becker -
  • FTS-0009 Message identification and reply linkage, J.Nutt -
  • FTS-1024 Raw ifcico mail transfer protocol -
  • FTS-4001 Addressing Control Paragraphs, Goran Eriksson -
  • FTS-4008 Time zone information (TZUTC) -
  • FTS-4009 Netmail tracking (Via) -
  • FTS-5000 The distribution nodelist, David Hallford -
  • FTS-5001 Nodelist flags and user flags, David Hallford -
- -
- -IndexBack to Index -
- - - diff --git a/mbsebbs-code/html/ftsc/index.html b/mbsebbs-code/html/ftsc/index.html deleted file mode 100644 index 45316b17..00000000 --- a/mbsebbs-code/html/ftsc/index.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - -Fidonet Standard Commitee documents. - - - -
- -
Last update 01-Mar-2007
-

Fidonet Technical Standards

- -

Introduction

-

-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 -FTSC website. -

-Michiel Broek. -

- -


-

FSC Documents

-
    -
  • FSC-0035 Transparant Gateways to and from FidoNet, Michael Shiels -
  • FSC-0039 A type-2 packet extension proposal M.Howard -
  • FSC-0046 A Product Identifier for FidoNet Message Handlers, J.Homrighausen -
  • FSC-0048 A Proposed type-2 packet extension, J.Vroonhof -
  • FSC-0049 A proposal for passing domain information during FTS-0006 sessions, B.Hartman -
  • FSC-0050 A character set identifier for FidoNet message editors, T.Sundblom -
  • FSC-0053 Specifications for the ^aFLAGS field, J.Homrighausen -
  • FSC-0056 EMSI/IEMSI Protocol Definition, J.Homrighausen -
  • FSC-0057 Conference Managers - Specifications For Requests, F.Fabris, J.Homrighausen -
  • FSC-0059 Newsgroup Interchange within FidoNet, J.Decker -
  • FSC-0062 Nodelist Flag indicating Online Times, D.Thomas -
  • FSC-0070 Improving FidoNet/UseNet Gating and Dupe checking, F.Arnoud -
  • FSC-0072 The HYDRA file transfer protocol, J.Homrighausen, A.Lenz -
  • FSC-0087 File forwarding in FidoNet technology networks, R.Williamson -
  • FSC-0088 Compatibility and Link Qualifier Extensions for EMSI Sessions, R.Williamson -
  • FSC-0091 ISDN nodelist flags (rev.002), A.Lenz -
  • FSC-0093 Reduced seen-by lines, F.Ellermann -
- -

- -

FSP Documents

-
    -
  • FSP-1011 BinkP - a protocol for transferring Fidonet mail over reliable connections, Dima Maloff -
  • FSP-1013 Character set definition in Fidonet messages -
  • FSP-1018 Binkp/1.0 Protocol specification -
  • FSP-1019 Binkp 1.0 optional protocol extension CRAM -
  • FSP-1026 Translation of a Fidonet Address into an Internet Domain Name -
  • FSP-1030 Unicode character set in FidoNet messages -
  • FSP-1032 Binkp optional protocol extension Dataframe Compression -
  • FSP-1033 The ICM Flag -
- - -

-

FTA Documents

-
    -
  • FTA-1005 FTSC Product ID -
  • FTSC Product codes list -
- - -

-

FTS Documents

-
    -
  • FTS-0001 A basic FidoNet(r) technical standard, R.Bush -
  • FTS-0004 Echomail specification, B.Hartman -
  • FTS-0006 YOOHOO and YOOHOO/2U2, V.Perriello -
  • FTS-0007 SEAlink protocol extension, P.Becker -
  • FTS-0008 Bark file-request protocol extension, P.Becker -
  • FTS-0009 Message identification and reply linkage, J.Nutt -
  • FTS-1024 Raw ifcico mail transfer protocol -
  • FTS-4001 Addressing Control Paragraphs, Goran Eriksson -
  • FTS-4008 Time zone information (TZUTC) -
  • FTS-4009 Netmail tracking (Via) -
  • FTS-5000 The distribution nodelist, David Hallford -
  • FTS-5001 Nodelist flags and user flags, David Hallford -
- -
- -IndexBack to Index -
- - - diff --git a/mbsebbs-code/html/images/b_arrow.png b/mbsebbs-code/html/images/b_arrow.png deleted file mode 100644 index 91e6de1b51c98e8192cb8e62a72291ffb3468817..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1028 zcmW+!TS!z<6x}&9&N$9XM;&LJ8Ry~Sr^q-`&`&61IvHl;qeO!8;|P9KhJ-)G#ll_? zMiHE%khHH#NFpi_=C6eFCj>?GAcDd^ri_XTcI(^&_ny1YK6~x8*1i||`?~$!n3stB z`JP+>dm2yHM3z;=dQ)6{QF1sOPN&o5a+Q~tyWMV& z$5T;J;q`heD=U3IpWp8f1OmZeFcb<^RaI42SBJylnwpy0+Sx(o0^)Mo12LQkt9+?+I$K@LXuD<5VFZgK~j=b zBsEDk7nL9-NhwmA6r+x`AT3EN(wa0A3t~yEh>-v)K!JiXglsyPC52EzXd&1%L?oq< zN=PjvoBl{DDU=dQ3&n;G?rJHt5?Tw*V24t{Qm_(e#Ape=00Uj{10m$l7}$UY7K+(O zF)@~sQcKB38QLOJN-8ZC8=+uNh8M6O0lsJ`p_1U)=D!RggRYqd82l~G&o5e*#rV(hQ`j4Jd|{1v4jsk0XR6RQU>_j=_RPu% z&NhwpcIW84E761Cc0SiJIQ@F%+QWdA^5u?g@UBM#-Ln_VuCJ9no1Wdhy76iv^LVK3 zsrTpJw${ye&qj~rv(7{+I_ECi9(Qe|I~@c%XB1e@ok*-}^p%y))*VEQv4UU`qL}zT8sh;hF#JX099n diff --git a/mbsebbs-code/html/images/connec.png b/mbsebbs-code/html/images/connec.png deleted file mode 100644 index e9107d3f0b2a569c8d6852197f901e2f9f4d10ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1049 zcmW-fU5M6I5XL8DVO`J!gTPo(GYaM=$_w)%Sa~;HcU>0SDZ7!)G$W!2M7;1~=mS=; zWc5lb6Mabz3zTIcp^F!qe(yQ(=lti)oM)bSo^yO^a>uHn zbweVuYHVj`5BsM6H@KpIa;CQ|vO=aNrbh|Aecm=Fa$jWqzS#X~*+fDlDNr#LR|%C= zDHSm>6E_KyG$}%ta7mW}D#SuOBtkNz8j7WON~B~;rC5oVL`fD600V$aRFN@JGc{KW zwNxu5-(PMPW@%QfJ+ZrmTe?+aL)yb4EW@giquSFVEz_!T<+7JWS(a4;f-LM{BY<+MrI4a0O+W>Pd;ON-p6-Qe^d<<8@C>ge0c=P|dZt%X1aeeId6rib2<5npLP&xP zqG1}Y5gMsc+Ep z_4m7fzB)3xboPPE(}y;GHZ^g#x487=$-lOIcXa)c%_lydUwviv?t^P)Kb)95^~e(! zI@_<#uB`EU&usap_t=j!`#%5n#g`r*-yhxUn-)Gj^~JfRy+53uxp?jM1Mh#e_RU{! z*W7CtAAWwXuD>vTdv5KeJHtnAu3UKTGGw}qukheodMI&=TQ&Ho-7`smSz Ppf6*ilb!kPGjIJ5%32kX diff --git a/mbsebbs-code/html/images/domains.png b/mbsebbs-code/html/images/domains.png deleted file mode 100644 index 31ed8cb3ec0d11130a12cf21d865f13a0f986c86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5379 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 Z)&Z@AdA+Ke_c#9@nVVP{7a3iO_$T&eCRhLf diff --git a/mbsebbs-code/html/images/doors.png b/mbsebbs-code/html/images/doors.png deleted file mode 100644 index 58d9a8ae1739fe02d32d5a004f0ab3ca893bd20e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12601 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

mbUcvD{U5&M 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 NrmCJwrIO7*{|!jc|AGJj diff --git a/mbsebbs-code/html/images/dream1.png b/mbsebbs-code/html/images/dream1.png deleted file mode 100644 index 3752983232563226f3999707a48f712d9d07fea0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119883 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≀q+dFPP?a7SuxBnMGqDt)nuVA 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⪚7LrUynK?SiqJ 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

;v)KDsg&**|G}o@NxH`p4O@!l(IUV|L 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

2es>f&d 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 QEC2ui07*qoM6N<$f|Vbv$N&HU diff --git a/mbsebbs-code/html/images/dream2.png b/mbsebbs-code/html/images/dream2.png deleted file mode 100644 index b5f314e0e86044fe854b324e1ea62d7796d9dcfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108143 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 z 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 X98~p^7^SE800000NkvXXu0mjfbuWS` diff --git a/mbsebbs-code/html/images/dream3.png b/mbsebbs-code/html/images/dream3.png deleted file mode 100644 index 408bf81bdc37b96989b00d92ecdbb8046b6cc41c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 115790 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%0AA)z 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 fzd!$f{`3Cf7 diff --git a/mbsebbs-code/html/images/e_menu.png b/mbsebbs-code/html/images/e_menu.png deleted file mode 100644 index 07d92c9b4c597cb23d535e9921e452b148bed2a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10489 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 AoB#j- diff --git a/mbsebbs-code/html/images/emareas.png b/mbsebbs-code/html/images/emareas.png deleted file mode 100644 index a41c8a6fd7be124126100c480dd3cb9dd924eb13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13897 zcmb`uXCNKX^EbXqf)IotTJ%eZ-g}A8C3^4O)q5`?qJ#v|u5uGZ@4WyR|NnxH*9pU zr$@JT6>Ko=q@mIPQ2hZHW$^&K7xI$R_tJ8;_42jwumSXSX?1NpJRMwJXn8rfxh!aD zHEn!EXt{Yfd4xHI`Dj@{3bbw(URL(B+#EbFmPt620Du-yl9kr>%i7NlEGz8upWAMn zUlt-`t|n%#Z<~kfJH&FL?Q1wVz|c5KoDwA`=_BbMDZ#Z#LUk68D{`tNJv=b+ur~c>+R=2Rd~~y?S*bc)!q& zp~u!8Ha0F+KKFFIPumuH zelvU~6MYein!mcLRyPxr1O@wdv-5!@WiKun2bG9d|Md*-nAk?_{rHzxyNwG9@yq

%7~C=N}}4Z~74J^d~CPcUKCPeHhRG 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 annouh;2~X$cj*MX03|s!*$Nr+H~$Cr(=^Bc diff --git a/mbsebbs-code/html/images/emgroup.png b/mbsebbs-code/html/images/emgroup.png deleted file mode 100644 index 840335a625c7990b9f8f3eaaaa7204bb243efb7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13665 zcmc(`WmH>F^fr2+0xd<_A}vy&rMR@XQz%}XBE_W;T!Krm7AR1l5HwiP06~fuhf*xK zYp~)HB)Ei|-~WB@hx_fW_1?AaNmfqItTS`w?AiO7y`Mc3p`oTg{E+$~006{Fin3Y& zfUg1oc&>!_xDt|wX1=)7U68b@Gyqh@5?!0$!(H>b%jvsoJ6pSZnS-qWeO(4mE3lib zvl9a!_uDt-Ty`Fg7S8gv-W+mHHVn?z47_jN2;e?%-_Y_60{{b{BrE;VJADrY`SC&l zvUHdUT3oE*C|%&1i+|T6UmN#E@EOe=&-AARchkQ%J~Udv=osTCBbXj~9UANRWt zeb_(K=AJ?q!r@t|Gw6+}u`xPA#;;`dbxuzK;C!V*Op4{}CZ$XXs$p+i$hdJUen5xn z0RRwr&bQvo$%uPyY=qPp)*1U>q=o6WR&Kw<1Iz|;7jM^Fy6MsXRr5YPZDuLvCIx^= zPJ`NYl~*iZ35&UifS(I$bW;A?o7Ltknc0V#!6U_<-$loIYS!z(;rllT;%2|@t}bg3 zh~CDO|NKaZjZdO}zndfTJdK_{%gBF?hbHL`Ff7d1O_C)l+U$f9?Kp1q+NYE`CXPvJ zwRC7~h@+`rz04(rtRydBC(Fvpf(=_+ZbC6vN$K=+nB&8aH0%9 zV>z}nl~yYx^X+73YHy+0&&;O!n$B`=$W!k=23CZ|F5lT``B&cRg4yAj1Gk5HG&YlooRBKSS1X+Q=cBw<>(`_tL>tDNXn~+E+k1!lJ)e^q2$73#Yc=V5A28leNj zx}C>Lh*_{Dr?=X6&;&Aibhpd(4f;$7EGIRep*(k&+>TMl1YTO_&Ru3I)iT_H*RgaF$64S{(%UD*cj+O`(b3_dzo)DR4+0_1Qvwe*m*B{ z)`X0??X4*6+ufro-^I3DDs*rK-j+7PW77#68gPB%Bgop?qVYcoZ9bE5-90vHoIn{~ ze+%;Pp{e&S|A+1N?8zR%{W?6-@}#9U74+y+`0}m<*H4*mEa*nZtHl8KKC!^&*L%;f zqUCWP9zJaJy_7HWUaSbjnwh#3bC3~u`R50MXW~-tv=^KmKZ>!s`Wy5?uWaXPU`H1n zus+NacxVF z#XY@s8Or3DZ*2AQR`Ob0T5LY^XZ)*bI(InPHx>Qpv}NtA#pi0@nL@^Y#a?W|weu3K zyTjvjqj}rb7Clu$Dtk3_Yu;T)FR~!ikcWVqa;r1^?PF;yH&_f@3#+JTUqCDbepuYh zBcu6B7I@k!RkIVZ5zaicvyG-RY2haPyWavi$>Ts z{Ibrsb4hPkot;ci%Y<6A2wnU1T0IVW4pYAjwOkEQU56u*r0VyVl5e-d%YD{nY04W9 zR!8;&4hf{5oA?&+97;F`bWXLn1*)qL9o|v*tZlODE2iJO?43w9ImhnsECe2O5_n2@ zPOK;2b`2RFpEzbc_#2k}+CJyC2uO1((f+Dz{!N4bNE?PAHsECNs`WJEN}bN}gqUZW z=^P2df^h9ZNTm)HvTl=Y-@bj*a6Tm|;L$mYMevxo-6YavE(D&}UY!PP#8G96EG(j= zjLbLK$tov|*`B~?*ch~Ty%*N)@fp!KM_Gi7xEjvsjTf*BpF*P4QRA7%w7&jjTrpm; zt^T|2&d!0R_Ja0MlHZdgA+Z5#!9=>mx5yK{`_czPUZ}Iwp#XD-wJ@ohQHczBv}G1{ z<(2xbVZexhv)=$U<6qLiYD^E&kmPU7_yr;v+rMM#I<~kl?scj(}?1$Iu5wk+uMyxp#}6T~^5QUzQ5k_51P^;TztK5YBD; zV8AtEXSMj6&_e8f@XM@e`L!63R;|gUG}PLB+yNoi^ijw0fAD zn!2#j>S1va)}BaZC;397QrG#mH+${&yjj87yU&{OZ@1LR3^p!84k1LsBT)xsApASM z9sLhsTH)@mL3o%X)GRpfb+P()1mY*3oaMu|admcM<6^P4g5jqAbXYl<)O{++b)U*B z0NZP+-k*8XVLR01%`Qw<4Ki#`<@%uD_m!;i152{>JP<#(3VxVzO! z)#^WU-j>}=ij(YV>~K%E1tozJJ0`+IkKJpY&tp!)^b*<^=#)mbg64rRk+okKuAmYl z;*7MG)nE9ouij)yP;(l%PDJyKsncC1OYOnZ9?PURoE2o+2g1F)|7=#_=j+!vTpLf7 zq>K0zm)C801!D9TZsvqeNMas+SFN3UNhs^J*k-mr8hmIqL@!?JZ*h*=zbW0nUdqny z705xEynQR&bUcqYW{|)@QrByw{+n6*4bH3SQD1GwoI{YEzW84Ar!yO#-2_V9 zhIO`M0{b!OCyLE6!R!SO^U%sZ-4fb$sGI!QCiF&~2X(D31Nw4B!65isty>12r8_Fo zt%|Se>?WTuq*JfCt}gJmS7%tg-r}3O8|@p2goK1~_x|k;cIvj6(AzA?fDr!>p~v%L zcjux!@OrCHDC2f=rwp5z75HysU*wID+wM|ScelcQ$%BP6ai68X8wHs+M;YCVXMD*4 z*RcT`G>a_=)I^=@O+8ha)JCQ0rOU7+UsB}+Y78|tg&L#68s9BNm!V%=fEZ<6P8oeR zrpnq6i$F2+haLL?o8|ld7<<9%V~VtZn+!u)L!+zUG@j<&klX7ry_=;t2+s>Cp9_wp z2aL5+zc57`Ci*ocC%rV2_hcLbz4r;68!(1v;@+#%Du@Y*3hdEx{s!@P?)5Ezouy8P zx4twUCqL7=t=e0Rsf8HsADc&a?%0sYA!cr}=^oan2ot2d$+sxb5fJpO6h9r#v$eW7<~^oRrZvBsuN zCx(j+_SYWCjxC3v@|%Sib+p*QD!kS8I4o=SJZ#G8v5f!j{_XYpombs4v;kK;LQOXf zh>h93?yQ;H@dx`azxhA@emj4$?|^Kt=xu3_i+hcTrT0f? zz3@g)Hn#9fPB)-y%F`uWKc6jZyqM;5J@ko^4<{g@lk~;twcbc!cgJ%325DgW*sZx2 zH`{bl)0m$3(ufI^5P#+8leXzfoF)5)cO|?R3Xbm-CFQv&I!oDGap^uuHbKn4W!7)> zm=kk4KLL>rbYacc4;!bl8UpQZ4@Ua}7^(4UH`MB0T+ip*cdKPdLN*WL=vLx`C#c|* z)Gm&m>znN?UUdF;dSuo2yOQhFvqXKDQZupHhXPc!4Zb82H~+q<<7`(#pk@8f@@vEw z-LrQ13(3nrV|(>8KPTv_4RUerL8-o!nA>sNKQU|dOnrZJL4=!-$H^(Zx4*(~IYQUX zRE5i^DmG6Exkr zExW6S9o+?489uJQF8&v7IaZMOQ4M|sPqJPD`C_%Vu9*6GG0*)4iQlX9M_!KtAVTIPd1XgOvW$OrJk- zp#fR-r2=!;(9ASSNcfGQh?lRYi@zKWI=syCyj-dga4$25qt%L6cPu~Lr{vms{%nhe zS}ee3vFM+|S27gj3$FZ1o^oiAmN>)=eY}h7sIi2EG})sV9@08O#)hl=|GoSg{>d>Z z?n|s%k|N=%LdYn4b-de)#tAwi(G9Ndd2)Of%l-UW+AgknG|jVT8RRnVXQcO~yQCe0 z{01@_k5rh>uH(i=N(tz%!-TJ8_rn4ugezoHr}{CmYP2YymA?_%Eb3|mPosox5Dr#& z0Dt$^({PYUf9-+l;(@o`t<8m4nBl3!;lYPEqmuS??=_Fh-TO&pQrwe7j18eF{G9l} z&s2juxhuOcN9N10Ax?7xY|LA>axz?8_jQwwb}uoBsdOVoa~lK(0Pi4$c>r+sAYv?Q zEe!lO%FX!qT)2t=4}dxP`Wg_rV)kz68(+i^Q)Jye}NexBJ@ z`Pr37(R5g2T2_7tJzw|4c;%5wna}nWWS)pvqPd8RHa$vr#iM7~*C+CqPKp79^{hky zeChoAGUgRT%0$1f$F#8YII7_ECAFu^>#f}dHaoafm3MSeKjTht!iM%|5k@6c5V%9* znrXv2)6K4AGN?ceJDWBuWb;gX2C03azE0uPjuLx#p8!en9xBdN%P}FSDH3C19E>6n z-x{wSF%A9XtW_N{h>C@?shqpn@#ILVM^A&OdOd7d@_RKCdizN~>pPe?nvSECVjfg! z)mF+`@M7#g@-Rcbe6sg9^g$lV77)Hq)n7=-)qblyQ=dE@WmBfeIgu%hF_laVcg?42 zGk67eh+HlBpr~VFTPc`+0ZtMsnEW0_x*C5}vVCY+qsNB`0TsO+5?0OpP2NAY&=LQT zyu>^aUbkw{II_|D(5hADXRNg{_xA@o1KF(kIs76&l;(5iIWCPEPgt#voQG9aJzhrS z*-4C@$IajS;Z-g!|MsJ~2#1uM4*AcJv(@+)y(t9zs^s<`<|kTpNfK<^K{tVrhfb~`LghHMGB{Upop@4t-!;D zH}lREg@R#G(b;uc%dm}4jzo1DvFKBZkYD#Bh_64Oo?&TAl`Po=2zcQlzS8UTe74^$ z>@q)*e*WX{Ma5=J+v9(hC#@BO{=s{fU>&kms{^Ncem<;u;An~w`bKQnl2=7OheBQ? zgm3rwz?|J(-CuLCxdoo$bMk{Ltd$m067*X&FVs^j1ypP+JDKWevziqv_~=-*2iMm) zkCYPOgH1oy33wNAO_Zo;O_b2m7G6xP_-tE28rzsu4R4uHyGe_1Hmg(d zv{%mlqV4cJb+F=CVI=SEj09W7k>&mNU^OvNJlx;iD)UIbo^FD6@Xb(O^vK?2?qAPd z_btn;9;735YlX6+o^G*HLb%G+??5YLbI6=mZ?;6n?3XiVR!Ji~iSL9wl}fTmk@*#G z&im&bS!8bewX@Xi;u1n; z%VmDDdG2n|!Ut90K2d_+I<_WW`ATx8?`zpzr`nZm+kceL3tBEzVFh*C>*yj|In6a| zcp9wqpq_(AZBHQz>6PKiF*KrdL6;8D%gLM!>k7#_o6I7eddc7>iJGxWvnGp$ZGDHV zelasgI*zRd(6&ACZ4HU42b{*uP3-kjm3#|r5#&o)JG4}sh~#pya-W7%Iv2a9+ zC%$?Gli_>V@%5;HJq6UlTV3P!StxP`+rLdy|8c;su99~@ZfutWvovCmnvq{7C&mT& zSw5+XZU~7@hMl_GWy({v1ao@nt?&GcryoqLa(1e1I7+x6ADaI{Ij8||7g{glw8QdJo2>ZmXf_}nG$L-0G-7J4k${G!}BS|Pvuis~V zIugW5UD*3426-^0b&trB0)L>Jzjxl>i(_Lf?_ixK(I~H7NVo_u1a!n4fP1HBW+f5}mtMQa`gdU37(X zSKff)$93826bz+BQWLFt7K~GKLpchU-q+Y*l6VL@Dqk19KVtyi^(r%gW?fx9S$vlK z)=Qpv4yAsPUXPe5V1AeD$hNOBFJqJP?#1b$i8hD&C5XKl>oqJ872bY zfHIC2Xfu?>IRVa(d+~rKx&OZkJ-P#gzOSmx*4wlt!&;#FSt>CMmgZK!{p^$>MHcjL z*aG(Ql(^naMz62&&q$oStH^?S5(F`WDSAT_t+hJ2SOm#sWrgH15m@{4DzK$p+^Vva zulri}xWo6ga*+?n*doq6YcJ>>wp94tAW;N1HNAA6T9XYfSOx%5IHjt6DdJY+n645z zF2b1M_JsK9S~T;gH6D(eNZ_Xygeh6)ssu)BJfleETu&6x?_x?V1rVho6uG}!mn8qL zHZUCX{X_+UrTlw`L=g#Ah(zK69{=9Nf1nduCdQa?7cF~@=zU^>83|931TE6Wl$9)7 z3hr1mhb(Kz`&bfi5daCj7knZYy+3kKV-+-jpcLNB-mNhOnx>Mij)V%js&!j6lD-^A zPnXkBai83H=KLc|*uGQzsJ|Cr!y3+)X;W+s{T%ij=FBf;#IL%oNY;VRicwKbEh@x8 z%k?Ip;nr{b065UaEI{u7ZDjx7j{2Hpd>X7$cUoVU(ydI<@TK!d=CZOLV3;Z9RsDM1 zd$oJgWSRY&LnEdgNjwd&_Gp0=m*>5zsu5g{ zrblVMNQ|Ye5LH($`J~mt$UrLhc(xl1)=u`Vu&^`%GqI)wsveE6?xJ0Qbg*E9$ND(2|jM!%O@K#YNK5fQ(DD}Vm=c4j*7$-APn*rUzPDDtQ< zZA@O#9q|g!o!Umvy{ydt4oXb&=J>7D9YeP$R*aGXx48eBQLASC)%eGi`4rs^CEFqR z%(EL7E9T2+F!m@ohbECN%K0OuK+&{ktkcoks?5*8$++!^q-!4?E^%XzollHOIIkXB zO-&#B7ikn6#mh9>17TQ`CPEr`1H^0CRHK{laDLE}J{!2zgwroNq_3n zDuC4tg`=uWCr$KUb+u2P-2qCss>0FKT({V;GmmG@*5Wa};nDfWC!BahvY*`a zW~ptT(B*tWc#;4bQu*Rgw-JWUFsx8|luLFsS)Nnq&~c%bB$>J>Ue@od#!=0ld{cRb zv97#+O9UCK*A%BJ!@d*erGU%@eod3+BKy}{b{6O&J2W=4TGNeTZKx=VRT~#Eef%{t zaqJ1BrF+->8=_vum(kj(L%8|~n)LY1e4)sX3-pnc)u-PKf(MM3|G{PMk)A57P=$b3 zs-aO_^`UcsOl77h=Fgo%qX-0>G+!n3D%KUUBZsi7ottJ|J3nhOu29`WREK;_A(!}JlQ8Ano!dwD}+HFmKiZ9n?z zIr<{3SC_A{H+dIFxF$(IzSGw;=pE3_M0%CyL{B6=1*nmS ze&7M;Z~z#<;U|Z5j1Hkzn#m3aP2o6N1wY8tND|7y@?Eg#9)Z!yN{b+r+@mMMnhyZ9FpY7&Ro{o(2Sq-t zFP^L!8n(UpgqC~68^CQK47e0Wg1~aRj6YI2g&E-dKFshTzHa3G2NvZ41ic6xu~2FL zpM|LZFFAdz<`o72bj3qFoPU8EoT!Q#GHLh8C(xPt)!+<|ZO-Uu(GdsED)IK2t?WJ? z0MK6ryIW<<#`{Lru#PM&O?TP#J-}hZ6`u(8?Dw2#1jF|`!!A|>-YaDl4_K6wNXgTZ zIaHw45;f_y$;>|=-~n|;%`8-Y%%Gjl-_sw>Gj9861iB|!h7+_?NBwhkkN5WTvid$w zxZ?f%z3B%Yd|A(X^`K8A$?L<@o&o*QM4f`quV^xy$b*Qvr=V^Md@{TWQ5G+(8a}~( z7Q;=8R1Lhd6WL~Z);;6d-+(;f=)(ef54HPh;ORC_}^N9gd|b1 zh~?w>uzQBj5M;mNq6KDH0UBJ}Xm&3vh5YocH@kiAMmSvjDChHdrl$+$aJR%}oKFOE z!7ipU`=`XA9A_pj@CyW)dk$hSQ0brKaX266_b)nx0H7vdM-h@IzUI%%MPer0Fxt+3 zcch$XIn5>5jsky89tbj_7+O`KM7|y3W8=U?!}jVi{C#h>_>boCfs(>a+yvXsFzI$5 z;7|W|wu;ouGtbq$3k3cz^&5OC;-hGOn4)ycG_-o}&Pwe!m%=EG(ysvU!bPNkH`4qV z2pUa1$}|#TB-b>MH-Dt?jG#>~8g?lAN^nkhdlo;HS-qlS2>^cjqZRa$D7!j+Wd+9G zgCM>e`yqGCjZC_ExB-n6p1AaWm(KJ&$c=$Zn-MW67xeGXJWfFK*fv`_hn}qo^!@KJNWT$vKDw2mrZ@xu>b$WW z$V!sfq!UVaWIj<=901PP4W85DPXAfx5?AtmZ~e2lxCBr;)e$?&SY$)-AInQ6Q5KOw zok^Nr|7*>bKMB(_FPe#|13#?(yzry)v8NCjiZ|UT-P~KwyJDH;OXeRoxTS2pxUuyn z?UQ5wGqb5og)tWJC*gW+wdnj$>?`y><=P9E1pfDiS{CwxJ`7v?#@KA{Od_3<;;oPS zNO{D$5LbsC*Q5*OzSwH2QDT$hvO}j!<-M680c_GQRzZ=DKaJ0g2x)5lRnS8Z_sx@c zdMPgcSjpVR8)?C19c)8X_NUn}{ENmpyR;aNmBP6#_|ip3JEjenX*dVK?R z$sq-kd=+<@PvVcT{Ra0rA}o=<>SdVHZl`3Klx#`$fsf2`B+>WEa{PiocL#g*CYwk; z9gMx`L=V;G{i%Eqp3AXT<`y-zkVnN|W5p#|^z4zycDZ0HEw@$msWQ`lyo=PxpvS|N30Wm!no) zaIgg=QO@aCSEYC0tmE=m%t+#h>HFm`GbM}e{61X`M3s_+A5R50V>3Ox67>~oHBOwO zx^!Gb?w1rSJUa5O%}bM(^hM9fFX+d<-N{H}YEq~6^h<#%xcn{qRv9|B_+fo$sK4A} z+woPkmvMd0#D@YgxLI?8$JzYaM>7iikKfbqYF&7w32|UhNab{Y`cL!S2Yi_T(A4=q z$cTdsd>;+xZJSVV15c!c{Hfbr>EqQtb!BjCo=s&gYR6>agMkd8F5~bxV|{s4I{XNG ze0bxOmMa3w)x>#ky1~+3Bhraj*SCdzaMK=Z^Cg>;Tx23mJ4OjE9l z97p;0QqxUy;n&wrPR;T^Ktt^^x&hD*c*36P$$ML#$K4*9aHr9MyfB5V`?jZxO7~+Nrd*P*u~`YM0W$uT9?|&c%F(Q>o?`^ zX%Ci@db%h4z!kRXCH|z5&9v;T9PIQ{OzJ*VR+-2I=5AGPdB2w9Q9;GBr}3GIJprhJ zSf>CKCjUFCfmsd~2$ik-8=$7V^x%Sg4WX6b=fRzRLI0b1X!Eu1!lO?dtOVjs5=rD2 z3N(xsjkbiYX+Wv#4NM-Xr6~lwOkvu3uCn|z=bG>MR|evCKpSOQTS93@#G*`X%(ht2 ziNNNiu@wz9f6G%~Q>sljo~*$JW_f5_TPq^7x6O858`f^3zv2_bXZ6aN7TY(K1WKn4 z=J{AaEjD>vW4_GRzA+Tm9A&>N!b~KzVNtuECw^kNk<-m9mXkHs+s7j777bo}1PgDe z*m1&IIHMD&k$4`R3j(?ef-e?69QDxMOxr^J*tTjTj0dKJwG>ui1a3OvkQU;00h|^V z@Ivi+#%J-b-8X4QTT7dksI7S={?DoeDA9Y#XbOLJYKOr$XtHCu2zWupR3fg7T}%_F2?7mqWC!1p5g2MC3XwLNue|)(XE3xZP4>g zyYLSO@?EY~)IN>L!Cf&aC?6A;oEr-7r!4m?k+mIH^3@B zjs%~n(5(Gg_3M7!uiV<$PT-*MpAI=KR6SoSsy$aJTk;rkXXuz?7O)ycboa_dF3=FS zJP!iPEkfhLE*9)D@j zHPLK=jE$SFz^YkA(D}?Rn(?l@J?Z=K2G@x%q;c@8xP{~bBMFKOVv;sR?^7^aL z_Hkx<#7mU2Qe6IWfA~5ZA5uJt;7`}uaQ}dAni8`mG;JJ@_&zM(HqNNvV%-X9+|N?Q z^V_5yA0%-fS@%%d-OH!^GI~Vkv?qe|EfPP%+U`ULI2pk)KZNy*Y@a1lA$#5bxHu>E z7=Q4M&kLeo*Ql@05!JeM@^NxKbF^!|+l@31eODg8-?t8(Nz3c+yKPk;m|5lp#)uB#Howy`&}i4w=)$1vyU&M?|Jd0fZY9#^;AieTG#*0nUZm`c~OLf z@G(tzhrI5$JZk{yv{C_J`zdFfVkRtm-k@<5vS}!=fY|dW2Njio$p>U<1R?kxxtMCw zd|X|8su~rogrDidOe(MP^o}iFmmDYlwo%Pq)K@_6ylCdu9Rvx#avPOiJGQ`{OzfM? z6*RoS5fyA{q8F!>4@#{$txB55uNiy75hwJ7NFCICq8i6zt3G(iXAWbRcSUB-TB`La zr`miMNd*9Ni}%A#4J2{a^U)%$5c_kIJh0JUd#UA)y?!>q=%i{%C?Y&+>9zq z+E?wj`@BkQ{`QUD<#!fc z>)blt9e+6@lFv_cpD&XlK}Q3+9eOWz&Ypz$pV(7$gx(_>1Vdz{dAR!%8XpE%K8Pq_ z6Q+Sw$G+XlHYlO59KA=7fP)ffm-(dT_9f}jk%LHC;}34g=m=DBdm`6Rz!wGWdKp>G z(pZtOE|hZgTdB@sTVr`VZIUT}omASb?AK2L4~h^NWJEroexoJW@~g59D~_WmG!1_O zE*3SwU#eg(mwC7L`-kfZ%6_$vz0Kbv5=Zy{Lf+s!37^*%V1Ifcda)n;Ejo3B`?H{;q zn7SmvQ~rocZ8GoQS|bNs+Ji};8bLaQ^A*p+dl%LErxI+&EAOml>&GNeIx|^ia+BOm zL0F)bF>9Kii*!CmBiQrx?-Zz0LYT&wke_UMm0+@S2b)TAk*6V(`jaeU%y zZ@nOqYC>*LUC!n->rYplOn)vp94oIAk+4Q32&kX^Z_S9qHgFgU8&)Lr!k)kqJSZB` zBg`zP@20Lv*c^X3S<2t*&{H+WS?W^5onOc(9l|Bz{~IX)0I^MuOWv4K{GZYKy8a^{ zI}~F)NtBTcQiLSWKyS>;Ie~ZoWrXygFYDo%zU;MD6U920$Cr1BuGm-Ff~YO?m=H#(2;P2 zhTZ9HWnN=T#*uwUamzV@EX9jJu7yYKOEq_a07J4|jzmYT z$*|%v)hTn65h`aAWB$SmH9{_0+!A_yCMv|Y6Avfh^BgFrAmu9s2-kj2Kc8SEuc^JA z)?i-3(bDKRc$<{TW*Oig|9^z$gd-87D%jTHzq9PlzMOk@bc5paTrWj%?DYSuLLvm2N}{0!03_5Z8h%@af!rFK>yKaj3n4(wQ>M*f0$4Mj z09rGj)VU3A9M$dd#Uiw!BD1J_R&lh6+Jm({!SUSb=^LjEo7HYLqL`edvo9spG7Z8S zuLj@z_$$Lig(Y^!K0=c6QpV&_mYF$K5G5yoh|8VrQt>!lN**~$>zIO#$9Gj7xVGs( zkGFmeDqo2E4_Ce8{A`Bm*4GZ7$Hx=giNJR9NP92ZJz zuvv)2s~!oA?nYj9Q}4 z7^Uro-8qObq2PNxhY(GxLWzoPOJmf_`XBq7sV|aJ(tByS(!qdS4NDamS=gg%|Jd5( zS~Jy0gzEfWD99nE>=DiZEW}04n^Iedc>U%djfxk4kwv$%FZFJ8es#w4J?QpMzct8Frwg};A#J%@eSACj)T_kLp=TLT1m zlqG}niDP59T^4E1flKd&ZY13F1XXliH8ndg1Kz!VHkExQLBDmBqT<~(vS314l0*RG z-Ty)y@h&8eG5bHwDzo9J?%O-K^d)8zx>Hi{5D21Q!J!7Wz=1tIjVNKpty2pC!r1woop z5@{k50up+!$v1x9Ti-w6z3*D@{gj!TnLBr#v(Mh=?wJ%zb3-P2Zh8O!n2he|-30)0 zQve_frX?qh^w~BqkbWqAZkyc(fTj$F^ZQh!bLGeS_K&TDydQ_%2YUhbwgR?ZV2E!} zpn#l|jP!j0fxBLzssb{yw`5grsmKe6k)9wBeE+e>Ljf5n*_-ohQbqtE02t}rws}&# zF&|mS_ci+Gj>=V|p%21NAAFOqj?`S{t-k!1IxqN-$fX(a+XAl%pN%Z98cdv43aq+O z8&_a%-^JW^?9r>$qI^r{X!3!l{6cgKcq#TXXXbg*8-cu3vAgtKhQa&gkM3TVG;aM8 zc{7k;4^}S5jBXCEZw{ZtXtPEh4v(&f&s~%(tgolDK4=Dja#g#4ZZE-v<7dxCCL_rK zu`$%eTweEHo?BtWt@ZBh#Idb~*s(tOO%qhJ%*HPOFn)|1HnHA%I#${J4cE!~r+483 zopJHq4TX2vQjH~?D_P8S|BdEv4umWsD%zxC&Ia>hjsy75k196A0Qb^svFC%^yFZO&o(bp*f6x}IF9X&!HAskbbx6=~iNSbBH%OElpp4~i0sxUuG?`+RFGe5!A$;HJw{0&ORMU?a}h?aW2F!IHK9ai zIDvUlxPq@csDt&-=P=Zy6hGlxYbX~W-P3P?l6gT|xmws}i{?Qu!>x~N3rI-yY2BeE zWT)6!NO3ZjLvuTbfU7jCHZM_)JX~*u#Ga!;L?Rp_dg#0t%d8Q-+gsmJq+gMfN0dUN z6&D!!m$t;kvsQl6BU|VCc?1&FXL?bEe zFTd-~wC8cf*MT%F;0+CJw?kG&O9D#Pbp16rIzXu7p5_@69CpT;L>4pCw{3nm@ugnbpDALaqzM>CV25wLra3Nn^X4W ztUk7${rDD9hlL_+9-1dKz-OJN0VQS(ENhf$)Ym`acg$P1EtQ@5(C_#RDe7$m#QmLw z5uKR8h8foaFk8R6oN`sb*gGBD=X+!RxACh#Dgulg3<4vu1DE_yUY$y=V7X@t8f(X5 z&vb-Fiz6}LMmSmnyH3|e@QzI#o9#oVA6R&mzZ-NM#x@h?%fe3wDB4;XW?KD>6lezz zW<>nLG2o%82OT)lI0+&d13qvN8F1~{*^Lp|#e3mv9C-~e|51OUV)WLnUmZI?Q(p2% zk3sE7$w8g2)v6V0`Hx<^H#B$nP81Ov;1#fKO~i-?Exmk5k>T91nZl~`e7;Omg7}x} z(X!;wHx%h)uJsAh>d2NOjV`3gcX=Tw=FpZ@zNGl;Rjgd*$$MO%ZQ<)Rses-kp%DZE zt$oYMVY9o?DTSS}9P!=7CrS zyK5-tqr?OL(_ffh5lh$Ad)t zcw!~^1zvUz38-wxtzu$yXhUYJuVHfG76@_%r?is-I7x`Qz}VXg0~)&nLZ!W=DwueR z7Rpcuf8`6aXV5y|{*2z$d9JqkacMD`KUa8J*Wp)aNijGqHy|j+0~5)ya6YOv3*I;k zy{N(mX&iiG&_dw%b0wWLzstuG=05v0TvVgy+Yewgh#4t(XD6=JB6^~IJyyK45&7D% zp%(x$$S{K%``>jJ?;$|^5vzg+4jZoxv_y~6l?ZG63m*tyQg~V)Ic0+MA%wXDA{J@a z(Dk>fD0E}y01`PGbV8U|Yc@I9(z@8SX!=K|jRJ+B-2w_4X6NnkUW?6Lc-njp>QIZ& z!1`eCbWklQ0{6Yi&b1TgkyhL4r+=%i?BYvu8PSj!jPY;iIvj2*B~~o)Uv&x!rW$L% z`2FRtf9TwQrftMBRA*?4cYyRcr!VpwI+u&*8ZM5K6Ih*4M;sU_^XRaljG%7sBIwe{ zifiYFhUh}n-pIkh!Akd0Yg^#)L-$%B?zA}Ow8^KN0K&MTqSyG4Pf3#`Duu-I)+^WfDf~^8X_l56#KT%iXHA&v(cdc_ndFn7?W9>Aw z(ssPr4z2o`hudM7MQWQZ{MT5IOW`@3r+ym5?mwEm_ikb$7aP>)DC@mvK-}1>`(*tg z`u*Mo-9k7Kv>VHgzSys`S)j2S9CZP2#2vDIsQ+P{q;yrlOhlB033nd@l`l*6w}aW$ zbcKe$QdoEuS{e22b949|-Nd!C)Zrt!Z8I?f9F|PIC!kQP>H?QQ7h8RGlLhbPI#0io ze3#1-1tG~bF;%t5`p8VGsAJxL?^tPi?#Au}BMe*Y98Q0h>00Q})wSFwe&cGsJCZ*6 zQK`cD%6Ghm(d_EgEGiY^>n{s1+}2kZs$uGyXh5aIN~6Y67)8>gyPr}}7-D1WMFts~ z`&7|0T1&r7>B|(-=a8u%HMr)LeM)(Y1jC52V+H?_6!N=SaqE=Y8Sn#x+XQ=%vrItyp)zg3J7^iM>O zEJcn}uiV|a{UA#|@b2K#Vuh;(uT40UJAdpm6@T_qv`Z?}r4JGdE2fp%sPr7DMsBNmX z1$UlB5gjtUmE!vCg(m8F-#K-&k7bpe`bK8KCB^t`(gRl?6}ZrAS}tIbB$+d7(8?Zom{ zBnD&*+794*_Q)gG|$U>;q};SLO!jpml*55fm2pGX#C@FGjB@ho$dI9 zrLqM+v)8T4|HT8Jl4u_KOWon=St{IXJpH{|>EtaOhkg}g6X*iHg$qX1)1SO|#%o`{ z8bR1JG&@3S(j9!#S)@9lwF6n`FyCxUOo%4Zt?Ov@YY<_LaB-BNrz|vTb}|v?wgAML z9MTKg+8x2`H~m*&6CI#4LuCN)Hr}e|%^oyM;bnG!b15l|dEROcFPE>lfZ9_L244+A z9~O4KJlfawAp?4B#y!DnRxz33`{uK`C^n0NS0gTo@LP~3d;cZpJ0;$DwCYHXH}8Qw zhkdnwrDFz)Z6k62bQNKjjrE_ve}36CzUt2`DOIoD^3hq_CASakn;XeaF8Gu>+FnU1 z_HDcPPB!mcL_?0BMrrG0N#;;}2}|tC=Q{a3)K0SZt4qQISZrn=R9Pxpq1VC9`!|CU zgFSvIWrD1~jDKRSj!|-pGuI~*aultsRE2WA&TjVHQBUI|kxmVuTZKr*55vB+m zo3K1qSZ7!YCCI>&8z$HOnsl6NGsJ%mBwIo!DJlFm(`Nz47tGx_o1s_vK4$s;+3~|c z`lLage)naT)Wz5cZ$uGXMTa0W3a@^^t`OrX=u=;!9^&=Cf@v%LoORZa3{*~<>kmH-*Lp|!{`RLqa zabJH-t6~1T499fTi<0FU@TtCC4N)=*dkbmPFQ@B&U~qo)_K#JS*ApHr*!JJ&Yn3y1!$0g_t$9rMw*-IYx?E!&$o9nB zWd7x7AzZYj&Zx-YHFWQIv}-%hcfL_uHi@b#Y*AP(;IdB5ZU6HhIldNy*=+4t|2FR~ zLD7?z*qx3^C3ypa^FWAs;LJ4_6>=}`MbTVpOu^#$$j=8)cM=TqKfMn5HB->PJLT2` z1$*_uyL%(C>a&I7%1{nXM<`*^e2DuA^?J&4O8t?Q^PH>EA8$phFk~OABJZChgo6W% z187Y06&;eD4Q#Iw1HZ5o@fsG<`b}f&lKfkn%uHu}3((lFtFCI_r5SFQ6|U^q!ED1T zK=7Huqth|;isORmq6#2Z8Oyab?}Pid9KYSqwq+RbqN#j|%(ZB1Y13O+@y`kDLRp^P%9 zp!1FXIm$vXNVL2nt6(KJm~MO$Y?HQ}pQvrpI>|j8f1`_=etK>qVqnw>|Kj|2uhQ5K z(G@Ka+o*=m`em{4xj0fcN?$G(Zje|EocSLnLqh zAXPt7aiy948mq(z<6RSwS7M1UVmF#++}7_PL5UI=FlGS{3OO%St2#IZg_&+TouSxC z8<@{LsdK!5bhq;gwqGl#npzM5^tvJ7w7%<|a;!ic?`|nfuFp`}L3fkTGmvC3YeC|@ zeh643TnBWbg5FizJ6NT)bgfG((peQ4ZV`MSX^NwmIz^c7OR082>& zJM#b8;Ihez%Fx6uXZw3^OQ6yF3Xw;yJ9Vd)xft6*=qYH>C{26UM~4({^)|@9iP$yOMQ;tr_VT z!!IDH+C`?!ezF=}-vZ|<8zTn0B@xex10cD0#l)*+fC;!(=>^VIpDxX1NGhu_2{CSn zwquC#U~W7^7gq5kZY}90Xo}tgXX;-O>IHq8kwjB*?X?O zAHaG(wEAja2tqI$S=`xU@vu^2Y>>-eZ_j3N0SV!UKTW&}&r}AmwxqS%(KgkyIQyoL zGtQ~^iLv2>V;7&35lng`5mQJ_Z?6GvfRpB^o)WO}PZ=Xsj-TPb%CWU7m^=31z@Twj z?%?fm!`MVe#3E?Q$9n2-&_Fx!(=86|kpb-7Ozkp#!8d^%+<0(ocx1LK2oaGr`8S9b zP*44at-9O0Ofr0|T`+@m%hy#DDCB$?rMKX`r2c7?c4my~q+hXL*h{v^Di1!LkJdrKF>o6jl$fdsL2RTU6M9hiBfj5}8@74zz9pL6t~-)*eD zru{F`iI)W6Mah#leW#M}MXOFc^ltCI?IhJ`-JE<_%?3zY-17w6%3K;?gzZ2_Ez%!< zDfBWQD&+r)sX{ySyHPe~e;dR4Wgbc%@P0?A_cx!=mVtZarQWjPXJwDQE-%KN)GEQ` zDm5zFT&^7+rTx zzvBUixf+*Sl9E0n?B9iBACOj;rNML31XR|ZKWN%!%%rVW#J-p7eBEQkgNFGKa!N)D z)E4Y2oNGBg>;c}DHKtNg?Bru{ncIt*1S`=L?4|ytm(T0;a)$ExOCrO)xa2p{clVKG_KKAyFgzPrM}#$ap6!tYn6;dDvYgo>4>a5B z-6N-jDW$(j2O!=*WPi&0=_aJd|I{t8GO?#;ghrkcU=x#sK~lB~d|KJfU+){LgUq3h2+pLz}Jp9u>$p_d}zN|OZWQhL=)?3!I zW~H5#G||J%8yU>bx%v1UL9sCrg#wLa+qJ93&QVeHjHv^rT{E{SDXoCuo1}0WDKNxW zzdi8lbcJ$9xM;Cj`*<2;avco#8uCksp@vr$xXXr%7z741f znK&w$)&~`Du5VB_wvfWqui~SKnzb@WZyt~_)lKR*YQI9~3+QC$4(iiuE$3Fe)xE=w zIbvd2P?vS1j8g$g!qTqhzbPnrwF6bXI%D;2N+8QTjP--v7jHmNoZDqOkE=bR#H!h# zyVSwu$EAM?qg;0l7^qG)mGWjMzt1!LhpYd3*{;Qd@5!eXuQ7?^3`cY1f<;ayj`)4~ zt8aoz&@~NG9fwx{dHoXDkPO48I3(3@e2H$Kn~pnsIx3-j%QdlubI&+(Llmg_7$!{8 zc$27q(xxV>0%#*hER!{7FZ(tNffyo=w+24EiaVVn&0Yvqq>jZ89!<1|KfwdJwrmw3 z2&b3d)BX@q!uIjiW+dWmtvS@oXYi7%_rD7qNOX6@psY|}cjIMBaD34XI?+eTG9nUJ(xbaT_Eq9e%yTkH^J9IL*IsE=0(jX)GP8Kp^n|H;VeELC~%az_1Q zmwmoyp)3bq#sWpVF>v3eJYWhxH#Jx8*YG=95O>D%Xs%0%e^CJ{LB!%>pMKy}^o$2? z0mhvH<;*$h^^-a-!!O9k1^1XMT*qAr2Dl81%Um2r* zw3$*O)WUWmdxi$wRdTf2!6M2VG{BzqUlkPq7$6~=4I~bm=#PHP{BW}B(snl8O|G90 zEzk@ty7e>H!XdFGd(#$x<-L+Ys!~z^{uYIm0Lw0jn-_cKOn! znK&?_0Zm6o!@C59T4>A3Nqn!8P*$9#`H~}RVL$paLRF)P#eC_M8!iaEB5^?0-tZ&$ zRFgAjz8smLU0S{zN2WjHV-+`;d=pdB0qWWZkG&S0zuoJ`a3S&wn4|_nj;~4fN=jw2 z$SF_)&qzFq#IZM~*YC3=P4>TkBK~+o*GakWDt0X+N%2vQ$EwCwYxP@OA5Z*Z$JOaq z2trf`WqAaNQyI#h_gLS38QkTq*r>_&!{u)TkB1b+^M5c;WcqAilJrRVNghys?|{$3 z*<1R_WkCAr?%3d^CIDbIDIjTcuCCPzw(i;O;oH||Tt0q@YSxex&Bdts_YJRy_gEU> zEwi_C0LwSy26nA2O#~cM+vWKHe_q*E#1@=;Z8#*!Z*W^=at4cA1Wk0B1Dq}=|7a{& zOdQ5DT-NU(%De3ri9v#29seNim<{2_Jk9BVW%0FQXXg5Jv*x`CM_GN;!zbSA=FISZ zA$JHIK_)e1wziO7H z0CK9PegdP^IArAq@RZx zn_e)zc9G3|`Uu9)-Op#$QatO}gPfT$yYyRFN1G-35nbHXQWPOhr5OW|Q(VdkZ=&A29 zHTNi?=}~P^0^A2}G}=FOSwn8!NCYf1cjZ*@>HzpSMM4Nu%g}`b0YG*YNi*sNMN44R z15zWC6SM$;t2;LxO+9A>EbT=w4Dn1ruB-3ArcA(|@FR!rE9kH!(LF%Y3_qRZtVq3a z)BnU&jiNl+COPp?nk}Yr?H;&iRL`2l8lvp!HHxj`%XGVwv8*F=&<)VOIvhYV@3k^t zZDTj!SCLcMq~MCrrx~{C7IJbg27SWP6=y>pFDqXfg&GytHhQ|M`?&lqYbdwFN4L0T zjG4FJ+xh#(B6<<39QE-g{BMKdkawTqOH=QY9tc zXKx!lKe;XEuFEw$Ii|mH#g3wMT0d}}H*Q{;&t|c?!rr7XSp=htZ<3-I`y}2bZeZ6R zwW8Yg^452+^DE%yGfFa3Dc|kVF(!f90qpfeV$5F&l|Ge$8w+pWYg!7xWWI9UP?us7 zbI3H_dUAPGH6?yX;_HuuC|*B9uY3Ib(z0XOL%xZa;tEfFk-|iQ4VKh8Eeq$Iv2`V@ zfdjD@KPle~G!f8|i~ampoUPG-@=c%nd^Rz5__;{Idyu9*F`W%}lSeuy_?fs5q zLPRz74zCJP#5LK3l#sTyiYjtQ>}UBpmtP@aJX}8`+6{_Q0-+S;N_YXpu_{GSpsYKj zSuudK+-KQxX2k5vq+#o$3XqVNO6`w7)Anl8i|{~zQD$XNNbqar=ni(OU{w{#+kd`$ z@1g{des443TKKi+ug-2%uU@NZAXW)u+BTIoOCHoKiMxcJYQIq&-oa4%+s>hu?_ zO%97yfDBh%_OZWbh%>IstF}~@wYi>q zAJ;0{z+##1Rc^c8jVb^h{$cUYG|VYDa2myau^q)@6T;*@dX*OoH+!5nixYcLCb*H_ z#GR4Ny*DD=a!PTo>d9#>$%x}7a&*Om<8PDsi2y+V^?rcjzk|C=jfy60^E;G497ys4 zN^%M!ygJOKCN|n9Z1Z_5q~g~cXv&4(HJ4W;pV_y`H?!JTgP(tu{0NweeZ6mp9+Z)M zW;HsvGe}mWjiwd#4twpyC%dqt_u}$m?+W{B@v+T?QDsiH(&Nx6BLSLM2?q}+!fD5i z3lUU-zmVgRbr6@!KBOW}ct?#QT|kSFudvgin%ZjLaxuH?9RoE}$|!#qt!|BE zfgjLDrnydt7tx~x%KkK@N@SpT(4o1K6YZ31KRYFdoQVMd>XLuo0;rNXgQg1Aj=sCa z)l-*8pnqO*s~&`Urdsp9CD#+>cDze3EsBNreW+ z-@n4l=zq26L&3_Wa*V43LlJ1n^&M~Sb&kojwXC7=lDQjg_`{aX8DZ$0)xtZvmLJA@ z=eZPj9<+RR#7ZUd=k>DWgnU)SzZ%-95_$M9GuK1xiY5DH4ao>ZVZQQEhu zJ97(NH37y78sxOWM|Q)FcdW8x+0TFEOd0dQ0y}pM*#LLhM3S$eIwn4%{##h-w|tQnOz16HeoilGul7#IL_t^jqXe1u zeC~tCl?oyUOf~^ZE}(O5etu>M<>dV!+DpvZA@oDo7K$cfK8VJxrLU!llOi316G5vY ztg=79@g0b1H!gf;qINW~@JgVUOw4XVzS^S9-en#mMMFS6YO%j(mf_`Sc4gnjBQqC0dU!aot)Gvkk%wj>VyB! zT|+u=LHEnjKo4)eb-}B_9G^;GTks*LAsRLQJO`JWc$@`Dn--p6Cq4eWu4nzpzA2IG zyT@DCk?pHB;s@(2^J7Y8Pg5KnSu2MiHVmjf8|_(!v?0tu59xSR*u*mSR-;f|U+$dNsK_`oxJFYCqQ6FFC@qLh9yq?pZSUsr^Id~2{ z&s;AqMudUR4gWmU60N?NZ!bm_CLb6WC~;4{ht}1d))l%{r5f!lIetEZsGw5qb?9VO z5J$RaSD1)Sd>hsH7F6a*qHB!|s!S#%Fex^qr=|a6nAh=5e*ZyUpBGgc3<`Azu0EE3 z7L4#fYC&1o&`2R$Wh(oJ-D7L7#WN(9Uo7|bQ#^JOrn>tYT6u3_1W~Qt0^xZU=F901 zskf6~*Y@Shyo5|HS@wCeHR{Afh%wl#K48eLc+J~DD`rv%0i#h@F#H+FZVZl4JxpG| z+$~H|v{%OxG(YibCU5FUl0IssPr@)fVg0*l<`2c-6Nff(d^ z8-wf;itb}602F0GaX7{Yo1-@TajoHI=hVI<@bN#e>>K|5f6s;vvdA7H8IX?z;b2ZK z^GZ`B4S6-!ClGdVFpD~0CeDN{-HKY=qi7`u1oWb^k(}6Tk?TaJ`ai=3c@GXruckBd zX)DV}mPa`^<-ff*?LV(wlJc228K5wOB3={xB5A!v4FG>jG^77)k*&@gt!eR$BS|;X fJT@}Zr;&GqVa+@Jmzfog&= diff --git a/mbsebbs-code/html/images/fegroup.png b/mbsebbs-code/html/images/fegroup.png deleted file mode 100644 index eeb1d07c3a6cfe22d117b79dc34b6a007c6052e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13201 zcmb_@Wn5IzyY5CBL>dHX>6B7YTDrSC2AH86X(U9XyFp4)x)G#g=pN~CXol{*v?lWs;S80;ZWiL0DvbiC#3-ZPm}-v#Tn}f@=Tvj-3syt z%|=350sv}aaqrC0k;iY{rS;r3oj~qh=C0O&o(`RkwX2(*lOr8JH}5NRIywz&&v$gZ zd^~(YJVF9=tjHPYoXy=WZRvQq`Pi07x#a_Q~(} z$~!nUGV5flD~jKi)z>!w=nn*?S|Po5-_cBi z$l|`k6sl3)D;S?IO{XgBO&OH_tsr)4kD+F{Floo99X;6JUmVTiPvz&|x|}N4-AcD{ z+!}sNf4m;Mvys87(M7(K`|rJrUX79Ovc%Ks>7bsJl*4_t)>Dnn8pQeQ%i9?MUautVxjk5j`~(c7LMfrn!3I_d!MJyDj%M?m-lQ}igfKsFW>{bP4YB$ay<*TrP< z>XawjXK2iS`xEWM`@lUL$Lm1|Pawjg`J_qYHaj-}cG&59PzFOhwrw^+u5PDgm%Gr( zjhugl5o{H4xA3I#9W#+{!5?jz%}LbO&y$@W{%ff;KJba#gSNw| z+=u!j*R$;j`i%AglE7+s3{}h4K)i2Z!h5E_*^d|ZUdu;E=djMdi!E;WqRb{sfwtpe zlAmE>kERD74`G3af1-6)?#v++v4I!alAqs;9%qq#57YD6=ZE3aFF!_=$XGI4vAX9u zPXIvW>7wpKbQwIycN8{5``%MY(;$7lT*2|MkEbcMa{E}cirW4$r;!D=i=1asMa zvlsf<-m+#BMzBEMd6I~kb9XOm(sq-QtNj;Z-?T6Sa{K*T^%*T~=cNqSBVo6t%;_H+ zCj!a#N8+((uvq`in>9)R068Bl3efhuZH*#UI#+IH_{W6*4hB9x-0wEc%SK1Jxf;5t z+_xPabUr@jEV=DYm!_J0+_~X@L^NzYUP5eCmXG@%UG~ezjNcwbB0%MRse$Bf3y#P+ z``4V>mcZ9y7jrLYZujx#&-0u@3FdXH1`1&Gfx8_m$B`w6SG`m8r4Mtz9alqextmul zINXyxXQN7kD}r-=jOK{EXYIScy~Ot^qpiF)qN=((9}_9^Kc43pGx0hx{b|0^G6Fh9 z9CjiQhu*NvOTVq&oKCNqg#fL7pS$JD?Ky|nmrGtNt507(I=#+Z2wYQb(DL%TD=meA zTng+eZ7DK%W!nSXh98GlSBc=&qlu4Pnm+5cFv?k~;fyq1 z6rc+}UGS)`?fN^GmbTle^WKwUE0QJWIrq=wXeV2Ry{qHDACxF$i~ZLlkq`0Vq-hxH z;J|OLoBMbZR_VPqY>5AJt6N*w*#CUF&Y-^S@aMwE1=&~{>iVUlmEp$=)2m(L+%}Kq z@yRk?Z6?N^21c+S>^!KvmmVHDwsiCF$vPV_o&Z4+bCwC9tfLCy>!_hUc;i+>r^w2E zk5|_13DiyO=Axm`05)1k?hG z`qV#E9FJwc_c~gY5IkD_^{MJEEGzMrC0C?4+|ktkAbaI{ggn4`rseXk2lt2H-p$md zNyAna!TRup@>u6y>SgU31dO201`>z;|0txf~LUzw7rkb&SCh$ z^w-Vob|cOj&v?X6OPrPiasRPP-yqM=)2l$;2oBnSEAzF@ja1Xwa9ZU5wfBeZQi1Gn=dLJ4+dDOUJcE@Q<`2R7PyvhMQ_10EW5bKYO4#O}9kE=hjIxBWc5$klCBXbJi8aGOgYxp)&VHvVKL?r-j+3w^Hxt-n-TV}KyR^Et|q zSbe0mLOZ!5zARNZ_=QP(CMD{&`L(#7#_#A?+d=CP<#jM7O?5xH)-(=tn;Q1_3)41j$xp~ir|~4Yra(-=hLTSchkXBw-*TCOV3+ORk5QXe0|t|9s+|1-r|$fNFB{75Jbvor<(;PcNymjWN}*Yxp%FINIPZz?a;KjbF* zPH_a@r8)`SCMUuWZ4Y@*Nfu6Rs_r>dJH1Cn-mLhob_I93{J!>Ic`Um@ls!E3@jQ_H zTU&H;3*RsiHzcd#nh2aHzJKWITN^aJ^?KCAs=3^Eqiw#1{8kZu9C;JqeA-%G|DAmF z=h@n2;9s7*Yt)t7<;$NJEGt((RDbFkd1Nd4T#VqWyyd{`6A)LdDH zOa~19*|>}seeo|ZIgPP#Bk*Y{xi8A{J!VOf)}N|$Efm6pG`r%M`_!>~qX*t301&jl zZ<|{K2Y@_7B0bjy#IKRfv#;Jm>l5R9d|R{jjDjK7y@B_}lZk8J(KD z-k%7Mb+L0jY;V>r5oQ{1{r-4zmc(?NY7sqW>Kd5y(D-L}_UoVhnJYnT!Q2yxyW6#=6REj4Xx-`Pj4>;hYQZFmfv95^m zyMjdHPjm9x$tC4UBUMHGc#;1lzQBQ=xD3`4b~955k8iS5Cb|~xk>g{5(L{F?Hpytm zHi;OcWAiFUBtZA9;xh+t65vef38!965AgzzZ*%-Qb!4;Z#rem41TXPX!{KIpjI?F% zzS{Kf0gz{!xV56Hyc@yI7?;B}zpf&vVutla3F_W*Xzy&MH=CqjR{ZEM$Tp4`V2UV8f>zk(jO0ukAF{(q~&c5^Y{<2M!Tw z^hJ6FVdNxw4)Gt21XeyY66M+yLs!v{zTOSfJR6KJQ6hD;(zDD6o}CcVl?aAb^8V$Z zm26Mgo_u|tpaj*|jxTKuo!B6?EL+b?t)qA@8bM;B<|sngU0Z2almOa`Bu;`$ML|?m{d`-uE!)UMEJbSUFR;sb zBR>g3%k-1@dwUaVqW=t}svjS#F)8yvkiU5v5~R z-}^y%N|hJ}12Gk4$LO8GDTTW!j=zWR3?e-Duf8cb)<0Ix=IoJzbb&}*0( zx%Fd%G1B$w@JhIVGzab~ewn66RKm2x7CV$!aFq?x#dUOdO`aU=~@{Z9I`aX~o zDm-$N*5rY-3=ssI$a#mUuXoZxH0vEFATKH?CPTMs?#JE$2nx_arrzGDi% zfDi!8*e3N{!91PN{SN-54W2$?7RDBi+Vj_MGM6OA!r*o(jw4e~1hGzeaUh{AxBbWjbz)Pm@#9xh6TU z-k-j-9sOmbX2jZ~$RtzF!G^v446Y}k4bs-RvT)WN?%LH)lugNb*&;UPcUNoL;l*iO0XN)QN?gmGGCX$?A$Bf2j=DFVSUUFKliDr2Yq<~1o%cc3G zH?Y;1N|f>27W@v?WtNb=0hR*Gso@;^yb?D~6~(Vet4;cV1-jbKvo7o)s+u8+xh;y` z`Tdfe+o%buXn4+q!EWr0Q2>fn+ZfO+#>vvvEa%Or^N<|MSbSQ~+|)m;?xWj{5&w>J zyd5`IXpn|Jw5)#6SGPDj!A{Ww>f2<{L7(V1Z|av^T-HAT3!`##9g5jjz)!Mv_87!I z9ex$4nL*X0wpuf+6YasDC6L1Nh%pOoC~7Ju5@pzuhfMyOHg0YL-+%vp4zq*Mj7wsICjJcMX^Xf9Yq>vLIADLOHDT>n*ws!Gl zPDgzaSY(S13#4)FwMz*BiR?LtK7oI;Yd8}NHSUJ2?rM{YN=@)vdn<F+|mwclnTqEv?|L7F<`Q9{QhP?>w*&uDlZkX zMQ*^!le6jGvxdmhc0nJjo-md%dU{E$4?TE}iLM6@ShP=yKFKqCG!sf9Lj!UXZ_hu~ zLVIjz0lrMj&hnzR6lvy|#Ad4@9ULe|S}k51G2am+A#(SH*9sz z09$+uH`rAt2F~w>HL#eDutl@Y2tj zr7?wZ3o1lmFDh6IMvnnmFnjf>PuMG``w0|x>a0O4XP)uM{mDs4S^TI8Rzl1tQvrES z?o6phJ?ZqdkLNamc52fZV`_%_UrJGpg4fWcnVZ&q6bx1iw}jZ30dZP*Mq*S}lcFHP zM(`7oR+!+maE1olK|8<~7oZDocXREF+kNHL$AD|_S_tTxA9%~6n_!{+h0|8URkKLC zYDHZ3N!PqtwoylOyIt>M@Zt!Q1q1^a$Erv~1%ez)`x0K<&AVA~JkLf2^f+2J;abs5 zg3(6J%tIMT!qsmb^6Nd8+}Ss_pi`PmTxu`x*z_&KSula^9HZsr92#Lp;daP{k`X!? zwVsicL}C(>YVll*F_|#|J^W$hl8ZM@^C2$>;;8E_xBmA4qF?Fi?NWA z&6o+oO+k^nCEP6^EULdv&|K#hR@Km7@uHp*=(2ZbBDaNd&7Oi46rW#wyHS_Xd2A!n z!9Yy_fMbDeW1;UH=a#XyZmt0E>eDP|3yShsnCi5kXi-ErDv%~MD%8T4_9>2r^382E z0sxq6#$#BH$+X*B!HZ=`9jLn+xN1bn$;zHvvUlP;Y){_JlGZ&bS25h@hp!Z^~ zox^QEe`flp(VE;+v8W-J8e*{_t!hy!jW152hUP^_H#>@WL4C_#Y$N%0e@*jGI(kfi zZH#@25z339z{a30l8}i4Ya$v6Y4||?oDTSPWSGY?vYh9 z?kOv%;-%LGJHb2R$OF7#Dy@FqXBvGD+%Q*B8Az? zoW}i&8n*ppfVhKIBV6H`)@ZRSHD{>WbY$@snZU zM6yhP?U6!WEgE>0i175iIfM2@;72M_>kmA#zWSsg4#Nk`T(6GkOQ+w4Aql88OcRR| zwA}3s1f6%Wp*6%=?$`YB25}_Y1d*FLSQ)a|jJ7h(Pu7w* zC>%o;`#PEIZ7bvAjKA+meab;;g5t05rarqA2_-DW$w$H;5`2+@c3J9}QvGm7hQ}L9 zB0bwj_d|r~6BFKaGaszJixq{Cls{ku>DXRaIcrDjvust|I!UYi^$@__mY8t^Ux9sn zU<4e%wCZRF$B-WXChNCeD#fp*2_<=0yY50YyF&au?>KT_kL6To1d-PM+i#Q>?lQ{j zCp~8{a}&IUH|H2j%!@1-16TlXp6HgHHI&TT|Dw-bxMsJSVvE$U=q%*;7d<&^g$($Q%s|+Y*+SWgZ@(47~V@9t2(^L1sF)Q$QUY zbs7qozyI(a^S+GaWL-2FRwn=|&{XIFdS@1tAQiR-FKeQDKcZH?g9DRzLkSjWWr)~# z?uRnrCX5I8tS$Yy(l?!n5nz?2lS#Kzw_`D{+*`Y;G5SYE@B`K4CYvSrcm!_P=R#qe-?74V?2fXd`#c9Oy~(s z@QKmsFWaqvR+ec+l`chntq9NL-D0x?^iYM6I!JRl#(ahbGP%2QsyiH=h&2=p)nYtd zw(Cwbv;+sw=WToLqah=9`P&quyI|BRdIjZZYc;#f8_%iliW`Yjnks=8)Lo+}pJN2Rq1rko7Lho!>Te^nL@v7moML+8e4FHN8 zX>)ZROtrDe#Iz}4c<4gGFS_GWHod#Kb=NoasF834zgR*K8q~K?alBwdTeHDcdgn}6 zI4+F4qs2e4;rTsaBeHnVo68l4J=3p!v`Kw$4xdmH*_6av=)9iC#hw zMDW%f5HEonv6K*sNeOw35xN~4d3S4|mg!&;L-NEh-6*>Dg?kd)PM#h+*XW2w;$jD| z0(8(FO1eA@II$rjxCmSZ#7eIp31K8`T7O`+*#GZcRe9gEMuT#O70h< z{Gn-$hL=i_eYVY1iD6YCj4eY?g2?m-+W0C@21>rndf`Y|?VOM)?9%l6qI5~WK2#VJ z0_;@j$Gf%3iOwZ+@NF={Niu9)Rk)dnXR;*CxI~0iRhwtpCKcqAblJLZwNT6)l1{3o zyQgxH_5@!z!)%fbjp9|Vm3Qa<7dt%s;n(sx2F?Fb7VMw0P_rbFWV|%_5W})P)Ux^m z1z74~Lj!rp3x)& zzGQmGwR*5a0*JI`p4NV|gCp@xgAUPl_w+$CF^rsbxgd!8GSy>Gvr`uF+R}8|{ zoNI?V{1&5$^8;`o%KYKmNSD@iroY_4QGycDA09ixdWni=8l}wd<)h*95~V^dT9TmT z{H`qHp`Hfy@pYwayD1Bm6OMGPqOLR!Dj*mnw~VeV0_EWADgC<9*iE}n^ggF|m2Ywc zYu3qF{@uwRG(Dc^(T+8fxWo%28Gg+EZBGqp#ib>8D&|N^gDMdnfp3df6oCaq=E}%9CzW^0WFA_UcAjd(9GpP)n|*vL4}c z&all5^LN{jy&uv+X`4rB1~X4IY_aExqEN%oRwYIq z1n9*Lw&mf-q_xtYz7s;&g+P)}xV*4|>kED7c9&nmMz!PlP4ft7s%P&`i~UvSWbLTu zSYVEkb_mh3;l^j|=!D*=eDvW|u7*y-LWQaEc5o`fZ=NuDb74sll48VIJl?kXy8E`F ztp05p=ki=Kec#XX*<4Tl`|P30m2(Hj`S{kx1^=&E%gHpQWoy*3nPe)p3zv(xVB@cp z%qAqpLQZO^t{8AHj$9MMFkx5LcL)Ooct1CmI49g_o zne{PNQ*z?x8Ox%qLU`iav~6l)op|#~@Vif~%bhTKiyCVNds&MV%=mbY2ZOeY`{Lp9 zM}9h}B?NQ_8Gh46Ky-z_vIhLxh$l)N<4 z=k9OI+`fn%Dcsm!0<|Mh>s`uS{T=KXiwj3N#g*odnQ1bn7aRSbW-c?8vzADN!ssvs z*!61Wos->F1=ah0JpWSH?K$R?leKT;dd4^ZAOdbVF?0wWY=~ohB_tqG(_b57Ej^eJ zD6(RkGe6l887ql+pnNfaGw05r@d_m10;jPo!cctSc6ERKthgywn|?JvsuLb(~AV-#0{p*suAsbhE@xw++8rFVoX91$IM+26e6< z7MAETy^3bh8EI>#!#`L)SB~k1WK(f{M^+btIJp$HPk+?LX6SNY#1TzAu%Q(bPiyU7 zYl|DEp_1Yb64edp-_zrkk6k(9ao5CoS^H&LCkTbwISfNwM%c_|si2_@-E-;AI1?B! zdMXbQy@iBD0z$N{ajghq7sjw$)%9xr-;#aQZS67(QP`Ftd6|t3>#rS)n1wz?>fY$v z3w0|c3!))WT7wcgq?H=SbLF7wlt%{06wJ-Gpxw0af{cGacM zdrjmhv7SHx$&=NR>BPbR3M$VFw}n+M7+c=0@5&%t!qO+`=om>CUJu#*y>J*?E$U%$>&PCUGtjn8zRrq4?A%!Q$B z5(bfuzS%gds!&ti|8s#(o7{=xgjP(%|H1Oy;|ycE0jkU zaxdNQx*fv6x?!CDNlTheoFL@Fk>us;#4~G&>-vZK%n3K^#WTnrH^XaWHAT9eL)k^& z88jsJ#&F|Sus5NwPx`2_MPBZ0ZrC7&6Rl49qF9rCI4l&RpFn0IvngVU790DZWzNbh z7f*Ba3#uFerRjy*GnYeDmBPOb41UkjyNx?|pEB&`TAWo1VYm4lr9D3^UKd-gAs|8> zeK*)@kLo)gAw){c_O#>7Wy!)}{mNR=zoG5IwZN0pV72yKNd*~D>%17)}a6KuI%HHZ_dn)U2UM&%a?LROzE@AQ(aM{HK*6;@KT6QKrL4 zA6@hOfM`VB9y>7aPqP&pU(31W^ZT#X*O+lBW&QiJ!{TDZHRko6IYvm=NsW_>w;U3c zRA+OMvgpUt`;DKHvtXD>!7^V5e}bL5@1AIb zuGYbuPw^!hN2+sDKX86zy9LLeZiGy~KAdCP`P(=f8j*HE^XwQpAM}{9(BineWHxZ; zQV@$Nayo1a6ir}PZWlaJ6*S2uZ6a{wDcJDgv(x1SBav>D6i$!SZ0VYmiK5DkP4}Pv zg|ao7FuSt9krZ>oug25rHcN{r|q6NdW%N5E?il<_vf;TlPDoEG=CVa%ndAfpeA_MGz_ z^tKgMrARM{BkHS8s(*CIZeAY@8}XAevQEX;E9mCG{U|16B!{jtQYIO@ z7MWHBDSnYTQ=^PghDR^fn($*A(Mv)K75)_^Z$iOc3V8u}(I=1v@gho|4gIxGVH7N) zen;{|m(ECX@6$A*Fw=}PU1Cz>kg>X;(5u8sAmd9tWm((th7n{8m zVIQDcF56p*C@l@Z1Y9-mNJ6Nn;~<6I9})80D-T9dTf-s3KjMmBYm|PBbo6nBynR&D zD-0!}Aot*k277Z3&CCo$bPklOUSWYtJ;##VHtIKxh2G&1@;~3`%+XS7{*o>E2zl+s zZ^_uz>MwD3rB@hKRGeGGdETPGP~|5W+7ubp|5$NtElCfH|UCUZP#L3w$sXryY40$5jm1^Jqelh+RsOHrof=JMz8t5kbeyd`x z(Y&Qr6>wiBWjuSUb~~b_7g3qgb%QhW6^~`{C2QjH*Lx)m-C5osX?-N{GV0+<7FJEG zaDDk#hup-6ds_CMK6cpu;WpA6s&r5IH$kKPaN;6W`Xl}w>fcNprzT0BWTIha4i-(% zL1Jl6O&a{p8u~*WCyGrZJ`-Kjg35#%`B%8E53EY6CeL<46Bu~1xu%Nh~-OUJc4yD zQq-TJR*0dG`Go}SVF`4mNSQ;BW)mFD}t4Ilx@NH3teG+VRTafya zD@pLlL${Tpo;jO9n!RQxs*Jn?rLX{bcY1x45bK&j^cD`U>G+psqgJxg3O6l!6ed&C z3XQGWmkntK&pg^a1Ubz-gvGOu2&XkVl#8=CY=jO6wLEhgY>vMwhqVuFJ>SLxH5A}P zLg&G2M11c;c2!Nj1fX&HaaURi3cvi`=bIV8Y|-=GF53vJpu5%GhL==1_`1MhVF{lG z1KCI+4Q&=PWePnMO#E?1G15_QcJ^B`WpTfWG_?Tq^nD{tRz*Iu-Jvv~<@?C}nHlYALftm!Cu%p_j}z>bYCVzY zD)dKVCcTy;j8<{{UVR|?B@K93Ydbb)8shsi?erB8*hsfg5xH61XXdW84Qf1_HV-K| zvtjxp)<~EniH3Ex>Niu`Eb}p^Iwc4htsb{N9p)F)NmWdxWi|>{?5aSOWoVezX9*@t zE^?kHdj)BOjF?9sIz3ZfQ3AKAV;^IJKAh$|v@P|_Rb7)j(G!wedY8Y{CLsJwp=F=64Wm=cfM>2A?Oe>>j$6um zRc`t9G2= zq|L8v%redES>rmbZ)O=Kq8h#TQOW(BwV)_xZK26!jpVLj)dBfw@k_Z>w`x0BL{e2p zS*#;jj@x1&GIrbQ%KCzToS$uj*?cmMwc;Hxp}*TW_S5;k-k8~2t}S+xt-WIenT_s^ zROYWt|HM^7&;>>UNuEe`zz)8pSXpV-wjh1ICD+q5FRb zlaRZzbtHo6wDao;Tq~4>@ULA;61kc7zf2{V4&8Y**S?y5YI2<2Q+Q6p&mhh=m?Qa$ zQZ&O*vQG!IHnr5BO@mmEiP6N~DuG+7>VxnQ>d~#9h+>wcxT;H}%5uT23@NPm@|z(x z*mq+Oy!~t5JYN$lfuI&mARO!GRFrlpW@(4j|8vmtc%TZyRg#zca4u;$=?DNJr3z;G$>RF-Bu2o zboqFQs}sRa@y`0L=mv=qTNG)2IK|WYKa2_4tzj!or)Ne!$9Ih+BuVLHK=7rmx2%JP=kLVq?4iK!y{q?` z14=2%&yJO5oTJ{%72*_T*q&L8LIr(rf^#hpqPy|s*9oC-j@Q2}U?K7JJbFKH&jo?Y z{nR(Gth~vixy$rs8va_RgU9>X@U_pJ0F7xwg=dhqtyhR@{c~mR$@Y^=q@;3O9DA=y zW6*o8%qT%w4%4zFn543gvAvu@)`9+I9{(FczY_kH zXaDEp1ims}J$&5FtPc!#dc9`jCdGrymAhgx*D2*U*MDzc3iN*U z-PyT70XFkFTEK#fK*xnf9v@1c^ikD*O8vW?;!H@L+WP)9G#zFRKn0T_s&tjuY-XWGC@%evy!n`QAofvVwK< z1?!8`f^kH$BEW=ojnk&9pjp{9^;UkF&vte zDn8#9a%<@F94Z3vye+;^gKMeTteO)AxB-za zC+lPjXshG(xTCI7`?tRv&R5$KArPPf1Y|8!vStZyZ;f{Rc%`QNctK|{5Hg>dLB1jE zK&hdst2EW(UZ3+2f=2lan73|Q$`SQHLAC|;c&t7)*yp*VkCgLQ2-@(lkc zBT<%Q7rhw(sG)AEGwZn`T%6lP^!$3?){cKNbaD3WllD_W)|e-=SV}wtfA?#x68H!h z6vKt8b=WjTM(izdTm`ezw`xW}<8Im_KI%onX(Z)VF(Db=-2gYT1MuX{tGlOzFDUkY z6|FJ2O;L^}+k_$B8`uDPLRn99f{ILB-Ol#8z)?5RUvD5-;~cFCnfYte!JMh_Ymf1U z$i_AB=Rhp!fO6^6ty1(1*u#yXB5z$SnLq&vj0>669nIa^ml(2qanB%HoZQ7sqx?Q& zaVn#mp6J0eg5$cd1$b1p=EBNTnXE`WWzC<6`9nEH`JG)|Isc>U#a8J?N^eZf?3CtB zt)=5+L1ATpvPWnvDv)O!Ok;~;8PGk5hjxi_Q=!j)J6D@*sdVV)Gu?B(P1w; z9R8D5^2IE69(j5f=G-we>K!F*fyQ+5)|aebcz=_KsVN0fP>M%G3cYn^&^YmDfzJc7eX&hi0 z!&mopzXr`RH=b_(CMpoeh|Ibf=hE{;*^=nyiZ*@yM$gBBa4XujfFsx=)dlgaXi-lYUoKqx_RzHGOJqH03hND9}toJ zY?xAoyj1+7O0MYjBg(D_u|{O0Q4;cIOm}%@Y0POA8<%$<;t$@X}G9zsSs*>$SgFsQB3JiS6U#Snboo zS{~$vzW*-hvvD2)R$z zbTd~9QZuS-P}>N*vzkncbGOWJ}KTrKhzb(TBQ@&U(? z?c(TU;06j9*7T__ogqkqxZiPb}} zmDKNis)@={LS1($KPS@Mk((8uE9C=88 zSm_Ia`?`xU<&W#s(s^&dHjr_teAuP3?Rs{*+& zpYzgP*Is%|5h}HTAjzu7&3&3PWN4>H%-^{0?xoEY0kDXBx`q$ldb}i?5ykS`glN6? zoN4!+8+rOF;7YwT(NMNMUETywM3iRKtP!oc$+2^7DR~^N2IlETm09`_Od8dj! z*9CdjuDY&wAN?lK(K=NE+#kv(Uhjl9ynQ|*1U$5M-PUxNI!wIAfSUHWM($qzB~r=U zcATe|Sb7pElI?P=UHL!y(3SeE`)!;ByiRFiiem)gyR5v9E2YyD$q0K>aDr6a zIzT=*8p5W)r*LJztu;PuwQ%3s0EftkPeQ!U!};!_QA`#`ZMmm=D=*dR|MUX>w27ki zSV3@Cgp}B_^9SN)TrFM4(EP8nE|2owF1G$HGWN=CkZI#Yo*x>6$ya6<)TcCuDT8Mj*hc;7wO{V7@C8CUN+lhVsReutQ^V!xCzMjd4O1h0`|9?f#THXf`73R6Agxdkp%g;#kM>xwwrs6jNdG=;C%gv@O6^psyjjoD;oA& z5#d;Ev;DmcA=5v)Fz4pkU;ATOC00}`Is?(y@y=epf#Rft_fIzNx21$U44Pd>dO$CK znf$lKrW9ssH$?8s4cCe#)>9WCZ=yG|Zzm@$*i*Is<83?)AS>~{a*~6|p^HrQo);mZ z79)<^^bI{ULDQiee!wrh9N~s-pS%MfoR0JPq07H_h4eopO?tyj79rtSB+@a2rl^+V z)wS+|raMYV{=0VflUx6ODzw+OJ3M!QXef`XSaWF$Wa814nNd%P4}$vY##10qlFVp@ zage*VT>2j;!6vwM%5+FUTeq91s9U7Yg^P3Tf|A!`1doWZTAZh?4^8o;{=S!!rk#)v zCnxa%d+~Q`kNA{=z{6L2rg%}e>Gp@XmNXsp=O(_<=Yxryx`gjU)*PyS#}*IWp7XWf zGS|Mi@yBI7Pw>u%MO64N+5FDl)*dHCsY{JI(M z9=!g$;ZHsO{p+rmW3!JprGd`%KIcESY;;QLf%Jk-fp)w+zm|?G{eb(Cf32pHxFQ#H zxz+6!tgRLohagdZ8|OEb*X6+X)bcNU0lp+yFVi59oY(-SWG|t@8*cJ}F0?A?Z83m( z{dEVF8%I{1rt@Anz~axJ{@YQ6*_Ad?9mq#oMmQ^+0et*gu$!eADMt9Kq~qw7@W$N) zBX2`*J{qU4}x@QC^{+Dq?lzQYLa>qi=N;p$H8zQV| z{&pO~t)yoew*fHD`To{nDfmKxHHAYL_D*>Us)Y$z3~(;RLF?9$hym*)Jo>kgxWNbb zvF9MQb<~X;U-rH3#vC}_Yjpka3Fq+MUHkMh21>8*dbl5|S0#4{G0=CpklMh}?mAfEus8CwX++M<`G4hSuXpksd<8%_6N5EUQ zC63t90k~)<1RK*?&pJIOeBRlYAt&?jH0u`RS4R%aC`0(AL@Lrc7*Sn=+4hwksps=` zN5n%O0gN+Ed&7F1K8EEgLk@@fzBYmPgj%Sfkh@F}HkF!gl%oAnMI_+I(|q|{ zAEfF-y1RGs5vWl$>_4(>)L-?sP_Uks``rH0eBl(tV_lFI^c8V!6z5B_P@yf24 zy1TWyGuX`BUG_BBI)!%r4q^^z{r(RBE{HqTVm4rsQaRT!vfGLsEz*kLtmiXSgbga( zuhYBeG>B-z4--{{xq|K3(yp0bMR9ybnvEV8qMMb(u6IrPHf2;;4Z)_USW0o8IGE5) z&zF~Bh=I2e@=-6ztk?Uvh;e3CPk6SN#THDmm%Q}vqds2ulZg>^M?-a~si|}8t(W77 z$OQLBxYJN?yn(bTGBMo5mie_hM;m)PyPWRVW#bT?jw@4C@`obM1v2$?N=R#vLE(bNFM_`^ii>E&t(;Y+=uu*^)Qk< z$ip(#h9>eS>8+s#CLxQGr0?JP{rB&WXylG18*iuA8so+E*>G6;EMR& z&vuHe%ye}+J&!K!X~tV^owg=hYCo4ZjrYrHeXwJ`=oegvwi%K+98Lb)n(?fKWPprB zmLYcw3kyq;6D+5l4&D$Z>U`1HIMl3}6|uI2x)#OP(QKoq^7tJ24{AW#f|dZctsO{4 zbg@N_RZc9d7YvA&@Ovh6g&_)+t61zN5k2VlmL1VuilqFBt$XF<6w#MD} zJKYZlpLx=;rt|_Xo}(>U*W8V6g#0al9b#y{8+RR+ad~<=dbvblnX(ulauvhn57@^g z+DBC^==?Sc50t}$DNw^=RxaTIR;-q3+9DvqpO7a}ATGy#;sHnhwlzyU%ntkr6wTE& zA_I-dC%9c47zxjuA>C#;u6Cd zG95sC@^I_CGdJDv8lP7KPdSOSK|C`Ll-3?01>+ib1(gd28+g7~p8Y;+4h#C7ke<`| z@3iH&PB1H`7c&6bAms2i8Oi5=zia95@WJ#nmR$6K00KUIuCOs6uKWFvc@wQp94KO)Ul^-2L%CSYEHa!wyhK^3GVC(0#gg_ySP;6)M`!67o;aXKlLxoB%gkDf zUAV487qw{K-i-Vr{CKVQqwx=T8My(wSNft5RiX3XEDNTUvul>Akd-BE8OY)ytUl{8 zpNw{%o?!YNpniWFkMDpIPZVykpJIj$D6?QELV%r+ht2?)5h(IK!1rW)q|jIxXNWJ4 zeAU0Fcg&|P#!z;G*)-nYWubSoj?8g|v)$4CZv_3~({NL0X)Uo&{mL09z9{re%ya=9 ziFvQ`dKcOLHl|FeNA~;L^|5qC)JYf^C)aK!Y`Hz;h2ygFA|I`!kI`?Y4 zn7OR{&xp*i zf0zcMWMNyQ+m~H_TX2qdaH99NuLsVQQSVAXp<;dX-uT|hJ*Cq|ZE!EUOtixBuh02B z$BL3ho`gwsoQrS(?&M-uTS>{7w%pC7!cus#3qQ6JoO{#U%~idC4l&~xmRx;Qi8P|; z*bniP`@r4A11`aKFfAsGje}7INef9~hwE=PV}O%e04ppe+ZV4R;U9?v51*tiZ;dzZA~+@rFOB$+g!`?`tHmPfv5VF> zB^y7{VzV|EkIvD&3`O6bk!AZHM%KQpy$fhq{vIt3_2b?5!7*K{<`SZ9{w~;hHEir6 zGwAzzoiHKR=5e)tZd-Hu@<`JBx*{gh4hB~l^|}<8Vy?Fc8nj*0_4|TCm)u3W_+A!D zYrLVorna`W!Cwh6I`_{4s>_RhhO~6J44l-EVER7Bb_wpOjH_8P7O_UlTByGVSP`z= z`cI%c2GmAPu*|5Nq|6l@qbq}1icf3oYgd-)eHNN(mpm>LU#BCtj(>0)+zEAz_s-X` z5Zp8yPG{zr`}47dZM?4RwKBZHoJh=0^Oaiv^#Euq4&%e8F>|p-`B{o6M1hK}>-ADA zHhUUMD9w5x1$cb1{dul{?OEZx7K*Q8vN2Q zuq!%X;n83$%=NlJlJm`0+A(v`EaK+%k<le&Bm?HS3|Ktb)njAfR7-%+J&CIzJH0-DB9`gk>ew@H;)AykF z-Y@>r@vk9`mJwSy`EJd1JNYiQ!`=TR*2hQt?D+LUQ-tzyK>H?w{>N-zB7wc>$0SJN zK_X=8;FG`|0Vb&ZE^orK#KLEV^+<8_e$APZ5??&v9Y8}-%-p&=BI1-S)hq9AJM-r4 zhEJy8-{b1)Dth|$U}2@_4Q0QM??+TCJi4?Vf^oF?JamxHcK+`GR>JIzMQ7k-HgtgY zWty@@-o7f07ZEbvx~MIHlcI<&K#^o-k0Ah|9rQ)l z@4i>V{q|#pp;{#;sEXSIlHc?3z% z!;uKqk;xo+Mkm7n00OfQkDX%1yw{ILK`~<`FGV7_QLS!^HU%u#=hk#B)VLK$d{29vjVasT{6)dab)u#0&h>CxSjG150_}N zm1dO4j{20^3s0yhP2AD_mGAzZs~KWcr$v4UF8i+@njLtt{eAR3_r!F~9W0A=5h9ZZ z_(-y35VdSjCH3sLs7|c!Nl~Gj;!{9Wg4d&DqNDqt6S9pd#QIlZE~$29;C5k(8vVDNUwFH%WNTNAtAY266&@X( z`(P@j)XGUpQ;B}zOeHJf8`~2 zNhjcAzbZF{3GiDY{80AHPAS3-s_uKay0XF6<@XIhPG}%VlZj&#`Jidqx^Kn+$bq_7 zjOAR(sZz%8!yvP*{z_?qcS0{X`pCTG)Nb2Qa@eVt3qHFPyNBmvC9 z=7cCeNZ6mM)8OUv-GtyaD3z2-oZ;0Aw@&|KVF75vWedHr#kL}o>$aJRugs{iQM-Cm z;UrD?Lg7NOpfsTH%LR>6kM}iDw2VY2ae>|umhJxbVR}ZMk-kwO#u}3H-BM19eDRJZ zYfPE>Et?7HzM-R{GSPi`U#$zGsgNvtiqv!bgcAA=r-AZ`~Q8qH_(5iiR9^JRo8!hV!8LoyK%jER7kLw@9Fl)|ra8qYP2`_aY*LW5`Z)x=EOAnfx zVM8*ce@s+wcd0f;iE0{X{9w8~7hGaZQO(boyDGmb=`K*8DC#w=8>8QE;MvU-!-cY4 za(%O-KEJ%6zEh{N`OL z?}$6*fZ;ytA@#(2HRQYl-TSP(mXD|csr(PKq0Z1a@W)i@Qo>RT@l0(kW;hdCnsVF% z)xBetE`ptsSa^x$o`f;Kg2iu+kqnj##7bM^Wl`nz%~A__&r zDYcHM2Pz9;96rP{=RiZNOHA%BWYcq7NhUOo5q1pXm$bf0eFO(0NINNX+%ET8@vdg# zRLKfKDK*z=yxAYXsP&95qsbA1M$5YY)J4UN-sk@-y0l{8K{-I*D+wC$tLXY=7H>E; zJ4a?JuU*&T43dz3El=^q`mvOj=HXuVwVUDC$$c+%R{8<)hYdolq7vNRZ`K~gd{N1) zq;!rfvV5xx7oTL*_u!oC0%*3E%H^`R4^x;@ng89Wd;a1=F9 z>s7BBDNSFJS<*Z?TwI83jA0(7-Y_C+pU!lVwo^Ya@|JOz;TI7I2;2`oc)(2qQ&(!- z@-UStp;E&us@19A31BA+8X%+S+LZN{kjt4XI*J_)H|J$!MK!leX4i5g6{6b-&#xRL}Hh&U!2ac^`z855y>HY&c?0EYrIVl zMF)(wg>I&0RS8V`lNFwOXeSHr@PcAF z$79};XbNjvc;`Qj+&o%GVMy4%&L*eMG z(Q-?f#jWe!+}pMby49-7z#YH-<|kgGELCkJuWvYC*#XSnarikbN0KxfaV}_Ju}1&N zAS8}MTxQ+>TVmrH97D|MQ4AjTyClAE6PAwxX~Vu2Fb9yWRZ*O}nrdu;Iaftad=IMI zCRLuG)i=#Ztimal`Ml&Uyvp+TVMxJHme$?G$z5iQ8E*{CNpy)%B1fy>Q0H@+p_8JM z6pA>%71EPjP~PE0pC0cCjEnpSFJ@Ux2<+E~MZeg7MR9-I@KT*^xD1&cp<|Oh^0l$( zl;jBDnC@`K=cFBUYBRKd1o%t)6c9?tEeKc z%}^%XSxD~B`LY)8i|gq%r$&F}a0GIjXnhRKk{jXW6tjX?CH5mzc4s{-{sNBm*(!4h zN{{(U0bR9{@di{|bhZ`gt%uloNK7g+o|1{DWD%X?!(_lFE$ia9|73`SVOBK&@CVtA zAJ#a){~uNVCH&ogK>lBbB7X{XUPUx@G#)g*(#1%fA%7UPcDDM}5V~RQA z1K7wg8AfXs9KyxA?v-w4l_pty&Nb9L$w9`;f{pzqE+dD{_%FKC;!#D^VqJ~qKU=JC z#8^mZY7>56rskDbN|nhS{0508CE4I5|Y{;a$E{ zzySb$OH#T0iJ@kvSzrB_4Ey(C6LT_U`kEwk8#%q>MBFt#C4rUM5V6$$LEAJ1j2|Qb zfb@^PG|q|Og7(J?mh1BKvP^@ig%mFwhm-M@6P8P4So$nK|HKKlR3L4v&VSGhhpab+S3Vy>N>;GB@091Z*uCH->T=vl<$aD5LPc%IS-8qF7M zRurwfq)VQl3Bwz*?TJ&3>@U3wVay~Z@hM1KMy>fj?}EAHU$8bTDM}9#_PIf zAQt`!%))nRZa@G4w5+Q!EN!}-W-@xpv`Irq0e{ht`DcpiY?8hEiJwpkBcv7vzlVA- z!LF9I>c|P$AASj<;r`v|XNsLa$pKMWSNmj;6mG-QC0U-tFMlj`$Yq#46zrV?gZHhf z?%5jxtOu#(CSofbX7CoJ2%#8i6j?Cra?15Jtm?0GLHMWX0D#6s!SUi%ZiVkK4B8-g zqQV*{oK+TB^H&MBhHl%3Uz`${PX{*8<=?7O@`5AbEBE`YW8%o)`6;S0Y^g{U)Q4iXuW<zS_O>PA^pY0t=>sOf4vXh+OsSbMi<6* z%iprrR&$qva;fuOW54Wc58=6aI2b9p{h)`jwlQh8V9xCr=Qa{hpfn>EyGtwXLK(o{ zUFR(W|LdjENz6bxm(y$5d~ceSNO$_c;&OcxY2cU)&Iw?9@QpYfALz_0iM+z?c>(}@ z(f{qJFl4GiNNz z$YJZYb4v!pc;l~$J(;o#cEFK<;*IWbVjN8k?PkDqc8n4M6}~uZnE#Ldmv{f0PSHz3 zn^R)pzo7#FSt$S25V!99>OvoIRSuHc`QoQ7vlfNWr0Dh=rK|)IN!N(lD`5U13EqEd z0SZt8C{@I#(hPLjCQo;U|IJhndPgV4v+S)e7{_vN#{8A9EM&f&DCU-3ztkfdxFsbx zTEzG{dh%t5O|hiwu*GcW0L2~~Dlh7oFcpcj*t_q~Upc^vTKmg(uGv;jjyh4RXRd>yF8E>Q~*J9%_O|TEGXNJ5sn(-(-@PxT{rMyk!N&^G&yF@`kQK zzS!8Hq{UhK>Kf#CC1lB#?lQr;NduWf{e!+G95-3$G_`oCR))v1S`A|-9|$aTBui*i z-{0h=cewCS#!J=-@9pRx@uO0nCMg{{!~VyZd7-A`sz&R`DeA;2<YM+ppc|-_lO=4mFs>=C@GaKL326&Rz3ICSlBZR^VMg}j zJq%vMk&UWyr_oCru96zi?TLS5aaN;P`Id0b~bZc>J@z^l5e9X!0^x;KWs_hMtFs2bCI zdY_CoYp!k$wKU&5aT-FgM7E}WUfm=+NR5xyfT(rz-w2wuEtofE7F59eQ7gNWZGP;A zSbm}~>3y!3oL9L^o)yXd0t#!x?*6L9_}vZ(sG^O%QHLu7BAdgMWiiKY>a(zCyKH~g zB|H{ldc5$l^E$}XSZ?pbalgBSesc=8UL^odz33@W=uxYW@Kok7>9Mg6O%qK>Uv{lI zB~JMs-kta^e?fXOo>+>cQljRp=`xnzsRdB>p|JpQt5*kcc+-1s#{mu|bsT=!iy0uk zu)SaB-ngm7{7odsXZPY?WaT`G?R6y^O}?5`z+_Kv>4c!p!C7yxld2`73sWac^sC-? zvhc)uAtN_o3`dgkz=LpMb77~@paE7-z;f>f9rKYc66X5nReXvAqOvodUOj>hOS z$0RaC6a`8=5B~6My(12{ztn1^Lb}NSlWC-0#|h)Cj@GC~7BT{Be+3Li4fJ>%ew>R*v5Vg`0?EzX;|=4=jklB<4((=3Bo?Q(Dh%RN z0}#wzx;@>EmiNeJ_kY|3OBXK1LxWbVhTQKkw*C|`?N(qp?uq`1MbM7y+JosA>)P3S z;O;}tj;+kTiRc0N%uO6H8}V=NEHN&0x}w(eqVj7dS39bz23Yf9UaOMo)2E#P8=A=~ z-Huot{qT{7YWdyR#CR$b@nW)MQm9SNZY+Qu-VwfZDIV<><3Yxxx}$Kq{r$b*@I70d zY6bnzkU0wEJlzxq4H;sd#XnS*&MjZ?Gn9g~0@If0bIRjxF#};T8)cSf5@nK;B$R7z zYaX!ZuP;y12>u2K_$7>i4jYG2R$%tx>{bZxogjaakoqger&iOp3!vw^zaovYsD&yC za2|!GiV)fyb*#E4{TajLsyQ{osd0)Z$ZNzOh!(0B#fgm8m+eeo;7m+D?Uj zSyWHFM3`obrlFN?1}v==>n;9^7piqLQhj?u8dg7q6~`M(76j$Jhu44FQl0crU0t2o zm2msQirBDSL95Yb@uNpL*1^NN` z_&C}-8N-^)7yCVLcswYdvi&@S6>4>*EW8yi@9JpTDadU#Cum^An7Nc8o{a2!VN-5r zYZiQK4DW7}bCw>_K|2M*5~F0U?9#hyneO6CFg9{0~)NY;kZBQ0d<`EKO`gHt)vovla*v zEB~wps3?Uap0*hH1)r{}m3BDYJtKE*eI`f>$c7t|#Q7bIeyK&pGS>X*46Of!3vo-* zgG80@d>}jmwO4_2s2ieYTr-;jK>HnSecFK87NPbPnOBPU1edf^_&J8 zU4$)tD-rw531z;rtQTQ@P#4*!Z5bSk?zQF)B%%Qh>$aJ?&7Edyr>E&(o+^lvj-1a} zdSH@^P|@yi9ZF^;5dM%xd6op^U5dXKMja@?zML#`mUGUKw^W2yvfqdg*;5;0X~}mo zyF6mEi*HGJ^{{#|E^QgzT&F4M|X?~?MUgSsprLnvY9_V2u&q)mio?0i#4zrjzc;tmWazKE}t@;-mgR5!w5X=hZ(U+H_IJUh5sw23_WURxd zm(`1)3MKlMDEF1Vitk9@&;5el8c6khIU3EbkO2zwRu=j<(Se5D`5V*&s4z!qmw%ld zEiz})ni`9GN-50vC#DiM7W1h5i0zbVw}Qmf=*>y6}F z=JrJ8SA)r^(!YPqGPTaa-!0EJeSrDf6$8uu{C#^??)P#gQW8c~S}Y!?wlm$*Mit_q z<2c@J4V8#*CEVR;NNY23-J4Vaj6atahyS*4D_zltH-EX@PsF#C7Y#}!{1}B1d5ovc z%C)Ri@E?-=kB9Xnn{!xD3Lc+V}lKo+X?0kRj=Dxv(}|SsuH)A2pQM;6Yom1k(&6Zwqw~1vU&zv zf+XgqR3k62=g-3{p*xA%2cbAZ#|;R_IJm^gb;lCTvHuLY#tSmp=nlLa26V#WdkJML2kZNo7FPRFa!bV4ThFS<^H~YU0}-LBsf;looqsBWT)&a^QBjJdS;v`15SnmQymHkD!lMaSBNjaibvM#$E}BE|m7SM@b|) zS&gJHjm10McIVdTK;JATQyWQFFFam<6Y8v3U31ML1fnCFyR=siI0AM-ndQ}DCd&Ha zo=a4~88%|~v9>33&|_fUrS-199M`y(LLsf^2r412FuLx2T{3znFOaH)Q%7?%$;$Tn zNRS1r|Cbl&p$<$I0IQg5SYYglx?|U4SyFH&7vSyqD>%@4hTRh-6AB1qu2P?j~+2nVG)z-FT_&=9D8boO3?EYI;W{ZpUlIYhlbQ zi}MGiyN($1kk!&jM#)3^bm_hA6f>hFNkKZAD!pmz%Op7w@yLm570o++paSj4ON2~D z+i%xYRAmc|*n(KC$RaPih6)`r@RX|2Ph1-`q6X2is2Pct-Pi`*bNt2LMja(MY?zt& zzM_!hKcaUT^HHtvi#s>A_Bc1(!(U@!z;A(n|M7`oIXMweRGp{>D@1kzxGG99p90k@ zCci-0_h(=YY%s8>57WWFajGiLt&tIq<~D7NFq9FdxEl`~;7FX|C+Rs&%i=@?Cn+2o zr$}Axa;_1IjL9$pEq?i56u$d&%^GzYZxB@k-@CCaylNG#kV1%z?_3R(LAxM z>d=@8E-_-m*SkK-bDGGu8@#gi&>4BAW@syLULKHlKMZV#)e+E0qcNYU(w*9RA@-#ySCx z8lJDY2$2Ki{A?MYB*j5}sNK8Iw@A{4DvtKO5qL5^H<}gasig+v^dh|<3vX|fXWLNmX73ws%Q0_1ZHlT z;Q{M5oVkFOK=hE%9HMR9tC^U8@-X=~!>BKx?@KI@`PrEnmo)HrO4#hPN`KjC5NsX++0CLO5QE z=V|x8>N=4V>F3Y3`#BqmnIsGWMoT={bk3mHi~yTVi~%Z+YAv&w768D-S_SgkCBu&g zyLUP%%w(}k|1-tQUQ!Ez43@&&d>)$?pu(X>a7Z(Ct`~y_Xmz*-pJW(pQQmtB z)`ewVVL{7o)8AL~QV?yS%i952#+{`&@buMxMgwus&{Mf;=~s>a9^^^ibpPX_`My_hVv5} zXJE9Vib^=}wes(OE8@tgrI&XFTKV zzIx`w^?UzvY?XHt&@)hD1Hm73)sQ^!%BDtSMhfmvvd+np5wu3+3;I34(?x<3t!x>r zZj{4PI#in3tKrr1C2wcHl`Hbpht3zzrU1dh*a6V#G^NJ+b2X_N`dZyn%T1ym#1qJc+4t3)!Q z?j}m8JEIDN+_6HLBpP90Ka{@gZAEQCL@E}6;+7SsN#rdQZQChE(-Q*Sx(sWqTA9A9nQ(7@Xd0H7a0L|)Lj z#1E!uXZ_3u2e3zIPI365_4#b6A$%bp7FyV9lndX9bdNT>hz-Blow%nUI+-zb+fK%0 zm5X@eVpA3kk3vS?8U3TME_=TX6uk;Um0K4-|4%$w!ghX3mb-UGIuctgjm((s%75!A&UKb&t{!sdALIgjDYQz)D2-%j-HsW1@9`OCGWEl>V*VFK z#^UXzR>B)Kqwo032_<_d2;1m@Nx|i!9&>4vhrnzd{oZxXegYaqThR#i@t83)0kw*x z31JYJ;b_oz7>6k_Iz$~1mqXiNl}w7Z-EZi)Vmmr-{_c+qHq9XYQ*z! zg?K;An52NZgT!^__bor!71E$XGL^|6zdM5oqu0nUz&e9G6}#n$XFp5p6_;hp@MzG! zd}ZIt{e2y8Er`k&yEntcLEA8X&L8*RR^H0vpe^qwcLL^(|WX~j*`csvrr?#qB=q58Bded1#ncKBd|Oe59ih5H;(miEWwMkD-#@8O9MIOP zZW8v}F(iv!k%r=;=e=4NZIKrvhED4;%Fu$Kdg@0_|xmRX8CI~(i^$dbH~9*fb6t;gJD?F--Y4Z zHJ;?PKKUzEj=~b{G3UOA5v;H%M{*%8No<5@u^8VuDZNageyrFN4)77{|IjVtpB-4H zJ23lyj%@#1cVOnu-}eR!j0c9fzWV3thC%awyzeEHis_EvJh3{USzVfoh!FhAw|?ns=u{|FX?elIY+H{MSc#Cj*977C_mexYsf{5zX6WMh zoIl`^`OK^XBy}QSNw-N1;rI~mB_Q%$GM}N#Nj3%&nh kj$0wD_rXn0N$SHK5*j+80ELXI%zq%{q?9FV#Epag7j>8v+W-In diff --git a/mbsebbs-code/html/images/filefind.png b/mbsebbs-code/html/images/filefind.png deleted file mode 100644 index 48d5e50ff3d7779c73d014ba8ae99356821b87df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11080 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

e7sxUu?| zRkub-zIA0jq%!9XHQ;{~6yT7w!TTDBiq)CkLgiAq$J7u698E$+L~lgBtWgGty=baK zFmgbf=l>ZUgT$1CC3jmG05sivEc=(vocvkqJj1%bI+j$w{49grjXMh^RpOA`9B|N! zWJywf4)>k+EKI}~ZKYL2tW^6)$YnxTdLL>oSXHF7t}V@}*t{$_9M>025h_}|pRPrq z<08=J>WT2gN#8et>0?wcC%68r<^_}+eIp%XtD)Udvb6OnQ2$!E5s@~2agVe(E!rxE zDx0nUG3$|`;f~7)$B@dybx7GP4K9u7J4aV8L6!sHGWSo)pl0OrQ7>{@wJJIb&$mnL z8@rYEr`K+0@$-596^mKX>pZVhAr`~F0Jyw^UyNfqo;&HH7#!b5|7bp6 zW;13L^R1kPhvfMHMqGMXDeK~-qqj}E5zq8R(Doe*)x952AGk?cRGTc5|Js5ePRpuG zz>zl9;fnZ!6Y8J7?*<$wWlAHHj|qG%_^e+$=y{v4y9^5QK4k-nzht~&(FEF8y<+=Y zs2|fO*FYx?f;%Nz3dU~Vrh3v)>JvUsQ;k=-oB&i!ze&S0P+er@P#g5delFGmDl5<{`}jI11p&;p(}x0j|BaT`Q|?rbClX4z7WkqCtJah_+t8k)5QO}L*#H9cAFKP{rB76$i(72q-Zgrq zcdSI>qIh&S;>&ddzvS4PSmh8w;0@z{0D1=$O-8J<{Og;%MJ&GDH?#j&Sb6`i-QfRz zu&jTHkH7#Z^=%^yt>C$jiS3>5M5T#5PMG`62k2a*=PY_=hZ+D<)NWh*Ma+Z~TRxKr s41;8iDz7O_D~WxtlztjIYLsZQE3^z(t2%^^i9>*fnyxBL`T6Vr0!d$)PXGV_ diff --git a/mbsebbs-code/html/images/files.png b/mbsebbs-code/html/images/files.png deleted file mode 100644 index 1effd19c4e9d7415a04568e81ff2f33467cc4fd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14793 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 diff --git a/mbsebbs-code/html/images/go_to.png b/mbsebbs-code/html/images/go_to.png deleted file mode 100644 index bf9ea1dbff88df24acc23fe0791c5f09d9926f65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1064 zcmW-fUuf556voe5i!nAAQC*1QCK%MYFz6p7l-6%-Yis;kJB&bLm4lfV7Ijf%cvy)W zMNolQ7iO>vITu1m-jp^XV;~H%4n#)KjRZj`&Tb-4pWpX|@ArMrd*1gs&v~AAxji*H z(6_lyLbi{#l@W^zs_ov@!RUk+BFjiktCyH zDy|YLsZuIpVkT}9CTUWHF5!|c1yqQIcu0g~NHr*y;wh1mDV1U+UJ@l)6aWkWE^&&C ziJGaoTBxO3Df!NDvoK4uYRVJ4TeziLHEc+GScGL*HRL$$X_1y`)o|sqmql5YRRaWB z*uhBDP2JT)J=IGgMNNu;3Jmu;CBr@43&E&O5FX(fUX28>Asy+NUX3D<<8+i~c{Ku| z9G6iDNsvJ_Ov5!oBQ;7p3eqd+bOU|(A}A~4_%b2q{=lhB{p3EXn%!+R2kE&V624Ni`EQE5@O>@7u$E@0-(8&o>+7e}C`X3+#2h zJTcmmrJk*01mBOh_RPHX>ye*!-Sxvzue2}!`QO2b`P-JZy+3qeeeK(Odb)3Jo|_$Q z-9EeffZsp-+`?yf-g~0G|H17;J*!JTcKzAbzT+RBy1wt>IQQz7KMo%_wY;|L>B+Mb ze+}GNS?K?G>+HxEgU2VXe6=zB-LaV+^Iw0o>F)J~ZL<6EAFJ!q)yEcRr(gf(*5H?U zB|3Aa^Q@oBqE@P6ny9>KmV#jMBC(hHwF{I*F>$!`Z2Mjn^F03g~ z5pK~-xXrrdoqe#WcuU>Y^~V>^$-TBke{V%h*qi+&+OKkF2Y61NP<)Zm@rdr>d2u2w zCui)ttoZQYmBX_uPOR)c*0n<_CwRqX3-eFs#V3TxDcpIXlL@pbti&~ zAtWQSSRt{fL;*-;<|&k9q$(7YCgo%%E2QM-CT8a8DR`%r0VO<2(=$?wbriBeybOob p%o07I5jqONsRbpexk;%-3Wk=Jre)vW&jH%N;OXk;vd$@?2>|l@a)$r_ diff --git a/mbsebbs-code/html/images/hatch.png b/mbsebbs-code/html/images/hatch.png deleted file mode 100644 index 1fe082abf59af68dd92be0afa1dcbfcec300848b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4866 zcmc&&X*kqx+eX9?DhXMlFbG*DW)LM3@v|qpLPBCjmMmjUktN3N$7G$zQb;nkv6F0* zrO7^a#*%I9Z~x)xM`; zL_;>pQLb8~ZOXsDN$m!aW7Xkg&Mh1(}5G{1lU zRylzEJ^q{X?}bgmGSbkTkI~k+ZQ@I!WHz8?6wbfa#&;3qgi4EzYH-^eBc`$ZR9b*` z*(55U^8v!d;|4lJO8&(QQ#6f8bZYN+{=TuNG{W~3z6^M1?6`lCzruuiqd%q>OqFlV z)Onvn#TiO1`G0p_RvYy1WAD-yo)zZs*x$mq*mP+ZG%n8fKCrayY0L4qq)Z@$rne3z zf=-Sa+`rZjxNWmXYc^1Q045OaJ*uh<`1q{8!&9l3)!eK@Sv>b2KAc4iY8om5YG^u% zE(n6NN;C`QlJ4K$Nn0-J#d!VVJF>Ty<+}TFlT|n-@Q4XiMQ?6ohy%f=_XMGbPH{&X zLsiC(@L%3zV{*{;7K`)9D>jxXbLC($B4(QEj%5T#2@C#1$tqw>ZW|*Iz9`D!ups<82)F zgf0-jo%H;NbD=8RbEjj{zPjSjZbK+~V-0Ksnftz4+Ag$7oSvo+EWL68wg2X4m--E% zSz%(Zac-9mq7ydbknV4Jv%1qsL3F$k+-a@*O@H7`MrWv~ER0WHTR7eGECP{`SnAKl z8`rDHHBT8ulQu^-%2);LIi4-a&sHAr-dlKzRi;Tm^z+ZF_8zPJnU98#jReIsv>fEM z>?&?3%)Y38u7a?y7%91(*6t*?8^E-hZ4CXEQ<3K&fNxL5jQI*j1vhi;Y<%0)@&SoL zNbZHRIkPnQxL}QpF}LbmrJ(5~FrnNJ&=Z3pEe7he7Gq)kSi$3Ps!#nWAJj<*-7Y`l zr8ed{zkzbbOXAv{=EA?h?{giiTm??+1jQYb50}~yucnN$-ET}vc!E}){ZRKw2Srx5 zR*-6!!mAcHrl6o>CWc~bq+M+iu?G^_eGL{fH&x`Hq+s}p?E#wWvsdrx_XD%15|J>r@R&r;YyPX^+E0)-llo^%) z-R#(*H^BZfSxHmZna@OaK-jS4a7}!>7zME>I1t_hORV5&gQ7$#&ua1IC?IRJ;UXKI zlk+#?HwyBoH9~&DZn9809^Y2U7RcCVGWg7M#pgn*5g?TC!?Roy#g$GXN&u|C*v26u zVADJVP8hOZ#|uGg-@XKT<-r=!=0aBoaAa+j^*H}8Nin<1lQZS8_=&whkD?Y6axZTL z^a@b~Yz(>!QmbBF9L)3X{|rIWy{hj&DmAa3K$d(Uyzepu$-a{?%b=QujSaEz&9kZR zuAHGFeGm8)~dv?Pq&w zw=4f>dW8DpVwFdQCikr<4mY*}q5@^TTNY>Rj{+xe%vI*_ulPig2+ptU_;Iy&L2kPi zh%u>*{4;AL{V@PZP4ku+g#2@7=(l8y7uzz8fuGsj^&V@Bd%`S#Zl#h=&AFaB^G6Au z<7N*?9SCm-p!Vf^7o|u9+tyA-zJt?etoAJDb?Z&;0HrJJ+@CE1`~`nf-Wao(^bbAD zioR*C`->|4jL|;Oa)j;J4`4+$=~3O%ISwxs=jQ)R_9-8mOzSYgycd9*_wu&ko@gp_ zyUvw+uP=`f!{#+)#dxtc-JO(f5>dO!xrTqmQYOKBeb__2ELiaTO5sbv>kfchH>8ki z^p#bfd7IAGkqLZv=o>N-IWqlH zKUVIj{O})P!Jrbf5uJIUgApJn4oyqM=yqv~{@=ohWQP@f)&_20_O~L*sRly|afM^a zN9>kD=O&nKtUr&}ym4Mb*+v+;(b>w*_a1w=`^a0tn97h3H{3G2Jk%N1R*VEnPWc zleks?0eR%yEncF=0Mx>^W65ym%M1Y`&UnrLO%V`4U}Xby#?f?V_tR@Hmoil8B1#6L z;}kv34+R!Pi{HK#Z!Xk?U#K}c4eFLBsi#d}5csa;-(fp1@*Z87L$TYB8s zDa^pDzQNlsbSH7RReT#?wD!@{7VK4c8Dav-m3!ZweR_E+`_jVI2=uj=Ec>oY9(<%& z$gdAqo9tdQc)Qv)6xsVaf}E1?$w#gG`>=P^Z^@po>syuaOxdf3J1&D z+1q6?Yi|l@FMF*FKjB_em~&9P=BhiN1K-`mG1t8;r5U+-CfDptda$?(jhd!)cguf1tm()q2l?W{jrl($@{KQS4L3%{ z3*zMKw<~aR+%}I!Y16b;d}fScq;3vv1ZNx8v1zS#*T#wmaN?@Ed43DeOs3Y}p6cU- z@k^9NPQytW{M|99pI<=#H2L|ccQ;rjx@@LrZoo&^-A!N9Q1aD^GbD7`taT!$?OLrL zezpYRChRux50AUrHsE&#NEsXtl0K-$-gtgy5-z!s>DpbWbIsuGm-SRknc3zom73j# zASq;#a4%%t4l`dF7h>{@3Y+|CuUwt(UY!UR+`k1r)(`U&tqS9EF%@Ce4OjB{A(fOF ztzs1bIJwSq*5%Wpy9@b#8yl`DsOE1lQ6Q3qw&l2K15g63jrcaV?gIGNPsIEtXoesI z`m=KOIb3=-BG*4W{x`Fnuf$g5=wPZfYqhjVQmybkkAzCg!?n7tJmtjVlhU#x`8;D! z-+G1$tyz+fY&f&BMbWrV27X*+uQ_?_sjTWZ=^pv5iR_!V7585jy8HTA#F86duRtb2%J>@HYh$H&9!^=%zjv*_zJ1Lu5BaDd!6>CRMMxh9I!GFnt)1h*26p6 zXf3l#C$vxY`%W;}Y5A+N4dzPXUht1PA081JMdhXaeyy>2H-s5(3uwWl_f;lnhK?s6 z>v?(N5~?g?cZEfgs@DDyostE18-q@YwLI1hWWX#Lj;};knY*AKgAel0_#>1B8Ist*4VG0cFc+umxm=HiyX)~t}i4&#<^h+oOsC7G|jr`o@J=tzB-7nsaP7Dp8Hw0?g#JdW{Y`-HvJ z&HnhQi**dzY#{pXObbTi+&RFe_B@~|JM*G#k8pIDmXjQXHDr>%5t)sx;3;rmLm34` z$=IzffR*6x7gXqvO%^yOUs?*BQz$k=DN5hL;hBDhUV!xyyUmnOmT_vfPL{%)i742H z=1R7djtV6kFCMK*z*+ahn(qnR=2PTLE;L=?a*3Oxu}===?J=C3kEkenll_rL;f4h~ zr=A%Ip8sPemwR77y=TF?(lU{VkN+#*a;pXfV*#A%5AJVv4OOniwl3yVCLgmmGl_~! zX^`2tmh`Q(NZ-wV3n!>te~;|HzuYH0F;}iw;%nn!!?aj^4AkBCJYT$d_7|}>;FMR& z`@b$);dyr(-|8)MCek8`OqJ4k9Z7!U^o~+PYURDxuK7KWqWq6j+&?0?4s|L$I4JEX z#SC(NC+Ebqi7WQh+o}!{NQAvT!VuTB)F4Ic7^R2G@P>MK+dh@nMVGz)B{C#}*@<2Y z6wPR6bY*0R_wVm)1wEIY3HuU8+hS)0>nYd)f3BqxJ zRPxZ$bY>N!ZP3UeIre*52sS;;Tiw{UxIVbu(9nnD<< za7lsQFZxdF>*iDNj(>%KT%TfC@~Fi*;F7#A`w{0_GVyHFN7SWE2Twp-q;Hx$@6>U_fylq=(uy{6{K2gksV-^*#dQIQY;#Hd3&j^M)XNu$O9@Uoip6Oap3+jW9 z+R{QNaxCdZW=&pS?PE0alpD6w-%v7#Ns|z{3kUff_q&5RJ`)@(rX_D2Sc43rtefUk zwI>_I@ay}BFkWmMIp^&x9H{U)r>+OOq~Egs6D4>^Sw$v`8F+qRciNb+*K@5{hfUpo zkUQ>>S**)BLzl)TaCcb)Y z-6fMRJ{?cy+=EZ~^>aq!czYuGJ&JM}%B!S@FM>~1oo=LaWT2Xk?HX_v_D1)gn=}=ECmX`%Xkv3wH&ZO57+XE{#gRoU2svVX8zF@MiH4V)|-& z=gLY;pl^hqJ~&5#Aim8uxnQ~BFS!%nfa-^8Q8yU?FGCp|DjuVDyY3o5=U)U#!4$?D z^T3lJ&>ej9=vwi~twq^;!>ar#;QSr2q7+e!yjU7K+}JR-TtZ|!{9&o;c+R*YE{THw zvRveRuqrk%|DRR+l)qA8`6Uu@XxOvlFJNS)_d0859Q41gwtvrR5{Bee#Y}Xk>&ty5 zTBc0RP&y3=O@sQ$&Cxq)R1$WyPXu373+wG_Wz1=`*q991vNQv+4=crd6M5uXUX5iNvt zkN8ilOp9PNEsn$1rv$eZOotLTMcLfeI5eyAs8XWMn zjx`l1nq^m694Z`qPTWJTaAIsg>akq|*VKh!tXS#eTOtQJBM?V*$%v*mkPyc5QNL8C zM93(BjM|AmGJ40xbsKruX**ETfGhrpuA{>Z7sq9AoumzO`Cap`>Ba$z>TMfzi<@-W zTYLZUli9Ds$O%CQbN)4ad|!NRYxjIS z2PpwTq=nEs0p57O|GuBk_v86~eCw=r&YGFCX7AZE*X(Qdo+xci6?z&r8UO(3Ri8c8 z1psn&03dUvA}7^IjZ-9$K9}qiH538hQ#>uv@-nF`?xFO;L(kRL!`l*R1H3Tg_Od~` zJGi=VO9+dJT0$H>ovmDz9elt_F8186w%p>PqW4LUm?($DAOLU!s!tX5eb5A)e>JB; zK>PONWrRCL=;AE!I#l}}!)2ZX-XBjC??HWPlMPF)wv__3v&-$BKaDTA=ica8GoGp` zSt$JQ#=>S>lvYf`iPK0g3_#CCw%>UctLvOO%BfRF(S#oOET&`9MidI0dc$=YB> zrGxjB007a#Yp>j=imxUnA^sV^-)Nfqk-cihy3nN$SxBgVd8mJZtcsZEH+9JRlk~9J zCGK0snM8k8GblppR77`CFH z(HBoF5z{>SvB?H14MvYo)-5SiUiG-$Ap`#GWWeVN%zRdd3wx6xY6gKgbUZCjpgUnw zaN^{deJ<}0nJeZy3$+8Sr~S+0`28;?$#ZAxmE*~GLT#0{J@Bq$bXI1>7rF9oK z?KRuvSXQS&4&XThkLD5b##Oel2WyKHi)<2cKK3JN401<BUv}S4JElHeh4t^8*6ezO7Zi z;^9UCZf@hVaf}Oz|KJ&=znjQQdE%G7 z4ZOb|jw?HUk#4D%$bhU_#0V60i?A&9xT`eAy-%-ef8Zv+mFoaS1OalHnO^v=>bJu)AiaP|oD zFke10dYF=B?hV_Vj9VTNhVuB}$gyS55Z<=+)T$bLjbW-kheaHNiV+~9gS-H2;h5E$*;<8$42?rR}TyB9Xo zBPp7$8}_3QYwX&j{M#t%9%ek~KUr*V*WU4x4}zW6e`6zQ?#_YO6gn*OmxV@xUG4o9 zH~f2L+f0^ec!VESkW9ZW=)GLfZpN~2Ck{>>}~m# zD{KpRDJ|Tt{pq>uRn2VvCBpKfPnPlcS5kqtQwdil9<;2?)_iUu&X*>Y%Vs{Vq%iaF z8}a|-+0?Y!0h9N));LYLPXJ%Qt%k1c7j{XV6ZiYou&h4BG^`26N6%Lu;nOvPM+^Glk>3@K=g7k z0@ft;I0}~prQ)F!2%11-_RB6eFAY{uP=ti^X9`Vc)@AR;NsaOIcT^W0eK&D*z0mb9 zgM>0-z#J+^*M2kn-XMW&F3{bvqtg5G*O0^MJ7{(F@F#jrcY-+gJKLrM*WOIY2uPlv zS5gWGHTkS;AM8X-dtZEh+}gp(!6@rR!}C2Zb0JG*8XEaJJhi2=$|gfr@|(_N7CPrDkh^2y>Vs97#0$K)OR#pKraih*jaTUpzE*i2age*UXy z;(V3Jy^?;@#E-iD*UWvqoi`P?C*iUJTm*E(_l7;<)Yt{?2DG|1a`H4f9;O{+72^Mg zo^U~QSpHl$T1m|4)Z$uQM>AKZZ*rWeVBvB(%qmUksm$JSwVNEy13!CZ{?R!@Gp(hV zOS&CTcObZadQE-pyfWY__qldtBN7#dq2(EOUVn6EszS9rQn?P{5IgZXjZTPaGSqaQ zTez6Z71SE^nN7mxgYQ4^$<#h7}H?#ek56gka$fG#AvTO&_z*JnNn!Y9K@ZOA3Zl2 z^}=2h+qx?|FNyuu%T8_j(;G69UX|_=KrHKbmlHrYdf?#6o|u=lOhX1M=DshK;gUZzLq)RWh}4@q7oux2YjmKjwMn}LIGqM4z@IaKD`)@qn> zCl~;<6NOwQ5*GO)>5)}+=Uv2k0z-WY-MW84U4h)`==kUw6GLFZq!ZS=PF~szr}pGi zT@M+se&diA0{hoXUTIi0*_4|fEKaE~7IoXY#n6R*^eYoz8*|Z}_u8xJvHKFL4$~0i zn9a1S&j6I<6{@AML9*>CxK-bkYdu2r5Lxoe*$E-S)O4ZDP^x*!EVtPj`{{mKGtc&9 zh)HrI*d<_%QOsErs|)~THaN5v6%XBjfWUbF@e6EhuXqCl%;kglb=)#L@AaifUaXMSeI)?`5f9 z1uP)+X=waa8LZDr1%5*er1epu3}R1E>Bo297S*M9lpb(v|l>@Ug@Pdw6z)ImpLp zcZY_3A#^3h!0jd|dAa!ZDc&b#sbl4~_tf;AIE&;RiVRZe@nZy1@&bH=$z& zLS=XV6?nj{zms!Z9AD35Wjp)e46+QGc+eq~S6+-e9K2OpdCN$5+g{Dc$o!^LbI;Xq zv+|(0;V})4!s^qksAM>DOs_>`HA%PZn@M-1&8J0o!--dS34$Wd(P@^Rv2y~5(yMoHavV@;U6Tt7m1YnZS$lo7_0)RCGa? zUV#kvT0qD#1Jc$(VycW%sWPRT^J71roDCT_fR45Yo^! zhrzyB3Mz&t+izNE+j{+q@~)+CWpTv8zc6_$1vZCv9#u9S+~#+cP_&;@B2JEjOLgB? zr}`;H_uptdRqE%oCOjXGiMei-THPhM_b?75`y^A7r0^ux=2#+T$7RNEZ)R5g}GH6qy9XRLoY93J#c@+k2*z}vXuQ*LfZXO~pudKKf|PWkKpVhEt{@SD}) zy-RoQOo*5Vf(9^`Nc?|C>k&^xh)#Y&L^}KD)X7Hx#gD~CH=L!^_ORasIS_0%gzCOL zuoE{wBx?riuHjA8dHERg(L;)}_)mvSlCv^A#YLh~lud=HOmD^(8x3vx;B%=UR=tET zNuSH**4vq__eoex7&tS9_LBK&2VJ!Plp)k|pXYjahK6h?uVvpeq!RVmpUFG>Pg01_ zBs#v`GKL{6YvaEKWd_ZSJ?)}AsBP1D!oQsTasm6Eg)i1^7^gq8ZBMrP00mz2qcoZ$ z$$V38eLe_2fmaRt%9vg@S2-RMX4{gajeEiLnFPTp*QmGf3@a9DsYXE>Lc&SzTX5-% zCJ)d3urHlN8RN17vO*DDXsJRfv2M#l^W(~3IyV@N@1>4Q7z9zh! z`AVo9baD2-FC11+6unbnHx>jB; zadzs2JT0{q*J<;75mu_MSqT1sKh`O@1 z9rxTEN{2eo2s7(KluOVmCVE`?J;my*Ftgn~Ir^yFh&L9ciOCa3MV;*NNBafQDwe%w z7c%K>OZa+pI_sIMUp90%+`e1;{yBLh`JL)SdGbPLV#qszHKR4xGTMxT!Wq9nLF~jS z_k=;sf}!!+Vr4bHj7U;Ifv1;tG z!&T%Yw&Kf7;SW!V5ra$**<&de#ZWz7oJvaoh0J9Yqx4w!FJ@2Wv1zi|$-jOIQFFeo zr^suaS)iK8uT^!Ii;c24N=M@xqc2jT58zG?{`1IAme?T--8IZF_QgV2Yo51n*0x8* zBV-)x9yPN5`a8K-=Dp35^Xgax$Ao9odE2s(zv+`5tjKU!(=_DeO-`NCyV7)uchNHv zc7fFX1+&;+a1l`z_Iy66*tk8_eO4Cb!ULz+0U~?hZJ#lS&zyH+cKflb2I9o$#+y** z@CTUTqtLNJzL5w;bi(#3kzinMpT29hiM!D5dKWrsO)<~Ry7L{tp8&X0LK44&A&;7F|0C!N`4_h1a#1(n)KAXXZhOLz|4FlXEx~8PaOZz4NEFW?}fr>Pp z?Z(zf0DvcSlK~%;_^$vTZ~VuVHg2|CFlCjFg^sBy*@q`PcudAVjU5K&+G~?1BWBJG zDCE1n8{wLlq*2PmDB5pZ_0x-nv{M4%sm=U$a!lj^_v>zTtVif>UFB?qAcPgRBGNrM zPYtXH?oKR9?lf^RJ%lg~t2n5xLghzUuFn$tQUle1!QQR=GK4p2$x&3JZwq37lKRsZ zLhXi$L-vRG3~ok{1A~RSX{M$Zxqc@dWA}j-fyaIeQ4KLdc80~RjDWTuDF*gH(qr)G zh?3{~)|P4Rjpf8z&S?6fp%~U3p^o_kL``|+En>naVtmFIGKD5XxH^@XIPz@gk9U+I zyw4LydYP3cB6_B06y64$TjFo zP?kJ94PF`^5#Rbg{mfoz6`I6C*3RF#fvOVbPJ5C{20SVA(ulK6bL8ma@gfiYq>lN~ z44L1k8@!WRbC|=%cye`~i}1@G-4sYOg!%Eywy>8v8d%r+Q3bw#V9?pm&K-aUX{Ng6 zTq>~a^d~gBi25IxS^p>q5gV8*s?KYcr2uSnzYHbi9=G;hE7@`LQmc7BCG?bg^jaUV zN4=YdjtUiIUQP{Dc%6Ou`aH15@U4oGd64fWAyi#^vRdS)PMXZ~YsY8o==5id@4=YT_dr^ki^X3J}c0pACDdE@z#WXJz-`?r$kd;3JeLADr(L;AInc zwh)yFh=2&>Bsnw-mU2$~xYKxxi z30=2Sq$)7T)i(gu23Gfw-QKI7vF_dF-nchY{qBgvZlz-WNE0gHnZ?dz(qptT1}{lI zX{eR@!QhkE<>6B50@|@UYT&HYF%4}6D$IpDQCfN34dw&wUX`1t2bfuV7wHNSh{q8_ zlep^m_IpUr$$xC#AcU7Y$#S$(`xf5_oV;lg*3-C?6X0p-=t#c60Tfs{c@#2=U}7|fouRe1_|)|Fpn3D;-ewJ8g{!5WKgI3_xe_8@Ef00`8HhwKOm7iD8d*0L z(>#9g?Xmz0H~z&8^s zH^>QgLGo;TPBJHqy_lM=eh7CKU z-lc|6ukYz+mW-xw#hmmN~7H6)-yZ=qfA@aKD$@VP^l*LalZiq5?tz`6mL%k5Q0LQyz{WLLwhgGk;dBr_) zF)?#OK+bKF?f3E{m0)k1>|-bWvJxqQ$h(emGWnx-N}}Ea!Jj`bq@yuWe?BK&0ul{u z?06!Z4w5B|z)sgg9w%-1lQIFhx>bx+lh2atqw~J;Go>@9n{Z$7Qp$+lCj;!i{hjuV zOLjafLsj60h0B0wrOE^eNuu#Dss1109+3Yk^ZEbM|6|VizobzG9g-;7?Tt>}p$y-z zxeWa6?x0MUzb^3XWbnQ3?h;>$masMt>p@2m?nnuZ9(2BsT|YP33=3*x$SOK}KQzW96x|v-ZCf1{&7xYzYMk{^ zWtcM_%v#r&*aqtE0CJuhSBOn`npAxHOETtd9E2`Ft^o@6mRl8jo-@;-WBE0IgEy&F zc`Iu|vZ=M(Fg}nwtXrPPxaR`k77@vV1?*2?WjEKOZIHu~x9wbXUO2w5xE%zECG=I5 zF1`}>s|&^>jey{+(&3dJVk1A8kHKfkroJzE<{#B(6xu>8y^F|U7UK`BZ@xHF1MB0U zd~l(dpmWYn)Dcf4Icp19$&W2hzo8$w>4xK&_n;5w>Fc?A7ZJ{QpED8tN#5o94#U_x6#;zIGHCk|6C@XGD>(umgilSq@t26aI@ znyeL6C5(>`yZJ8VVg#&6{P?Q{BmL#kP>6u5MD=|b*_|nD=#>BTwPmHx;)i6E8Ov?s zI}T+ZvZ|!ymbswRVDd7hC;WD7bCR(;10GAt=}%QOi=N{~_12!h#a|-*R@#&2@#vU~$tfOWNpbn{-ZHw2xQe2_Kh(Dw9!+pFfL`3855|vnc<5n2edP z&Cf1f5_De3IDT5Hw(pMvsCKeo zla8^}Jj%)#^H!oTsa@=U{w^@y~3!Zh=&(-a8U{&zK6*}DDT zA9i_jBB<_=ZW2iUy$g_rUbp~&#F<;W-M&?&|i24WtGtya6%?wP# zE6l+S91u;@bj{FA%~DK2V?;$oWJ9N(c?iH@pfeexz#VFEp&8wP2aj^{9I&c6jp(Ql z1eMhc;EnJocm<+mTCNpZsa1;e_<@r>(%6MR*n;ZF#|!|WAA+F=0x%M|%)}6IgcK}j zLm#eEOS1l(pP4!D+~<{*RNL73#~M1dz^5gZroPBU$>qtj_UASs9 z!Ku;C@a`WTUAepABOhGS`FHNxNObGSH{%PQ&&t&kmyf?$H!yVTMlHKDcwzX=qNkrO z{BryH>8JgBj_y1+@zdpR$L>AYzGD1ccj%Z7?En0`=|9&z{G+>iZf*bM@WhL`sm|2z z?^o@dw0j$;-tL<`d}w(+>polZ>f_@tA3px-?8NIMf9<{h{=)3(mD~QgadORPGdCaK bp6}m!?!n({fBx_n=*j4&vCgG0#;5-W8kGXl diff --git a/mbsebbs-code/html/images/magic.png b/mbsebbs-code/html/images/magic.png deleted file mode 100644 index 49ba8ad8e9ba9eb9f6004813b61107e73c377a9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4435 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 C6$YjN diff --git a/mbsebbs-code/html/images/mbmon1-tn.png b/mbsebbs-code/html/images/mbmon1-tn.png deleted file mode 100644 index 79e1715c3565430840a54f528259ec332fe9d5fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8866 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 diff --git a/mbsebbs-code/html/images/mbmon1.png b/mbsebbs-code/html/images/mbmon1.png deleted file mode 100644 index a87b9c2d8db85a0989a3f928582fadea4b2b1a69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8898 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 Te(fQ32r$qyy;FVb;miL4c$X+6 diff --git a/mbsebbs-code/html/images/mbmon2-tn.png b/mbsebbs-code/html/images/mbmon2-tn.png deleted file mode 100644 index f2051bf3e7c0dfbc04955ffa5e1a748bae1a04d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9820 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 Ko|Znge)S*ANKpg; diff --git a/mbsebbs-code/html/images/mbse.png b/mbsebbs-code/html/images/mbse.png deleted file mode 100644 index e6c22c44593b5fda19cdc649d310f855ed9a21b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73043 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 TW>%`!00000NkvXXu0mjfLrLm* diff --git a/mbsebbs-code/html/images/mbsebbs.png b/mbsebbs-code/html/images/mbsebbs.png deleted file mode 100644 index 83bc0a3e5fa7dd2ba147c29bb9098ab9db2e0806..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279940 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 O4?P_t?Q%_r@c##?EALhS diff --git a/mbsebbs-code/html/images/mbsetup0.png b/mbsebbs-code/html/images/mbsetup0.png deleted file mode 100644 index 3a660546ecf055f176e5ded3440fe12ebfee7b51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8202 zcmd6M2UinawCIokMiC3e&_Q|tK|)8wAVrXXN^e0*0)#FgQp69G-aCXYLXh5-9uz47 z0%$<0C<38K7e$KX=6mBQVB$5DNWMpJ~e0+L(dTwrRetv#wX=!p6^^pP07|xSj?%~D^ zg(4sj;KT&j-llN_5C}ZH`9%-=mpDU=?u3QJC!gqjj z4}cj8ARu(zHo)vQ0Hp#D0&AElg3lw;| zy0?R&QlSI_gkDo}?_(d8k&%EvfV1y`-TVP427veg0#5*U9{`F4Abx-i1^@|A0So~M zkP^qf_~;8_^aBvsl5o$ka%X^906;j=*Jc!!AW-M^rxpOD|7>640|a&-8{}M6zxfOl+C8a&MTjDL zCJPCV)F>lzxULW$V;%bt&QPUyXK-C`+E@%cgoluDSR&KC(wl}vEAP*yscrhskVF(Q z(g_aieczxG2hyMq5jsZS;sa9Fs4R?o@}n>uJ~7e%NfJUvsu-Mfq6W^b35ViN4LAmV zZVSW6hlB-A4%-EHK)r5_8@sm?p!Pxq$Cz;V2RcAlcp9A|2nj`+zmG#wh0iY?It#L@ zP*)0f^F}EJyk7=NUkaV)*ZiGC<-ozy;8;;nk=q6x4r|$ibYlH+$Xm}&0^aQP+Y5{) zO&+YQ1e`h+y_2+QVJzU`=wfc{RK)qL^jgSc(v2B1dHmYwZP7=^+k`@!LuDGF<6nOd zRSL-7dicWDg@*xqYl{S!a>*qfDGgDU1+j@@r2MxNnuN84(;!94za$>kZjX-c=0(PN zZp|u5^YE(`%PG%1m>>$btB8|Db_L0W|C}DWQo2)dW4L9dzi+Aa z*=P7T+O)5%v}x)oSXJsxHE@q)UNSbXFGTYd_+H1rKH)4lFlWWj!*iJ49aIpI8dI~V zP9&?3qKk!isz`JpOq~E?_t(m&>PJF2`hLKUSrpFO;>8ib8j1|%=0dm8b%XwW%0UOI zIjVWqJ_^E_v@7z9@9|u?=pT2cHM=-_EPBBAqi3-7vs2t2?5KBJ z+lbTsr?S`NVsT6P_@VnFC!ra15a)>^-<2ktR~i8YOV?R@!-Lcc;uhXWUgv6Mw>q>< zPPQ4QBXcJG75VZex}0zD_E=pruCtC4=VbMm8{W+1XAl3VmDO$D^~F7Gvd~%dP70PY`ug} z6|tXgpsEMPEcp~OXb!+GMvq^Ck*87>yUG{87a$Bl%ob!pDH(4bCvApv_(m`Cp*BKtumq`FC`9&TT+S>iY)h>WL)_| zE2C6#u8k_JxPZzW6xe7=ekBa8sS%NB)7%%L2)|ZH3fY}gsEb6Z1-f;$#3C#EkUr=9 z2uvfF6z5u<=JeI;mSDom2FAM|4u5w@mAVz_X34NOwp!;RFo;fDi<8Ejw%GW%h-Sli-$slfoNvf<$#~Q~m;MFng?6gn{KT;P$;3r%pSOFGOESjPR{=%HICUFtWSjD>@X{JrEIY#_tS4oBPgby%EAFY(0X$PG_LZ1m z^@A)_aYvD9U+K#C%Tro8WZF4m>j$K(T|X1i8!DO(1&iyozWPTGTWZK=m>Rf&@Uewo3$66w^7|_c%5r~-AOQo zXMMgLiRQD5R!)qysAae0VKEy~cWFz<4#<}4^^~l)KE)_O(Vs88xE~ay?8Wy2<#O-V z)6yzOe@pe;q2=T?vu-z!k;VQFy1DSaS3J($c!t1(=GJ-s*>-y|xcwwB7W2eh)b7rH z4aqY2^3Zy~ntp1ac^-J??{CEtGr$Uat36spf9)Sum1wxT3r-!=kmU6^%4p2(kP#g_ zp}IdSqWFH$x1H2R^Ko9Zt8I;yc%)l$%n`?z&4ythDjEAL8+#ci)y}vYMA*S0YjnD% zNYar@8oS>4Ref;hEl@jp@>#n5T&3B3m~u(vrMEX(z(>x$zh#Z@-|U3nEkcTSw9c98 zpUjrVW&H`ih}eUv&WhBoq*E0

  • ;7m}ApUsoE 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 b_3$5Jm`94?xU%ZMC#8DYhFUeZ?VkS!b-)!M diff --git a/mbsebbs-code/html/images/mbsetup1.6.S.png b/mbsebbs-code/html/images/mbsetup1.6.S.png deleted file mode 100644 index fb0fa48521e86bac232a5ef8a72948bc85a4ee4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4922 zcmc&&c~leGn|(lNBF3g$(6ECG5IqTOfCnd$SJ`FW<#nfjwn)qAhLy5GI`d+$|U zJ#2qqgQUD90APdF!Tk;Zh(Z8}L?Xq6EgCxaYyl7hhi#oKg|`5-0l))v0O)N%0DypZ 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 diff --git a/mbsebbs-code/html/images/mbsetup2.png b/mbsebbs-code/html/images/mbsetup2.png deleted file mode 100644 index 4fa4d6ac5e16b8927b25fcc17464f2432ecaa3bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5364 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 WzTr}cdfPw$CG~Uxoic65$bSHlcC9-A diff --git a/mbsebbs-code/html/images/modems0.png b/mbsebbs-code/html/images/modems0.png deleted file mode 100644 index fde8b86b61676988a6310116a141dbcc45aaa53b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6681 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 diff --git a/mbsebbs-code/html/images/newgroups.png b/mbsebbs-code/html/images/newgroups.png deleted file mode 100644 index 34733d06d41d6c1ed221db8380c4405fc24db36c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5058 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 O(m@+&lw7@e|33h+vJ*4_ diff --git a/mbsebbs-code/html/images/nodelist2.png b/mbsebbs-code/html/images/nodelist2.png deleted file mode 100644 index 8435d1a053368330f297f98a0ef71b30ee4e2eac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5539 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 T@51)i=yuZ~=xZ0Ay%zExoLd39 diff --git a/mbsebbs-code/html/images/nodelist3.png b/mbsebbs-code/html/images/nodelist3.png deleted file mode 100644 index 86caa6b65c0d3e5a5041538b7a2ff5bd6dded6cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6034 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
    -
    MBSE
    -

    MBSE BBS System Guide @VERSION@

    -
    Last update 01-Mar-2007
    - - -

    Introduction

    - -Screenshot - - -

     

    - -

    Release Notes

    - - -

     

    - -

    MBSE BBS Reference Manual

    - -
      -
    1. Running a BBS under Linux
    2. -
    3. Which distribution to use
    4. -
    5. Basic installation MBSE BBS
    6. -
    7. Upgrade MBSE BBS
    8. -
    9. Configuring the bbs with mbsetup -
        -
      1. Edit Global configuration -
      2. Edit Fido networks -
      3. Edit Archiver programs -
      4. Edit Virus scanners -
      5. Edit Modem types -
      6. Edit TTY lines info -
      7. Edit Fidonet nodes -
      8. Edit BBS setup -
          -
        1. Edit Security limits -
        2. Edit Language setup -
        3. Edit BBS menus -
        4. Edit File areas -
        5. Edit Transfer protocols -
        6. Edit Oneliners -
        -
      9. Edit Mail setup -
          -
        1. Echo mail groups -
        2. Echo mail areas -
        -
      10. Edit File echo's setup -
          -
        1. Edit Fileecho groups -
        2. Edit Fileecho areas -
        3. Edit Hatch manager -
        4. Edit Magic files -
        -
      11. Edit Newfiles groups -
      12. Edit Newfiles reports -
      13. Edit Filefind setup -
      14. Edit Files database -
      15. Edit BBS users -
      16. Edit Services -
      17. Edit Domains -
      18. Edit task manager -
      19. Edit Routing Table -
      20. Edit Internet BBS Chat -
      21. Show software information -
      22. Create site documents -
    10. -
    11. Starting and Stopping the BBS
    12. -
    13. Setup mgetty for the BBS
    14. -
    15. Programs and utilities -
        -
      1. mbaff, Announce newfiles and filefind
      2. -
      3. mball, Allfiles and newfiles list creator
      4. -
      5. mbcico, The Fidonet mailer ala ifcico
      6. -
      7. mbdiff, Nodelist difference processor
      8. -
      9. mbfido, Fidonet mail and files procesor
      10. -
      11. mbfile, Files database maintenance program
      12. -
      13. mbindex, Nodelist index compiler
      14. -
      15. mblang, Language datafile compiler
      16. -
      17. mblogin, Unix login replacement
      18. -
      19. mbmon, The monitor program
      20. -
      21. mbmsg, The messagebase utility program
      22. -
      23. mbnntp, The news server
      24. -
      25. mbout, The mailer outbound program
      26. -
      27. mbpasswd, The passwd wrapper
      28. -
      29. mbsebbs, The bbs program
      30. -
      31. mbseq, Sequence number creator
      32. -
      33. mbsetup, The setup program
      34. -
      35. mbstat, The bbs status change program
      36. -
      37. mbtask, The taskmanager for the bbs system
      38. -
      39. mbtoberep, The toberep.data lister
      40. -
      41. mbuser, The userbase maintenance program
      42. -
      43. mbuseradd, The useradd wrapper
      44. -
    16. -
    17. Netmail routing behaviour
    18. -
    19. Fido to Internet Gateway
    20. -
    21. Email Gateway - Postfix setup.
    22. -
    23. Nodediff and Nodelist processing
    24. -
    25. Using UPS semafore's
    26. -
    27. Running DOS doors on MBSE BBS
    28. -
    29. Error return codes
    30. -
    -

     

    - -

    Other Notes

    - - - -
    -BackBack  -TopTop -
    - - - diff --git a/mbsebbs-code/html/index.html.in b/mbsebbs-code/html/index.html.in deleted file mode 100644 index 7854a352..00000000 --- a/mbsebbs-code/html/index.html.in +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - -Running a BBS under Linux. - - - -
    - -
    MBSE
    -

    MBSE BBS System Guide @VERSION@

    -
    Last update 01-Mar-2007
    - - -

    Introduction

    - -Screenshot - - -

     

    - -

    Release Notes

    - - -

     

    - -

    MBSE BBS Reference Manual

    - -
      -
    1. Running a BBS under Linux
    2. -
    3. Which distribution to use
    4. -
    5. Basic installation MBSE BBS
    6. -
    7. Upgrade MBSE BBS
    8. -
    9. Configuring the bbs with mbsetup -
        -
      1. Edit Global configuration -
      2. Edit Fido networks -
      3. Edit Archiver programs -
      4. Edit Virus scanners -
      5. Edit Modem types -
      6. Edit TTY lines info -
      7. Edit Fidonet nodes -
      8. Edit BBS setup -
          -
        1. Edit Security limits -
        2. Edit Language setup -
        3. Edit BBS menus -
        4. Edit File areas -
        5. Edit Transfer protocols -
        6. Edit Oneliners -
        -
      9. Edit Mail setup -
          -
        1. Echo mail groups -
        2. Echo mail areas -
        -
      10. Edit File echo's setup -
          -
        1. Edit Fileecho groups -
        2. Edit Fileecho areas -
        3. Edit Hatch manager -
        4. Edit Magic files -
        -
      11. Edit Newfiles groups -
      12. Edit Newfiles reports -
      13. Edit Filefind setup -
      14. Edit Files database -
      15. Edit BBS users -
      16. Edit Services -
      17. Edit Domains -
      18. Edit task manager -
      19. Edit Routing Table -
      20. Edit Internet BBS Chat -
      21. Show software information -
      22. Create site documents -
    10. -
    11. Starting and Stopping the BBS
    12. -
    13. Setup mgetty for the BBS
    14. -
    15. Programs and utilities -
        -
      1. mbaff, Announce newfiles and filefind
      2. -
      3. mball, Allfiles and newfiles list creator
      4. -
      5. mbcico, The Fidonet mailer ala ifcico
      6. -
      7. mbdiff, Nodelist difference processor
      8. -
      9. mbfido, Fidonet mail and files procesor
      10. -
      11. mbfile, Files database maintenance program
      12. -
      13. mbindex, Nodelist index compiler
      14. -
      15. mblang, Language datafile compiler
      16. -
      17. mblogin, Unix login replacement
      18. -
      19. mbmon, The monitor program
      20. -
      21. mbmsg, The messagebase utility program
      22. -
      23. mbnntp, The news server
      24. -
      25. mbout, The mailer outbound program
      26. -
      27. mbpasswd, The passwd wrapper
      28. -
      29. mbsebbs, The bbs program
      30. -
      31. mbseq, Sequence number creator
      32. -
      33. mbsetup, The setup program
      34. -
      35. mbstat, The bbs status change program
      36. -
      37. mbtask, The taskmanager for the bbs system
      38. -
      39. mbtoberep, The toberep.data lister
      40. -
      41. mbuser, The userbase maintenance program
      42. -
      43. mbuseradd, The useradd wrapper
      44. -
    16. -
    17. Netmail routing behaviour
    18. -
    19. Fido to Internet Gateway
    20. -
    21. Email Gateway - Postfix setup.
    22. -
    23. Nodediff and Nodelist processing
    24. -
    25. Using UPS semafore's
    26. -
    27. Running DOS doors on MBSE BBS
    28. -
    29. Error return codes
    30. -
    -

     

    - -

    Other Notes

    - - - -
    -BackBack  -TopTop -
    - - - diff --git a/mbsebbs-code/html/intergate.html b/mbsebbs-code/html/intergate.html deleted file mode 100644 index 01c88977..00000000 --- a/mbsebbs-code/html/intergate.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - - - -MBSE BBS - Internet gateway. - - - -
    - -
    Last update 10-May-2002
    -

    MBSE BBS - Internet Gateway.

    - -

    Introduction.

    -

    -Since version 0.33.14 the email gateway is build into MBSE BBS and since -version 0.33.15 the newsgateway is build into MBSE BBS. Since version 0.33.16 the -newsgateway to UUCP nodes is added. To route -email trafic to and from the internet you need a internet MTA. I stopped using -sendmail for this because it gave too much trouble setting it -up together with MBSE BBS. -Today I use Postfix, -a well documented, secure and easy to setup MTA. For the actual gate from -Postfix to the BBS you I use mbmail which you need to add to the -Postfix configuration.

    -

    -There may be two reasons to create a gateway, one is to gate internet news and -email to the Fidonet bbs users, another reason may be that you want to make -echomail as news available on your system so that users can connect to your -bbs with their favourite browser an get the mail and news using pop3 and -nntp protocols. The setup is the same for both reasons so I will make one -description for the whole setup. -

     

    - -

    Setup a newsgate node with inn.

    -

    -If you only want to gate internet news to your bbs users and not want to -make echomail available as news, and you have a permament internet connection -then you don't need your own news server. This will also work on dialup links, -once the internet connection is up, make sure that mbfido news -quiet is -started as user mbse. -To do this configure MBSE BBS to use the newsserver of your ISP in screen 1.15 -with mbsetup. -If you don't want to use the newsserver of your ISP or want to make echomail -available as news for your local users you must install your own newsserver. -You could use inn news for a newsserver. -To connect a small feed with your ISP you could use suck. -

    -In each echomail area you want to gate you need to fill in the newsgroup -name of that area and echomail received in that area will automatic be -posted to that newsgroup. The command mbfido news will check all -configured newsgroups for new newsarticles. If you set it up for the first -time you need to run mbfido news -learn to fill the dupes -database for news with all the already existing news articles. If you skip -that, you may get a lot of old articles that will be gated. Just run that -command once after you have set this up. Later when you receive fresh articles -the command mbfido news will only gate new arrived articles. -In each mail area you can set the number of articles to get in one run. If you -set this too high, mbfido will scan all headers on the newsserver for new -articles. This can cost a lot of time. The best thing to do is to set this value -about four times higher then the average number of messages per day in that -group. If you set it too low, warning messages will appear in the logfile. -

     

    - -

    Setup a newsgate with rnews.

    -

    -This is the setup if you don't want an NNTP newsserver like inn, but a simple -cnews setup for UUCP links only. In mbsetup menu 1.15 you need -to set this up. You need to fill in the path to the rnews program so that -mbfido can post articles to cnews. MORE INFO NEEDED. -

    -In each echomail area you want to gate you need to fill in the newsgroup -name of that area and echomail received in that area will automatic be -posted to that newsgroup. -

     

    - -

    Setup a newsgate via UUCP.

    -

    -With this setup you don't run a local newsserver, only your bbs users and -Fidonet links can then use news. You need to install uucp -on your system. With mbsetup menu 1.15 you need to set this -up. Suppose your ISP's nodename is xs4all the you probably need to set the -UUCP path to /var/spool/uucp/xs4all and the UUCP node to -xs4all. Your own nodename will be your system's hostname without -the domain part. -

    -In each echomail area you want to gate you need to fill in the newsgroup -name of that area and echomail received in that area will automatic be -posted to that newsgroup. -

     

    - -

    Setup a email gate.

    -

    -See Postfix (email) configuration -

    - -BackGo Back -

    - - diff --git a/mbsebbs-code/html/intro.html b/mbsebbs-code/html/intro.html deleted file mode 100644 index 68d19866..00000000 --- a/mbsebbs-code/html/intro.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - -Running a BBS under Unix. - - - -
    - -
    Last update 01-Mar-2007
    -

    Introduction to MBSE BBS.

    - -

    Distribution.

    -

    -These are the only official distribution sites for the mbse bbs package. They are: -

      -
    1. http://www.mbse.eu -
    2. fidonet node 2:280/2802 binkp fido.mbse.eu -
    -If you find mbse bbs on another site it may be out of date. I have no control over these sites. -New versions of mbse bbs are announced in the fidonet area LINUX_BBS and MBSE -support echo. On the official fidonet -nodes you can request the latest version with the magic MBSEBBS. You will then get a zip file, -in this zip file is the original tar.gz file. This is to let systems who only support 8.3 -filenames to pickup the distribution package. -

     

    - -

    History.

    -

    -At the end of 1997 I was looking for several BBS systems that could run on -GNU/Linux and it must be capable to run Fidonet mail. After reviewing almost -all packages that were available at that time I found that there were no -packages that suited my needs. Some had the plain user interfaces that -my bbs users were used to but no Fidonet capabilities, others looked -awfull or were difficult to use by normal bbs users without Unix experience. -I also didn't want to run shareware anymore, one day you pay for some program, -and the next day support is over because the writer of that program decided -to stop development or simply dissapears from the Fidonet stage. With all -Y2K problems ahead the solution should be Open Software so that you have -the sources in case something goes wrong. -One package was very interesting and had the look and feel of RemoteAcces, -that package was RapidBBS. There was only one problem, it had no Fidonet -capabilities. I rewrote the data structures and created a deamon that should -control all bbs acivities. In march 1998 I started writing the mbfido program -that should handle all Fidonet mail and .tic files. In june 1998 the final -message base format became JAM using the LoraBBS sources as a guide to create -the JAM libraries. The original JAMapi was not stable enough to do all the work -that needed to be done. -

    -In Juli 1998 the first version of MBSE BBS was installed on the bbs I have, -on the second line. The first line was running McMail, GEcho and RA on a -Novell client while on the GNU/Linux box the mars_nwe emulator from Martin Stower -was running. In november 1998 mbcico was created from ifcico from Eugene M. -Crosser. In Januari 1999 it did also compile and run on a Sun Sparcstation 2 -system. -

    -In April 1999 the motherboard of the GNU/Linux server died, I replaced it with -the MOBO of one of the client machines. From that day on, MBSE BBS became the -only bbs running on my system, because I was short on serial port boards at -that time. McMail and RA became history and MBSE BBS was on its own. From that -day on, updates were almost daily, all users and up and downlinks showed that -there were plenty of bugs to solve. One month later most problems were solved. -

    -In juli 1999 Jan van de Werken started beta testing MBSE BBS on his system. -In September 1999 MBSE BBS was public released for the first time. -

     

    - -

    Is it Y2K ready?

    -

    -There have been no problems since 1 januari 2000 with MBSE BBS. I do run -pktdate by Tobias Ernst in the tosser, this solves problems with incoming -mail. Due to the internal date format, this program should run until 2038, -just as long as Unix/Linux and the internet will function without changing -the date format. -

     

    - -

    Future plans.

    -

    -Plans are to completly integrate www and chat into MBSE BBS. It -should work for browsers about the same as with ANSI character terminals. -

     

    - - -BackGo Back -

    - - diff --git a/mbsebbs-code/html/invoking.html b/mbsebbs-code/html/invoking.html deleted file mode 100644 index f41c74ec..00000000 --- a/mbsebbs-code/html/invoking.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - -Starting and stopping the BBS. - - - -
    - -
    Last update 06-Jun-2001
    -

    Starting and Stopping the BBS.

    - -Now it is time to check the starting and stopping of the BBS. As you have -installed everything, setup the BBS etc, you must check if the shutdown and -reboot work properly. As root type shutdown -r now and -watch the console. You should see messages that the BBS is closing while -the systems shuts down. This should be one of the first things to happen. -Because Slackware up to version 7.0.0 is tricky to automatic install the shutdown scripts, -you won't see this happen on older Slackware versions. If you want, you can edit -/etc/rc.d/rc.6 and /etc/rc.d/rc.K and insert the line /opt/mbse/etc/rc.shutdown -at the proper places.

    - -When your system comes up again, one of the last messages before the login -prompt appears or just before X-windows starts, you should see messages that -the BBS is started.

    - -Login as user mbse and check the logfiles if everything looks -good. If something is wrong, reread the previous documentation and check if -you did everything right.

    - -Next logon to your BBS locally using the account "bbs". -You can do that by typing su - bbs or if you already have installed -mblogin as login replacement for telnet, then type telnet -localhost. -You will then create the first user of your BBS, this will be you, the sysop of course. -After you logout the BBS start as user -mbse the program mbsetup and edit your user record -to set your level to that of the sysop. One more thing, the unix account you -must create when you logon as new BBS user may not be mbse -as this is the normal Admin account the BBS and its utilities use.

    - -Now login with your unix account and see if everything still works. -If you have setup mgetty you may want to test if -users really can login with a modem. Also check a mailer session, can you -dialout, ie. poll other nodes and can they call you. There is a lot that can -go wrong with unix permissions if you are not precise in wat you are doing.

    - -If everything is working it is time to create poll events, and adjust other -scripts to your local needs to get your BBS full up and running.

    - -To do this you must install a crontab for user mbse. -As user mbse go to the directory ~/mbsebbs-0.33.xx. -In that directory type sh ./CRON.sh and a default crontab will be installed.

    - -To add poll events, edit the crontab with the command crontab -e - At the bottom of that file there is an example of how to do that. -Now that the crontab is installed, all maintenance will now work, automatic -dialout, scanning and tossing mail etc. In other words, the bbs is up and -running. -

    - -BackGo Back -

    - - diff --git a/mbsebbs-code/html/known_bugs.html b/mbsebbs-code/html/known_bugs.html deleted file mode 100644 index ec7ad1a4..00000000 --- a/mbsebbs-code/html/known_bugs.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - -Running a BBS under Unix. - - - -
    - -
    Last update 01-Mar-2007
    -

    MBSE BBS - Known bugs.

    - -There are always more bugs, but these are known.... - -
      -
    • Reading of function keys in mbsebbs doesn't work always good, especially on -slow links and over PPP. This is not a MBSE BBS problem. - -
    • Problems with D'Bridge [1a] mailers. - -
    • If you have regular sessions with a node wich only supports FTS-0001 -sessions and you use a session password you must also set a mail password -and these passwords must be the same. This is a side effect of the way FTS-0001 -handshake works, by sending a small mail packet wich contains the password. - -
    • Some Linux distributions have their glibc libraries compiled wrong, that -will cause the mbtask program to do nothing usefull. This problem seems -to have gone away. - -
    • You cannot share the JAM message bases between little-endian and big-endian -machines using networked filesystems because the storage format doesn't specify -the internal byte order for different CPU's. This is an error in the JAM spec. -
    - -BackGo Back -
    - - diff --git a/mbsebbs-code/html/license/copying.html b/mbsebbs-code/html/license/copying.html deleted file mode 100644 index e90f332b..00000000 --- a/mbsebbs-code/html/license/copying.html +++ /dev/null @@ -1,358 +0,0 @@ - - - - -GNU General Public License. - - - - - - -
    -		    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) 19yy  <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) 19yy 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.
    -
    - -BackGo Back - - - - diff --git a/mbsebbs-code/html/license/hydracom.html b/mbsebbs-code/html/license/hydracom.html deleted file mode 100644 index 3e728846..00000000 --- a/mbsebbs-code/html/license/hydracom.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - -Hydracom License. - - - -
    -                              HydraCom Version 1.00
    -
    -                         A sample implementation of the
    -                   HYDRA Bi-Directional File Transfer Protocol
    -
    -                             HydraCom was written by
    -                   Arjen G. Lentz, LENTZ SOFTWARE-DEVELOPMENT
    -                  COPYRIGHT (C) 1991-1993; ALL RIGHTS RESERVED
    -
    -                       The HYDRA protocol was designed by
    -                 Arjen G. Lentz, LENTZ SOFTWARE-DEVELOPMENT and
    -                             Joaquim H. Homrighausen
    -                  COPYRIGHT (C) 1991-1993; ALL RIGHTS RESERVED
    -
    -
    -  DISCLAIMER
    -
    -  This program is provided "as is" and comes with no warranties of any
    -  kind, either expressed or implied. In no event shall the authors be
    -  liable to you or anyone else for any damages, including any lost
    -  profits, lost savings or other incidental or consequential damages
    -  arising out of the use or inability to use this software.
    -
    -
    -  HYDRACOM / SOURCE LICENSE
    -
    -  HydraCom, its associated utilities (HydraCfg) and the HydraCom
    -  sourcecode may be freely distributed, copied and used, no fee charged.
    -  All files, executables and sourcecode remain the copyrighted property
    -  of Arjen G. Lentz and LENTZ SOFTWARE-DEVELOPMENT.
    -  The distribution archives should remain intact with no files removed
    -  or modified. For special purposes, it is allowed to repack the
    -  archives using a different compression system.
    -
    -  HydraCom may be bundled up with for instance terminal or BBS packages,
    -  even commercial ones, provided the buyer/user is clearly informed
    -  about the fact that Hydra and HydraCom are free, not owned by the
    -  distributor/retailer in question, and is not included in any possible
    -  charge regarding the rest of the package. This documentation must also
    -  be present so the user can inform himself about Hydra and HydraCom.
    -  The same rules apply to inclusion in shareware and CD-ROM libraries.
    -  In all cases, the author of HydraCom must be given credit in any
    -  informational screens and literature that contain such information.
    -
    -  The Hydra/HydraCom sourcecode may also be freely used and integrated
    -  into other software or library, provided this is clearly stated in any
    -  informational screens and literature pertaining to this program, and
    -  credit is given to the original author. If the sourcecode of that
    -  program or library is released or otherwise published, the notices
    -  present at the top of every Hydra/HydraCom source file must be
    -  retained in their original unmodified form.
    -
    -  In addition to the above license, everyone using any part of the
    -  sourcecode, programs or files is fully bound by the general license of
    -  the Hydra protocol as present in the Hydra protocol description
    -  document. For easy reference, the paragraph in question is reprinted
    -  below.
    -
    -  Any use of, or operation on (including copying/distributing) any of
    -  the above mentioned files implies full and unconditional acceptance of
    -  this license and disclaimer.
    -
    -
    -  HYDRA PROTOCOL LICENSE 
    -
    -  You are granted a license to implement the HYDRA file transfer
    -  protocol, HYDRA hereafter, in your own programs and/or use the sample
    -  source code and adapt these to your particular situation and needs;
    -  subject to the following conditions:
    -
    -   -  You must refer to it as the HYDRA file transfer protocol, and you
    -      must give credit to the authors of HYDRA in any information
    -      screens or literature pertaining to your programs that contains
    -      other such information (credits, your own copyrights, etc.).
    -
    -   -  HYDRA will always remain backwards compatible with previous
    -      revisions. HYDRA allows for expansion of its features without
    -      interfering with previous revisions. It is, however, important
    -      that different people do not expand the protocol in different
    -      directions. We therefore ask you to contact us if you have any
    -      needs/ideas regarding HYDRA, so development can be synchronized
    -      and beneficial to all.
    -
    -   -  If your implementation cannot converse with past or future
    -      revisions as supplied by us, then you must refer to it as "HYDRA
    -      derived", or as "a variation of HYDRA", or words to that effect.
    -
    -
    -  Hydra protocol design and HydraCom driver:         Hydra protocol design:
    -  Arjen G. Lentz                                     Joaquim H. Homrighausen
    -  LENTZ SOFTWARE-DEVELOPMENT                         389, route d'Arlon
    -  Langegracht 7B                                     L-8011 Strassen
    -  3811 BT  Amersfoort                                Luxembourg
    -  The Netherlands
    -  FidoNet 2:283/512, AINEX-BBS +31-33-633916         FidoNet 2:270/17
    -  arjen_lentz@f512.n283.z2.fidonet.org               joho@ae.lu
    -
    -  Please feel free to contact us at any time to share your comments about our
    -  software and/or licensing policies.
    -
    - -BackGo Back - - - - diff --git a/mbsebbs-code/html/license/index.htm b/mbsebbs-code/html/license/index.htm deleted file mode 100644 index b253d3a4..00000000 --- a/mbsebbs-code/html/license/index.htm +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - -Licenses. - - - -
    -
    Last update 29-Jan-2001
    -

    Licenses.

    - -

    Introduction

    -

    -This is an overview of the licenses that are valid for the use of MBSE BBS or -parts of it. -
    -Michiel Broek. -

    - -

    License Documents.

    - - - -IndexBack to Index -
    - - - diff --git a/mbsebbs-code/html/license/index.html b/mbsebbs-code/html/license/index.html deleted file mode 100644 index 068e864f..00000000 --- a/mbsebbs-code/html/license/index.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - -Licenses. - - - -
    -
    Last update 29-Jan-2001
    -

    Licenses.

    - -

    Introduction

    -

    -This is an overview of the licenses that are valid for the use of MBSE BBS or -parts of it. -
    -Michiel Broek. -

    - -

    License Documents.

    - - - -IndexBack to Index -
    - - - diff --git a/mbsebbs-code/html/license/jam.html b/mbsebbs-code/html/license/jam.html deleted file mode 100644 index 7db94c67..00000000 --- a/mbsebbs-code/html/license/jam.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - -JAM License. - - - -
    -    ---------------------------------------------------------------------
    -                                  JAM(mbp)
    -                The Joaquim-Andrew-Mats Message Base Proposal
    -    ---------------------------------------------------------------------
    -            Copyright 1993 Joaquim Homrighausen, Andrew Milner,
    -                           Mats Birch, Mats Wallin.
    -                             ALL RIGHTS RESERVED.
    -    ---------------------------------------------------------------------
    -
    -
    -    =====================================================================
    -    LEGAL NOTICE
    -    ---------------------------------------------------------------------
    -
    -    The JAM(mbp) documentation and JAM API and information attached
    -    hereto, hereafter referred to as JAM, is protected by applicable
    -    copyright laws and international treaty provisions. JAM is provided
    -    "as is", without warranty of any kind or fitness for a particular
    -    purpose, either expressed or implied, all of are hereby explicitly
    -    disclaimed. The authors only guarantees that JAM will occupy disk
    -    space.
    -
    -    The entire risk as to the quality and performance of JAM is with you.
    -    Should JAM prove defective or incorrect, you assume the entire cost
    -    of all necessary servicing, repair, and/or correction. In no event
    -    shall the authors be liable to the you or anyone else for any damages
    -    or costs, including, but not limited to, any lost profits, lost
    -    savings, lost income, lost information, loss of the right to use JAM,
    -    or other incidental or consequential damages arising out of the use
    -    or inability to use JAM.
    -
    -    All information provided in JAM is subject to change without further
    -    notice.
    -
    -    JAM may be published and distributed to other people as long as no
    -    part of it is modified by any means, this includes translation to
    -    any other language (technical or social), and as long as no charges
    -    are applied (including but not limited to trading). This information
    -    may not be used to reverse engineer any application developed by the
    -    authors.
    -
    -    All applications that support JAM must include one of the following
    -    notices in their documentation and somewhere in the product's credit
    -    section:
    -
    -    "JAM(mbp) - Copyright 1993 Joaquim Homrighausen, Andrew Milner,
    -                               Mats Birch, Mats Wallin.
    -                               ALL RIGHTS RESERVED."
    -
    -    or
    -
    -    "This product uses the JAM(mbp) API -
    -     Copyright 1993 Joaquim Homrighausen, Andrew Milner, Mats Birch,
    -                    Mats Wallin. ALL RIGHTS RESERVED."
    -
    -    All trademarks are trademarks or registered trademarks of their
    -    respective holders.
    -
    - -BackGo Back - - - - diff --git a/mbsebbs-code/html/manual.css b/mbsebbs-code/html/manual.css deleted file mode 100644 index b4ba975a..00000000 --- a/mbsebbs-code/html/manual.css +++ /dev/null @@ -1,30 +0,0 @@ -/* - * $Id: manual.css,v 1.5 2003/11/08 16:48:03 mbroek Exp $ - * - * stylesheet for the MBSE BBS manual. - */ - - -BODY { background-color: white; font: 12pt sans-serif,helvetica,arial; } - -/* - * H1 is the page header, H3 the paragraph header, H5 is topright update date. - */ -H1 { color: red; font: 16pt sans-serif,helvetica,arial; font-weight: bold } -H2 { color: red; font: 14pt sans-serif,helvetica,arial; font-weight: bold } -H3 { position: relative; left: 60px; color: black; font: 14pt sans-serif,helvetica,arial; font-weight: bold } -H5 { color: black; font: 10pt sans-serif,helvetica,arial; } - -A:link { color: blue } -A:visited { color: blue } -A:active { color: red } - -TABLE { color: black; } -TH { font-family: Arial, Helvetica; font-size: 12pt; font-weight: bold; } -TD { font-family: Arial, Helvetica; font-size: 12pt; } - -PRE { color: green; font-family: fixed; } -CODE { color: green; font-family: fixed; } -HR { border-top: solid medium navy } - - diff --git a/mbsebbs-code/html/menus/control.html b/mbsebbs-code/html/menus/control.html deleted file mode 100644 index e4735ffa..00000000 --- a/mbsebbs-code/html/menus/control.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - - -MBSE BBS Menus - Control Codes in ANSI and ASCII files. - - - -
    - -
    Last update 25-Feb-2007
    -

    MBSE BBS Control Codes in ANSI and ASCII files

    -
    - - -

    Single Control characters

    -
    - Code      Description
    - ----      ---------------------------------------
    -  A        Wait for a key
    -  B        Print text above sec. level
    -  F        Control-code F
    -  K        Control-code K
    -  P        Wait one second
    -  U        Control-code U
    -
    -
    -
    -The control-B syntax is: ^B<seclevel>^B<The text to show>^B
    -For example: ^B32000^BThis is the text^B
    -

    - -

    Control-F followed by:

    -
    - Code      Description
    - ----      ---------------------------------------
    -  !        Display transfer protocol
    -  A        Number of uploads
    -  B        Number of downloads
    -  C        Downloads in Kilobytes
    -  D        Uploads in Kilobytes
    -  E        Download plus upload Kilobytes
    -  F        Download Kilobyte limit
    -  H        Current file area number
    -  I        Current file area description
    -  J        Download files limit
    -  K        Description of user limit
    -
    -
    -
    -

    - -

    Control-K followed by:

    -
    - Code      Description
    - ----      ---------------------------------------
    -  A        Print date in format DD-MM-YYYY
    -  B        Print time in HH:MM:SS
    -  C        Print date in DD-Mmm
    -  D        Print date in DD-Mmm-YYYY
    -  E        Print locked port baudrate
    -  F        Print the name of the Last caller
    -  G        Total users in userlist
    -  H        Number of system calls
    -  I        Current message area number
    -  J        Current message area description
    -  K        Print random oneliner
    -  L        Print number of messages in current area.
    -  M        Print users LastRead pointer of current message area.
    -  N        Print users current e-mail mailbox name.
    -  O        Print number of messages in current e-mail box.
    -  P        Print users LastRead pointer of current e-mail box.
    -  Q        Print the date and time of the last caller.
    -
    -
    -
    -

    - -

    Control-U followed by:

    -
    - Code      Description
    - ----      ---------------------------------------
    -  A        User's full name
    -  B        User's location
    -  C        User's voice phone
    -  D        User's data phone
    -  E        User's last login date
    -  F        User's first login date
    -  G        User's last login time
    -  H        User's security level
    -  I        User's total calls
    -  J        User's time used today
    -  K        User's connect time this session
    -  L        User's time left today
    -  M        User's screen length
    -  N        User's first name
    -  O        User's last name
    -  P        User's graphics mode allways (On).
    -  Q        User's news bulletins (On/Off)
    -  R        User's hot-keys (On/Off)
    -  S        User's daily time limit
    -  T        User's date of birth
    -  U        User's messages posted
    -  X        User's language
    -  Y        User's handle
    -  Z        User's do not disturb flag (On/Off)
    -  1        User's check for new mail (On/Off)
    -  2        User's check for new files (On/Off)
    -  3        User's fullscreen editor (On/Off)
    -  4        User's FS editor Emacs shortcuts (On/Off)
    -  5        User's first address line.
    -  6        User's Second address line.
    -  7        User's Third address line.
    -  8        User's OLR Extended Onfo (On/Off).
    -  9        User's charactewr set.
    -  0        User's current archiver.
    -
    -
    - -
    -Index -Main Index  -Back -Menus Index -
    - - - diff --git a/mbsebbs-code/html/menus/index.htm b/mbsebbs-code/html/menus/index.htm deleted file mode 100644 index a54c3c2a..00000000 --- a/mbsebbs-code/html/menus/index.htm +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - - - - - -MBSE BBS Menu System. - - - -
    -
    Last update 11-Oct-2003
    -

    MBSE BBS Menu System

    - -

    Menus sections: -Global menus  -File areas  -Message areas  -User settings  -Onliners  -BBS lists  -ANSI Control Codes -

    -

    -


    - -

    Introduction.

    -

    -One of the most powerfull features of the BBS is it's menu system. You -have complete control over each individual menu item which can be restricted -according to criteria such as security levels. -

     

    - -

    ANSI Screens.

    -

    -For the menus to work properly you can draw ANSI screens, this -is what the users will see. For GNU/Linux there is "Duh DRAW" written by Ben -Fowler, see sunsite.unc.edu /pub/Lunux/docs. -If you can't find it or have no internet access, you can also use -THEDRAW. This utility can be found on many BBS'es around the world. Unfortunatly -it is a DOS program so you will need dosemu on your GNU/Linux box or a seperate -DOS computer. You can define main screens and include screens for each -menu, the include screen may for example show the keys that you have available -in every menu. See the list of control codes. -

     

    - -

    Display lines.

    -

    -It is also possible to display menu lines with the buildin display option. -The used colors are selectable, a normal color and a bright color. -The normal color is the default, you can toggle bright on and of using -the ^ in the display line. If you end a menu display line with a ; then -no newline is send after that line. If you want to output teh ^ or ; characters -you need to escape them with a backslash like this: \; or \^. The order of menu -entries is important. -

     

    - -

    Automatic commands.

    -

    -A menu function is usually executed when a user presses the hot-key -assigned to that particular menu item. But menu functions can also be executed -automatically. Each menu item contains an AutoExec field. By default this -field is set to No, but by toggling it to Yes, the menu item can be made -to execute when it is played back (displayed) by the BBS.

    -

    -As you read through the menu function types outlined in this chapter, -you may come to realize that this is a very powerfull feature. For example, -when used with the menu function that displays a text file, you can design -very elaborate, graphical text file menus that you wouldn't normally be -able to display in a line-by-line menu.

    -

    -Automatic menu execution can be used in many other instances as well. -Just to give you some ideas, it might be used to display a text file to -users who have a security level equal to or greater than a certain level. -Yet another use is to execute multiple function menus which are used to -execute several functions when a single command is entered. -

     

    - -

    Multiple languages.

    -

    -For each language you can define a set of menus. Only for the default -language all menus must exist. It makes sense to make the filenames of -your menus for each language the same and not to translate them. If a menu -is missing for a non default language, the menu from the default language -path is used instead. -

     

    - -

    Editing a menu.

    -

    -The order of the menu lines in the setup is not important except for -the autoexec menus, they must be placed in the right order from start, -ie. begin with the menu specific screen display, then the global include -display and finally show the prompt. -

    - -Menu editer -

      -
    1. Selection key. This is the key a user must press to activate -this menu. This field is ignored when AutoExec is set to Yes.
    2. - -
    3. Type nr. this is the menu type to execute. For a description -of all available types see the links at the top of this page.
    4. - -
    5. Optional data. Some menus need optional data, for example the -function goto another menu needs the name of that menu file here.
    6. - -
    7. Display. What is to be displayed to the user. You can use this instead -of ANSI screens. -
    8. - -
    9. Security. This is the minimum security level to execute this -selection. The security is a level number combined with 32 bitmapped flags. -NOTE: level 0 and no flags means -everyone can select this menu. Good for logout options and all other options -everyone must be able to execute.
    10. - -
    11. Min. age. The minumum age the user must be to execute this selection. -You may want to restrict access to certain areas to users older than 18 -years. If you leave this to 0, every one can execute this menu.
    12. - -
    13. Lo-colors. The normal display color for the display line. -
    14. - -
    15. Hi-colors. The bright display color for the display line.
    16. - -
    17. AutoExec. If this is an automatic executed selection.
    18. - -
    19. Door Name The name of the door that will be displayed to other users. -This name is also used to count the same doors running if the door only allows a -single user. It is important that you use the same name in every language menu -file for the same door. This item is only visible with menu type 7.
    20. - -
    21. Y2K style Writes the dates in the door.sys file in the new style, -with 4 digit year numbers, else the old 2 digit style is used. This item -is only visible with menu type 7.
    22. - -
    23. No door.sys Suppress writing of a door.sys file in the users -home directory. This item is only visible with menu type 7.
    24. - -
    25. Use Comport Writes COM1: with 19200 as baudrate to the door.sys file, -this is for dosemu with the vmodem patch. This item is only visible with menu -type 7.
    26. - -
    27. Run nosuid If set to Yes the door will run in non-suid mode. -Most doors need this. This item is only visible -with menu type 7.
    28. - -
    29. No Prompt If set to Yes then when the door is finished there will be -no prompt to press Enter, instead the bbs menu will show up immediatly. This -item is only visible with menu type 7.
    30. - -
    31. Single User Set to yes of the door only allows one user at the same -time. Make sure you have set a unique name that must be the same for the door in -every language file so that the bbs is able to count the instances of the door -running. This item is only visible with menu type 7.
    32. - -
    33. Hidden door Set to yes to hide the door from being visible for other -users. If someone is using that door the whoson list displays "External Door" -instead of the door name. This may be good to hide some special sysop only -doors. This item is only visible with menu type 7.
    34. - -
    -

     

    - -

    Final warning.

    -

    -If a submenu is missing, the BBS falls back to the main menu. This menu -must be called "main" (or else set another name in the global -setup) or your BBS won't start and complain. Submenus may be nested 50 -levels deep. -

    - -BackBack -

    - - diff --git a/mbsebbs-code/html/menus/index.html b/mbsebbs-code/html/menus/index.html deleted file mode 100644 index 7f5c67ab..00000000 --- a/mbsebbs-code/html/menus/index.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - - - - -MBSE BBS Menu System. - - - -
    - -
    Last update 11-Oct-2003
    -

    MBSE BBS Menu System

    - -

    Menus sections: -Global menus  -File areas  -Message areas  -User settings  -Onliners  -BBS lists  -ANSI Control Codes -

    -

    -


    - -

    Introduction.

    -

    -One of the most powerfull features of the BBS is it's menu system. You -have complete control over each individual menu item which can be restricted -according to criteria such as security levels. -

     

    - -

    ANSI Screens.

    -

    -For the menus to work properly you can draw ANSI screens, this -is what the users will see. For GNU/Linux there is "Duh DRAW" written by Ben -Fowler, see sunsite.unc.edu /pub/Lunux/docs. -If you can't find it or have no internet access, you can also use -THEDRAW. This utility can be found on many BBS'es around the world. Unfortunatly -it is a DOS program so you will need dosemu on your GNU/Linux box or a seperate -DOS computer. You can define main screens and include screens for each -menu, the include screen may for example show the keys that you have available -in every menu. See the list of control codes. -

     

    - -

    Display lines.

    -

    -It is also possible to display menu lines with the buildin display option. -The used colors are selectable, a normal color and a bright color. -The normal color is the default, you can toggle bright on and of using -the ^ in the display line. If you end a menu display line with a ; then -no newline is send after that line. If you want to output teh ^ or ; characters -you need to escape them with a backslash like this: \; or \^. The order of menu -entries is important. -

     

    - -

    Automatic commands.

    -

    -A menu function is usually executed when a user presses the hot-key -assigned to that particular menu item. But menu functions can also be executed -automatically. Each menu item contains an AutoExec field. By default this -field is set to No, but by toggling it to Yes, the menu item can be made -to execute when it is played back (displayed) by the BBS.

    -

    -As you read through the menu function types outlined in this chapter, -you may come to realize that this is a very powerfull feature. For example, -when used with the menu function that displays a text file, you can design -very elaborate, graphical text file menus that you wouldn't normally be -able to display in a line-by-line menu.

    -

    -Automatic menu execution can be used in many other instances as well. -Just to give you some ideas, it might be used to display a text file to -users who have a security level equal to or greater than a certain level. -Yet another use is to execute multiple function menus which are used to -execute several functions when a single command is entered. -

     

    - -

    Multiple languages.

    -

    -For each language you can define a set of menus. Only for the default -language all menus must exist. It makes sense to make the filenames of -your menus for each language the same and not to translate them. If a menu -is missing for a non default language, the menu from the default language -path is used instead. -

     

    - -

    Editing a menu.

    -

    -The order of the menu lines in the setup is not important except for -the autoexec menus, they must be placed in the right order from start, -ie. begin with the menu specific screen display, then the global include -display and finally show the prompt. -

    - -Menu editer -

      -
    1. Selection key. This is the key a user must press to activate -this menu. This field is ignored when AutoExec is set to Yes.
    2. - -
    3. Type nr. this is the menu type to execute. For a description -of all available types see the links at the top of this page.
    4. - -
    5. Optional data. Some menus need optional data, for example the -function goto another menu needs the name of that menu file here.
    6. - -
    7. Display. What is to be displayed to the user. You can use this instead -of ANSI screens. -
    8. - -
    9. Security. This is the minimum security level to execute this -selection. The security is a level number combined with 32 bitmapped flags. -NOTE: level 0 and no flags means -everyone can select this menu. Good for logout options and all other options -everyone must be able to execute.
    10. - -
    11. Min. age. The minumum age the user must be to execute this selection. -You may want to restrict access to certain areas to users older than 18 -years. If you leave this to 0, every one can execute this menu.
    12. - -
    13. Lo-colors. The normal display color for the display line. -
    14. - -
    15. Hi-colors. The bright display color for the display line.
    16. - -
    17. AutoExec. If this is an automatic executed selection.
    18. - -
    19. Door Name The name of the door that will be displayed to other users. -This name is also used to count the same doors running if the door only allows a -single user. It is important that you use the same name in every language menu -file for the same door. This item is only visible with menu type 7.
    20. - -
    21. Y2K style Writes the dates in the door.sys file in the new style, -with 4 digit year numbers, else the old 2 digit style is used. This item -is only visible with menu type 7.
    22. - -
    23. No door.sys Suppress writing of a door.sys file in the users -home directory. This item is only visible with menu type 7.
    24. - -
    25. Use Comport Writes COM1: with 19200 as baudrate to the door.sys file, -this is for dosemu with the vmodem patch. This item is only visible with menu -type 7.
    26. - -
    27. Run nosuid If set to Yes the door will run in non-suid mode. -Most doors need this. This item is only visible -with menu type 7.
    28. - -
    29. No Prompt If set to Yes then when the door is finished there will be -no prompt to press Enter, instead the bbs menu will show up immediatly. This -item is only visible with menu type 7.
    30. - -
    31. Single User Set to yes of the door only allows one user at the same -time. Make sure you have set a unique name that must be the same for the door in -every language file so that the bbs is able to count the instances of the door -running. This item is only visible with menu type 7.
    32. - -
    33. Hidden door Set to yes to hide the door from being visible for other -users. If someone is using that door the whoson list displays "External Door" -instead of the door name. This may be good to hide some special sysop only -doors. This item is only visible with menu type 7.
    34. - -
    -

     

    - -

    Final warning.

    -

    -If a submenu is missing, the BBS falls back to the main menu. This menu -must be called "main" (or else set another name in the global -setup) or your BBS won't start and complain. Submenus may be nested 50 -levels deep. -

    - -BackBack -

    - - diff --git a/mbsebbs-code/html/menus/menu0.html b/mbsebbs-code/html/menus/menu0.html deleted file mode 100644 index d3e0252a..00000000 --- a/mbsebbs-code/html/menus/menu0.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - - - - -MBSE BBS Menus - Global Menus. - - - -
    - -
    Last update 01-Apr-2003
    -

    MBSE BBS Global Menus

    -
    - -
      - -
    1. Goto another menu: This will start the execution - of another menu. The current menu level is not stored on the stack.
      - Optional data: The name of the new menu.
      -

      - -

    2. Gosub another menu: This will start the execution - of another menu. The current menu level is stored on the stack. Gosub's may - be nested 50 levels deep.
      - Optional data: The name of the new menu.
      -

      - -

    3. Return from Gosub: This will go back one - gosub level. If you are already at the top level nothing happens.
      - Optional data: None.
      -

      - -

    4. Return to top menu: Return to the top (main) - menu. The name of this menu is set in the global setup. - Default is main.mnu
      - Optional data: None.
      -

      - -

    5. Display .a?? file with controlcodes: This will - display an ANSI file to the user. If the user has Graphics No set - then the ASCII version is shown. Search is done first in the users language - path and if that fails the default language path is used. - Control codes in the - file are substituted with the current values the represent.
      - Optional data: The name of the file to display. Do not - give the filename extension!
      -

      - -

    6. Show menu prompt: Display the menu prompt.
      - Optional data: The prompt to display. This string may - contain some control characters that are replaced with information. The - prompt is displayed in White on Black and is hardcoded at the moment. -
        -
      • ~ This will insert the number of minutes the user - has left. -
      • @ This will insert the name of the current file area. -
      • ^ This will insert the name of the current message area. -
      • # This will insert the current local time. -
      -

      - -

    7. Run external program: This will execute - external programs.
      - Optional data: The full path and filename of the external - program to run. There are a few switches you can give on the commandline: -
        -
      • /N will be replaced by the current nodenumber. The nodenumber is - faked by using the record number of the tty lines setup. -
      • /A will prompt for a filename to enter. The filename the user - enters is then replaced on the commandline. This is a dangerous option! -
      • /T=your prompt is an alternate prompt for entering a filename - if used together with the /A option. -
      -
      -

      - -

    8. Show product information: This will show - copyright information about MBSE BBS.
      - Optional data: None.
      -

      - -

    9. Display todays callers: This will display a - list of todays callers to the BBS.
      - Optional data: "/H" Show handles instead of real names, "/U" - show Unix names instead of real names.
      -

      - -

    10. Display userlist: Display all users in the - users database except those that are hidden.
      - Optional data: "/H" Show handles instead of real names, "/U" - show Unix names instead of real names.
      -

      - -

    11. Time statistics: Display the users time - statistics.
      - Optional data: None.
      -

      - -

    12. Page Sysop: Page sysop for a chat.
      - Optional data: A message to the user
      - The message to the user could be something like "Calling sysop, please - wait ..." or "I will see if Michiel wants to chat with you, please wait!" - As sysop you will know best what to put in that line. -

      - -

    13. Terminate call: Terminale this call and - hangup.
      - Optional data: None. -

      - -

    14. Make a log entry: This will write a line in - the logfile.
      - Optional data: The information you want in the logfile.
      -

      - -

    15. Print text to screen: Write text to the users - screen.
      - Optional data: The text that must appear on the users - screen. The @ character is replaced with a newline.
      -

      - -

    16. Who is online: Displays the who is online - list and what they are doing. Users that are hidden are not displayed.
      - Optional data: "/H" Show handles instead of real names, "/U" - show Unix names instead of real names.
      -

      - -

    17. Comment to sysop: Enter the texteditor and - let the user write a message to the sysop. The area is predefined in the - global setup.
      - Optional data: None.
      -

      - -

    18. Send online message: Send an online message - to a user on another line.
      - Optional data: "/H" Use handles instead of real names, "/U" - use Unix names instead of real names.
      -

      - -

    19. Display textfile with more: This will display - a textfile to the user. After each full screen the user is prompted with - More Y/n/=.
      - Optional data: The full path and filename to the file.
      -

      - -

    20. Display .a?? file with control codes and wait: - This will display a ANSI or ASCII file to the user with - control codes and wait for Enter when it is finished.
      - Optional data: The filename without extension of the - file to display.
      -

      - -

    21. Display line This entry does nothing except - that it displays the text on the display line. This is always displayed, - even if the display line is empty. In that case an empty line is displayed.
      - Optional data: None.
      -

      - -

    22. Chat session This connects the user to the - chatserver. The user is connected with his unix name as default name. The chat - server is a very simple IRC look alike server.
      - Optional data: None yet, maybe the channel later.
      -

      - -

    - -
    -Index - Main Index  -Back - Menus Index -
    - - - diff --git a/mbsebbs-code/html/menus/menu100.html b/mbsebbs-code/html/menus/menu100.html deleted file mode 100644 index 47cd7d1b..00000000 --- a/mbsebbs-code/html/menus/menu100.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - - -MBSE BBS Menus - File Area Menus. - - - -
    - -
    Last update 02-Feb-2001
    -

    MBSE BBS File Area Menus

    -
    - -
      - -
    1. Select another area: This option will show - a list of available areas and let the user select a new area. If there is - optional data the new area will be selected without user intervention.
      - Optional data: If there is an option the area is direct - selected. Current options are: F+ goto next available area. - F- goto previous available area.
      -

      - -

    2. File List: This option will display a list - of files with their dates, sizes and description. During the display of the - list the user can select (Tag) files for later download.
      - Optional data: None.
      -

      - -

    3. View File: Not yet implemented.
      - Optional data: None.
      -

      - -

    4. Download File(s): This option will start to - transmit files to the user if he has tagged files for download. Tagging files - for download can be done during File List, Keyword Scan, Filename Scan or - Newfile Scan. If a user didn't select a transfer protocol before now he will be - forced to select a file transfer protocol.
      - Optional Data: None.
      -

      - -

    5. Raw Directory: This option will display the - contents of a directory in raw format.
      - Optional data: If the option is /F the - contents of the current directory is shown. If the option is the full path - to a directory, the contents of that directory is shown.
      -

      - -

    6. Keyword Scan: This option will search for - files in the files database for a matching keyword. The search is not case - sensitive. If there are files found the user is able to select (Tag) these - files for later download.
      - Optional data: None.
      -

      - -

    7. Filename Scan: This option will search for - a filename match in the files database. The search is not case sensitive. - If there are files found the user is able to select (Tag) these files for - later download.
      - Optional data: None.
      -

      - -

    8. Newfiles Scan: This option will scan for new - files available for download since the last time the user was online. As - option the user can change that date from which to start the search. Any files - found the user may select (Tag) for later download.
      - Optional data: None.
      -

      - -

    9. Upload: This option will let the user upload - files to the bbs. If the current area has an alternate upload area, the upload - will end up in that area. If the user uses X-modem or another ancient protocol - he will first be asked for a filename. Normal modern protocols don't need this. - The filename is checked before the transfer is done to protect the bbs. Further - the files the user will upload will at first be placed under the users home - directory ~/upl. After the upload(s) the files are checked - for virusses. If all is well, the file is imported in the bbs. If the file - contains a valid FILE_ID.DIZ file inside the archive, that file will be used - for the description of the upload, if not, the uploader will have to describe - the file.
      - Optional data: None.
      -

      - -

    10. Edit Taglist: This option is for the user to - edit the list of files he has tagged for later download.
      - Optional data: None.
      -

      - -

    11. View file in homedir: Not yet implemented.
      - Optional data: None.
      -

      - -

    12. Download Direct: Download a file direct.
      - Optional data: The full path and filename to the file to - download.
      -

      - -

    13. Copy file to Homedir: This option will copy - a file from a download directory to the users home directory. It will be - checked if the user has enough room in his directory, the default Quota for - users is 10 MBytes.
      - Optional data: None.
      -

      - -

    14. List Homedir: This option will list the files - in the users home directory.
      - Optional data: None.
      -

      - -

    15. Delete in Homedir: This option will let the - user delete one or more files from his home directory.
      - Optional data: None.
      -

      - -

    16. Unpack file in Homedir: Not yet implemented.
      - Optional data: None.
      -

      - -

    17. Pack files in Homedir: Not yet implemented.
      - Optional data: None.
      -

      - -

    18. Download Homedir: This option will let the - user download from his home directory.
      - Optional data: None.
      -

      - -

    19. Upload Homedir: This option will let the user - upload files to his home directory.
      - Optional data: None.
      -
    - -
    -Index -Main Index  -Back -Menus Index -
    - - - diff --git a/mbsebbs-code/html/menus/menu200.html b/mbsebbs-code/html/menus/menu200.html deleted file mode 100644 index 32336c46..00000000 --- a/mbsebbs-code/html/menus/menu200.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - - - - -MBSE BBS Menus - Message Area Menus. - - - -
    - -
    Last update 20-Feb-2003
    -

    MBSE BBS Message Area Menus

    -
    - -
      - -
    1. Select another area: This option will show - a list of all available areas and let the user select a new area. If there - is optional data the area will be selected without user intervention.
      - Optional data: If there is an option the area is direct - selected. Current options are M+ goto the next available - area. M- goto the previous available area. If you use the - U+ and U- instead, the area is changed to the - previous or next area with unread messages, areas without unread messages are - skipped.
      - Another option is the N, if this is used for area select the - areas with new unread mail are marked with a yellow star. -

      - -

    2. Post a Message: This option lets the user - post a new message.
      - Optional data: None.
      -

      - -

    3. Read Messages: This option lets the user - read messages. If he has done that before in that area he will be suggested - to start after the message he has last read. During reading of messages - the user can reply to other messages.
      - Optional data: None.
      -

      - -

    4. Check for Mail: Check for new arrived mail.
      - Optional data: None.
      -

      - -

    5. Quickscan Messages: Make a quick overview - list of all messages in that area.
      - Optional data: None.
      -

      - -

    6. Delete a Message: This option will let the - user delete a specific message. He must the the owner of that - message or have sysop rights in that area to be able to delete a message.
      - Optional data: None.
      -

      - -

    7. Mail Status: This gives a complete overview - of all available mail at the bbs.
      - Optional data: None.
      -

      - -

    8. OLR: Tag Area: This option lets - the user tag one or more areas to be included in his offline mail packet.
      - Optional data: None.
      -

      - -

    9. OLR: Untag Area: This option lets - the user untag one or more areas not to be included in his offline mail - packet.
      - Optional data: None.
      -

      - -

    10. OLR: View Tags: This option lets - the user view which areas will be included in his offline mail packet.
      - Optional data: None.
      -

      - -

    11. OLR: Restrict Date: Not yet - implemented.
      - Optional data: None.
      -

      - -

    12. OLR: Upload Mail: Let the user upload - mail or a new offline reader setup. The packet format is automatic detected. - Currently BlueWave is supported. QWK support will be added later.
      - Optional data: None.
      -

      - -

    13. OLR: Download BlueWave: Download mail in - BlueWave version 2 format.
      - Optional data: None.
      -

      - -

    14. OLR: Download QWK: Download mail in QWK - format.
      - Optional data: None.
      -

      - -

    15. OLR: Download ASCII: Download mail in flat - ASCII format. Not yet implemented.
      - Optional data: None.
      -

      - -

    16. Read Email Read users private email.
      - Optional data: None.
      -

      - -

    17. Write Email Post an email message.
      - Optional data: None.
      -

      - -

    18. Trash Email Put email in the trashcan. - Not Yet implemented.
      - Optional data: None.
      -

      - -

    19. Choose Mailbox Choose another private - mailbox. Valid boxes are: mailbox (normal in/out), archive and trash.
      - Optional data: If there is an option the area is direct - selected. Current options are M+ goto the next mailbox. - M- goto the previous mailbox.
      -

      - -

    20. Quickscan Email Make a quick overview - list of all messages in the selected e-mail area.
      - Optional data: None.
      -

      - -

    21. Show area rules Show the rules of a - echomail area if such rulefile is present in the rules directory. The file - seached for needs to have a name that is the same as the area tag, or the area - tag plus .rul, or the first eight characters of the area tag plus .rul like - the rulefiles in the elist package.
      - Optional data: None.
      -

      - -

    - -
    -Index -Main Index  -Back -Menus Index -
    - - - diff --git a/mbsebbs-code/html/menus/menu300.html b/mbsebbs-code/html/menus/menu300.html deleted file mode 100644 index e010936c..00000000 --- a/mbsebbs-code/html/menus/menu300.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - - -MBSE BBS Menus - User Settings Menus. - - - -
    - -
    Last update 01-Mar-2007
    -

    MBSE BBS User Settings Menus

    -
    - -
      - -
    1. Change Transfer Protocol: Let the user - select a new file transfer protocol.
      - Optional data: None.
      -

      - -

    2. Change Password: Let the user change - his FidoNet password.
      - Optional data: None.
      -

      - -

    3. Change Location: Let the user change - his location.
      - Optional data: None.
      -

      - -

    4. Obsolete: This command does not exist.
      - Optional data: None.
      -

      - -

    5. Change Voicephone: Let the user change - his voice phonenumber.
      - Optional data: None.
      -

      - -

    6. Change Dataphone: Let the user change - his data phonenumber.
      - Optional data: None.
      -

      - -

    7. Change Expertmode: This command will be - removed.
      - Optional data: None.
      -

      - -

    8. Obsolete: This command does not exist.
      - Optional data: None.
      -

      - -

    9. Change Date of Birth: Let the user set a - new date of birth. Check's are done if the date is more or less realistic. - This command should not be made available users if you use the regular - date of birth validation check.
      - Optional data: None.
      -

      - -

    10. Change Language: Let the user select a new - default language.
      - Optional data: None.
      -

      - -

    11. Change Hotkeys: Let the user toggle the - use of Hotkeys on or off..
      - Optional data: None.
      -

      - -

    12. Change Handle: Let the user select a new - handle (nickname).
      - Optional data: None.
      -

      - -

    13. Change Don't Disturb: Let the user toggle - the "do not disturb" flag.
      - Optional data: None.
      -

      - -

    14. Change check for new files: Let the user - toggle the "check for new files at logon" flag.
      - Optional data: None.
      -

      - -

    15. Change fullscreen editor: Let the user - toggle the "use fullscreen editor" flag.
      - Optional data: None.
      -

      - -

    16. Change FS edit shortcut keys: Let the user - toggle the "FS edit shortcut keys between Emacs/Wordstar" flag.
      - Optional data: None.
      -

      - -

    17. Change Address: Let the user change his - three lines home address.
      - Optional data: None.
      -

      - -

    18. Change signature: Let the user change - his mail signature file (.signature in his home directory). He is allowed - to edit at most 4 lines of 74 characters.
      - Optional data: None.
      -

      - -

    19. Change OLR Extended Info: Let the user toggle - the setting of the Offline Reader download of extended info (kludges).
      - Optional data: None.
      -

      - -

    20. Change character set: Let the user change - the default character set for messages.
      - Optional data: None.
      -

      - -

    21. Change archiver: Let the user change the - archhiver to use to build offline reader packages.
      - Optional data: None.
      -

      - -

    - -
    -Index -Main Index  -Back -Menus Index -
    - - - diff --git a/mbsebbs-code/html/menus/menu400.html b/mbsebbs-code/html/menus/menu400.html deleted file mode 100644 index 8035c9d2..00000000 --- a/mbsebbs-code/html/menus/menu400.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - -MBSE BBS Menus - Oneliner Menus. - - - -
    - -
    Last update 02-Feb-2001
    -

    MBSE BBS Oneliner Menus

    -
    - -
      - -
    1. Oneliner Add: Let the user add a new - oneliner.
      - Optional data: None.
      -

      - -

    2. Oneliner List: Let the user list all the - available oneliners.
      - Optional data: None.
      -

      - -

    3. Oneliner Show: Let the user show a - specific oneliner.
      - Optional data: None.
      -

      - -

    4. Oneliner Delete: Let the user delete a - oneliner. In order to do so he must be the owner of that oneliner or - he must have sysop access level. The oneliner is not really removed, only - marked for deletion.
      - Optional data: None.
      -

      - -

    5. Oneliner Print: Show a random chosen - oneliner on the screen. If you make this command automatic, each time that - this menu is executed a new oneliner will popup.
      - Optional data: None.
      -

      - -

    - -
    -Index -Main Index  -Back -Menus Index -
    - - - diff --git a/mbsebbs-code/html/menus/menu500.html b/mbsebbs-code/html/menus/menu500.html deleted file mode 100644 index 5a720c07..00000000 --- a/mbsebbs-code/html/menus/menu500.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - -MBSE BBS Menus - BBS List Menus. - - - -
    - -
    Last update 02-Feb-2001
    -

    MBSE BBS BBS List Menus

    -
    - -
      - -
    1. Add a BBS: Let the user add a BBS to the - BBS advertising database.
      - Optional data: None.
      -

      - -

    2. List BBS'es: Show a list of BBS'es in the - BBS database.
      - Optional data: None.
      -

      - -

    3. Show BBS: Show a specific BBS.
      - Optional data: None.
      -

      - -

    4. Delete BBS: Delete a specific BBS. The BBS - must have been entered by the user or the user must have sysop rights to - be able to delete a BBS.
      - Optional data: None.
      -

      - -

    5. Search BBS: Search for a specific BBS.
      - Optional data: None.
      -

      - -

    - -
    -Index -Main Index  -Back -Menus Index -
    - - - diff --git a/mbsebbs-code/html/mgetty.html b/mbsebbs-code/html/mgetty.html deleted file mode 100644 index f739172a..00000000 --- a/mbsebbs-code/html/mgetty.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - - - - -Setup mgetty for MBSE BBS. - - - -
    - -
    Last update 07-Jan-2002
    -

    Setup mgetty for MBSE BBS

    - -To handle incoming calls you can use mgetty written by -Gert Doering, (gert@greenie.muc.de). Others may work. You have to compile -mgetty with the -DFIDO flag to accept Fidonet mailer calls. -If you want incoming PPP calls as well, add the -DAUTO_PPP as well. If you want -to use ISDN, make sure you have ISDN support compiled in the kernel. -Below you can see the mgetty.config and login.config for mgetty that you may -need. -I have also included a part of my /etc/inittab to show how mgetty - will spawn from init. -

    - -


    -
    -# inittab       This is only a part of /etc/inittab!
    -#               In this example it runs in runlevel 3 and 4.
    -#
    -# Serial lines
    -s1:34:respawn:/usr/local/sbin/mgetty -i /opt/mbse/etc/issue ttyS0
    -#
    -# ISDN lines, two channels
    -I1:34:respawn:/usr/local/sbin/mgetty -i /opt/mbse/etc/issue ttyI0
    -I2:23:respawn:/usr/local/sbin/mgetty -i /opt/mbse/etc/issue ttyI1
    -#
    -# End of /etc/inittab
    -
    -
    -
    -# mgetty configuration file: mgetty.config
    -#
    -# ----- global section -----
    -#
    -# In this section, you put the global defaults, per-port stuff is below
    -#
    -# set the global debug level to "4" (default from policy.h)
    -debug 4
    -#
    -# set the local fax station id
    -fax-id ++31-255-515973
    -#
    -# access the modem(s) with 38400 bps
    -speed 38400
    -#
    -#  use these options to make the /dev/tty-device owned by "uucp.uucp" 
    -#  and mode "rw-rw-r--" (0664). *LEADING ZERO NEEDED!*
    -port-owner uucp
    -port-group uucp
    -port-mode 0664
    -#
    -#  use these options to make incoming faxes owned by "root.uucp" 
    -#  and mode "rw-r-----" (0640). *LEADING ZERO NEEDED!*
    -fax-owner root
    -fax-group uucp
    -fax-mode 0640
    -#
    -#
    -# ----- port specific section -----
    -# 
    -# Here you can put things that are valid only for one line, not the others
    -#
    -# Dynalink 1428EXTRA faxmodem at port 0 (COM1).
    -#
    -port ttyS0
    -speed 57600
    -switchbd 19200
    -modem-type cls2
    -init-chat "" \d\dAT&F&C1&D3X4W2B0M0Q0V1H0&K3S0=0 OK
    -#
    -#
    -# ISDN ports.
    -# With AT&E you set the MSN/EAZ the device should listen to.
    -# This should for an MSN be your telephone number _with_ the area
    -# code but _without_ the leading 0.  
    -# For an EAZ the last digit of your EAZ.
    -#
    -port ttyI0
    -modem-type data
    -init-chat "" ATZ OK AT&E714015437&W0 OK AT&B512 OK
    -#
    -port ttyI1
    -modem-type data
    -init-chat "" ATZ OK AT&E714017198&W0 OK AT&B512 OK
    -#
    -# end of mgetty.config
    -
    -
    -
    -# login.config
    -#
    -# This is a sample "login dispatcher" configuration file for mgetty
    -#
    -# Format:
    -#	username userid utmp_entry login_program [arguments]
    -#
    -# Meaning:
    -#       for a "username" entered at mgettys login: prompt, call
    -#	"login_program" with [arguments], with the uid set to "userid",
    -#	and a USER_PROCESS utmp entry with ut_user = "utmp_entry"
    -#
    -#
    -# Use this one for fido calls (login name /FIDO/ is handled specially)
    -#
    -#  mgetty has to be compiled with "-DFIDO", otherwise a fido call won't
    -#  be detected.
    -#
    -/FIDO/	mbse	fido	/opt/mbse/bin/mbcico @
    -#
    -#
    -# Automatic PPP startup on receipt of LCP configure request (AutoPPP).
    -#  mgetty has to be compiled with "-DAUTO_PPP" for this to work.
    -#  Warning: Case is significant, AUTOPPP or autoppp won't work!
    -#  Consult the "pppd" man page to find pppd options that work for you.
    -#  See also PPP-HOWTO on how to set this up.
    -#
    -/AutoPPP/ -	a_ppp	/etc/ppp/paplogin
    -#
    -# This is the "standard" behaviour - *dont* set a userid or utmp
    -#  entry here, otherwise /bin/login will fail!
    -#  This entry isn't really necessary: if it's missing, the built-in
    -#  default will do exactly this.
    -#  Here we replace the standard login with MBSE BBS login:
    -#
    -*	-	-	/opt/mbse/bin/mblogin @
    -#
    -#
    -# end of login.config
    -
    -
    - -

    -I have added the -i /opt/mbse/etc/issue options to the -mgetty line in /etc/inittab. -The file /opt/mbse/etc/issue is a plain textfile to give a small banner just -before the login prompt. -It could look like this:
    -

    -
    -        .--.     Welcome at MBSE BBS Development.
    -       |o_o |    --------------------------------
    -       |:_/ |
    -      //   \ \   This may or may not work today...
    -     (|     | )
    -    /'\_   _/`\
    -    \___)=(___/  
    -Powered by GNU/Linux.
    -
    -
    -There is a default /opt/mbse/etc/issue installed by the installation script. -You need to edit this to insert your bbs name in it or even completely replace -this file for a nicer one. Don't make it too big, don't put control characters -or ANSI sequences in it as this may prevent some mailers to connect to your system. -

    -I discovered that some systems don't have the right permissions on the serial -port for MBSE BBS. To fix this type the following commands: -

    -su
    -password: enter root password here
    -chmod 666 /dev/ttyS0
    -chown uucp.uucp /dev/ttyS0
    -exit
    -
    -Note that /dev/ttyS0 is for COM1, /dev/ttyS1 for COM2 etc. This is not a nice -solution. If youre system allows it, try to add the the user mbse as -a legal user of your serial ports. Most distributions have some tool for this. -

    - -BackGo Back -

    - - diff --git a/mbsebbs-code/html/misc/dropfile.html b/mbsebbs-code/html/misc/dropfile.html deleted file mode 100644 index 5f222dc9..00000000 --- a/mbsebbs-code/html/misc/dropfile.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - -BBS doors dropfiles. - - - -
    - -
    Last update 23-May-2003
    -

    BBS doors dropfiles.

    - -

    Dropfiles for Unix BBS systems.

    -

    -Not all options that are available under DOS or OS/2 can be used with Unix -BBS systems and must be faked. The doorfiles are written in the users -homedirectory when the user starts a door. -

     

    - -

    DOOR.SYS format.

    -

    -The door.sys format is a 52 lines ascii textfile, each line is terminated with -a cr/lf pair. In the setup it is possible to force the creation of MM-DD-YYYY -dates instead of the MM-DD-YY style. Newer doors sometimes need that. -

    -Line	Description
    ------	-----------------------------------------------------------------
    -1	Port, 5 characters in DOS format, COM1: or COM0:
    -2	Effective Baudrate, 19200 or 0 for COM0:
    -3	Databits, always 8
    -4	Nodenumber, 1..9999
    -5	Locked baudrate, 19200 or tty portspeed for COM0:
    -6	Screen display, Y=snoop on, N=snoop off, on Unix allways Y.
    -7	Printer Y=on N=off, on Unix always N
    -8	Page Bell Y=on N=off, on Unix allways Y
    -9	Caller alarm Y=on N=off, on Unix allways Y
    -10	Users first name and lastname
    -11	Users location
    -12	Voice/Home phone
    -13	Work/Dataphone
    -14	Users password.
    -15	Security level, 0..32768
    -16	Users number of calls
    -17	Users last call date MM-DD-YY or MM-DD-YYYY
    -18	Seconds remaining this call
    -19	Time left in minutes
    -20	ANSI, "GR" is yes, otherwise "NG"
    -21	Screen length
    -22	User mode, always N
    -23	Always blank
    -24	Always blank
    -25	Subscription expire date MM-DD-YY or MM-DD-YYYY
    -26	Users record number
    -27	Default protocol
    -28	Users total number of uploads
    -29	Users total number of downloads
    -30	Users daily download kilobytes total
    -31	Daily download kilobyte limit
    -32	Users date of birth MM-DD-YY or MM-DD-YYYY
    -33	Path to users database files, cannot be used on Unix
    -34	Path to message database files, cannot be used on Unix
    -35	Sysop first and last name
    -36	Users handle
    -37	Next event starting time, "none" on Unix
    -38	Error-free connection Y=Yes or N=No, always Y
    -39	Always set to N
    -40	Always set to Y
    -41	Text color as defined in setup 7 = gray.
    -42	Always 0
    -43	Last new files scan date MM-DD-YY or MM-DD-YYYY
    -44	Time of this call HH:MM
    -45	Time of last call HH:MM
    -46	Always set to 32768
    -47	Number of files downloaded today
    -48	Total kilobytes uploaded
    -49	Total kilobytes downloaded
    -50	Comment stored in users record
    -51	Always set to 0
    -52	Total number of messages posted
    -
    -

     

    - -

    DOOR.SYS format.

    -

    -The door32.sys format is a 11 lines ascii textfile, each line is terminated with -a cr/lf pair. -

       
    -Line	Description
    ------	-----------------------------------------------------------------
    -1	Com type: 1=serial, 2=telnet, with mbse always 1
    -2	Com port: 1 or 0 for local mode
    -3	Effective baudrate: 19200 or 0
    -4	BBS name
    -5	User record number
    -6	User's real name
    -7	User's handle
    -8	User's security level
    -9	Time left in minutes
    -10	Graphicsmode: 1 or 0
    -11	Node (line) number
    -
    - -BackGo Back -
    - - - diff --git a/mbsebbs-code/html/misc/filefind.html b/mbsebbs-code/html/misc/filefind.html deleted file mode 100644 index a1dd3b29..00000000 --- a/mbsebbs-code/html/misc/filefind.html +++ /dev/null @@ -1,332 +0,0 @@ - - - - - - - - - - -Implementation and Usage of FileFind Utilities. - - - -
    - Document:   fsc-00xx
    - Version:    0.6
    - Date        Aug 30, 1995
    - Title:      Implementation and Usage of FileFind Utilities
    - Authors:    Robert Williamson FidoNet#1:167/104.0  robert@ecs.mtlnet.org
    -
    -  Intro
    -
    -    A portion of the document is derived from information in
    -      AllFix.DOC by Harald Harms @ 2:281/910
    -    with  additional  sections  from
    -      FQuery.DOC by Robert Williamson @ 1:167/104
    -
    -        The  MSdos program ALLFIX by Harald Harms first introduced the idea
    -    of searching for files via echomail.  The term applied to this function
    -    is  'FileFind'.   A FileFind system allows sysops, points and BBS users
    -    to  search  for  files  by  placing  a  message  to 'ALLFIX' in an echo
    -    designated  for  the purpose of finding files.  All FTN sites running a
    -    FileFind  processor which is configured to scan that echo will reply to
    -    that  user if there any files matching his query.  This system provides
    -    a  method  for  searching  many  FTN sites throughout the world, with a
    -    single message.
    -
    -        FileFind  programs  work by either scanning through defined message
    -    bases or scanning packets for defined AREA tagnames for messages to the
    -    default  name  ALLFIX.   All FileFind programs MUST respond to the name
    -    ALLFIX,  but  may also respond to the name FILEFIND and the name of the
    -    particular  FileFind  program  in  use  or  defined  for the echo.  The
    -    FileFind  program  will  process  these messages, examining the Subject
    -    field  for  search  queries.  If any valid query is found, the FileFind
    -    program  will  search  the  sites files database for files matching the
    -    users's query.
    -
    -        If the FileFind program finds any matches, it will generate a reply
    -    containing  a list of the files found, and some basic information ABOUT
    -    the  system  posting  the reply.  When the user who initially wrote the
    -    request  reads  the reply, he will then be able to decide if any of the
    -    reported  files  meet  his  needs,  and  from the ABOUT included in the
    -    reply, learn where and how he may get those files.
    -
    -
    -  FileFind Query Message Structure
    -
    -    To: name_of_FileFind program
    -
    -    The  message  must be addressed to ALLFIX so that all FileFind programs
    -    can  respond.   To  use  features  specific  to  a  particular FileFind
    -    program,  or  to  limit  the  responses  to  a particular platform, the
    -    message  should  be  addressed  to  that program's name.  Some FileFind
    -    programs  will  respond  to more than two names.
    -
    -    Subject:
    -    A  space-separated  list  of  file  specifications,  keywords or quoted
    -    strings.
    -
    -    keyword     - single word preceeded by a '/' with no intervening spaces,
    -                  must be at least 3 characters, not including the '/'.
    -                  a keyword search is in actually a substring search of the
    -                  site's filelist.
    -
    -    description - string enclosed in double-quotes,
    -                  if a single word, must be more than 3 characters.
    -
    -    filespec    - single word, no spaces, no double-quotes or preceding /,
    -                  must be at least 3 characters, not including any wildcard
    -                  or pattern matching charcaters, such as '*'.
    -                  Messages addressed to ALLFIX must not have any embedded
    -                  pattern matching characters.
    -
    -
    -        The  minimum  number  of  characters  for  description, keyword and
    -    filespec  queries  is an implementation detail of the FileFind program.
    -    These  values  should  be configurable, but should never be settable to
    -    values of less than 3.
    -
    -        Each  implementation  should  allow  the  operator  the  ability to
    -    configure a list of disallowed keywords.
    -
    -  NetMail Queries
    -
    -        Some  FileFind  programs  may also have the ability to process file
    -    search  queries  received  as  netmail and addressed to the name of the
    -    particular  FileFInd  program  with this capability.  In this case, all
    -    replies are via netmail also.
    -
    -  NetMail Commands
    -        FileFind   Netmail   commands  are  identifed  by  a  leading  '%'.
    -    Implementation  of  netmail  commands  is  optional.   If  implemented,
    -    compliant  FileFind  utilities  should be able to process the following
    -    minimum NetMail command set.
    -
    -
    -    %HELP       - netmail only, returns an extended help text for the
    -                  FileFind program, the ABOUT of the the site and a list
    -                  of MAGIC freqable names.
    -    %ABOUT      - netmail only, returns the ABOUT of the site and a full
    - or %MAGIC        list of MAGIC names.
    -
    -    %NEWFILES   - netmail only, returns the NEWFILES list of the site
    - or %NEW          via netmail.
    -
    -    Extended NetMail Commands:
    -        Implementation  of  the  following netmail commands is optional and
    -    not required for compliance with the FileFind NetMail Command set.
    -
    -    %REPORT <tagname>
    -                - sends a configuration report for echo <tagname>
    -                  this allows an echo moderator to check if a site running
    -                  a  FileFind  utility  is  compliant with the rules of the
    -                  filefind echo.
    -
    -    %REQUEST <filename>
    -                - if found, will place requested file on hold for remote
    -                  site
    -
    -    %UUREQUEST <filename>
    -                - if  found,  and  the filesize after uuencoding is less
    -                  than 60K, it will be sent as multiple netmail messages
    -
    -
    -  The Site ABOUT
    -
    -        Obviously,  a  system that neither accepts file requests nor allows
    -    users  to  download  on  their  first  call should not be responding to
    -    FileFind  messages.   If  there  are  any limitations for the caller to
    -    acquire  any  of  the  files  that  the  site  has  advertised as being
    -    available  in  it's FileFind response, these limitations MUST be listed
    -    in  the  reply.   This information should be included in the ABOUT file
    -    that the FileFind program user creates.
    -
    -        The  site  ABOUT  should  contain  the  following information.  The
    -    FileFind  program  implementor  should  instruct  his  users  on  these
    -    requirements.
    -
    -      - sitename
    -      - site operator's name
    -      - complete phonenumber
    -      - baud rate
    -      - hours during which filerequests are accepted, if at all
    -      - hours during which users can download
    -      - conditions for file requests and user downloads
    -      NOTE: the above information should be within the first 14 lines.
    -      optional:
    -      - a list a MAGIC names
    -      - an indication if magic names are also available to terminal users.
    -
    -  Searching for Files and Creating Replies
    -
    -        The  method  used by the FileFind program to search for requests is
    -    up  to  the  implementor.   However,  if searching a list, the FileFind
    -    program should confirm the actual existance of all files that match the
    -    query specification.
    -
    -        The  FileFind  program  should  only  process  description strings,
    -    filespecs  or  keywords  that  contain more than 3 valid characters and
    -    should  have configuration options to define greater minimum lengths on
    -    a per-echo basis.
    -
    -        For  filespecs,  the  wildcard  character '*' IS considered a valid
    -    specification  as  well  as the '?' wildcard, but only the '?' is to be
    -    counted  as  a  character  when  determining the length of query.  File
    -    extensions  are  not necessary and any characters AFTER a '*' are to be
    -    ignored.   The  FileFind  program should be configurable so as to allow
    -    replacement  all  of the file extensions with '.*' or '#?' dependant on
    -    platform.   This  results  in  queries being independant of the various
    -    archivers in use.
    -
    -    Replies
    -
    -        Replies  created  by  FileFind  utilities  are  expected  to  be in
    -    compliance with the following FTN specifications:
    -        FTS-0001    -  packed message format
    -        FTS-0009    -  MSGID/REPLY
    -        FSC-0046    -  PID and tear line
    -
    -        In  addition, a FileFind utility may use the FID:  control line for
    -    any  information needed that cannot be put in a PID:  without violating
    -    that specification.
    -
    -        ^AFID: ascii text CR
    -
    -    Must be less than 80 characters including ^A and terminating CR.
    -
    -    There  are three ways in which the FileFind program can create replies:
    -        - write the replies in the echo in which the query appeared.
    -        - write the replies in an echo that has been specifically
    -          designated for that purpose in the particular FTN or for
    -          a gorup of echos in that FTN.
    -        - reply via routed netmail.
    -
    -        Since each FTN site connected to a particular FileFind program area
    -    is  capable  of creating an information reply, there is much concern as
    -    to  the  amount  of  traffic  that  can  be generated, FileFind program
    -    developers  must  be sensitive to these concerns by providing the means
    -    to  their users to limit the traffic on a per-echo basis.  For example,
    -    various  FileFind  echos  have  rules  limiting  the  size or number of
    -    replies,  or  the length of the system information that may be included
    -    in a reply.
    -
    -  Limiting replies
    -
    -    It is strongly suggested that some default limitations be built-in.
    -
    -    Limiting Site Header (ABOUT):
    -
    -        If the site's ABOUT, (the text that has been configured in order to
    -    add  the  system's  information  and Magic names list to the reply), is
    -    greater  than  14  lines,  the  remainder should NOT be posted.  A line
    -    should  be  added  to  the response indicated this, and the user may be
    -    invited to either Freq or download the MAGIC name's ABOUT or MAGIC, for
    -    a  full  list of magic names.  The FileFind program may optionally send
    -    the full system information and magic name list via routed netmail.
    -
    -    Limiting Match List due to ambiguity of query:
    -
    -        If  the list of matches (note:  not the size of the message itself)
    -    is  greater than 32K, the FileFind program should post a message to the
    -    user to indicate that his query may have been too ambiguous and perhaps
    -    invite him to freq or download the MAGIC name FILES for a full list.
    -
    -    Splitting Match List into Multiple Messages:
    -
    -        If the list of matches is greater than 10K, it should be split into
    -    multiple  messages  of  no more than 8K.  Although the backbone permits
    -    messages  up  to  16K  in length, 8K is a more readable size.  Only the
    -    first  split  message  may  contain  the ABOUT information of the site.
    -    Each  message must be given both a unique Subject field (eg:  prepended
    -    by  "Part n/n") and a unique MSGID:.  This because some tossers may use
    -    either or both for dupe detection.
    -
    -    Limiting Number of Split Messages:
    -
    -        If  the  number of messages is greater than the preset limit of the
    -    echo,  and  the FileFind Program does not have an option to forward the
    -    replies  via  netmail,  the  replies  should  be discarded and the user
    -    informed that his request may have been too amibiguous.
    -
    -
    -    NetMail Reply:
    -
    -        The  FileFind program may have an option to forward all replies via
    -    routed netmail, or to do so under certain conditions as outlined above.
    -    Obviously, if the FileFind program can process netmail queries, it MUST
    -    respond via netmail.
    -
    -    User NetMail Reply Request:
    -
    -        Alternativly the user can request a netmail reply for his echomail
    -    query by preceeding the query with either "%" or "!".
    -      eg;
    -        Subject:  % /fsc /fts
    -
    -        If  the  FileFind  program  does  not support this feature, it must
    -    ignore  any  echomail  query message that has a "%" or "!" as the first
    -    WORD of the Subject field.
    -
    -    Second Reply or Extended Response Request:
    -
    -        The  FileFind  site  indicates  availablility  of  Second  Reply by
    -    placing the string 'program_name 4d_address' in the From:  field of the
    -    message.
    -        eg: FROM: FQUERY 1:167/104.0
    -
    -        When a user replies to a FileFind reply, the message will be to the
    -    FileFind  program  @  {network  address}.  When processing the FileFind
    -    conferences, the FileFind program will treat any message to itself that
    -    includes the site address as a Second Reply Request.
    -
    -        If  this feature is available, the FileFind program will include up
    -    to  a maximum of 15 files (maximum 12K match list) in it's replies.  If
    -    the  user  wants  a  more  detailed  listing,  he simply replies to the
    -    FileFind  program's  reply.   Only  the system that posted the original
    -    reply  will  respond to that new request.  This second, specific reply,
    -    will  contain  up  to  50  files (32K of matchlist) either including or
    -    SKIPPING the first 15.  These numbers may be replaced by byte limits in
    -    some implementations.
    -
    -    No Second Reply in Designated Reply Echo:
    -
    -        The Designated Reply Echo method does not allow replies to be made,
    -    because  the FileFind program may not be permitted to scan a Designated
    -    Reply  Echo.  The FileFind program should automatically report up to 50
    -    files  for any requests.  Therefore, the traffic limitaion features may
    -    be  disabled for networks that require the FileFind program to reply in
    -    a Designated Reply Echo, and disallow Second Reply in that echo.
    -
    -    Disable Local Messages:
    -
    -        The  FileFind  program must be able to to disable the processing of
    -    local  messages.  What this means is that the FileFind program will not
    -    process  any messages generated on that FTN site, including messages by
    -    the  sysop  using  an  offline  reader,  or by a site's BBS or off-line
    -    reader users.  This should NOT exclude messages from a site's points.
    -
    -
    -    Limit by Age:
    -
    -        The  FileFind program must be configurable so that the operator can
    -    limit  the  age  of an query message that is acceptable for processing.
    -    This  should  be  in  number  of  days.   The  FileFind  program may be
    -    configured  to  process all the FileFind requests regardless of how old
    -    they are.  Age should never be greater than 365 days.
    -
    -    LinkMGR Support:
    -        Implmentors  may choose to support the LinkMGR proposal for netmail
    -    queries  and  commands.   In this proposal, the queries and commands do
    -    not  appear  in  the  subject  field but rather, in the the BODY of the
    -    message.  The subject field wil contain the LinkMGR password.
    -        Use of the LinkMGR method allows the user to send multiple commands
    -    to the fIleFind program.
    -
    - -BackGo Back - - - - diff --git a/mbsebbs-code/html/misc/fileid.html b/mbsebbs-code/html/misc/fileid.html deleted file mode 100644 index f59c134a..00000000 --- a/mbsebbs-code/html/misc/fileid.html +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - - - - - -FILE_ID.DIZ Information. - - - - -
    -FILEID.TXT v1.8 by Richard Holler [CIS 73567,1547]
    -Last Revision 05/05/94
    -
    -This text file was prepared at the request of the ASP (Association of 
    -Shareware Professionals), but the information contained in it may be of 
    -value to any shareware author.
    -
    -
    -FILE_ID.DIZ INFORMATION
    ------------------------
    -Basically, the FILE_ID.DIZ file is a straight ASCII text file, distributed 
    -inside your distribution archive file along with your program files, which 
    -contains a description of your program. This file will be used by most BBS 
    -(Bulletin Board System) softwares for the online file description of your 
    -file. We recommend that the FILE_ID.DIZ file be used in all of your 
    -distribution archives. 
    -
    -This text file contains a description of the FILE_ID.DIZ file, as well as a 
    -description of the recommended distribution archive format.
    -
    -
    -WHY SHOULD YOU USE FILE_ID.DIZ?
    --------------------------------
    -The use of this file will insure that the online description of your 
    -program will be in your own words (and who better to describe your program 
    -than yourself?), and that it will remain the same no matter how many 
    -different people upload your file to various BBS systems. 
    -
    -As more and more BBS software makes use of this file, you can be assured 
    -that your own description will replace such online descriptions as "Cool 
    -Program" or "OK utility, but needs better ..."
    -
    -Please note that the ASP Hub Network, the Author Direct FDN (File 
    -Distribution Network), and the majority of other electronic distribution 
    -services *REQUIRE* that a valid FILE_ID.DIZ file be contained in your 
    -submitted distribution archive. If your file doesn't contain a valid 
    -FILE_ID.DIZ file, then it simply won't be distributed by these services. 
    -Furthermore, most BBS sysops will not accept uploads of files which do not 
    -contain a valid FILE_ID.DIZ file, so you automatically lose out on that 
    -distribution as well.
    -
    -
    -DESCRIPTION:
    -------------
    -FILE_ID.DIZ was created by Clark Development for use with their PCBDescribe 
    -utility, as a means for BBS callers to upload a file without having to 
    -manually type in a file description. It also ensures that the online 
    -description is always the same regardless of the number of different BBS 
    -systems the file is posted on. It has since been accepted by the BBS 
    -industry more-or-less as the "standard" file description source. (The 
    -extension of "DIZ" actually stands for "Description In Zip").
    -
    -NOTE: The FILE_ID.DIZ file *MUST* be named exactly that, and *NOT* 
    -something like <filename>.DIZ. It will *ONLY* be used if it is named 
    -FILE_ID.DIZ!
    -
    -The FILE_ID.DIZ file is nothing more than a straight ASCII text file which 
    -contains the full description of the archived file containing it. It is 
    -used by most popular BBS software to describe your program, rather than 
    -using the description supplied by the person that uploaded your file. It 
    -should be placed *INSIDE* your distribution archive file.
    -
    -The BBS software will "look" inside the archive file. If a FILE_ID.DIZ file 
    -is found, it will replace any existing online file description with the 
    -text contained in FILE_ID.DIZ. It is an excellent method for making sure 
    -that your program files are described the way that "you" want them 
    -described. Even sysops who's software can't automatically make use of the 
    -FILE_ID.DIZ file have found it to be an excellent source for their manually 
    -added file descriptions.
    -
    -
    -STRUCTURE:
    -----------
    -The file consists of straight ASCII text, up to 10 lines of text, each line 
    -being no more than 45 characters long. It should *NOT* contain any blank 
    -lines, any form of centering or formatting, or any Hi-ASCII or ANSI 
    -characters. (i.e. it should ONLY contain alpha & numeric characters).
    -
    -We recommended that it consist of 5 basic parts:
    -
    -   1. the proper name of your program
    -   2. the version number
    -   3. the "ASP" identifier (optional, for ASP members)
    -   4. the description separator
    -   4. the description
    -
    -All of the above parts should be separated by a single "space".
    -
    -PROGRAM NAME: To set it apart from the rest, it is recommended that you use 
    -ALL CAPS for the program name.
    -
    -VERSION NUMBER: The version number should be in the form of "v12.34". 
    -
    -ASP IDENTIFIER: If you are an ASP author, we recommend that an "<ASP>" 
    -identifying mark be added after the version number, to identify your 
    -product as an ASP-authored product.
    -
    -DESCRIPTION SEPARATOR: To separate the actual description text, insert a 
    -simple "-" (dash/minus) character after the ASP identifier (or version 
    -number, if not using the ASP identifier), and in front of the description 
    -text.
    -
    -DESCRIPTION: You should attempt to FULLY describe your product, including 
    -its most important functions and features. Be sure to include anything 
    -which will separate your program from it's competition, and make the BBS 
    -user want to download your file. Also try to include any hardware or 
    -software requirements that your product may have.
    -
    -You should try to use the first 2 lines of the text to give a basic 
    -description of your program. This is helpful for sysops who's BBS software 
    -limits them to less than 10 lines, 45 characters. Sysops who are limited to 
    -using shorter descriptions can simply use the 1st two lines and truncate 
    -the rest. Thus, you can basically still supply your own description for BBS 
    -software which does not actually utilize the FILE_ID.DIZ feature.
    -
    -The remaining lines of text can be used to elaborate on the programs 
    -features, enhancements from the prior version, information concerning 
    -multi-file sets. Please note that older versions of some BBS software can 
    -only use 8 lines of text. It is advisable that you create your FILE_ID.DIZ 
    -file so that the file can be truncated to various line lengths without 
    -destroying it's usefulness.
    -
    -
    -EXAMPLE
    --------
    -MY PROGRAM v1.23 <ASP> - A program which will
    -do anything for anybody. Will run in only 2k
    -of memory. Can be run from the command line,
    -or installed as a TSR. Completely menu-
    -driven. Version 1.23 reduces the previous 4k
    -memory requirements, and adds an enhanced
    -graphical user interface. Also, MY PROGRAM 
    -now contains Windows and DESQview support. 
    -Coming soon - an OS/2 version.
    -From Do-It-All Software, Inc. $15.00
    -
    -
    -MULTIPLE DISK INFO
    -------------------
    -Please note that if your distribution archive requires multiple archive 
    -files, you should create a separate, specific FILE_ID.DIZ file for each 
    -archive. This can be utilized to describe the various contents of each 
    -archive, and to identify each disk in the set. For example, the FILE_ID.DIZ 
    -file for disk #1 could contain:
    -
    -   "MY PROGRAM v1.23 <ASP> Program Executable 
    -    Files - Disk 1 of 2"
    -    [followed by detailed description text]
    -
    -while the FILE_ID.DIZ file for disk #2 could contain:
    -
    -   "MY PROGRAM v1.23 <ASP> Documentation Files - 
    -    Disk 2 of 2"
    -    [followed by more detailed description text]
    -
    -Optionally, you could also create a "complete" FILE_ID.DIZ file for the 
    -first disk, which would fully describe the program in detail, and identify 
    -it as Disk 1 of x. Then, for each remaining file in the set, simply include 
    -the Program Name, version number, ASP identifier, and the disk number (i.e. 
    -"MY PROGRAM v1.23 <ASP> Disk 2 of x").
    -
    -
    -ADDITIONAL INFO
    ----------------
    -Please don't be tempted to use fancy graphic or ANSI sequences in the 
    -FILE_ID.DIZ file, as most BBS software will not allow this, and will render 
    -your FILE_ID.DIZ file useless. Also, don't be tempted to simply copy your 
    -program description file to FILE_ID.DIZ. Attempting to "format" your 
    -FILE_ID.DIZ file (i.e line centering, right & left justification, etc) will 
    -also cause unexpected results, especially for BBS software which re-formats 
    -descriptions to other than 10line/45char.
    -
    -Fred Hill <ASP> has written a freeware utility which interactively creates 
    -a valid FILE_ID.DIZ file. The file is called DIZGEN.ZIP and can be found on 
    -CompuServe (GO IBMBBS, Library 2) as well as on many fine BBS systems. I 
    -highly recommend that you download a copy of this wonderful utility for 
    -creating your FILE_ID.DIZ files.
    -
    -==========================================================================
    -
    -The following is a recommendation for the structure and contents of 
    -distribution archives prepared for use on BBS systems.
    -
    -
    -DISTRIBUTION DISK RECOMMENDATIONS
    ----------------------------------
    -The following are recommendations for preparing your program files for 
    -distribution to Bulletin Board Systems (BBSs) via the ASP's distribution 
    -services, as well as other methods.
    -
    -Two varieties of program files are defined here:
    -
    -1) Program files which utilize an "install" utility and self-extracting 
    -program archives (later referred to as "Author-Installed Programs").
    -
    -2) Programs files which do not use install utilities or self-extracting 
    -archives (later referred to as "User-Installed Programs").
    -
    -
    -AUTHOR-INSTALLED PROGRAMS:
    ---------------------------
    -These programs require a bit more work from the author, but will eliminate 
    -many user mistakes, especially in programs which require complicated 
    -setups.
    -
    -Most "installation" utility programs will make use of program files which 
    -have been "archived" into Self-Extracting (SFX) archives. We will attempt 
    -to define which files should be contained in the Self-Extracting archives, 
    -and which files should not.
    -
    -1. Files which should be contained in the self-extracting program file
    -archive:
    -
    -        a. All program-specific executable files.
    -        b. Any required configuration and/or data files required by the
    -           program.
    -        c. Program documentation files. Optionally, these may be left
    -           outside of the self-extracting archive, in order to allow
    -           them to be viewed/read by the various archive viewing utlities.
    -        d. Any other program-specific files that are required for the
    -           operation of the program.
    -
    -2. The files described above should be compiled into a self-extracting 
    -archive file, which will then be extracted by the install utility.
    -
    -NOTE: the author is required to abide by any distribution requirements 
    -specified by the archive utility author, and to obtain any required 
    -distribution rights necessary. Please check to see if distribution rights 
    -are required for your archive utility choice.
    -
    -3. Files which should NOT be contained in the self-extracting program file 
    -archive:
    -
    -        a. The install utility itself (obviously).
    -        b. The FILE_ID.DIZ file. (described in detail in the section
    -           preceding this one)
    -        c. Any distribution/information files, such as VENDOR.TXT,
    -           SYSOP.TXT, etc.
    -        d. Any description or information file, such as DESCRIBE.TXT.
    -        e. A user file (such as README.1ST), which should explain how
    -           to use the install utility, what the user should expect
    -           during the installation, and any preparation that the user
    -           should make prior to the installation. This file might also
    -           contain a brief description of your program, in case the user
    -           is able to read the documentation files in the distribution
    -           archive prior to downloading (many BBS systems offer this
    -           ability to the user).
    -
    -4. The actual distribution archive file (described below) should then 
    -contain the install utility, the self-extracting program archive, and the 
    -files described in #3 above.
    -
    -
    -USER-INSTALLED PROGRAMS:
    -------------------------
    -This type of distribution archive is much simpler than the Author-Installed 
    -variety. It should simply be an archive file, containing all of the files 
    -for the program described above.
    -
    -Since this type of program requires the user to do all of the installation 
    -manually, it should contain very specific and detailed information 
    -regarding the installation requirements (such as INSTALL.TXT).
    -
    -
    -THE DISTRIBUTION ARCHIVE FILE:
    -------------------------------
    -The actual distribution archive file should merely be an archive file 
    -containing the files described above. For BBS distribution, this archive 
    -should be of the standard archive format, and -NOT- a self-extracting 
    -archive.  Many sysops will not allow self-extracting archives, and most BBS 
    -software will not allow self-extracting archives to be uploaded.
    -
    -There are many popular archive utilities available, such as PKZIP, LHA, 
    -LHARC, ARJ, etc. Most BBS systems are capable of handling archives in 
    -virtually any format. However, you should be aware that most BBS systems 
    -will convert your archive format to the format of choice by the sysop. By 
    -following the methods described above, this conversion process should not 
    -affect your program, or any self-extracting files which are contained 
    -within your distribution archive file.
    -
    -You should also retain the default archive file extension defined by the 
    -archive utility. For example, PKZIP uses a ".ZIP", LHARC uses "LZH", etc. 
    -Changing the file extension may cause the BBS software to delete your file 
    -because it doesn't recognize the format.
    -
    -For the actual filename for your distribution archive, it is recommended 
    -that the program filename be limited to 6 characters to represent the 
    -program's name (i.e. MYPROG could represent "My Program"). This should be 
    -followed by 2 numeric digits which will represent the version number of 
    -your release. Even if this is your initial release it should include the 
    -version number in the filename (i.e. MYPROG10.ZIP would indicate the 
    -program called "My Program" version 1.0).
    -
    -Please note that CompuServe limits filenames to only 6 characters. By 
    -limiting the file "name" to 6 characters, you will easily be able to rename 
    -the archive for CompuServe uploading by simply removing the 2-digit version 
    -identifier, to make the file compatible with CompuServe libraries.
    -
    -By including the 2-digit version number in the archive filename, it will be 
    -very easy for both the user and the sysop (and yourself) to identify older 
    -versions of your program.
    -
    -
    -MULTIPLE DISTRIBUTION ARCHIVES
    -------------------------------
    -At one time, it was recommended that your final distribution archive not be 
    -larger than 350k, so that it would fit on a single 360k floppy disk and 
    -still leave room for any distribution files necessary for Disk Vendors. 
    -(i.e. Disk Vendors will often include their own GO.BAT file, or other 
    -various small files to help their customers install the software). This 
    -limitation is slowly falling by the wayside as more and more computer 
    -systems have 3.5" floppy disk drives as standard.
    -
    -If your program is large enough to require more than one distribution 
    -archive, it is recommended that your filename be limited to 5 characters 
    -rather than 6 as described above. Following the 5-character name should be 
    -the same 2-digit version number. Then, append a single "letter" to identify 
    -the disk (i.e. MYPGM10A.ZIP, MYPGM10B.ZIP, etc.). For uploading to 
    -CompuServe, these filenames may then be shortened to 6 characters by 
    -removing the version identifiers (i.e. MYPGMA.ZIP, MYPGMB.ZIP). However, 
    -for CompuServe it is recommended that you simply create a single 
    -distibution file, and eliminate the multi-part file set.
    -
    -If your program requires multiple distribution archives, -BE SURE- to 
    -create separate FILE_ID.DIZ files for each distribution archive. Also, each 
    -FILE_ID.DIZ file should contain disk number information pertaining to each 
    -individual archive (i.e. Disk 1 of 3, Disk 2 of 3, etc.).
    -
    -
    -THE DISTRIBUTION DISK
    ----------------------
    -It is recommended that your distribution disk simply contain a ZIPd version 
    -of your product. However, If you choose to supply "unarchived" files on a 
    -distribution disk for Disk Vendor use, it is _VERY_ important that you 
    -specify in your documentation a suggested archive filename, so that BBS 
    -sysops can create archived files with the proper author-specified 
    -filenames. This information should be contained in your SYSOP.TXT (or 
    -VENDOR.TXT) file. If you don't supply a suggested archive file name, the 
    -sysops will be forced to create the name themselves, thus you may end up 
    -with thousands of versions of your products on BBS systems all over the 
    -world, but all with different filenames.
    -
    -Please note that the ASP Hub Network, and nearly every other electronic 
    -distribution service *REQUIRE* that your files be submitted as an archived 
    -file, using the ZIP format. Also note that many BBS sysops will not go to 
    -the trouble of ZIPing your unarchived files for you. If you don't supply 
    -them with an archived distribution version of your product, it might not 
    -get distributed by BBSs.
    -
    -If you supply your own disk labels, it is recommended that the ASP logo, or 
    -at least the initials "ASP" be included on the label, so that anyone can 
    -immediately identify your disk as an ASP member's software.
    -
    -
    -SUMMARY
    --------
    -Your distribution disk should now be ready to submit to the various BBSs, 
    -distribution services, and Disk Vendors.
    -
    -You may choose to create a separate distribution disk for use by BBSs and 
    -Disk Vendors. However, if you follow the above steps in preparing your 
    -distribution archive file, a separate "Disk Vendor" disk is probably not 
    -necessary. The majority of disk vendors will be able to accept your 
    -distribution file/disk if it is prepared in the above described format.
    -
    -
    - -BackGo Back - - - - diff --git a/mbsebbs-code/html/misc/ftpserver.html b/mbsebbs-code/html/misc/ftpserver.html deleted file mode 100644 index 2fc4d99f..00000000 --- a/mbsebbs-code/html/misc/ftpserver.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - - - -Howto setup an FTP server to work with MBSE BBS. - - - -
    - -
    Last update 03-Sep-2005
    -

    How to setup an FTP server to work with MBSE BBS.

    - -In order to let MBSE BBS and your FTP server to both function together you must -organize a special file structure. Note that even if you don't setup an FTP -server you must still create a structure like this for the fidonet mailer, -if you don't, mail and files will get lost! -This description is written for ProFTPD, -on your distribution there may be another ftpd installed. -Read the section for the webserver as well. -

    -

    The filestructure I used is as follows:

    -
    -/opt/mbse/ftp/pub/dos_util/dos_4dos	- Public download areas
    -         |   |   |        /dos_disk
    -         |   |   |        /dos_file
    -         |   |   /virnet/mcafee
    -         |   |   |      /win16
    -         |   |   |      /win32
    -	 |   |   /css/files.css         - Stylesheet for http download
    -         |   /incoming			- FTP public upload.
    -         /var/bso/outbound		- Your default outbound
    -             |   /outbound.009		- Outbound Zone 9
    -             /inbound		        - Inbound directory
    -             /private/upload		- Non-public download areas
    -             |       /sysop
    -             |       /logfiles
    -             /tic_queue			- Queue for .tic files.
    -
    -
    -To let this work you need to change the default anonymous directory of the -ftp server to /opt/mbse/pub. As root, edit /etc/passwd with the vipw -command. Look for the entry of the ftp user and change his homedirectory to -/opt/mbse/ftp. You may also use the command usermod -d /opt/mbse/ftp ftp -to do the same. For a start the default configuration file for ProFTPD will do -fine. If you want to let users upload into the incoming directory, you need to -change /etc/proftpd.conf file to allow that. - -

    -If another DOS/Windows style mailer has access to your MBSE outbound you must -set the DOS path and Unix path in mbsetup (1.4.12 and 1.4.13) to -"m:" and "/opt/mbse". Note that to get -forwarding of .tic files to work the tic_queue must be a -subdirectory of "/opt/mbse" too. You could actually use any drive letter for -the DOS path.
    -This means that a fidonet file attach from the dos_4dos public download -directory shall get the subject "M:\FTP\PUB\DOS_UTIL\DOS_4DOS\COMMAND.ZIP". -Only use this if you need it! -

    - -As you can see, anonymous ftp users can't get to the mail, non-public -downloads etc. Normally, your BBS users have unix accounts and will be able -to do a ftp login and access any directory on your system. Because the bbs -users have mbsebbs as their shell and this shell is not in the file -/etc/shells the ftp daemon will not let the bbs users in. So even -your own bbs users must login as anonymous to get files from the ftp server. -

    -The following is a list of file permissions when using ProFTPD: -

    - -

    -Directory               	owner group mode perms
    -------------------------------- ----- ----- ---- ----------
    -/opt/mbse			mbse  bbs   0775 drwxrxxr-x
    -/opt/mbse/ftp			root  root  0755 drxxr-xr-x
    -/opt/mbse/ftp/pub		mbse  bbs   0755 drwxr-xr-x
    -/opt/mbse/ftp/incoming   	ftp   ftp   0755 drwxr-xr-x
    -
    -
    -Note that all subdirectories under ../pub also must be owned by mbse - and group bbs and have at least mode 755 as long -as it are real bbs subdirectories. The bbs will maintain these directories -automatic and must have the rights to do so. - -

    -In the /opt/mbse/ftp/etc/group file, add the group bbs so that your directory -listings give the proper groupname instead of a number. -

    - -If you want to increase the download counters when files are downloaded via ftp -you must make sure that the ftp daemon logs the downloads to a xferlog -file, for example /var/log/xferlog. This logfile must be readable by user mbse. -Then in mbsetup menu 1.13.5 enter full filename and path to this logfile. -The mball program will parse this file and increase the download counters -for the files that are downloaded from the bbs. -

    - -BackGo Back -

    - - - diff --git a/mbsebbs-code/html/misc/index.htm b/mbsebbs-code/html/misc/index.htm deleted file mode 100644 index 1d475b76..00000000 --- a/mbsebbs-code/html/misc/index.htm +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - -Miscellaneous Documents - - - -
    -
    Last update 10-Feb-2001
    -

    Miscellaneous Documents

    - -

    Introduction

    -

    -This is an overview of used unofficial documents for the development of the -MBSE BBS package. -

    -


    -

    Documents

    - - -
    - -IndexBack to Index -
    - - - diff --git a/mbsebbs-code/html/misc/index.html b/mbsebbs-code/html/misc/index.html deleted file mode 100644 index 38bb79a7..00000000 --- a/mbsebbs-code/html/misc/index.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - -Miscellaneous Documents - - - -
    - -
    Last update 10-Feb-2001
    -

    Miscellaneous Documents

    - -

    Introduction

    -

    -This is an overview of used unofficial documents for the development of the -MBSE BBS package. -

    -


    -

    Documents

    - - -
    - -IndexBack to Index -
    - - - diff --git a/mbsebbs-code/html/misc/ipmailer.html b/mbsebbs-code/html/misc/ipmailer.html deleted file mode 100644 index 42d9355b..00000000 --- a/mbsebbs-code/html/misc/ipmailer.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - - - - -Integration of IP-Nodes in the nodelist. - - - - -
    -Publication:    FSP-????
    -Revision:       1
    -Title:          Integration of IP-Nodes in the nodelist (FTS-0005)
    -Author:         Lothar Behet, 2:2446/301
    -Revision Date:  25 October 1998
    -Expiry Date:
    -----------------------------------------------------------------------
    -
    -Contents:
    -1. Required fields according to FTS-0005, basic flags for ip-nodes
    -2. Optional extensions
    -3. Addendum
    -----------------------------------------------------------------------
    -
    -1.  Description of the nodelist format
    ---------------------------------------
    -
    -Every node entry contains the following 8 fields:
    -
    -keyword,node_number,node_name,location,sysop_name,
    -phone_number,baud_rate,flags
    -
    -Certain fields have defined values according to FTS-0005.
    -
    -1.1.	Implementation for IP-connectivity
    -	Because of the limited characterset in the phone_field and
    -	to avoid any misinterpretion by conventional dialing, the
    -	ip-specific address-information is entered in another field
    -	and there are additional flags required.
    -
    -1.1.1.  Field #1 (keyword) is PVT for an ip-only node without
    -	conventional phone number related connectivity. In this
    -	case, the phone field contains "-Unpublished-" according
    -	to FTS-0005.
    -
    -1.1.2.  Field #2 (node_number) contains the node number within his
    -	net and zone.
    -
    -1.1.3.  Field #3 (node_name) is used for the FQDN (Fully Qualified
    -	Domain Name) or the ip-address.
    -
    -1.1.4.  Field #4 (location) contains the geographical location of
    -	the node. While some nets/regions cannot supply their
    -	ip-only nodes with a adequate link, these nodes may be
    -	collected in a seperate net or region, until their original
    -	net/region support additional ip-connectivity. This special
    -	net/region is definitely a temporary solution for routing
    -	within a region or zone!
    -
    -1.1.5.  Field #5 (sysop_name) represants the name of the system
    -	operator.
    -
    -1.1.6.  Field #6 (phone_number) contains the phone_number for
    -	conventional connectivity. In case of an ip-only node
    -	it must contain "-Unpublished-".
    -
    -1.1.7.  Field #7 (baud_rate) contains the maximum baud rate for
    -	conventional connectivity or 300 in case of an ip_only node.
    -
    -1.1.8.  Field #8 (flags) represents operational definitions for the
    -	node.
    -	Note that these are user flags.
    -	The ip-flags consist of two parts:
    -	A basic transport and an optional non-standard port,
    -	seperated by a colon.
    -	The default port may be omitted, but is listed as optional
    -	parameter in this document. In some cases, two flag names
    -	are mentioned:
    -	The second one is supported by some software nowadays, but
    -	these values may conflict with other programs, which not
    -	completely decode the length of each individual flag (i.e.
    -	TELN conflicts with the T-flag for online-time)
    -	Additional flags for ip-nodes are:
    -
    -1.1.8.1.  IBN[:24554] (Argus: BND[:24554])
    -	BinkP protocol
    -
    -1.1.8.2.  IFC[:60179]
    -	Raw protocol as used by ifcico
    -
    -1.1.8.3.  ITN[:23] (Argus: TEL[:23])
    -	Telnet protocol. Some variants of ifcico support Telnet
    -	on port 60177, which should be added as additional flag
    -	ITN:60177.
    -
    -1.1.8.4.  IVM[:3141]
    -	Vmodem protocol
    -
    -1.1.8.5.  IP
    -	General flag for special protocol specifications, if the
    -	flags conforming to 1.1.8.1. to 1.1.8.4. are not relevant.
    -
    -1.1.9.  Comments on the proposed nodelist flags
    -	The additional flagnames in () are supported at this moment
    -	by Argus, based on the use in z2r50. But the TEL[NET]-flag
    -	stays in conflict with the generally in all zones and
    -	regions used T-flag (online time according to FSC-0062).
    -
    -
    -2.  Optional extensions for future use
    ---------------------------------------
    -
    -While the above mentioned flags (1.1.8.1 to 1.1.8.4) define a
    -minimum set of operational flags for ip-nodes, several additions
    -are already foreseeable at this moment.
    -
    -2.1.	Additional sessions_handshake parameters
    -	There is at least one program, which supports several
    -	transport protocols according to chapter 1.1.8. on a
    -	single port. If other programs should imitate this habit,
    -	then the following extension to the flag suite 1.1.8.
    -	(transport[:port[:handshake]])is advised:
    -
    -2.1.1.  FTS-0001 session handshake:   1
    -2.1.2.  Yoohoo session handshake  :   Y
    -2.1.3.  EMSI sessions handshake   :   E
    -2.1.4.  BinkP sessions handshake  :   B
    -
    -2.2.	Non-handshaking protocols
    -	While the definitions until this chapter describe direct
    -	handshaking sessions with optional password authentification,
    -	there are several other methods for the tunneling of fidonet
    -	data via the internet available.
    -	The setup of these connections does not rely on the nodelist
    -	(at this moment of writing), but we can think of standard
    -	setup procedures to use the nodelist for configuration of
    -	this additional transport methods.
    -	Therefore the following flags 2.2.1. to 2.2.4. are advised
    -	for at least informational purpose.
    -
    -2.2.1.  IFT
    -	FTP (File Transfer Protocol)
    -
    -2.2.2.  ITX
    -	TransX, an Email based variant
    -
    -2.2.3.  IUC
    -	Uuencoded packet (one packet per message)
    -
    -2.2.4.  IEM
    -	Email based (generally, without exact specification at
    -	this moment)
    -
    -
    -3.  Addendum
    -------------
    -
    -This proposal is based on a maximum compatibility to generally used
    -definitions and standards within the Fidonet community.
    -Future developments might make additions necessary, if they can not
    -be expressed with the existing set of flags as defined by this FSP.
    -
    - -BackGo Back - - - - diff --git a/mbsebbs-code/html/misc/jam.html b/mbsebbs-code/html/misc/jam.html deleted file mode 100644 index 5dd15f9f..00000000 --- a/mbsebbs-code/html/misc/jam.html +++ /dev/null @@ -1,640 +0,0 @@ - - - - - - - - - - -JAM Message Base Proposal. - - - - -
    -Filename....: JAM-001
    -Rev.........: 001
    -Dated.......: 93-07-01
    -Status .....: Released
    -Subject.....: JAM message base proposal
    -Author......: Joaquim Homrighausen
    -Co-Authors..: Andrew Milner, Mats Birch, Mats Wallin
    -
    -    ---------------------------------------------------------------------
    -                                  JAM(mbp)
    -                The Joaquim-Andrew-Mats Message Base Proposal
    -    ---------------------------------------------------------------------
    -            Copyright 1993 Joaquim Homrighausen, Andrew Milner,
    -                           Mats Birch, Mats Wallin.
    -                             ALL RIGHTS RESERVED.
    -    ---------------------------------------------------------------------
    -
    -
    -    =====================================================================
    -    Restrictions
    -    ---------------------------------------------------------------------
    -    JAM may be used by any developer as long as these specifications are
    -    followed exactly. JAM may be used free-of-charge by any developer
    -    for any purpose, commercially or otherwise.
    -
    -    This document may be freely copied and distributed, but must NEVER be
    -    distributed in a modified form. If you have an enhancement request,
    -    please contact the author of this document; do not change it
    -    yourself.
    -
    -    All applications that support JAM must include one of the following
    -    notices in their documentation and somewhere in the product's credit
    -    section:
    -
    -    "JAM(mbp) - Copyright 1993 Joaquim Homrighausen, Andrew Milner,
    -                               Mats Birch, Mats Wallin.
    -                               ALL RIGHTS RESERVED."
    -
    -    or
    -
    -    "This product uses the JAM(mbp) API -
    -     Copyright 1993 Joaquim Homrighausen, Andrew Milner, Mats Birch,
    -                    Mats Wallin. ALL RIGHTS RESERVED."
    -
    -    No organization, company, person, entity, or other being may impose
    -    any fees for any reason for providing this document or the
    -    accompanying API. This document and the accompanying API may not be
    -    sold or otherwise transferred for personal or company gain under any
    -    circumstances.
    -
    -    =====================================================================
    -    Definitions and general notes
    -    ---------------------------------------------------------------------
    -    CURRENTREV                1
    -
    -    JAM                       The JAM message base format.
    -
    -    CRC                       Cyclic Redundancy Check. All CRC values
    -                              calculated on strings must assume that the
    -                              data within the string has been converted
    -                              to lowercase (A-Z = a-z).
    -
    -    CRC-32                    32-bit CRC (as used in the Zmodem file
    -                              transfer protocol) value. The polynom for
    -                              a CRC-32 is edb88320H and the CRC-32 seed
    -                              is -1L (ffffffffH).
    -
    -    uchar                     Unsigned 8-bit value
    -
    -    ushort                    Unsigned 16-bit value
    -
    -    ulong                     Unsigned 32-bit value
    -
    -    UNIX date                 An ulong representing the number of seconds
    -                              since midnight, January 1, 1970. UNIX-style
    -                              dates is the only form of time stamps used
    -                              in JAM (1).
    -
    -    Message #                 The physical record number within the index
    -                              file is used as a message number. The
    -                              lowest message number is one (1) and the
    -                              highest message number is 4294967295
    -                              (ffffffffH).
    -
    -    FTN                       FidoNet Technology Network
    -
    -    FTS                       FidoNet Technical Standard
    -
    -    (1) All timestamps created locally (i.e. those not imported from
    -        other systems) are stored in local time.
    -
    -    =====================================================================
    -    Files
    -    ---------------------------------------------------------------------
    -    Each conference is made up from four files. How and where these files
    -    are stored and named is implementation dependant. The only file with
    -    a fixed minimum size is the .JHR (header data) file. It has a 1024-
    -    byte block used to hold information about a specific message area as
    -    described later.
    -
    -    filename.JHR - Message header data
    -    filename.JDT - Message text data
    -    filename.JDX - Message index
    -    filename.JLR - Lastread information
    -
    -    A future revision of JAM may also include a file that holds the
    -    following three items:
    -
    -      - The highest assigned user number
    -      - The last generated message ID
    -      - A global conference list with the conference name, description,
    -        and physical location of the message base.
    -
    -    =====================================================================
    -    .JHR file header
    -    ---------------------------------------------------------------------
    -    Below is the format of the 1024-byte record at the beginning of all
    -    .JHR files. The first actual message header starts at offset 1024 in
    -    the .JHR file.
    -
    -    FixedHeaderInfoStruct:
    -        ulong   Signature;       // <J><A><M> followed by <NUL>
    -        ulong   datecreated;     // Creation date
    -        ulong   modcounter;      // Update counter
    -        ulong   activemsgs;      // Number of active (not deleted) msgs
    -        ulong   passwordcrc;     // CRC-32 of password to access
    -        ulong   basemsgnum;      // Lowest message number in index file
    -        uchar   RESERVED[1000];  // Reserved space
    -    end;
    -
    -    MODCOUNTER must be incremented and updated on disk each time an
    -    application modifies the contents of the message base. When it
    -    reaches ffffffffH, it wraps to zero.
    -
    -    ---------------------------------------------------------------------
    -    BaseMsgNum                        Lowest message number in index file
    -    ---------------------------------------------------------------------
    -    This field determines the lowest message number in the index file.
    -    The value for this field is one (1) when a message area is first
    -    created. By using this field, a message area can be packed (deleted
    -    messages are removed) without renumbering it. If BaseMsgNum contains
    -    500, the first index record points to message number 500.
    -
    -    BaseMsgNum has to be taken into account when an application
    -    calculates the next available message number (for creating new
    -    messages) as well as the highest and lowest message number in a
    -    message area.
    -
    -    ---------------------------------------------------------------------
    -    ????????.JHR                                          Message headers
    -    ---------------------------------------------------------------------
    -    The .JHR file contains none or more Header records. Each record
    -    define one message and contains information about the message and its
    -    text (if any). The Header record is of variable length. The layout of
    -    the Header record follows.
    -
    -    MessageHeader:
    -        MessageFixedHeader:
    -            ulong  Signature;    // <J><A><M> followed by <NUL>
    -            ushort Revision;     // Revision level of header          (1)
    -            ushort ReservedWord; // Reserved for future use
    -            ulong  SubfieldLen;  // Length of subfields               (2)
    -            ulong  TimesRead;    // Number of times message read
    -            ulong  MSGIDcrc;     // CRC-32 of MSGID line              (3)
    -            ulong  REPLYcrc;     // CRC-32 of REPLY line              (3)
    -            ulong  ReplyTo;      // This msg is a reply to..
    -            ulong  Reply1st;     // First reply to this msg
    -            ulong  Replynext;    // Next msg in reply chain
    -            ulong  DateWritten;  // When msg was written
    -            ulong  DateReceived; // When msg was read by recipient
    -            ulong  DateProcessed;// When msg was processed by tosser/
    -                                 // scanner
    -            ulong  MessageNumber;// Message number (1-based)
    -            ulong  Attribute;    // Msg attribute, see "Msg Attributes"
    -            ulong  Attribute2;   // Reserved for future use
    -            ulong  Offset;       // Offset of text in ????????.JDT file
    -            ulong  TxtLen;       // Length of message text
    -            ulong  PasswordCRC;  // CRC-32 of password to access message
    -            ulong  Cost;         // Cost of message
    -        end;
    -        SubField1                // Extra fields as defined below
    -        .
    -        .
    -        SubFieldXX
    -    end;
    -
    -    (1) This field is intended for future revisions of the specifications
    -        to allow the use of a different fixed-length binary message
    -        header. The current revision level is one (1).
    -
    -    (2) The SubfieldLen field is set to zero (0) if the header does not
    -        have any subfield data. I.e. the length of the binary header is
    -        not included in this field.
    -
    -    (3) When calculating the CRC-32 of the MSGID and REPLY lines, the
    -        text ^aMSGID: and ^aREPLY: should be removed as well as all
    -        leading and trailing white space characters.
    -
    -
    -    The SubField structure is made up of an ID, a length specifier, and
    -    a block of data. Zero or more subfields may follow the fixed-length
    -    binary header. SubFields are not stored in any specific order and
    -    are not terminated by any specific character unless otherwise
    -    specified.
    -
    -    SubField:
    -        ushort  LoID;            // Field ID, 0-65535
    -        ushort  HiID;            // Reserved for future use
    -        ulong   datlen;          // Length of buffer that follows
    -        uchar   Buffer[datlen];  // DATLEN bytes of data
    -    end;
    -
    -    ---------------------------------------------------------------------
    -    Defined LoID codes
    -    ---------------------------------------------------------------------
    -
    -    ID=0, Name=OADDRESS
    -
    -    A network address. This is used to specify the originating address.
    -    More than one OADDRESS field may exist. DATLEN must not exceed 100
    -    characters. For a FidoNet-style address, this field must follow the
    -    ZONE:NET/NODE.POINT@DOMAIN format where .POINT is excluded if zero
    -    and @DOMAIN is excluded if unknown.
    -
    -
    -    ID=1, Name=DADDRESS
    -
    -    A network address. This is used to specify the destination address.
    -    More than one DADDRESS field may exist (e.g. carbon copies). DATLEN
    -    must not exceed 100 characters. For a FidoNet-style address, this
    -    field must follow the ZONE:NET/NODE.POINT@DOMAIN format where .POINT
    -    is excluded if zero and @DOMAIN is excluded if unknown.
    -
    -
    -    ID=2, Name=SENDERNAME
    -
    -    The sender (author) of the message. DATLEN must not exceed 100
    -    characters.
    -
    -
    -    ID=3, Name=RECEIVERNAME
    -
    -    The recipient of the message. DATLEN must not exceed 100 characters.
    -
    -
    -    ID=4, Name=MSGID
    -
    -    Used to store the message identification data. All data not relevant
    -    to the actual ID string, including leading and trailing white space
    -    characters should be removed. DATLEN must not exceed 100 characters.
    -
    -
    -    ID=5, Name=REPLYID
    -
    -    Used to store the message reply data. All data not relevant to the
    -    actual reply string, including leading and trailing white space
    -    characters should be removed. DATLEN must not exceed 100 characters.
    -
    -
    -    ID=6, Name=SUBJECT
    -
    -    The subject of the message. DATLEN must not exceed 100 characters.
    -    Note that this field may not be used for FidoNet-style file attaches
    -    or file requests.
    -
    -
    -    ID=7, Name=PID
    -
    -    Used to store the FTN PID kludge line. Only the actual PID data is
    -    stored and ^aPID: is stripped along with any leading and trailing
    -    white space characters. DATLEN must not exceed 40 characters.
    -
    -
    -    ID=8, Name=TRACE
    -
    -    This is also referred to as ^aVia information in FTNs. It contains
    -    information about a system which the message has travelled through.
    -    The format of the field is <YYYYMMDDHHMMSS><Network address> where:
    -
    -       YYYY is the year (1992-9999)
    -         MM is the month (01-12)
    -         DD is the day (01-31)
    -         HH is the hour (00-23)
    -         MM is the minute (00-59)
    -         SS is the second (00-59)
    -
    -    The timestamp is stored in ASCII (0-9) characters. The network
    -    address is the address of the system. It is expressed in ASCII
    -    notation in the native format of the forwarding system.
    -
    -
    -    ID=9, Name=ENCLOSEDFILE
    -
    -    A file attached to the message. Only one filename may be specified
    -    per subfield. No wildcard characters are allowed. If this subfield
    -    is present in a message header, the ATTRIBUTE must include the
    -    MSG_FILEATTACH bit.
    -
    -
    -    ID=10, Name=ENCLOSEDFILEWALIAS
    -
    -    Identical to ENCLOSEDFILE with the exception that the filename is
    -    followed by a <NUL> (00H) and an alias filename to be transmited to
    -    the remote system in place of the local name of the file.
    -
    -
    -    ID=11, Name=ENCLOSEDFREQ
    -
    -    A request for one or more files. Only one filemask may be specified
    -    per subfield. If the filemask contains a complete path, it is to be
    -    regarded as an update file request. If this subfield is present in a
    -    message header, the ATTRIBUTE must include the MSG_FILEREQUEST bit.
    -    To indicate that a password is to be transmitted along with the
    -    request, a <NUL> (00H) character followed by the password is
    -    appended. E.g. SECRET*.*<NUL>MYPASSWORD.
    -
    -
    -    ID=12, Name=ENCLOSEDFILEWCARD
    -
    -    One or more files attached to the message. Only one filename may be
    -    specified per subfield. Wildcard characters are allowed. If this
    -    subfield is present in a message header, the ATTRIBUTE must include
    -    the MSG_FILEATTACH bit.
    -
    -
    -    ID=13, Name=ENCLOSEDINDIRECTFILE
    -
    -    One or more files attached to the message. The filename points to an
    -    ASCII file with one filename entry per line. If alias filenames are
    -    to be used, they are specified after the actual filename and
    -    separated by a <NUL> (00H) character, e.g. C:\MYFILE.LZH<NUL>NEWS.
    -    Wildcard characters are not allowed.
    -
    -
    -    ID=1000, Name=EMBINDAT
    -
    -    Reserved for future use.
    -
    -
    -    ID=2000, Name=FTSKLUDGE
    -
    -    An FTS-compliant "kludge" line not otherwise represented here. All
    -    data not relevant to the actual kludge line, including leading and
    -    trailing white space and ^A (01H) characters should be removed.
    -    DATLEN must not exceed 255 characters. The FTS kludges INTL, TOPT,
    -    and FMPT must never be stored as separate SubFields. Their data must
    -    be extracted and used for the address SubFields.
    -
    -
    -    ID=2001, Name=SEENBY2D
    -
    -    Used to store two-dimensional (net/node) SEEN-BY information often
    -    used in FTN conference environments. Only the actual SEEN-BY data is
    -    stored and ^aSEEN-BY: or SEEN-BY: is stripped along with any leading
    -    and trailing white space characters.
    -
    -
    -    ID=2002, Name=PATH2D
    -
    -    Used to store two-dimensional (net/node) PATH information often used
    -    in FTN conference environments. Only the actual PATH data is stored
    -    and ^aPATH: is stripped along with any leading and trailing white
    -    space characters.
    -
    -
    -    ID=2003, Name=FLAGS
    -
    -    Used to store the FTN FLAGS kludge information. Note that all FLAG
    -    options that have binary representation in the JAM message header
    -    must be removed from the FLAGS string prior to storing it. Only
    -    the actual flags option string is stored and ^aFLAGS is stripped
    -    along with any leading and trailing white space characters.
    -
    -
    -    ID=2004, Name=TZUTCINFO
    -
    -    Time zone information. This subfield consists of four mandatory
    -    bytes and one optional. The first character may be a plus (+) or a
    -    minus (-) character to indicate a location east (plus) or west
    -    (minus) of UTC 0000. The plus character is implied unless the first
    -    character is a minus character. The following four bytes must be
    -    digits in the range zero through nine and indicates the offset in
    -    hours and minutes. E.g. 0100 indicates an offset of one hour east of
    -    UTC.
    -
    -    ---------------------------------------------------------------------
    -    Message attributes
    -    ---------------------------------------------------------------------
    -    MSG_LOCAL       (0x00000001L)   // Msg created locally
    -    MSG_INTRANSIT   (0x00000002L)   // Msg is in-transit
    -    MSG_PRIVATE     (0x00000004L)   // Private
    -    MSG_READ        (0x00000008L)   // Read by addressee
    -    MSG_SENT        (0x00000010L)   // Sent to remote
    -    MSG_KILLSENT    (0x00000020L)   // Kill when sent
    -    MSG_ARCHIVESENT (0x00000040L)   // Archive when sent
    -    MSG_HOLD        (0x00000080L)   // Hold for pick-up
    -    MSG_CRASH       (0x00000100L)   // Crash
    -    MSG_IMMEDIATE   (0x00000200L)   // Send Msg now, ignore restrictions
    -    MSG_DIRECT      (0x00000400L)   // Send directly to destination
    -    MSG_GATE        (0x00000800L)   // Send via gateway
    -    MSG_FILEREQUEST (0x00001000L)   // File request
    -    MSG_FILEATTACH  (0x00002000L)   // File(s) attached to Msg
    -    MSG_TRUNCFILE   (0x00004000L)   // Truncate file(s) when sent
    -    MSG_KILLFILE    (0x00008000L)   // Delete file(s) when sent
    -    MSG_RECEIPTREQ  (0x00010000L)   // Return receipt requested
    -    MSG_CONFIRMREQ  (0x00020000L)   // Confirmation receipt requested
    -    MSG_ORPHAN      (0x00040000L)   // Unknown destination
    -    MSG_ENCRYPT     (0x00080000L)   // Msg text is encrypted          (1)
    -    MSG_COMPRESS    (0x00100000L)   // Msg text is compressed         (1)
    -    MSG_ESCAPED     (0x00200000L)   // Msg text is seven bit ASCII    (1)
    -    MSG_FPU         (0x00400000L)   // Force pickup
    -    MSG_TYPELOCAL   (0x00800000L)   // Msg is for local use only
    -    MSG_TYPEECHO    (0x01000000L)   // Msg is for conference distribution
    -    MSG_TYPENET     (0x02000000L)   // Msg is direct network mail
    -    MSG_NODISP      (0x20000000L)   // Msg may not be displayed to user
    -    MSG_LOCKED      (0x40000000L)   // Msg is locked, no editing possible
    -    MSG_DELETED     (0x80000000L)   // Msg is deleted
    -
    -    (1) This revision of JAM does not include compression, encryption, or
    -        escaping. The bits are reserved for future use.
    -
    -    =====================================================================
    -    ????????.JDT                                             Message text
    -    ---------------------------------------------------------------------
    -    The .JDT file contains the text of messages. The text is stored as an
    -    stream of seven or eight bit ASCII data. Allowed characters in the
    -    text are 00H through ffH unless the header ATTRIBUTE field has the
    -    MSG_ESCAPED bit enabled, in which case the legal range of data is 20H
    -    through 7eH.
    -
    -    An escaped character is stored as \<hex> where <hex> is the two digit
    -    hexadecimal ASCII value of the character. A single \ is stored as \\
    -    or \5C. The case of the hexadecimal ASCII value is irrelevant, i.e.
    -    5c is treated as 5C.
    -
    -    =====================================================================
    -    ????????.JDX                                            Message index
    -    ---------------------------------------------------------------------
    -    The .JDX file is used to quickly locate messages for any given user
    -    name or to locate a message with a specific number. Each record in
    -    the file consists of two ulongs. The first ulong holds the CRC-32 of
    -    the recipient's name (lowercase), the second ulong holds the
    -    physical offset of the message header in the .JHR (header) file.
    -
    -    The record number (+BaseMsgNum) within the .JDX file determines a
    -    message's number.
    -
    -    If both ulongs are -1 (ffffffffH), there is no corresponding message
    -    header.
    -
    -    =====================================================================
    -    ????????.JLR                                         Lastread storage
    -    ---------------------------------------------------------------------
    -    The .JLR file is used to maintain a user's position within a message
    -    area. The layout of the "lastread" record follows. One record per
    -    user is required.
    -
    -    LastRead:
    -        ulong   UserCRC;         // CRC-32 of user name (lowercase)   (1)
    -        ulong   UserID;          // Unique UserID
    -        ulong   LastReadMsg;     // Last read message number
    -        ulong   HighReadMsg;     // Highest read message number
    -    end;
    -
    -    (1) The functions to convert a string to lowercase characters that
    -        are provided in the API will only convert characters A-Z (into
    -        a-z). It is required that this convention is followed by all
    -        applications.
    -
    -    The UserID field is a unique number for each user. If the "lastread"
    -    record is deleted, UserCRC and UserID are both set to -1
    -    (ffffffffH). An application may not depend on any specific order in
    -    the .JLR file. A user's "lastread" record may appear anywhere in the
    -    file and must be searched for when retrieving it and when storing an
    -    updated record.
    -
    -    =====================================================================
    -    Updating message headers
    -    ---------------------------------------------------------------------
    -    If a header record grows after is has been retrieved from the .JHR
    -    file, it must be appended to the end of the .JHR file since it would
    -    overwrite the following header otherwise. The .JDX file must be
    -    properly updated to indicate the new location of the header record.
    -    The old header record must be changed to indicate that it has been
    -    deleted by setting the MSG_DELETED bit in the Attribute field and the
    -    TextLen field to zero (to prevent a maintenance program from removing
    -    the message text that is now pointed to by another header).
    -
    -    =====================================================================
    -    Message base sharing and locking
    -    ---------------------------------------------------------------------
    -    To allow several programs to access the message base at any given
    -    time, region locking is used to protect the message base from being
    -    corrupted during updates.
    -
    -    When an application needs to write to any of the message base files,
    -    it must first attempt to lock the first byte of the .JHR (header)
    -    file. If the lock call fails, the application must either fail or
    -    attempt to lock the file again. The message base files may under no
    -    circumstances be updated if the application cannot successfully lock
    -    the .JHR file.
    -
    -    Note that data acquired (read) from the message base may not be used
    -    when writing data to the message base, unless the application has
    -    maintained a lock of the message base from the time the data was
    -    acquired or the MODCOUNTER field is the same as when the data was
    -    acquired.
    -
    -    The application must open the files in shareable (DENYNONE) read/
    -    write or readonly mode. The only exception to this is an application
    -    that requires exclusive access to the message base, such as a message
    -    base maintenance utility, it should open the files in non-shareable
    -    (DENYALL) read/write mode.
    -
    -    =====================================================================
    -    Reply threads and linking
    -    ---------------------------------------------------------------------
    -    JAM introduces a new reply link pointer, not commonly used today.
    -    This section is an attempt to describe how reply threads, reply
    -    linking, and this new reply link pointer is implemented in JAM.
    -
    -    One of the major differences is that reply threads in JAM are not
    -    based on similar or identical subjects of messages since this method
    -    does not allow for proper reply threads.
    -
    -    The method used in JAM is based on the immediate relation between any
    -    given message and direct replies to it. This is supported by many
    -    message editors by using the MSGID and REPLY FTS kludge fields. These
    -    are common, although expressed differently, in messages not based on
    -    FidoNet technology, such as RFC-822. The obvious advantages include
    -    allowing a program to easily find the original message to a reply,
    -    and to find all replies to any given message.
    -
    -    The reply thread information consists of three fields: ReplyTo,
    -    Reply1st, and ReplyNext. The reason for three fields, as opposed to
    -    just two, is that with two fields, it is only possible to keep track
    -    of the original message of a reply (which is sufficient) and one
    -    reply to any given message (which is not sufficient). With three
    -    fields, it is possible to maintain a thread of any number of replies
    -    to any given message.
    -
    -    In the description of the different fields below, the following
    -    messages and message numbers will be referred to:
    -
    -      1 -> 2 -> 4 -> 5
    -      :    :
    -      :    +--> 8
    -      :
    -      +--> 3 -> 7
    -      :
    -      +--> 6
    -
    -    Message number two, three, and six are replies to message number one.
    -    Message number four and eight are replies to message number two.
    -    Message number seven is a reply to message number three.
    -    Message number five is a reply to message number four.
    -
    -    ---------------------------------------------------------------------
    -    ReplyTo
    -    ---------------------------------------------------------------------
    -    This field holds the number of the message that this message is a
    -    reply to. In the example above, the ReplyTo field would contain the
    -    following values:
    -
    -    Message number one would contain zero; message number two, three, and
    -    six, would contain one; message number four and eight would contain
    -    two; message number seven would contain three, and message number
    -    five would contain four.
    -
    -    ---------------------------------------------------------------------
    -    Reply1st
    -    ---------------------------------------------------------------------
    -    This field holds the number of the first message that is a reply to
    -    this message. In the example above, the Reply1st field would contain
    -    the following values:
    -
    -    Message number one would contain two, message number three would
    -    contain seven, and message number four would contain five. All other
    -    messages would contain zero.
    -
    -    ---------------------------------------------------------------------
    -    ReplyNext
    -    ---------------------------------------------------------------------
    -    This field is used to create the actual message thread or chain. In
    -    the event that there is more than one reply to any given message, it
    -    is necessary to maintain a thread of all the replies; this is due to
    -    the fact that the original message can only hold information about
    -    the first reply (the Reply1st field) to it.
    -
    -    The first reply (which the original message's Reply1st field holds),
    -    has its ReplyNext field pointing to the second reply, the second
    -    reply's ReplyNext field poinst to the third reply, and so on.
    -
    -    In the example above, the ReplyNext field would contain the following
    -    values:
    -
    -    Message number two would contain three, message number three would
    -    contain six, and message number four would contain eight. All other
    -    messages would contain zero.
    -
    -    =====================================================================
    -    Contacts
    -    ---------------------------------------------------------------------
    -    Joaquim Homrighausen                            Telefax: +352 316 702
    -    389, route d'Arlon                                Modem: +352 316 702
    -    L-8011 Strassen                               eMail: 2:270/17@fidonet
    -    Luxembourg                                                joho@abs.lu
    -
    -    Andrew Milner                                   Telefax: +352 251 621
    -    9a, Boulevard Joseph II                           Modem: +352 251 621
    -    L-1840 Belair                                 eMail: 2:270/18@fidonet
    -    Luxembourg                                             andrew@fido.lu
    -
    -    Mats Wallin                                    Telefax: +46 8 6453285
    -    F”rskottsv„gen 11                                Modem: +46 8 6453882
    -    S-126 44 H„gersten                           eMail: 2:201/329@fidonet
    -    Sweden                                                     mw@fido.lu
    -
    - -BackGo Back - - - - diff --git a/mbsebbs-code/html/misc/outbound.html b/mbsebbs-code/html/misc/outbound.html deleted file mode 100644 index b3cbdec2..00000000 --- a/mbsebbs-code/html/misc/outbound.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - -Binkley style outbound with MBSE BBS. - - - -
    - -
    Last update 11-Jul-2004
    -

    Binkly style outbound documentation for MBSE BBS.

    - -The MBSE BBS outbound directory structure is BinkleyTerm compatible, with -domains and point subdirectories (full 5d). There are separate "protected" and -"unknown" inbound directories for incoming sessions. Files received during -outbound sessions are always placed in the "protected" inbound directory. Only -the "protected" inbound directory is processed automatic. -

    -

    -
    -.pol	Poll flag, is handled as crash immediate, the length is always 0 bytes.
    -
    -	Flow files are files with the full pathnames to the files to send
    -	on disk. Names are translated by MBSE BBS to full DOS filenames and
    -	paths depending on your setup. 
    -	If you use it then it is importand that you think about the directory
    -	structure to use. See also the documentation about the setup of the
    -	ftp server
    -	The filenames may be prepended with a special character:
    -	#	= Truncate file after sent.
    -	- or ^	= Kill file after sent.
    -	@	= Leave file after sent, this is the default. Upto version
    -                  0.61.1 this was empty.
    -
    -.flo	Normal flow file (contains complete filenames to send).
    -.clo	Crash flow file.
    -.hlo	Hold flow file.
    -.dlo	Direct flow file, overrides CM flag.
    -
    -	The following are .pkt files, during the mail session they will be
    -	renamed to nnnnnnnn.pkt with an unique name and added to the spool
    -	file. Messages can allways be added to the outbound as long as the
    -	node isn't locked.
    -
    -.out	Normal .pkt file.
    -.cut	Crash .pkt file.
    -.hut	Hold .pkt file.
    -.dut	Immediate .pkt file.
    -
    -.req	Request file. Contains filenames in ascii with <cr><lf>.
    -
    -.su0	Arcmail bundles, the last digit may be any digit or letter.
    -.mo0
    -.tu0
    -.we0
    -.th0
    -.fr0
    -.sa0
    -
    -.sts	Node status file created by mbcico. These are data files containing
    -	three values: 
    -	1. 'time', this is the time when a new call to this node is allowed.
    -	    (in time_t format).
    -	2. 'retries', is the number of retries to try to connect that node. This
    -   	    field is zeroed when the call succeeds or when that node calls in.
    -	    It is also zeroed when a new poll is created. Currently, mbcico stops
    -	    calling a node if the counter is higher then 30.
    -	3. 'code', is the return code of the last attempt.
    -	0      - Successfull call
    -	1      - No dialout port available
    -	2      - No CONNECT or TCP connect failed
    - 	3      - Could not reset the modem
    -	4      - System is locked
    -	5      - Retry time not reached?
    -	6      - Fatal error in nodelist lookup
    -	7      - Call prohibited by config options
    -	8      - Phone number unavailable
    -	9      - No free matching port
    -	10     - Unused
    -	11..29 - Session (handshake) errors.
    -	This file is not compatible with the .sts files created by ifcico.
    - -
    -.spl	Spool file, created by mbcico.
    -
    -.bsy	Busy file, for locking nodes. The 'pid' of the process who locked that
    -	node is inserted into this file. All programs of the MBSE BBS package
    -	(and ifcico package) check if the pid exists if a .bsy file is found.
    -	If there is no pid found, the lock is a stale lock and is removed.
    -
    - -BackGo Back -
    - - - diff --git a/mbsebbs-code/html/misc/semafore.html b/mbsebbs-code/html/misc/semafore.html deleted file mode 100644 index e4a010f7..00000000 --- a/mbsebbs-code/html/misc/semafore.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - -Semafore files with MBSE BBS. - - - -
    - -
    Last update 14-Sep-2004
    -

    Semafore files with MBSE BBS.

    - - -The directory $MBSE_ROOT/var/sema is the hardcoded semafore directory where all -semafore's must be created, tested and removed. When the system is booting, -the init script will erase all semafore's just before the BBS is started. -This description is valid from MBSE BBS v0.33.19 and newer. - -
    -zmh		Purpose: to mark the state of Zone Mail Hour. 
    -		Created by "mbtask" at the start of Zone Mail Hour.
    -		Removed by "mbtask" at the end of Zone Mail Hour.
    -
    -upsalarm	Purpose: Signal that the system is running on battery power.
    -		Created and removed by UPS software.
    -		Checked by mbtask to suspend processing.
    -		Checked by mbfido to stop processing.
    -
    -upsdown		Purpose: Signal that the system will go down on low battery.
    -		Created and removed by UPS software.
    -		Checked by mbtask to go down.
    -		Checked by several scripts and "mbstat wait".
    -
    -newnews		Purpose: Signal that there are new articles on the news server.
    -		Checked by mbtask to start news processing.
    -		Removed by mbtask as soon as it is detected.
    -
    -mailout		Purpose: Signal that there is mail posted in the message base.
    -		Checked by mbtask to start scan the message base.
    -		Removed by mbtask as soon as it is detected.
    -
    -mailin		Purpose: Signal that there is new mail in the inbound.
    -		Checked by mbtask to start the tosser.
    -		Removed by mbtask as soon as it is detected.
    -
    -scanout		Purpose: Signal that the outbound must be rescanned.
    -		Checked by mbtask to check the outbound.
    -		Removed by mbtask as soon as it is detected.
    -
    -do_inet		Purpose: Signal that there are node(s) to be called via the
    -		internet. Usefull for dialup systems to check whether a
    -		connection to the internet is needed.
    -		Created and removed by mbtask.
    -
    -is_inet		Purpose: Signal that the internet is available. Usefull for
    -		dialup systems to check when the internet connection is up
    -		or down after starting or stopping ppp.
    -		Created and removed by mbtask.
    -
    -mbtask.last	Purpose: A timestamp created and touched by "mbtask" every
    -		minute so you can check it is running.
    -
    - -BackGo Back -
    - - - diff --git a/mbsebbs-code/html/misc/usleep.html b/mbsebbs-code/html/misc/usleep.html deleted file mode 100644 index cb7803b0..00000000 --- a/mbsebbs-code/html/misc/usleep.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - -System load and the usleep() call. - - - -
    - -
    Last update 23-Jan-2004
    -

    System load and the usleep() call.

    - -At some time when developping MBSE BBS I decided that background utilities -did't need full speed to do their jobs. BBS utilities under DOS needed -to run as fast as possible because you needed to bring the bbs down to run -these programs and users couldn't login during that time. -

    -Starting with mball, the allfiles creator, I inserted code that does usleep(1) -after each 5 processed files. The 1 microsecond is not really the time the -program pauses, it's probably a lot longer. I think this depends on the -hardware type, (Intel, Sparc, Alpha etc) how long GNU/Linux will really suspends -executing the utility. -

    -The program speed downgrade at the development machine that mball needed was -3 times the original exection time, while system loading stayed under 30%. -At that time the development machine is an 486DX2-66 with a Seagate ST32151N -SCSI harddisk. -

    -The extra usleep code is only active if you run these utils with the -quiet -switch and when this is set in mbsetup. See menu 1->5. -With this switch, the program is mostly run by cron. If you onmit -this switch, this is probably when you start the program manually, it will -then always run at full speed, no matter what the setting in mbsetup is. -

    -If you have a fast system or don't care that the performance of your system -drops because of background processing, you can turn this future off with -mbsetup in the global section. (menu 1->5). -

    -Remember, if you have a PII-400 MMX or so with IDE disks, you may still have -performance problems and need to set that switch to yes. There is only one -way to find out if you need it. -

    -Well, actually, I tested this on a Dell Latitude PII-266, setting the switch to -yes gave better performance then no. Why? The CPU has more time for the slow -IDE disk. With the slow switch on programs runs even faster then with the switch -off. Modern hardware (PIII and later) may run fine with the slow switch turned -off. -

    -In januari 2004 the usleep code is replaced by a milliseconds timer written -around the nanosleep system call. This call conforms to POSIX.1b and is written -so that if the timer is interrupted it will resume with the time left to do. -The real minimum time the timer runs is 10 ms on Intel systems, see also man -nanosleep All usleep(1) calls are now msleep(1) calls, in practice these are -pauses of 10 ms. -

    -Michiel. -

    - -BackGo Back -

    - - - diff --git a/mbsebbs-code/html/misc/webserver.html b/mbsebbs-code/html/misc/webserver.html deleted file mode 100644 index 93a12d16..00000000 --- a/mbsebbs-code/html/misc/webserver.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - -Howto setup an webserver to work with MBSE BBS. - - - -
    - -
    Last update 03-Jan-2006
    -

    How to setup an webserver to work with MBSE BBS.

    - -

    Introduction

    -

    -To let a webserver work with MBSE BBS you must organize a special file -structure. -Note that even if you don't setup a webserver you must still create a -structure like this for the fidonet mailer, if you don't, -mail and files will get lost! -This description is written for Apache, -this is installed on most GNU/Linux and xxxBSD distributions. -For the directory structure, read the setup for -the FTP server. -

     

    - -

    Important settings in mbsetup.

    -

    -Screen 1.18: -

    -1.  Base path      /opt/mbse/ftp/pub
    -
    -Screen 1.19: -
    -1.  Docs root      /var/www/htdocs
    -2.  Link to ftp    files
    -3.  URL name       http://www.mbse.ym
    -
    -The base ftp path is the default which mbse bbs installs. The Docs root for the -apache httpd server is different on each distribution, in this example it is set -for Slackware 8.0. Because the directory -/var/www/htdocs has nothing to do with /opt/mbse/ftp/pub we make an alias link -named files. For the URL name you must fill in the real internet name how -your bbs is reached. If someone types this in, he must get the index.html from -the directory /var/www/htdocs, the docs root. I just assume you have your http -server up and running. -

    -Now you can run the command mbfile index, this will create a main index -in the directory /opt/mbse/ftp/pub and additional index.html files in all your -download areas. -

     

    - -

    Change Apache server configuration.

    -

    -As root edit your httpd.conf file, it is possible that you find it in -/etc/apache, but that depends on your distribution. In the section between -<IfModule mod_alias.c> and </IfModule> insert the following lines: -

    -    #
    -    # Alias for MBSE BBS download areas.
    -    #
    -    Alias /files/ /opt/mbse/ftp/pub/
    -    <Directory "/opt/mbse/ftp/pub">
    -        Options Indexes MultiViews FollowSymLinks
    -        AllowOverride None
    -        Order allow,deny
    -        Allow from all
    -    </Directory>
    -
    -    #
    -    # Alias to access the MBSE BBS documenatation
    -    #
    -    Alias /mbseman/ /opt/mbse/html/
    -    <Directory "/opt/mbse/html">
    -        Options Indexes MultiViews
    -        AllowOverride None
    -        Order allow,deny
    -        Allow from all
    -    </Directory>
    -
    -Then restart Apache with the command apachectl restart Now if you access -your webserver with for example http://www.mybbs.com/files/ you must be able to -browse the filelists. If you use http://www.mybbs.com/mbseman/ you must be able -to browse this documentation online. -

     

    - -

    Example views

    -

    -This are some snapshots of how this will look like, click to enlarge: - - - - - - -
    dreamlandbbsdreamlandbbsdreamlandbbs
    -

     

    - -

    Counting downloads

    -

    -If you want to increase the download counters when files are downloaded via www -you must make sure that the web logs the downloads to a access_log -file, for example /var/log/apache/access_log. -This logfile must be readable by user mbse and must be in combined -format. You can set this in your apache configuration file. -Then in mbsetup menu 1.13.4 enter full filename and path to this logfile. -The mball program will parse this file and increase the download counters -for the files that are downloaded from the webserver. -

    - -

    -BackGo Back -

    - - - diff --git a/mbsebbs-code/html/nodelist.html b/mbsebbs-code/html/nodelist.html deleted file mode 100644 index f73bae58..00000000 --- a/mbsebbs-code/html/nodelist.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - -Nodelist and Nidediff processing. - - - -
    - -
    Last update 22-Jan-2002
    -

    Nodelist and Nodediff processing

    - -

    Introduction

    -

    -A received a lot of questions about nodelist and nodediff processing, so -I will describe here the setup of the development system for the Fidonet -nodelist. First of all, it is very important that you -use three separate directories to do the nodelist processing. This is to -make sure that all stages are independent of each other, and if something -goes wrong, you still have a working system. The three directories are:
    -

      -
    1. /opt/mbse/ftp/pub/fido/nodelist, this is the public -download area, the received diff's are stored here as well as the final -compressed nodelists for download. -
    2. /opt/mbse/tmp/nlwork, this is the working directory -to apply diffs to the previous nodelist. This directory should allways -contain the latest uncompressed nodelist. -
    3. /opt/mbse/var/nodelist, this is the systems nodelist -directory defined in mbsetup, menu 1.4.4 -
    -In short the steps to process the nodediff's is as follows: -
      -
    1. Receive the nodediff and store it for download. -
    2. Apply the diff to the latest nodelist. -
    3. Hatch the new compressed nodelist. -
    4. Store the new nodelist for download. -
    5. Unpack the new nodelist in the nodelist compiler directory. -
    6. Set the compile semafore. -
    7. Compile the nodelists. -
    -Next I will describe these steps in detail. -

     

    - -

    The download area

    -

    -First define the download area for the bbs. In my case, this is area 20. From -here users can download the nodelists and nodediffs, files to the downlinks -are send from here. Below is the example of my system. -

    -BBS download area 20 -

     

    - -

    The NODEDIFF tic area

    -

    -From your uplinks you usually receive NODEDIFF or NODEDIZZ files. Create a tic area for -that purpose. I have keep# set to 5, this means the last 5 diff's are stored -in the download directory, older ones are removed. Now you can receive -nodediff files, store them for download, and send them to other nodes. -

    -NODEDIZZ tic area -

     

    - -

    Apply the diff

    -

    -We do this with the tic magic processor. In this example -I have NODELIST.007 in the /opt/mbse/tmp/nlwork directory. -Note that this filename is uppercase, they are usually stored and distributed -as uppercase names. As I receive the diff files as zip, the filemask on -my system is nodediff.z##. -This means that the file with the name nodediff.z14 in the area NODEDIZZ -is a match. The command that is executed expands to -mbdiff /opt/mbse/tmp/nlwork/NODELIST /var/spool/mbse/ftp/pub/fido/nodelist/nodediff.z14 -quiet -if the received nodediff is -nodediff.z14.
    The mbdiff program applies -nodediff.z14 against NODELIST.007 in the -/opt/mbse/tmp/nlwork directory. If this is successfull, a -new NODELIST.014 is created there, a compressed -nodelist.z14 is created there and NODELIST.007 is -removed.
    If this operation fails, only NODELIST.007 will stay -in that directory. -Because the ARC program for GNU/Linux isn't good for files, I -left the Arc files command empty in the archiver setup. As a fallback the -mbdiff program uses zip to create the compressed archive.
    -If creating the new nodelist fails for some reason, a missed diff or so, -the whole processing stops here. The previous nodelist is still here and -you can manually correct the situation. So, if you missed a diff, see that -you get it and manually give the mbdiff commands as user -mbse until you are up to date. Or, place the latest -uncompressed nodelist in the directory /opt/mbse/tmp/nlwork. -

    -Magic to apply the nodelist diff file -

     

    - -

    Processing the new nodelist

    -

    -Now that we have created the new compressed nodelist, it has to go somewhere. -The file nodelist.z14 is in the directory -/opt/mbse/tmp/nlwork. The example for the hatch manager -is shown below. The hatch manager runs automatic with the comand -mbfido tic. This setup will hatch the new nodelist in the -tic area NODELIST The two screens below show the hatch and -tic setup for this area. -

    -Hatch new nodelist -TIC area for new nodelist -

    -Now that we have hatched the new nodelist and processed it the new nodelist -is stored in in the download area, and maybe send some copies to downlinks. -We now have to feed it to the nodelist compiler for our own system. -We use a tic magic command to do -that. In this case we unpack the nodelist in /opt/mbse/var/nodelist -and set the compile semafore so that the mbindex - will compile the new nodelist. Don't be afraid that the unpacked -nodelists will acumulate in the nodelist directory, mbindex -will handle that, only the latest two nodelists are kept there. The -mbindex program is started by the taskmanager -mbtask. -

    -Magic copy nodelist and trigger compiler -

     

    - -BackGo Back -
    - - - diff --git a/mbsebbs-code/html/postfix.html b/mbsebbs-code/html/postfix.html deleted file mode 100644 index d2eeaaa5..00000000 --- a/mbsebbs-code/html/postfix.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - - -MBSE BBS - Internet Gateway - Postfix setup. - - - -
    - -
    Last update 25-Aug-2001
    -

    MBSE BBS - Internet Gateway - Postfix setup.

    - - -Of course you need to make all these changes as root. -Add the mbmail program as service to the postfix system by -adding two lines to master.cf. -
    -
    -#
    -# Postfix master process configuration file.  Each line describes how
    -# a mailer component program should be run. The fields that make up
    -# each line are described below. A "-" field value requests that a
    -# default value be used for that field.
    -#
    -# Service: any name that is valid for the specified transport type
    -# (the next field).  With INET transports, a service is specified as
    -# host:port.  The host part (and colon) may be omitted. Either host
    -# or port may be given in symbolic form or in numeric form. Examples
    -# for the SMTP server:  localhost:smtp receives mail via the loopback
    -# interface only; 10025 receives mail on port 10025.
    -#
    -# Transport type: "inet" for Internet sockets, "unix" for UNIX-domain
    -# sockets, "fifo" for named pipes.
    -#
    -# Private: whether or not access is restricted to the mail system.
    -# Default is private service.  Internet (inet) sockets can't be private.
    -#
    -# Unprivileged: whether the service runs with root privileges or as
    -# the owner of the Postfix system (the owner name is controlled by the
    -# mail_owner configuration variable in the main.cf file).
    -#
    -# Chroot: whether or not the service runs chrooted to the mail queue
    -# directory (pathname is controlled by the queue_directory configuration
    -# variable in the main.cf file). Presently, all Postfix daemons can run
    -# chrooted, except for the pipe and local daemons. The files in the
    -# examples/chroot-setup subdirectory describe how to set up a Postfix
    -# chroot environment for your type of machine.
    -#
    -# Wakeup time: automatically wake up the named service after the
    -# specified number of seconds.  Specify 0 for no wakeup. Presently,
    -# only the local pickup and queue manager daemons need a wakeup timer.
    -#
    -# Max procs: the maximum number of processes that may execute this
    -# service simultaneously. Default is to use a globally configurable
    -# limit (the default_process_limit configuration parameter in main.cf).
    -#
    -# Command + args: the command to be executed. The command name is
    -# relative to the Postfix program directory (pathname is controlled by
    -# the program_directory configuration variable). Adding one or more
    -# -v options turns on verbose logging for that service; adding a -D
    -# option enables symbolic debugging (see the debugger_command variable
    -# in the main.cf configuration file).
    -#
    -# In order to use the "uucp" message tranport below, set up entries
    -# in the transport table.
    -#
    -# In order to use the "cyrus" message transport below, configure it
    -# in main.cf as the mailbox_transport.
    -#
    -# SPECIFY ONLY PROGRAMS THAT ARE WRITTEN TO RUN AS POSTFIX DAEMONS.
    -# ALL DAEMONS SPECIFIED HERE MUST SPEAK A POSTFIX-INTERNAL PROTOCOL.
    -#
    -# ==========================================================================
    -# service type	private	unpriv	chroot	wakeup	maxproc	command + args
    -# 		(yes)	(yes)	(yes)	(never)	(50)
    -# ==========================================================================
    -smtp	  inet	n	-	n	-	-	smtpd
    -pickup	  fifo	n	n	n	60	1	pickup
    -cleanup	  unix	-	-	n	-	0	cleanup
    -qmgr	  fifo	n	-	n	300	1	qmgr
    -rewrite	  unix	-	-	n	-	-	trivial-rewrite
    -bounce	  unix	-	-	n	-	0	bounce
    -defer	  unix	-	-	n	-	0	bounce
    -smtp	  unix	-	-	n	-	-	smtp
    -showq     unix	n	-	n	-	-	showq
    -error     unix	-	-	n	-	-	error
    -local	  unix	-	n	n	-	-	local
    -cyrus	  unix	-	n	n	-	-	pipe
    -    flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
    -uucp	  unix	-	n	n	-	-	pipe
    -    flags=F user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
    -ifmail    unix  -       n       n       -       1       pipe
    -    flags=F user=fido argv=/usr/local/bin/ifmail -r $nexthop ($recipient)
    -mbmail    unix  -       n       n       -       1       pipe
    -    flags=F user=mbse argv=/opt/mbse/bin/mbmail ($recipient)
    -bsmtp     unix  -       n       n       -       -       pipe
    -    flags=F. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
    -
    -
    -In main.cf change or add the line:
    -
    -relay_domains = $mydestination, f2802.n280.z2.fidonet.org
    -
    -The fidonet address will be your fidonet address of course. If you have more -fidonet aka's, add them as well seperated with commas. -

    - -Next you need to add mbmail to the -transport file. -


    -
    -# /etc/postfix/transport
    -#
    -# execute "postmap /etc/postfix/transport" after changing this file
    -#
    -# Local destinations
    -#
    -seaport.mbse.nl		local:
    -www.mbse.nl		local:
    -news.mbse.nl		local:
    -#
    -# Fidonet mailers at this machine. Test on several strings to make sure
    -# it will catches everything.
    -#
    -z1                      mbmail:f2802.n280.z2.fidonet
    -.z1                     mbmail:f2802.n280.z2.fidonet
    -z2                      mbmail:f2802.n280.z2.fidonet
    -.z2                     mbmail:f2802.n280.z2.fidonet
    -z3                      mbmail:f2802.n280.z2.fidonet
    -.z3                     mbmail:f2802.n280.z2.fidonet
    -z4                      mbmail:f2802.n280.z2.fidonet
    -.z4                     mbmail:f2802.n280.z2.fidonet
    -z5                      mbmail:f2802.n280.z2.fidonet
    -.z5                     mbmail:f2802.n280.z2.fidonet
    -z6			mbmail:f2802.n280.z2.fidonet
    -.z6			mbmail:f2802.n280.z2.fidonet
    -fidonet			mbmail:f2802.n280.z2.fidonet
    -.fidonet		mbmail:f2802.n280.z2.fidonet
    -fidonet.org		mbmail:f2802.n280.z2.fidonet
    -.fidonet.org		mbmail:f2802.n280.z2.fidonet
    -
    -
    -Don't forget to run postmap /etc/postfix/transport. Now all -files are changed, run postfix reload to activate the -changes. - -

    - -BackGo back  -HomeGo to main -

    - - diff --git a/mbsebbs-code/html/programs/index.htm b/mbsebbs-code/html/programs/index.htm deleted file mode 100644 index 9e07050f..00000000 --- a/mbsebbs-code/html/programs/index.htm +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - -MBSE BBS Programs. - - - -
    -
    Last update 13-Feb-2004
    -

    MBSE BBS Programs.

    - - -
      -
    1. mbaff, Announce newfiles and filefind -
    2. mball, Allfiles and newfiles list creator -
    3. mbcico, The Fidonet mailer ala ifcico -
    4. mbdiff, Nodelist difference processor -
    5. mbfido, Fidonet mail and files procesor -
    6. mbfile, Files database maintenance program -
    7. mbindex, Nodelist index compiler -
    8. mblang, Language datafile compiler -
    9. mblogin, Unix login replacement -
    10. mbmon, The monitor program -
    11. mbmsg, The messagebase utility program -
    12. mbnntp, The news server -
    13. mbout, The mailer outbound program -
    14. mbpasswd, The passwd wrapper -
    15. mbsebbs, The bbs program -
    16. mbseq, Sequence number creator -
    17. mbsetup, The setup program -
    18. mbstat, The bbs status change program -
    19. mbtoberep, The toberep.data lister -
    20. mbuser, The userbase maintenance program -
    21. mbuseradd, The adduser wrapper -
    - - -MainBack to Main index -
    - - - diff --git a/mbsebbs-code/html/programs/index.html b/mbsebbs-code/html/programs/index.html deleted file mode 100644 index f89627da..00000000 --- a/mbsebbs-code/html/programs/index.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs. - - - -
    - -
    Last update 13-Feb-2004
    -

    MBSE BBS Programs.

    - - -
      -
    1. mbaff, Announce newfiles and filefind -
    2. mball, Allfiles and newfiles list creator -
    3. mbcico, The Fidonet mailer ala ifcico -
    4. mbdiff, Nodelist difference processor -
    5. mbfido, Fidonet mail and files procesor -
    6. mbfile, Files database maintenance program -
    7. mbindex, Nodelist index compiler -
    8. mblang, Language datafile compiler -
    9. mblogin, Unix login replacement -
    10. mbmon, The monitor program -
    11. mbmsg, The messagebase utility program -
    12. mbnntp, The news server -
    13. mbout, The mailer outbound program -
    14. mbpasswd, The passwd wrapper -
    15. mbsebbs, The bbs program -
    16. mbseq, Sequence number creator -
    17. mbsetup, The setup program -
    18. mbstat, The bbs status change program -
    19. mbtoberep, The toberep.data lister -
    20. mbuser, The userbase maintenance program -
    21. mbuseradd, The adduser wrapper -
    - - -MainBack to Main index -
    - - - diff --git a/mbsebbs-code/html/programs/mbaff.html b/mbsebbs-code/html/programs/mbaff.html deleted file mode 100644 index f005fd2d..00000000 --- a/mbsebbs-code/html/programs/mbaff.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mbaff - Announce new files and Filefind processor. - - - -
    - -
    Last update 30-Jan-2001
    -

    mbaff - Announce new files and FileFind processor.

    - -

    Synopsis.

    -mbaff [command] <options> -

      - -

    Description.

    -

    -mbaff -is the new files report generator and filefind server for mbsebbs. -In order to run mbaff -you must first start mbsed, -this is the deamon which controls all bbs activities. -

    -When mbaff -is run with the commandline command announce -the first thing it does is to scan all the file databases for files -from which the announced flag is not yet set, and that area has a valid -newfiles groupname. These files are uploads for example. -If such a file is found the announced flag is set and -the file is added to the -toberep.data -file. This file may already contain -new files who were received as .tic files and processed by the -mbfido program. -After this is done the toberep.data -file is compared against the newfiles -reports to see if there is anything to report. If that's the case the -creation of reports begins in the echomail areas specified. After that the -toberep.data -file is erased and the mailout semafore set.
    -The files to announce are divided into groups, the names of the groups are -set in the file download areas. If you plan this well, you can make seperate -announcements for several networks, announce files bij groups of file, ie. HAM -or .jpg pictures, GNU/Linux etc. -

    -When -mbaff -is run with the commandline command -filefind -it will search each echomail area for unreceived messages addressed to -allfix or filefind. -It will read the message header and mark the message as received. The -search options are set on the subject line. All file areas for which the -filefind flag is set to true will be searched for the requested search -patterns. If there are files found a reply will be generated for the -user who wrote the request. If the reply area is different from the scan -area, the reply is placed in the reply area. If it's not set, the reply -goes into the same area. If the netmail option is set, the reply will -be sent by netmail. To prevent echomail overflow the replies in the same -area are limited to 15 found files, replies in the other echomail area -are limited to 50 files. Netmail replies will contain up to 100 files. -

     

    - -

    Environment.

    -

    -In order to run mbaff you need to set one global environment variable -$MBSE_ROOT. -This variable must point to the root of the bbs directoy structure. The -main configuration file -config.data -must be present in the ~/etc subdirectory. -

     

    - -

    Commands.

    -

    -mbaff announce - Announce new files.
    -mbaff filefind - Process filefind requests. -

     

    - -

    OPTIONS

    -

    -mbaff [command] -quiet - Quiet mode, no screen output. -Use this switch if you run mbaff from the crontab. -

    - -BackBack to index  -IndexBack to main index -

    - - - diff --git a/mbsebbs-code/html/programs/mball.html b/mbsebbs-code/html/programs/mball.html deleted file mode 100644 index 7a2cef00..00000000 --- a/mbsebbs-code/html/programs/mball.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - Allfile listing generator. - - - -
    - -
    Last update 11-Aug-2005
    -

    mball - Allfiles listing generator

    - -

    Synopsis.

    -

    -mball [commands] <options> -

     

    - -

    Description.

    -

    -mball is the allfiles and newfiles listing generator that -can be made available on your bbs for your users to get a complete listing -of wat is available for download. When used with the -zip -option it can also produce complessed versions of these two listings. The -resulting files are created in the current directory. After the creation of -these files you can hatch them into your bbs with the programs -mbfido tic when you properly setup a .tic file area for this purpose -and create records for the hatch manager. -

    -Just before the reports are created, and if you defined WWW and FTP logfiles -with mbsetup in menu 1.13, the logfiles are analysed and and files -downloaded from the bbs are counted as valid downloads. To make sure downloads -are only counted once, a status file is created in ~/var, this marks the date -the last time the logfiles are checked. For the best results make sure you run -mball before any WWW and FTP logfiles are rotated, else you might miss -some downloads. -

     

    - -

    Environment.

    -

    -In order to run mball you need to set the global variable -$MBSE_ROOT. This variable must point to the root of the bbs -directory structure. The main configuration file config.data -must be present in the ~/etc directory. -

     

    - -

    Commands.

    -

    -mball list - Create allfiles.txt and newfiles.txt files. -

     

    - -

    Options.

    -

    -mball [command] -quiet - Quiet mode, supress screen output.
    -mball list -zip - Create zipped listings as well. -

      - -

    Setup.

    -

    -In mbsetup menu 1.13 you need to set the days to include in newfiles listings and the maximum security level. -Also define valid paths to logfiles that are created by your web and ftp server. -

    - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/programs/mbcico.html b/mbsebbs-code/html/programs/mbcico.html deleted file mode 100644 index 3364cc0c..00000000 --- a/mbsebbs-code/html/programs/mbcico.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mbcico - The Fidonet mailer. - - - -
    - -
    Last update 23-May-2011
    -

    mbcico - The Fidonet mailer.

    - -This is work in progress.... -

    - -

    Synopsis.

    -

    --a<inetaddr> -l<ttydevice> <node> ...
    --n<phone>     forced phone number
    --l<ttydevice> forced tty device
    --t<tcpmode>   telnet TCP/IP mode, must be one of ifc|itn|ibn, forces TCP/IP
    --a<inetaddr>  supply internet hostname if not in nodelist
    - <node>        should be in domain form, e.g. f11.n22.z3
    --h            show this help message
    -
    - or: mbcico tsync|yoohoo|**EMSI_INQC816|-t ibn|-t ifc|-t itn (this is answer mode) -

     

    - -

    Description.

    -

    -mbcico stands for MBse "Internet - Fidonet Copy In /Copy Out", -this is a FidoNet(r) compatible transport agent. It is based on -ifcico written by Eugene G. Crosser, <crosser@average.org>, -2:5020/230@FidoNet. I changed the name of the program to make the difference -between ifcico and mbcico. Nowadays it is -quite different then ifcico. -

    -Currently it supports FTS-0001, YooHoo/2U2 and EMSI handshake protocols, -Xmodem, Telink, Modem7, Hydra with zlib compression extension (FSP-xxxx), -SEAlink with and without overdrive and crash recovery, -Bark file and update requests, WaZoo protocols: DietIFNA, -plain Zmodem (aka ZedZip, EMSI flag "ZMO") and ZedZap, WaZoo file and -update requests (nodelist flag should be XA). WaZoo file and update requests -do also work with FTS-0001 sessions, this is supported by several well known DOS -mailers also. -Password protected requests and update requests are implemented. -

    -There is also a special protocol optimized to use over TCP/IP connections, -contributed by Stanislav Voronyi <stas@uanet.kharkov.ua>, it is -identified by EMSI proto code TCP (not registered) and nodelist flag IFC. -The default port is 60179. A telnet variant is installed at port 60177, the -nodelist flag is ITN:60177. The port number is needed because the default port -in the nodelist is port 23. -

    -There is also a Binkp/1.1 implementation, this is a -bi-directional TCP/IP protocol. -This protocol is prefferred over the IFC protocol because it is -more efficient. Nodelist flag is IBN, the default port is 24554, and the -nodelist request flag is XX. This binkp implementation uses zlib packet -compression opt PLZ (FSP-1032) to increase the transfer speed and to lower -the network bandwith usage. There is also support for the stream compression -modes GZ and BZ2 (compatible with binkd). -

    -Since januari 2011 mbcico can use both IPv4 and IPv6 TCP/IP connections. -

    -Outbound directory structure is BinkleyTerm compatible, with domains and -point subdirectories (full 5d). There are separate "protected" and -"unprotected" inbound directories for the incoming sessions with the nodes -that are in your setup. Files received during outbound sessions are always -stored in the "protected" inbound. -

    -"Magic" file request processors are executable files placed in the "magic" -directory. If a request is made for a file with matching name, the -executable from the "magic" directory is run, and its stdout output is mailed -to the requestor. Full requestor's address, in the form of "John Smith of -1:234/56/7" is passed to the executable in the command line. An example of -such file is on my system, the filename in the magic directory is STATUS. -

    -echo "    Hello $1 $2,"
    -echo ""
    -echo "               Status report for MBSE BBS Development"
    -echo "               --------------------------------------"
    -echo ""
    -echo "Date  : `date`"
    -echo "System: `uname -mrs`"
    -echo "Uptime: `uptime`"
    -echo ""
    -echo "`df -T`"
    -echo ""
    -echo "`free`"
    -echo ""
    -echo "Gtx, Michiel Broek"
    -
    -If you file request STATUS from my system you will get something like: -
    -    Hello John Doe,
    -
    -                   Status report for MBSE BBS Development
    -		   --------------------------------------
    -
    -Date  : Sat Nov  8 17:29:07 CET 2003
    -System: Linux 2.4.20 i586
    -Uptime:  17:29:07 up 88 days, 20:02,  1 user, load average: 0.00, 0.00, 0.00
    -
    -Filesystem    Type   1k-blocks      Used Available Use% Mounted on
    -/dev/hda2     ext3     5921096   3405184   2210276  61% /
    -/dev/hdb1     ext3     6198404   5133056    750476  88% /opt
    -
    -             total       used       free     shared    buffers     cached
    -Mem:         94280      91360       2920          0      13152      46276
    --/+ buffers/cache:      31932      62348
    -Swap:       136512      32380     104132
    -
    -Gtx, Michiel Broek
    -
    - -Non-executable -files in the magic directory contain the full names to magic filenames. The -magic NODELIST can thus point to the full path and filename of your latest -nodelist. These magic names are automatic maintained by the mbfido -program when the magic name is set in the .tic file that you receive. -

    -To run mbcico in master mode, you need to make dialout -devices read/writeable for mbcico, and do the same for -the directory where your uucp locks are created (usually /var/locks). -

     

    - -

    Answer Mode.

    -

    -To make mbcico work in answer mode, you need -mgetty written by Gert Doering. mbcico must be -started with one of the following parameters: -

    -FTS-0001 call:       "/opt/mbse/bin/mbcico tsync"
    -FTS-0006 call:       "/opt/mbse/bin/mbcico yoohoo"
    -EMSI call:           "/opt/mbse/bin/mbcico **EMSI_....."
    -

    -In the latter case the received EMSI packet should be passed whitout trailing -CR). To make this work mgetty must be compiled with the --DFIDO option. Other getty programs might work. -

    -To answer TCP/IP calls the following lines should be added to /etc/inetd.conf: -

    -binkd   stream  tcp     nowait  mbse    /opt/mbse/bin/mbcico    mbcico -t ibn
    -fido    stream  tcp     nowait  mbse    /opt/mbse/bin/mbcico    mbcico -t ifc
    -tfido   stream  tcp6    nowait  mbse    /opt/mbse/bin/mbcico    mbcico -t itn	
    -

    -The tfido line is configured to answer on IPv4 and IPv6. -If your system uses xinetd the file /etc/xinetd.d/mbsebbs could be: -

    -#:MBSE BBS services are defined here.
    -
    -service binkp
    -{
    -	socket_type     = stream
    -	protocol        = tcp
    -	wait            = no
    -	user            = mbse
    -	instances       = 10
    -	server          = /opt/mbse/bin/mbcico
    -	server_args     = -t ibn
    -}
    -
    -service tfido
    -{
    -	socket_type     = stream
    -	protocol        = tcp
    -	wait            = no
    -	user            = mbse
    -	instances       = 10
    -	server          = /opt/mbse/bin/mbcico
    -	server_args     = -t itn
    -        flags           = IPv6
    -}
    -
    -service fido
    -{
    -	socket_type     = stream
    -	protocol        = tcp
    -	wait            = no
    -	user            = mbse
    -	instances       = 10
    -	server          = /opt/mbse/bin/mbcico
    -	server_args     = -t ifc
    -}
    -

    -If you want to use IPv6, add the line flags = IPv6 to the protocol -like in the example of tfido. -In the file /etc/services the following lines must be present: -

    -binkd           24554/tcp               # mbcico IBN mode
    -fido            60179/tcp               # mbcico IFC mode
    -tfido           60177/tcp               # mbcico ITN mode
    -
    -

     

    - - -

    Calling Mode.

    -

    -You never need to call nodes with mbcico by hand, mbtask will -start mbcico with the right commandline.
    -Note: you should not call nodes with mbcico directly, let -mbtask do the calling. -If you want to call a node make a poll command. -

     

    - -

    Environment.

    -

    -In order to run the mbcico you need to set one global environment variable -$MBSE_ROOT -This variable must point to the root of the bbs directoy structure. -

     

    - -

    Return Codes.

    -

    -

    -0        - No errors
    -1..32    - OS errors, SIGHUP, SIGKILL, etc.
    -100      - Commandline error.
    -101      - Configuration error.
    -103      - Disk full.
    -108      - File transfer error.
    -111      - Node not in nodelist.
    -112      - Node may not be called (Hold, Down, not ZMH).
    -113      - Could not make connection.
    -114      - Cannot open tty port.
    -115      - Node is locked.
    -116      - No IP address.
    -117      - Unknown session type.
    -118      - Not Zone Mail Hour.
    -119      - Modem error.
    -120      - Not port available.
    -121      - Session error.
    -122      - EMSI session error.
    -123      - FTSC session error.
    -124      - Wazoo session error.
    -125      - YooHoo session error.
    -126      - Outbound scan error.
    -127      - Cannot poll.
    -
    -These codes are also stored in status files for nodes, with the extension -of ".sts". These are small datafiles containing three decimal numbers. -
      -
    1. Time retry code, this is the next call attempt time. This is an unsigned - long representing the number of seconds since the epoch. Before this time - the node may not be called. This is set after a failed call, a random time - in the near future is selected. -
    2. Retries, this is the number of consequtive call attempts made that returned - "call failed" or other errors. This field is zeroed when the call succeeds and - when a new "poll" is created. If the value is 30, the node won't be called - anymore. -
    3. Code, this is the return code of the last attempt. -
    -

     

    - -

    Configuration.

    -

    -The behaviour of mbcico can be configured with mbsetup, -section 1.14 If something doesn't do what you want, set the debug on for -that problem. This will produce huge logfiles, but also a lot of information. -Important flags are Device IO, EMSI debug, File forward, Locking, Outboundscan -and Session. -

     

    - -

    Bugs.

    -

    -Incoming calls from McMail mailers, McMail is quite hasty -to establish an EMSI session, and times out in less than a second. So -if your system is heavy loaded, or not too fast, McMail cannot connect -with your system. This is a known problem with McMail 1.0 and older, -later versions are ok. -

     

    - -

    Authors.

    -

    -

    -Eugene G. Crosser <crosser@average.org>   Orginal ifcico.
    -Stanislav Voronyi <stas@uanet.kharkov.ua> TCP/IP code.
    -Martin Junius                             Rewrite of opentcp().
    -Omen Technology Inc                       Zmodem protocol.
    -Arjen G. Lentz, Joaquim H. Homrighausen   Hydra transfer protocol.
    -Cristof Meerwald                          Implementation of Hydra in ifcico.
    -P. Saratxaga                              Tty driver code, yoohoo extensions.
    -Dima Maloff                               Binkp protocol.
    -Michiel Broek                             Rewrite for MBSE BBS.
    -
    -

    - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/programs/mbdiff.html b/mbsebbs-code/html/programs/mbdiff.html deleted file mode 100644 index 62ad9f23..00000000 --- a/mbsebbs-code/html/programs/mbdiff.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mbdiff - Nodelist difference file processor. - - - -
    - -
    Last update 30-Jan-2001
    -

    mbdiff - Nodelist difference file processor.

    - -

    Synopsis.

    -

    -mbdiff [nodelist] [nodediff] <options> -

     

    - -

    Description.

    -

    -mbdiff applies a (compressed) nodediff file against the -nodelist of the week before to create a new nodelist. The result is a new -plain nodelist and a nodelist compressed with zip. -

     

    - -

    Environmet.

    -

    -In order to run mbdiff you must set the global variable -$MBSE_ROOT. This variable must point to the root directory -of the bbs structure. The main configuration file config.data -must be present in the ~/etc directory. -

     

    - -

    Commands.

    -

    -mbdiff [nodelist] [nodediff] The nodelist must be the full -path and filename without the dot and daynumber extension. The nodediff is -the full path and filename to the (compressed) nodediff file fitting on the -latest nodelist. It is adviced to make a seperate working directory where -you keep the nodelists. Don't do this in your normal nodelist directory. -When the operation is successfull, the new nodelist is in the working directory -and the old list is removed. A compressed version of the nodelist is also -placed in the working directory. From here you can hatch the new compressed -nodelist with the mbfido program. -

     

    - -

    Options.

    -

    --quiet - supress screen output, this switch is needed when -mbdiff runs on the background. -

    - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/programs/mbfido.html b/mbsebbs-code/html/programs/mbfido.html deleted file mode 100644 index 911b2775..00000000 --- a/mbsebbs-code/html/programs/mbfido.html +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mbfido - The Fidonet mail and files processor. - - - -
    - -
    Last update 26-Aug-2005
    -

    mbfido, the fidonet mail and files processor.

    - -

    Synopsis.

    -

    -mbfido [command(s)] <options> -

     

    - -

    Description.

    -

    -mbfido -is the program to process fidonet mail and files. In order to run mbfido -you must first start mbtask, -this is the deamon which controls all bbs activities. To prevent that -mbfido will run more than once at the same time a lock -is placed in the protected inbound with the pid of the running -mbfido program. The gateway to and from internet is also -handled by mbfido. -

     

    - -

    Specifications.

    -

    -The recognized mail packets are type 2+ following the FSC-0039 standard with -a fallback to the old stone age packets. -Can handle messages of maximum 429467295 bytes, or less if you have less -memory available, the practical limit is about 1 Meg. Note that most mailprocessors -are only guaranteed to work to maximum 16 KBytes. -Recent experiments in the LINUX echo show that this is still true, -although most tossers seem to process mail up to 32 KBytes. -

     

    - -

    Tossing Mail.

    -

    -First make sure you have the necessary message areas in your setup. At least -you need the badmail and dupemail areas and a netmail area for each network -you participate in. If you don't create badmail and dupemail areas then -bad (unknown area etc) and dupes are lost and you cannot check the reason why. -If you don't create the netmail areas for each network, then netmail to your -system will dissapear. It is not possible to "retoss" the badmail yet after -you have created any missing echomail areas. -

    -To prevent .pkt name collision the toss of incoming mail is done in parts. -The first run is to process all uncompressed mailpackets and add mail to the -outbound. Then each compressed ARCmail archive will be uncompressed and -processed and mail will be imported and forwarded as necessary. During all -these passes all filenames are sorted by date and time, the oldest files are -processed first. -

    -The recognized mail packets are type 2+ following the FSC-0039 standard with -a fallback to the old stone age packets. The packets are checked for being -addressed to one of your own aka's and for a correct password. The -password check may be switched off in the nodes setup. After all the packet -header checks the messages will be extracted from the packet file. -

    -When messages are extracted from the packets, the date format is checked for -Year2000 bugs from other tossers. Several checks are done by ideas of Tobias -Ernst of 2:2476/418. It is also possible to run the pktdate -utility before each packet will be processed. Whatever date format us used in -the original message, mbfido will always rewrite the date -field in the right FTS-0001 format. -

    -If the message is a netmail the message is checked for DOMAIN, INTL, FMPT and -TOPT kludges so that full 4d or 5d addressing will be possible. Then a check -is done if this netmail is addressed to one of our aka's. If it's addressed to -"sysop" or "postmaster" the name is replaced with the sysop's name. If the -message is addressed to one of the names defined in the service setup, that -mail will be handled by the service manager, ie. given to areamgr, filemgr or -send further as email to your local system. -
    -Then the message is checked if it is addressed to an existing bbs user, and if -so it will be imported into the netmail area of the main zone of the bbs. -If it's not addressed to a bbs user, the message will be readdressed to the -sysop. If the message is not for one of our aka's the message will be put in the -mailqueue for further routing. -

    -If the message is a echomail message it will be checked for being a duplicate by -storing the CRC32 value of the AREA: line, message subject, origin line, -message date and msgid kludge and testing if that CRC32 value exists in the -echomail duplicate database. If there is no msgid in the message, the whole -message body will be include to complete the CRC32 dupe check. -Also the existance of the echomail area is checked and the node must be linked to that area. -If the message is not in a passthru area and is not a duplicate it -is finally imported in the message base. -After that is the message will be forwarded to downlinks -by adding the message to the mailqueue. -

     

    - -

    Adding mail and files to the outbound.

    -

    -Adding mail and file to the outbound is done in two passes. The first pass is to put all -outgoing mail into the ~/var/queue/z.n.n.p directory, the last letters are -replaced by the digits of the nodenumber. -The extension can be qqq for packed mail, nnn for normal unpacked mail, hhh for -hold unpacked mail and ccc for crash unpacked mail. Adding mail and files to -this directory can allways be done, even if one of the nodes you are adding mail -for is having a mail session with your system. This is a safe operation.
    -In the second pass, these temp files are really added to the outbound, but -only if the destination node is not locked, ie. there is no current mailsession -with that node. If there is a mail session going, these temp files will stay in -the temp directory and are added to the outbound in a later run of -mbfido. If adding the mail to the outbound succeeds -the temporary files and directory is removed. -

     

    - -

    Alias file.

    -

    -If the file /opt/mbse/etc/aliases exists, mbfido will try to fetch ftn-style -aliases from there. -If "from" address of a message from FidoNet matches right side -of some entry in alias file, then the Reply-To: header is created -in the RFC message with the name part taken from the left side of the -sysalis entry and domain part taken from myfqdn (below). E.g., if a -fidonet message comes from "John Smith of 1:234/567.89@fidonet" and -there is an entry in the sysalias file: -

    -"jsmith:      John.Smith@p89.f567.n234.z1.fidonet.org"
    -
    -and Domain name value is "mbse.nl", then the resulting message will -contain a line: "Reply-To: jsmith@mbse.nl". -

     

    - -

    Commands.

    -

    -mbfido areas -This command will check all file and mail groups if areas files are defined and -if the setting Auto change is set to Yes. Then the areafile is read and -the areas in that file are compared with the defined areas. Missing areas are -created and areas not in the areafile are removed or blocked depending if there -are files or messages present in these areas. This is also a good command to -create large bulks of new areas on your system. - -

    -mbfido mail <recipient> -This command is used by your MTA to deliver email addressed to for example -Michiel_Broek@f2802.n280.z2.fidonet.org - -

    -mbmail <recipient> -This is the same as above. - -

    -mbfido notify <nodes> -This command will send notify messages to all nodes in your setup which -have the notify option set to on. If you enter nodes as option you may use -wilcards, ie 2:*/* to send messages to all nodes in zone 2. If you specify -exactly one node, messages will be generated even if that node has the -notify function off. From cron you should not specify any nodes, this will -just send to all your links the information about their setup. Each node -will receive a status report for files and mail, and area list for all -file areas and mail areas to each aka a node has, and a flow report for -mail for each aka. -

    -mbfido roll -This command will only do something if a new week or month has begun. -If this is true the statistic records in several databases are updated. -You should run this command each midnight from cron to be sure that this when it is -time to do so. This command is always executed before one of the scan, toss or tic commands so -if you don't do this in cron, it will still happen. -

    -mbfido scan -Scan for new messages entered at the bbs or by other utilities. If the file -~/tmp/echomail.jam or ~/tmp/netmail.jam exists, -mbfido will only scan the messages in areas which are -pointed at in this file. This is a lot faster then a full mailscan. -If it is not present, all messagebases are scanned -to see if there is a new message. If you specify --full on the commandline a full messagebase scan is forced. -It is wise to do this sometimes, on my bbs I run this once a day. -

    -mbfido tag -The command will create tag- and areas files in the doc directory for each group of -mail and files. -

    -mbfido test <node> -This is for testing of the mail routing. The node on the commandline must be in -the format f28.n280.z2 etc. The results are printed on the tty. If you have -debug logging on in menu 1.5.16 items 17 and 18, then all needed debug -information is written to the logfile. You can use this to debug your routing. -

    -mbfido tic -Process incoming files accompanied with .tic control files. Several actions can -take place on the incoming file before they are imported in the BBS areas. -Options are rearchiving, replacing banners (with your add), check for DOS -viruses, running scripts for certain filename patterns, send these files to -other nodes etc. All options can be defined for each area. If as a result from -one of the actions there are new files hatched, for example after processing -a nodelist difference file which created a new nodelist, the .tic processing -will start again, until there is really nothing more to do. -

    -mbfido toss -Toss incoming fidonet netmail and or echomail. By default mail in the protected -inbound directory will be processed, uncompressed .pkt files and compressed -arcmail bundles are recognized, filename case doesn't matter. -

    -mbfido news Scan all defined newsgroups for new newsarticles. -New articles are fetched from the newsserver and stored in your messagebase and -send to your up- and downlinks. This is for use with an NNTP gateway. -

    -mbfido uucp -This will read a standard a newsbatch from stdin and gate the articles -to Fidonet and the local message base. This is for use with an UUCP gateway, this -mode should be called by uuxqt. The newsbatch may be compressed or uncompressed or -a single news article. -

    -mbnews -This is an alternative to mbfido uucp -quiet. -

     

    - -

    Options.

    -

    -mbfido [command] -nocrc -Disable CRC checking of incoming TIC files. Only use this if you know what -you are doing. -

    -mbfido scan -full -Force scanning of all message bases for new entered mail. You need this if -mail in entered with other editors then from mbse. Also, running it once a -day is adviced to catch any missed messages. -

    -mbfido news -learn -Scan the newsserver for news articles, and update the news dupes database only. -Use this switch if you start using mbfido to gate news articles for the first time. -Articles will not be gated with this switch, mbfido will just learn which articles -already exist. Normally you only need to use this switch once. -

    -mbfido [command] -nodupe -Disable checking for duplicate's. Normally you should not use this switch. -This switch doesn't work with the news command, only for echomail and tic files. -

    -mbfido [command] -quiet -Quiet mode, all output to the current tty is supressed. Use this flag if -you toss mail from a script (started by cron) after mail is received. -

    -mbfido toss -unsecure -Toss mail without checking if the echomail is for your own system en without -checking if the sending node is connected to your system. Nodes who are -excluded from a certain echo, can stil not enter messages in that echo. -

    -mbfido [command] -unprotect -Toss from the unprotected inbound directory. The default is to toss from the -protected inbound directory. -

     

    - -

    Environment.

    -

    -In order to run the bbs you need to set one global environment variable -$MBSE_ROOT -This variable must point to the root of the bbs directoy structure. -

     

    - -

    Bugs.

    -

    -There are still bugs, this program is under development. -

    - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/programs/mbfile.html b/mbsebbs-code/html/programs/mbfile.html deleted file mode 100644 index 51a3ff30..00000000 --- a/mbsebbs-code/html/programs/mbfile.html +++ /dev/null @@ -1,192 +0,0 @@ - - - -MBSE BBS Programs - mbfile - File database maintenance program. - - - - - - - - - - -
    - -
    Last update 08-Jun-2007
    -

    mbfile - File database maintenance program.

    - -

    Synopsys.

    -mbfile [commands] <options> -

     

    - -

    Description.

    -

    -mbfile -is the filedatabase maintenance program for mbsebbs. In order to run mbfile you -must have started mbsed, -this is the deamon which controls all bbs activities. -

    -The main purpose of mbfile -to do automatic maintenance on the downloadable files on the bbs, such as -removing or moving old files, checking the database and packing the database. -The best way to do the maintenance is to run mbfile -from the crontab. example: -

    -30 05 * * * export MBSE_ROOT=/opt/mbse; /opt/mbse/bin/mbfile kill pack index -quiet
    -
    -Other functions in mbfile are meant to do manual maintenance such as -adding, deleting or moving files. -

     

    - -

    Environment.

    -

    -In order to run the bbs you need to set one global environment variable -$MBSE_ROOT -This variable must point to the root of the bbs directoy structure. The -main configuration file config.data -must exist in the subdirectory ~/etc. -

     

    - -

    Commands.

    -

    -mbfile adopt <area> <file> "[description]" -Adopt a file to the filebase. The description is optional, but if present it -should be enclosed in quotes. The optional description may be at most 255 characters. -Default mbfile will try to use the FILE_ID.DIZ if this is present. The file to -adopt needs to be in your current directory and will be copied to the new area. -If you have virus scanners defined, the file will be checked for virusses. - -

    -mbfile check [area] -Check the database integrity. All files in the filedatabase must exist on -disk and all files on disk must exist in the filedatabase. There are some -exceptions, files.bbs, files.bak, 00index, index*.html, header, readme and -files that start with a dot. -Of all files the date and time is checked, the size and the crc -value of the file. If there is something wrong, the error is corrected or the -file is removed. If the area is a CD-rom area, the check that files on disk -must exist in the filedatabase is skipped. -If no area number is given, all areas are checked. -

    - -mbfile delete <area> "<filemask>" -Mark file(s) in an area for later deletion. You can use wildcards, and if you do -surround them with quotes to prevent shell expansion. -The file is not removed until you run mbfile pack. -

    - -mbfile import <area> -Import files to the given area using files.bbs descriptions. There are two -possibilities, import from CD-rom or just from a temporary directory. -

      -
    • Import from a temporary directory: Put the files to import there including the -files.bbs file. -
    • Import from CD-rom: Go into the directory on the CD -where the files are. If the files.bbs is not in the same directory, -you must enter the full filename and path where the files.bbs is with -mbsetup 8.4.area.6. -
    -To start the import, type mbfile import area where area is the -number of the destination filearea. -The files are not checked for FILE_ID.DIZ inside the -archives. If you have virus scanners defined, the files are checked for -virusses before they are added the the bbs. If you don't want these fresh files -to be announced, add the -announce option on the commandline. This -may be a good idea if you migrate from another bbs system. -

    - -mbfile index -Create fast filerequest index for the mbcico filerequest -processor. In each directory with the downloadable files is also a -files.bbs file written in msdos cr/lf format. This includes a -download counter. -Also, if defined, in each available download area for ftp/http, 00index -and index.html files are -created, starting at the ftp pub directory. If the area contains gif or jpg -images, thumbnails are created using the convert program if you have that -installed. The thumbnails have the same filenames as the original images, only -they start with a dot. The convert command is defined with mbsetup menu -1.19.8, if you don't have it or don't want thumbnails, make that entry empty. -The index command only rebuilds area index files (files.bbs, index.html and -00index) when there was a change in the area. -

    - -mbfile kill -Mark files to delete or move files in areas that have the download age -set or the filedate age set. A setting of 0 is ignored. -Areas on CD-rom are always skipped. -If the Move to Area option is set the files are moved to the given area. The -upload date and download date are reset to the current date and time. -So if you set in the destination area aging of 14 days, files will stay -there for 14 days after the move. This is good for automatic "last chance" areas. -

    - -mbfile list [area] -List all defined file areas, the number of files, the total size of the files -and the primary group. If and area is given on the commandline, the files in -that area are listed. -

    - -mbfile move <from> <to> <file> -This command will move a file from one area to another. No actions on the file -are performed. -

    - -mbfile pack -This command will actualy remove the records of files that are marked for -deletion. If the file is still on disk, it will be removed also. So when -you delete files with mbsetup or with mbfile, they are still in your database and on disk -until you run mbfile pack. -

    - -mbfile rearc <area> "<filemask>"; -Re-archive file(s) in an file area to the archiver that must be set in the -file area setup. -

    - -mbfile sort <area> -Sort the files in area on the long filenames. The sort is case insensitive. When -the sort is completed, the command mbfile index will automatic -run to rebuild all indexes. -

    - -mbfile toberep -Shows which files are to be reported. This lists only the files that are -received during .tic processing, new uploaded files are not displayed. This list -is automatic removed after newfiles are announced. -See also mbtoberep. -

    - -mbfile undelete <area> "<filemask>" -Mark a file that is marked for deletion to be available again, ie. undo the deletion -mark. You can use wildcards, and if you do -surround them with quotes to prevent shell expansion. -

     

    - -

    Options.

    -

    -mbfile [command] -quiet -Quiet mode, no screen output. Use this switch if you run mbfile from the crontab. -

    -mbfile [command] -announce -Announce mode, use this switch with the adopt and import commands to prevent -that the added file(s) will be announced. This can be usefull if you add lots of -files that you don't want to announce these as new files. -

    -mbfile [command] -force -With the adopt, import and move commands files that already exist in the -destination area are not overwritten. With this switch you can force to -overwrite the existing file. -

    -mbfile [command] -virus -Supress virus scanning of files during adopt or import. Use with care. -

    - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/programs/mbindex.html b/mbsebbs-code/html/programs/mbindex.html deleted file mode 100644 index 06887b54..00000000 --- a/mbsebbs-code/html/programs/mbindex.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mbindex - Nodelist Index Compiler. - - - -
    - -
    Last update 30-Jan-2001
    -

    mbindex - Nodelist Index Compiler.

    - -

    Synopsis.

    -

    -mbindex <options> -

     

    - - -

    Description.

    -

    -mbindex is the nodelist index compiler. It will create -an index file containing the sorted fidonet addresses as index file to the -raw nodelists in the defined nodelist directory. Several other programs -use this index file for fast retreival of data from the nodelists. Compiling -new nodelist indexes can always be done, while compiling the result -is stored in temporary index files and only after successfull compilation the -original indexes are renamed and the temporary files get the normal names. -The renamed (old) indexes stay on disk including the previous version of the -old raw nodelist. They stay there in case some program had the nodelist or -index still open. So in the nodelist directory there are current nodelists, -previous -nodelists, current indexes and previous indexes, and during compiling the -temporary indexes. There is no need to manually remove (and not wise to do so) -files from the nodelist directory. -

    -The nodelists in the nodelist directory are the normal uncompressed nodelists -in MS-DOS format (with CR/LF). The filename extensions must be two or 3 digits. -So if you have a private pointlist named bestbbs.pts you -will have to rename that to bestbbs.999 to make it work. -

     

    - -

    Environment.

    -

    -In order to run mbindex you must set the global variable -$MBSE_ROOT. This variable must point to the root directory -of the bbs structure. The main configuration file config.data -must be present in the ~/etc directory. -

     

    - -

    Options.

    -

    -mbindex -quiet Quiet mode, no screen output. Use the switch -if you run mbindex from a shellscript or from the crontab. -

     

    - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/programs/mblang.html b/mbsebbs-code/html/programs/mblang.html deleted file mode 100644 index d8450296..00000000 --- a/mbsebbs-code/html/programs/mblang.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mblang - Language Data Compiler. - - - -
    - -
    Last update 30-Jan-2001
    -

    mblang - Language Data Compiler

    - -

    Synopsis.

    -

    -mblang [language data file] [language source text] -

     

    - -

    Description.

    -

    -mblang compiles the source textfile to language datafile -which is used by the mbsebbs program. You only need to -use this program if you install a new language file. When you build the -complete mbse bbs package, this command is run automatic for you. -

    - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/programs/mblogin.html b/mbsebbs-code/html/programs/mblogin.html deleted file mode 100644 index 28fb8c4c..00000000 --- a/mbsebbs-code/html/programs/mblogin.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mblogin - Unix login replacement for MBSE BBS. - - - -
    - -
    Last update 23-May-2011
    -

    mblogin - Unix login replacement for MBSE BBS.

    - -

    Synopsis.

    -

    -mblogin [-p] [-h hostname] [user] -

     

    - -

    Description.

    -

    -mblogin replaces the standard Unix login program for MBSE BBS. -You can use this program from mgetty for modem/ISDN access, -or from inetd to allow telnet access. -This program logs in the systems syslog facility because the normal login -program does this too. It uses the file /opt/mbse/etc/login.defs -for the behaviour you prefere. All options in this file are well commented. It uses -the bbs user database to see who are allowed to login. Users can use their -Fidonet name, Unix name or Handle. If the name is found in the userbase, the -name is replaced with the real Unix name to do the password check and to start -the mbsebbs program. If the user is not found in the user base, -the user is asked if he wants to register as a new user. This behaviour can be -turned off. If the user uses the name bbs he will start the -mbnewusr program directly. All other users are not allowed to -login, not even root. If you change it in the file -/opt/mbse/etc/login.defs you may allow user mbse -to login. I advice against it, you should use ssh if you want -remote access to do maintenance. -

     

    - -

    How to use from inetd.

    -

    -If your system is connected to the internet you may want to let users login -using telnet. The changes you need to make are different for each operating -system mbse supports. The right lines for your distribution should already -be present, but they are not set active, in other words, you still need to -make changes to allow telnet login to work. -First I will describe how to use it from inetd. -When you make changes to your system to -change the telnet login, make sure you are already logged into your system as root -from another terminal. If you make a mistake and can't login anymore you will be -glad that you are still logged in on another terminal. Here are the tested -setups: -

      -
    • GNU/Linux: edit the telnet line in /etc/inetd.conf:
      - telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -L /opt/mbse/bin/mblogin
      - After changing this file do a kill -HUP pid where pid is the pid of the - inetd process. -
    • FreeBSD: edit the telnet line in /etc/inetd.conf:
      - telnet stream tcp nowait root /usr/libexec/telnetd telnetd -p /opt/mbse/bin/mblogin
      - After changing this file do a kill -HUP pid where pid is the pid of the - inetd process. -
    • NetBSD: append a line in /etc/gettytab just below the line with the default - entry:
      - mbsebbs:cd:ck:np:lo=/opt/mbse/bin/mblogin:sp#38400:
      - The speed entry 38400 doesn't seem to be important. - Then edit the telnet line in /etc/inetd.conf:
      - telnetd stream tcp nowait root /usr/libexec/telnetd telnetd -g mbsebbs
      - After changing this file do a kill -HUP pid where pid is the pid of the - inetd process. -
    -Now you can test it with telnet localhost or from another machine -with telnet your.machine.com. Check if you can still do other -logins such as ssh, rlogin and login on local consoles. -

     

    - -

    How to use from xinetd.

    -

    -This is how to use xinetd, Read the section above also. -Here is a tested setup: -This has to be done as root. You have to create a service under /etc/xinetd.d -named telnet if you dont have it yet installed, if it is already installed just -modify the server_args line to match this: -

    -server_args = -L /opt/mbse/bin/mblogin
    -
    -Your /etc/xinetd.d/telnet file should look something like this: -
    -service telnet
    -{
    -        protocol        = tcp
    -        instances       = 10	
    -        flags           = IPv6
    -        log_on_failure += USERID
    -        socket_type     = stream
    -        user            = root
    -        server          = /usr/sbin/telnetd
    -        server_args     = -L /opt/mbse/bin/mblogin
    -        wait            = no
    -}
    -
    -This will replace the standard login program on xinetd systems to the mblogin -program, so that next time someone logs into your bbs they will be presented the -issue file on /opt/mbse/etc file and the login prompt for the BBS instead of the -standard login prompt. Note that on some systems the server_args need -E instead -of -L. If you don't have IPv6 enabled on your system, you must remove the -flags = IPv6 line. -

     

    - - -

    How to use from mgetty

    -

    -This is described with the setup for mgetty. -

    - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/programs/mbmon.html b/mbsebbs-code/html/programs/mbmon.html deleted file mode 100644 index dddc9899..00000000 --- a/mbsebbs-code/html/programs/mbmon.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mbmon - MBSE BBS Monitor. - - - -
    - -
    Last update 28-Aug-2003
    -

    mbmon - MBSE BBS Monitor

    - -

    Sysnopsis.

    -

    -mbmon -

     

    - -

    Description.

    -

    -mbmon is the monitor program so that you can see what is -happening on your bbs. It can show all processes and actions of all programs, -show system statitistics, disk useage, and the last callers list. -mbmon must run on the same system where the bbs is. When -started it will also report that the sysop is present on the system for chat so -that users of your bbs can page you for a chat. If a user pages you, this will -be shown in every screen of mbmon and a beep will sound every -few seconds.
    - - - - - -
    - -A user is paging
    -
    Main menu, a user is paging.
    -
    - -chat with a user
    -
    Chat with a user.
    -
    - -

     

    - -

    Environment.

    -

    -In order to run mbmon you must set the global variable -$MBSE_ROOT. This variable must point to the root directory -of the bbs structure. -

     

    - -

    Menu 1.

    -

    -This screen shows the running bbs programs and what they are doing. -

     

    - -

    Menu 2.

    -

    -This screen displays the actual mbtask server status and some internal -variables. The left side of the screen are more statistics and counters, the -right side displays the actual bbs open status, Zone Mail Hour status, if -Internet is alive, if internet is needed, if mbtask is internal running and the -system load average. Consult this screen if you think mbse doesn't run. -

     

    - -

    Menu 3.

    -

    -This screen displays the filesystem usage. Removeable filesystems such as CD's are not displayed, -only filesystems that the bbs could use. -

     

    - -

    Menu 4.

    -

    -This screen shows some bbs information. -

     

    - -

    Menu 5.

    -

    -This menus shows the lastcallers of the bbs. It shows the username, location, -userlevel, the device they logged in from, the starttime, the duration, the -number of calls, the linespeed and the actions they have done. -The action fields mean: -Hidden, Download, Upload, Read messages, Post -messages, Chat, Offline reader, External door. -

     

    - -

    Menu 6.

    -

    -Chat with any user. Using this menu you enter the chatserver and you can chat in -any channel just as the users of your bbs can do. The chatserver works just like -an IRC server. Type /HELP for help. -

     

    - -

    Menu 7.

    -

    -Respond to a sysop page. This is actually the same as chat with any user, the -only difference is that you will join channel #sysop immediatly. If the user is -not yet connected after his page, he will also be connected to the channel as -soon as possible. -

     

    - -

    Menu 8.

    -

    -This shows the software information. -

    - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/programs/mbmsg.html b/mbsebbs-code/html/programs/mbmsg.html deleted file mode 100644 index 1af15f14..00000000 --- a/mbsebbs-code/html/programs/mbmsg.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mbmsg - Message Base Utility. - - - -
    - -
    Last update 30-Jan-2001
    -

    mbmsg - Message Base Utility

    - -

    Sysnopsis.

    -

    -mbmsg [commands] <options> -

     

    - -

    Description.

    -

    -mbmsg -is the message base utility program for mbsebbs. In order to run mbmsg you -must have started mbsed, -this is the deamon which controls all bbs activities. -

    -The main purpose of mbmsg -is to link messages after tossing mail, and to maintain the size of the message -bases and the age of the messages. The best way to do the maintenance is to -run mbmsg -from the crontab. example: -

    -30 05 * * * export MBSE_ROOT=/bbs; /bbs/bin/mbmsg kill pack link -quiet
    -
    -Another purpose is to automatic post messages in message areas. Echomail and -netmail is possible. -

     

    - -

    Environment.

    -

    -In order to run mbmsg you must set the global variable -$MBSE_ROOT. This variable must point to the root directory -of the bbs structure. The main configuration file config.data -must be present in the ~/etc directory. -

     

    - -

    Commands.

    -

    -mbmsg link Link all messages by subject ignoring -Re: in the subject lines. You should run this after tossing or scanning mail. -

    -mbmsg kill Kill messages in areas that have the -age set or the maximum messages set. -A setting of 0 is ignored. The messages are not removed from the message base, -they are only marked as deleted. -

    -mbmsg pack This command actualy removes the -messages who have the deleted flag set. -The lastread pointers are updated and the messages renumbered. After this -command there is no way you can recover your messages, except from backups. -

    -mbmsg post <to> <#> <subj> <file> <flavor> - This command posts a message in numbered area. If a field -consists of more then one word it must be surounded with quotes. -The to field can be "Michiel Broek" for a full name or -"Michiel_Broek@f16.n2801.z2.fidonet" for netmail addressing. Look out: -you need underscore between the firstname and lastname, no spaces. -Flavor can be one or more of the characters "c", "i", "h" or "p" to set the Crash, -Immediate, Hold or Private flags. -If no flavor is needed, use the - (minus sign) as a placeholder. -

     

    - -

    Options.

    -

    -mbmsg [command] -area <#> -Process only one area <#> number. -

    -mbmsg [command] -quiet Quiet mode, -no screen output. Use this switch if you run mbmsg -from the crontab. -

    - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/programs/mbnntp.html b/mbsebbs-code/html/programs/mbnntp.html deleted file mode 100644 index 0444e640..00000000 --- a/mbsebbs-code/html/programs/mbnntp.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mbnntp - News server. - - - -
    - -
    Last update 26-Aug-2005
    -

    mbnntp - News server

    - -

    Synopsis.

    -

    -mbnntp You should not run this from the -commandline, instead it should be run by inetd or xinetd. -

     

    - -

    Description.

    -

    -mbnntp is a RFC977 and RFC2980 compatible news server. -The purpose is to make echomail available to newsreader clients so that bbs -users can use their favourite newsreader to participate in echomail. It will -not make your newsgroups available if you have any, the bbs user can get these -directly from the internet. The bbs echomail areas are only made available if -they have a valid newsgroup name set in the area setup. If this is not alread -set, invent your own newsgroup name. For example the WWB echomail area MBSE -could be set as fido.wwb.mbse, but you can use anything as long as it doesn't -conflict with real newsgroups. -

    -To use the server, the user must login in the -news server with his bbs unix name and password, thus the user must exist on the -bbs. The access to the areas is the same as if the user would be logged into the -bbs. -

     

    - -

    Installation.

    -

    -If installed from inetd add the following line to -/etc/inetd.conf: -

    -nntp    stream  tcp     nowait  mbse    /opt/mbse/bin/mbnntp    mbnntp
    -
    -

     

    - -

    Building.

    -

    -If you did run ./configure --enable-newsgate when you compiled the -mbse package, mbnntp will be build as a not working program. This is -intended to prevent loops between real news and echomail. With normal builds -without --enable-newsgate (recommended) mbnntp will function -as newsserver. -

    - - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/programs/mbout.html b/mbsebbs-code/html/programs/mbout.html deleted file mode 100644 index 753260e4..00000000 --- a/mbsebbs-code/html/programs/mbout.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mbout - The Outbound Manager. - - - -
    - -
    Last update 17-Mar-2001
    -

    mbout - The Outbound Manager

    - -

    Synopsis.

    -

    -mbout [command] <params> <options> -

     

    - -

    Description.

    -

    -mbout is the outbound manager for MBSE BBS. It can ask -information from the nodelists, create and remove polls, request and send files and -display the outbound status. Most of the tasks such as create and remove -polls should be done from the crontab. -

     

    - -

    Environment.

    -

    -In order to run mbout you must set the global variable -$MBSE_ROOT. This variable must point to the root directory -of the bbs structure. The main configuration file config.data -must be present in the ~/etc directory. -

     

    - -

    Commands.

    -

    -mbout att <node> <flavor> <file> will attach -the specified file to the specified node. The node should be in the format -f2802.n280.z2, flavor should be crash, immediate, normal or hold. Only the first -letter of the flavor parameter is needed. -If the node is not in the nodelist, the status is Down or Hold, then this command fails. -To non-CM nodes you mus use the Immediate flavor if you want to send the file direct. -The flavors Hold and Normal are still allowed. The file must be in the directory range -from where file attaches are allowed. -

    -mbout poll [node..node] creates poll requests in the outbound -for one or more nodes. The node should be in the format f2802.n280.z2. The semafore -scanout is created so that the mailer will start calling. -The mailer will handle the poll request as if it should deliver immediate mail, -so the node will be called as long as the poll request exists, even to nodes which are not CM. -The error counter for the node to poll will be reset to zero, so a node that was -previous marked undialable will be called again. -If a call to a node is successfull, the poll file will be removed by mbcico. -If a node is not in the nodelist or has the status Down or Hold, no poll will be created for that node. -

    -mbout stop [node..node] removes poll requests that are -leftover when polling nodes didn't succeed. There is no check if the node is -in the nodelist or has the status Down or Hold, the poll is always removed. -

    -mbout req <node> <file> [file..file] creates -filerequests to a node. One or more filenames may be given including wildcards. -It is not possible to do update or password protected uploads yet. If there -is already a requestlist for that node, the new requests will be added. This -command does not call a node, you need to create a poll request to make the -actual call. This is also practical if you want some files from your uplink, -just make the requests and the actual request is send when your normal -scheduled poll to your uplink is processed. -

    -mbout reset [node..node] resets the nodes "try" -counter to zero. So if a node is undiable, the counter is 30 or more, then by -resetting this counter that node will be called again. The outbound is rescanned -after this command so that calling will start immediatly. -

    -mbout stat shows the status of the mailer outbound. -This status is also written to the logfile. -

    -mbout node <node> will show the nodelist information for -a certain node. -

     

    - -

    Options.

    -

    -mbout [commands] -quiet will suppress screen output. This is -usefull if you run mbout from the crontab or from background -scripts. -

     

    - -

    Examples.

    -

    -This is an example of crontab entries that writes the outbound status to the -logfile and creates and stops polling of 2 nodes.
    -

    -00 00 * * * export MBSE_ROOT=/opt/mbse; $MBSE_ROOT/bin/mbout stat -quiet
    -00 01 * * * export MBSE_ROOT=/opt/mbse; $MBSE_ROOT/bin/mbout poll f98.n100.z92 f0.n100.z92 -quiet
    -00 02 * * * export MBSE_ROOT=/opt/mbse; $MBSE_ROOT/bin/mbout stop f98.n100.z92 f0.n100.z92 -quiet
    -
    -

    - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/programs/mbpasswd.html b/mbsebbs-code/html/programs/mbpasswd.html deleted file mode 100644 index 006f2972..00000000 --- a/mbsebbs-code/html/programs/mbpasswd.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mbpasswd - The passwd wrapper. - - - -
    - -
    Last update 03-Jul-2011
    -

    mbpasswd - The password wrapper.

    - -

    Description.

    -

    -mbpasswd is the wrapper for the passwd program -is present on all GNU/Linux systems. To use passwd to change the password of -another user is only allowed by root. The mbpasswd program overcomes this limitation. -The wrapper mbpasswd is run from the bbs by user mbse when a new -user is being registered to set his password. It can also be started from the -bbs when an existing user changes his password. If you as sysop use -mbsetup to change a users password it will be used too. -His password under Unix is then always the same as his password in the bbs program. -This is necessary for the user to be able to get his email using the pop3 protocol.

    -You never need to run mbpasswd by hand, in fact it is protected so that -it can only be started by the bbs or mbsetup. -

     

    - -

    Environment.

    -

    -mbpasswd must be installed setuid root and setgid root, ls -la looks like this:
    -

    --rws--s--x   1 root     root         6644 Jun 26 21:23 /opt/mbse/bin/mbpasswd*
    -
    -

     

    - -

    Commands.

    -

    -Not mentioned here because mbpasswd is only called by other programs, -running manually is not supported. -

    - - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/programs/mbsebbs.html b/mbsebbs-code/html/programs/mbsebbs.html deleted file mode 100644 index 64745fd4..00000000 --- a/mbsebbs-code/html/programs/mbsebbs.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mbsebbs - The main BBS program. - - - -
    - -
    Last update 03-Sep-2005
    -

    mbsebbs - The main BBS program

    - -

    Synopsis.

    -

    -mbsebbs -

     

    - -

    Description.

    -

    -mbsebbs is the main bbs program for the users. -To be able to use the bbs, the bbs mustbe set open with mbstat open -or users may not login. This is normally done at system boot. -Also Zone Mail Hour is honored if the user logs in -on a tty that has the honor ZMH flag set to true. If it -is ZMH and the ZMH flag is true, the user will be kicked out of the bbs. You -should only set this flag on the modem lines where you need to be available -for ZMH if your "Fidonet" network requires that. -

    -The first visible action is to show the logo.ans file. Because it is not -known who is trying to login, you only need to place this file in the -default language directory. -

    -The next check is to see if the user is allowed to login on the tty he -currently is on. -If this tty is not available or is not in your setup, the user is kicked -out. If he is allowed to login, a message is shown at which port he is on, -unless you have turned this feature off in the setup. -

    -If the user login is successfull, his favourite language will be loaded. -Then it is checked if the user is the Sysop, if so, the Sysop flag is set. -If the users Date of Birth is invalid, he is forced to enter the right -Date of Birth. -The next check is to see if the user has passed the expiry date, this is a -usefull feature for systems with donating users. -Finally the access limits are set for the user and time remaining for today and -download limits are set. -

    -After successfull login the user can be presented with a bunch of advertising -screens. I will only name the screens without filename extension, as these -screens are searched for in the following order;
    -

      -
    1. filename.ans in the users favourite language directory. -
    2. filename.ans in the default language directory. -
    3. filename.asc in the users favourite language directory. -
    4. filename.asc in the default language directory. -
    5. If nothing is found, nothing is displayed. -
    -Here is the list of displayed screens: -
      -
    1. mainlogo. Here you can put a logo or something. -
    2. welcome. This screen can contain information about the session -the user has, his download limits, time left etc. -
    3. welcome1 is shown if the user has show bulletins set to true. -
    4. welcome2 is shown if the user has show bulletins set to true. -
    5. welcome3 is shown if the user has show bulletins set to true. -
    6. welcome4 is shown if the user has show bulletins set to true. -
    7. welcome5 is shown if the user has show bulletins set to true. -
    8. welcome6 is shown if the user has show bulletins set to true. -
    9. welcome7 is shown if the user has show bulletins set to true. -
    10. welcome8 is shown if the user has show bulletins set to true. -
    11. welcome9 is shown if the user has show bulletins set to true. -
    12. birthday is shown if the user logs in at his birthday and if he -has show bullentins set to true. -
    13. dd-mm is shown if dd is the date of today and -mm is the current month and if the user has show bulletins -set to true. -
    14. sec20 is shown if the user has the security level in the -filename, level 20 in this example. Als the display bulletins must be set to -true. -
    15. news is shown if the user has the display bulletins set to -true. -
    16. onceonly is shown only if the user has never seen this screen, -the test is to compare the users last login date against the date of this file. -
    -

    -After all these screens the users Offline Reader areas are checked to see if -you as sysop didn't change the message areas. If you made changes, the users -setup is adjusted and he will be notified. This means he sees a list -with deleted areas and new areas. -

    -Next if the user has newmail scan set to true all message bases are checked to -see if the user has new mail. This includes a check to see if he has Unix mail. -If there is Unix mail, those mails are retrieved from the POP3 server and stored -in his private mailbox. -If there is new mail for the user, the user sees a list of areas with the messages -in it and he is offered to read and reply these messages. -

    -Then if the user has show newfiles set to true and he is not a new bbs user -he will see a list of new files you have on your bbs. During this display -he can tag files for later download. -

    -The final setup is to set the users "do not disturb" flag and then the menu -system is started. The menu system will run forever, until the user chooses -to logoff, the connection is lost or his daily timelimit is reached. For the -possibilities and setup of the menus see -MBSE BBS Menu System -

     

    - -

    Environment.

    -

    -In order to run mbsebbs you must set the global variable -$MBSE_ROOT. This variable must point to the root directory -of the bbs structure. The main configuration file config.data -must be present in the ~/etc directory. -

    -If the environment variable CONNECT is present, a log entry -will be made with the connect speed. -

    -If the environment variable CALLER_ID is present, a log entry -will be made with the caller id. -

    -The environment variable LOGNAME must contain the unix -username. This is set by the mblogin program. -

    -If the environment variable REMOTEHOST is present, a log entry -will be made with the name or IP address of the remote host. -

    -If the environment variable TERM is present, a log entry -will be made with the terminal type of the remote user. -

    - -

     

    - - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/programs/mbseq.html b/mbsebbs-code/html/programs/mbseq.html deleted file mode 100644 index fb12a376..00000000 --- a/mbsebbs-code/html/programs/mbseq.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mbseq - Sequence number creator. - - - -
    - -
    Last update 31-Jan-2001
    -

    mbseq - Sequence number creator

    - -

    Synopsis.

    -

    -mbseq -

     

    - -

    Description.

    -

    -mbseq writes a eight character hexadecimal unique sequence -number to the stdout. This number is received from mbsed -which keeps track of the generated sequence numbers. This written number can -be used in shell scripts to create unique filenames for Fidonet .pkt files, -for example: -

    - -cp temp.pkt `mbseq`.pkt - -

     

    - -

    Bugs.

    -

    -Nah, it's only 50 lines code, what could go wrong? -

    - - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/programs/mbsetup.html b/mbsebbs-code/html/programs/mbsetup.html deleted file mode 100644 index b0922171..00000000 --- a/mbsebbs-code/html/programs/mbsetup.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mbsetup - The Setup Program. - - - -
    - -
    Last update 05-May-2002
    -

    mbsetup - The Setup Program

    - -

    Synopsis.

    -

    -mbsetup [init] -

     

    - -

    Description.

    -

    -mbsetup is the setup program for MBSE BBS. It should be run -only by user mbse and it fails to start if you are not. -If it is started with the optional paramater init only the databases are -initialized. This is automagic done by mbtask when you start the system -for the very first time. You should never need to use this switch. -When mbsetup is started without arguments the databases will be checked -and initialized before the main screen is displayed. -Both methods are being used to make sure all needed databases excist. -For a detailed description of all setup options see -MBSE BBS Setup Guide
    -mbsetup uses locking to protect the system databases. Some setup menus -can only be entered if the bbs is free, ie. no users logged on, no mailer -sessions, not tossing mail etc. If the bbs is free, then these menus can be -entered and the bbs will be closed. No users can login, tossers do not run etc. -Only mailer calls are still accepted. So be carefull not to stay too long in -these menus, you are blocking normal bbs use. In the top status bar this -situation is displayed. -

     

    - -

    Environment.

    -

    -In order to run mbsetup you must set the global variable -$MBSE_ROOT. This variable must point to the root directory -of the bbs structure. The main configuration file config.data -must be present in the ~/etc directory. If it is not present, ie you run -mbsetup for the first time, a default -config.data will be created. This will also happen with -several other databases. -

    - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/programs/mbstat.html b/mbsebbs-code/html/programs/mbstat.html deleted file mode 100644 index 1c9d710f..00000000 --- a/mbsebbs-code/html/programs/mbstat.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mbstat - MBSE BBS Status Changer. - - - -
    - -
    Last update 07-Jul-2001
    -

    mbstat - MBSE BBS Status Changer

    - -

    Synopsis.

    -

    -mbstat [commands] <options> -

     

    - -

    Description.

    -

    -mbstat changes the bbs status between open and close, can wait -for all users to logoff and wait for critical utilities to stop their actions. -

     

    - -

    Environment.

    -

    -In order to run mbstat you must set the global variable -$MBSE_ROOT. This variable must point to the root directory -of the bbs structure. The main configuration file config.data -must be present in the ~/etc directory. -

     

    - -

    Commands.

    -

    -mbstat semafore scanout will set the internal -semafore scanout in the mbtask daemon. The following semafore's -are valid: scanout, mailout, mailin, mbindex, reqindex, msglink. -

    -mbstat close will close the bbs for users. -Users that are just logging in to the bbs will be thrown out after a short message. -Users already logged in will be thrown out when they pass by a menu prompt. -So users who are doing file transfers can finish their transfers before being disconnected. -

    -mbstat open opens the bbs for users. -This should be run from one of the system startup scripts right after you started -mbsed. If you installed everything as it should this -command is already executed at system startup. -

    -mbstat wait will -wait for the bbs to become free. This includes a check for utilities that -do critical actions so they can finish their job without corrupting the bbs -databases. The default is to wait 60 minutes. If the semafore -upsdown exists it will wait only 30 seconds. -

    -You should run mbstat close wait in your system shutdown script so -that the system shutdown will wait for a clean shutdown of the bbs before -the rest of your system goes down. If you installed everything as it should -be then these commands are already installed in your system shutdown scripts. -

    - -

    Options.

    -

    -mbstat [command] -quiet will supress screen output. -This is good for using mbstat in scripts. -

    - - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/programs/mbtask.html b/mbsebbs-code/html/programs/mbtask.html deleted file mode 100644 index 22afdfca..00000000 --- a/mbsebbs-code/html/programs/mbtask.html +++ /dev/null @@ -1,432 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mbtask - MBSE BBS Taskmanager. - - - -
    - -
    Last update 10-Feb-2008
    -

    mbtask - MBSE BBS Taskmanager

    - -

    Sysopsis.

    -

    -mbtask [-nd] -

     

    - -

    Description.

    -

    -mbtask is the taskmanager for the whole MBSE BBS system. -This deamon keeps track of all client actions, -does the logging for the clients, does database locking, authorizes clients, -set/resets users "do not disturb flags", sends and receives chat messages, -keeps track of Zone Mail Hour, the status of the mail and files in the outbound, -and the BBS open/close status. -Communication between mbsed and the client programs is done via Unix -Datagram sockets. The protocol used to communicate between mbtask -and the clients is explained later. -This daemon also watches the semafore directory for some special files. -It also starts programs when they are needed. -The very first time mbtask is started it creates a default config.data and task.data, -the main configuration and task configuration files. -Then it calls mbsetup init to build the default databases. -mbtask should be started at system boot so the bbs system will start working. -The init script that is installed on your system will do that. -

    -After startup and initalization mbtask runs internally once per second forever. -If there is nothing to do then this time will slowly increase upto 5 seconds. This time will be reset -to one second as soon as there is work to be done. The actual work is to check a number of external and -internal semafore's and act on these. -But before any program is started a number of things are checked: -

      -
    1. Check the system's load average. If it is too busy the processing of background - tasks is suspended until your system load drops. - The default setup is set at 1.50 but you can change that with mbsetup. Experience - will learn what the best value will be and I need some feedback on that.
      -
    2. The UPS semafore upsalarm will be checked. This means that the system is running on - battery power and no new jobs are started. -
    3. The UPS semafore upsdown will be checked. This is the fatal one, if - this one exists mbtask will try to stop all current running jobs. - If there are no jobs left running then mbtask will stop itself. - The upsdown semafore means that the system - will shutdown and power off, that's why it's fatal and there is no way back.
      -
    4. The status of the bbs will be checked, is it open or closed. If it is closed, no - jobs will be started. -
    5. The Zone Mail Hour is checked. If ZMH begins the semafore's zmh is - created. - If ZMH ends the semafore zmh is removed. -
    6. Each twenty seconds a ping is send to the IP addresses defined with mbsetup to - check if the internet can be reached. If both ping addresses fail, it is assumed that - the internet can't be reached. After a status change, the outbound will be - scanned. -
    7. Scan the mailer outbound for work. This builds a list of nodes with mail - in the outbound and sets the necessary flags on nodes who may be called. - If a node needs to be called, mbtask will spawn mbcico to - call this node. The number of free modem and ISDN ports and the maximum - number of TCP/IP sessions and already registered sessions, determine - howmany sessions will be started. The sessions will be started at - intervals of 20 seconds. - It will also set a time when something will change for a node, ie. a zone - mail hour is reached, or a mail window for a node with Txx flags is - reached. Internally this scheduler runs at the UTC clock because Fidonet - has all times defined in UTC. -
    -Each new minute the timestamp of semafore mbtask.last is updated so that you can check that -mbtask is running. Also each minute is checked if the system configuration files are -changed, is so they are reloaded. There is no need to stop and start mbtask if you made -changes to the system configuration. -Then all kind of internal semafore's will be checked. The commands that are executed have default -values, but they can be changed wit mbsetup. The commands can be scripts as well. -The checks and actions are: -

    - - - - - - - - - - - - - - - -
    SemaforeSpeedTasktypeDepends onJob to run
    mailoutFastmbfidoMax. 1 mbfido taskmbfido scan web -quiet
    mailinFastmbfidoMax. 1 mbfido taskmbfido tic toss web -quiet
    newnewsFastmbfidoMax. 1 mbfido taskmbfido news web -quiet
    mbindexFastmbindexNo other tasksmbindex -quiet and if exist: goldnode
    msglinkFastmbfidoNo other tasksmbmsg link -quiet
    reqindexFastmbfileNo other tasksmbfile index -quiet
    scanoutSlowcallOnly 1 call taskmbcico -r1
    -

    -The Fast and Slow values mean: Fast is each second, Slow is check each 20 seconds. -As you can see, the system will not do too much at the same time. Jobs like compiling -new nodelists or create file request indexes have a very low priority. Because this -daemon checks the semafore's each second it responds much better that the old scripts -running on the cron daemon. The system will be expanded so that more outgoing calls -will be done at the same time, ie. ISDN and analogue calls, and if they are present -internet calls, will be made at the same time. -

    -The mbtask program keeps also track of a unique number generator, this is -just a simple counter that is increased each time it is asked for a new number. -It will take years for the numbers to repeat. Even if the status file is lost -the chance that numbers are repeated on your system are almost zero. The first -time the counter is initialized it is set to the current unix time in seconds -since 1 januari 1970. This counter is used by several programs to create unique -.pkt filenames, msgid numbers etc. -

    -The commandline option -nd is only for debugging, it allows to start -without becoming a daemon, mbtask will run in the foreground. This -option is only usefull for developers. -

     

    - -

    Environment.

    -

    -In order to run mbtask you must set the global variable -$MBSE_ROOT. This variable must point to the root directory -of the bbs structure. -

     

    - - -

    Security.

    -

    -mbtask is installed setuid root. This is needed to initialize -a raw socket for the ping function. After that is done the privilege drops to -user mbse before the child process is created and the rest -of the initialisation is done. -The child process can never get root privileges because it is spawned by user mbse. -

     

    - - -

    Communications.

    -

    -Communication between the server and the clients is established by -Unix datagram sockets. There can be only 1 server running. -The server will accept connections from clients on your local machine only. -The limit for the amount of clients that can connect to the server is set to 100. -

    -The server creates a Unix datagram socket at startup and waits for connections. -The name of this this socket is /opt/mbse/tmp/mbtask. -When a client connects it creates a Unix datagram socket in /opt/mbse/tmp, the name is -the name of the program, added with the pid of the program. So if mbcico is started -with pid 2312 the socket will be /opt/mbse/tmp/mbcico2312. -

    -All commands are 4 capital letters followed by a colon, a number indicating -how much data fields will follow. If that number is higher than zero, the -data fields are seperated with commas. The command is terminated -with a ; character. Examples are:
    -

    -GCLO:0;                 Zero datafields command.
    -DOPE:1,dbname;          One datafield command.
    -
    -All commands will receive a reply as soon as possible. If a -resource is temporary not available, a reply will follow too, telling -this condition. Replies can also contain optional data. Examples:
    -
    -100:0;                  Response 100, no data.
    -200:1,Syntax error;     One datafield.
    -
    -Because data fields in commands and replies are separated and terminated by -, and ; characters these characters need to be escaped. Also characters outside -the us-ascii range must be escaped. This is done by translating the character -to a backslash followed by the hexadecimal number of the character. -The server has a 10 minute timeout for receiving data when a connection -is established. The clients need to "ping" the server at regular intervals -to prevent a disconnect. All official MBSE BBS programs do that. The pid -send with most commands is the pid of the calling program. Since this number -is unique, it is used to keep track of the connected clients. -

    -The commands are divided in 26 catagories, most unused at this time. -

    -

    -Catagories:
    -
    -Cat.    Description
    -----    -------------------------------------------
    -Axxx    Accounting, system monitor info etc.
    -Cxxx    Chatting
    -Dxxx    Disk watch
    -Gxxx    Global commands.
    -Mxxx    MIB commands.
    -Sxxx    Status commands.
    -
    -
    -
    -         Group A, Accounting.
    -
    -Command: AINI:5,pid,tty,uid,prg,city;   Initialize connection, and who am I.
    -Reply:   100:1,line;                    Ok, linen is a logical linennumber for the bbs.
    -         200:1,Syntax Error;            Error.
    -
    -Command: ADOI:2,pid,doing;              What am I doing right now.
    -Reply:   100:0;                         Ok.
    -         200:1,Syntax Error;            Error.
    -
    -Command: ACLO:1,pid;                    Close my connection.
    -Reply:   107:0;                         Connection closed.
    -         200:1,Syntax Error;            Error, connection is still open.
    -
    -Command: ALOG:5,fil,prg,pid,grade,txt;  Write a line of text in logfile with grade.
    -Reply:   100:0;                         Ok.
    -         201:1,errno;                   Error, number in errno.
    -
    -Command: ATCP:1,pid;			Registrate this session as TCP/IP session.
    -Reply:   100:0;				Ok.
    -         200:1,Syntax Error;		Error.
    -
    -Command: AUSR:3,pid,uid,city;           Set username and city
    -Reply:   100:0;                         Ok.
    -         200:1,Syntax Error;            Error.
    -
    -Command: ADIS:2,pid,flag;               Set Do Not Disturb flag.
    -Reply:   100:0;                         Ok.
    -         200:1,Syntax Error;            Error.
    -
    -Command: ATIM:1,time;                   Set new Client/Server timer in seconds.
    -Reply:   100:0;                         Ok.
    -         200:1,Syntax Error;            Error.
    -
    -Command: ADEF:0;                        Set Client/Server timer to default (10 minutes).
    -Reply:   100:0;                         Ok.
    -         200:1,Syntax Error;            Error.
    -
    -Command: ATTY:2,pid,tty;                Set new tty name.
    -Reply:   100:0;                         Ok.
    -         200:1,Syntax Error;            Error.
    -
    -
    -         Group C, Chatting
    -
    -Command: CIPM:1,pid;                    Is Personal Message present.
    -Reply:   100:2,fromname,message;        Yes, from .. with message text.
    -         100:0;                         No.
    -
    -Command: CSPM:3,fromuser,touser,txt;    Send personal message to user.
    -Reply:   100:1,n;                       n: 0=Ok, 1=Do not disturb, 2=Buffer full, 3=Error.
    -         100:0;                         Impossible.
    -
    -Command: CSYS:2,pid,1;                  Sysop available for chat (from mbmon).
    -         CSYS:2,pid,0;                  Sysop goes away (from mbmon).
    -Reply:   100:0;                         Always Ok.
    -
    -Command: CPAG:2,pid,reason;             Page sysop for a chat.
    -Reply:   100:1,n;                       1=busy, 2=sysop not available, 3=error.
    -         100:0;                         Ok
    -
    -Command: CCAN:1,pid;                    Cancel sysop page.
    -Reply:   100:0;                         Always Ok.
    -
    -Command: CCKP:0;                        Check sysop page (from mbmon).
    -Reply:   100:3,pid,1,reason;            Page is active.
    -         100:3,pid,0,reason;            Page is cancelled, user still online.
    -         100:0;                         No page active.
    -
    -Command: CISC:1,pid;                    Check sysop in chatmode.
    -Reply:   100:1,1;                       Yes and drop into chatmode.
    -         100:1,0;                       No.
    -
    -Command: CCON:4,pid,username,unixname,n; Connect to chatserver with username. n=1 user is sysop.
    -Reply:   100:1,error;                   Error with message.
    -         100:0;                         Ok.
    -
    -Command: CCLO:1,pid;                    Close chat session.
    -Reply:   100:1,error;                   Error.
    -         100:0;                         Ok.
    -
    -Command: CPUT:2,pid,message;            Put message on chatserver.
    -Reply:   100:2,0,error;                 Error, not fatal and continue.
    -         100:2,1,error;                 Error, fatal and disconnect chat.
    -	 100:0;                         Ok.
    -
    -Command: CGET:1,pid;                    Get message from chatserver.
    -         100:2,0,message;               If message present.
    -	 100:2,1,error;                 Error and disconnect chat.
    -	 100:0;                         No new message.
    -
    -
    -         Group D, Disk watch command.
    -
    -Command: DRES:0;                        Reset and reread disk tables.
    -Reply:   100:0;                         Always Ok.
    -
    -Command: DSPC:0;                        Enough free diskspace.
    -Reply:   100:1;n;                       0=No, 1=Yes, 2=Unknown, 3=Error.
    -
    -Command: DGFS:0;                        Get filesystem status (see note below).
    -         100:n,data1, ..., data10;      Maximum 10 filesystems datalines.
    -
    -
    -         Group G, Global commands.
    -
    -Command: GNOP:0;                        No OPerations.
    -Reply:   100:0;                         Ok.
    -
    -Command: GPNG:1,data;                   Ping, echo data.
    -Reply:   100:1,data;                    Ping reply.
    -
    -Command: GVER:0;                        Give server version.
    -Reply:   100:1,Version ....;            Version reply.
    -
    -Command: GSTA:0;                        Get complete mbsed status record. (13 fields)
    -Reply:   100:19,start,laststart,daily,startups,clients,tot_clients,tot_peak,syntax_errs,
    -                com_errs,today_clients,today_peak,today_syntax,today_comerr,bbsopen,
    -                is_zmh,do_inet,processing,system_load,sequence;
    -
    -Command: GMON:1,n;                      Get registration info line, 1=First, 0=Next line.
    -Reply:   100:7,pid,tty,user,program,city,isdoing,starttime;
    -         100:0;                         No more lines.
    -
    -Command: GSYS:0;                        Get bbs statistics.
    -         100:7,calls,pots_calls,isdn_calls,network_calls,local_calls,startdate,lastcaller;
    -
    -Command: GLCC:0;                        Get Lastcallers count
    -         100,1,n;                       Return counter value.
    -
    -Command: GLCR:1,recno;                  Get Lastcaller record
    -         100:9,user,location,level,tty,time,minsmcalls,speed,cations;
    -         201:1,16;                      Not available.
    -
    -
    -         Group M, MIB commands.
    -
    -Command: MSMS:6,kbrcvd,kbsent,direction,state,itype,freqs; Set Mailer Session
    -Reply:   100,0;
    -
    -Command: MGMS:0;			Get Mailer Session
    -Reply:	 100:12,kbrcvd,kbsent,sessin,sessout,sess_sec,sess_unseq,sess_bad,ftsc,yoohoo,emsi,binkp,freqs;
    -
    -Command: MSTN:3,in,out,bad;		Set Tosser Netmail
    -Reply:   100,0;
    -
    -Command: MGTN:0;			Get Tosser Netmail
    -Reply:	 100:3,in,out,bad;
    -
    -Command: MSTI:3,in,out,bad;		Set Tosser Internet-email
    -Reply:   100,0;
    -
    -Command: MGTI:0;			Get Tosser Internet-email
    -Reply:   100:3,in,out,bad;
    -
    -Command: MSTE:4,in,out,bad,dupe;	Set Tosser Echomail
    -Reply:   100:0;
    -
    -Command: MGTE:0;			Get Tosser Echomail
    -Reply:   100:4,in,out,bad,dupe;
    -
    -Command: MSTR:4,in,out,bad,dupe;	Set Tosser RFC-news
    -Reply:   100:0;
    -
    -Command: MGTR:0;			Get Tosser RFC-news
    -Reply:   100:4,in,out,bad,dupe;
    -
    -Command: MGTT:0;			Get Tosser Totals
    -Reply:	 100:4,in,out,bad,dupe;
    -
    -Command: MSFF:6,in,out,bad,dupe,magics,hatched;	Set Tosser Files
    -Reply:   100:0;
    -
    -Command: MGFF:0;			Get Tosser Files
    -Reply:   100:6,in,out,bad,dupe,magics,hatched;
    -
    -Command: MSBB:9,sessions,minutes,posted,uploads,kbupload,downloads,kbdownload,chats,chatminutes; Set BBS
    -Reply:   100:0;
    -
    -Command: MGBB:0;			Get BBS
    -Reply:	 100:9,sessions,minutes,posted,uploads,kbupload,downloads,kbdownload,chats,chatminutes
    -
    -Command: MGOB:0;			Get Outbound Size
    -Reply:   100:1,size;
    -
    -
    -         Group S, Status commands.
    -
    -Command: SBBS:0;                        Get BBS Status (open, zmh, shutdown).
    -Reply:   100:2,0,The system is open for use;
    -         100:2,1,The system is closed right now!;
    -         100:2,2,The system is closed for Zone Mail Hour!;
    -
    -Command: SOPE:0;                        Open the BBS.
    -Reply:   100:0;                         Ok.
    -
    -Command: SCLO:1,mesage;                 Close the BBS with reason.
    -Reply:   100:0;                         Ok.
    -
    -Command: SFRE:0;                        Is the BBS Free.
    -Reply:   100:1,Running utilities: n  Active users: n;
    -         100:0;                         It's free.
    -
    -Command: SSEQ:0;                        Get next unique sequence number.
    -Reply:   100:1,number;                  Next unique sequence number.
    -
    -Command: SEST:1,semafore;               Get status of internal semafore.
    -Reply:   100:1,n;                       1 = set, 0 = not set.
    -         200:1,16;                      Semafore not known.
    -
    -Command: SECR:1,semafore;               Set semafore
    -Reply:   100:0;                         Ok.
    -         200:1,16;                      Error.
    -
    -Command: SERM:1,semafore;               Remove semafore
    -Reply:   100:0;                         Ok (also if there was no semafore).
    -         200:1,16;                      Semafore not known.
    -
    -Note: in reply of DGFS the reply is 100:n,size free mountpoint fstype,..... -where n = 1 for 1 filesystem, and 10 for a total of 10 filesystems. There -will never be a reply for more then 10 filesystems. The reported filesystems -are collected by a thread process of mbtask that only includes the filesystems -actually used by mbse. -This is used by the mbmon program to get a "live" view of your filesystems. -The GSPC command is used by utilities to check if enough space is available to -continue to work safely. -

     

    - -IndexBack to index  -MainBack to Main index -

    - - diff --git a/mbsebbs-code/html/programs/mbtoberep.html b/mbsebbs-code/html/programs/mbtoberep.html deleted file mode 100644 index 02cd8116..00000000 --- a/mbsebbs-code/html/programs/mbtoberep.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mbtoberep - List newfiles to report. - - - -
    - -
    Last update 31-Jan-2001
    -

    mbtoberep - List newfiles to report

    - -

    Synopsis.

    -

    -mbtoberep -

     

    - -

    Description.

    -

    -mbtoberep is a small utility to list the file -~/etc/toberep.data which contains the newfiles found on your system before -mbaff announce is run. This program is intended for system -development but I decided to leave it in the distribution for now. If you -pipe the output thru more or less you are able to inspect the records. -

     

    - -

    Environment.

    -

    -In order to run mbtoberep you must set the global variable -$MBSE_ROOT. This variable must point to the root directory -of the bbs structure. The main configuration file config.data -must be present in the ~/etc directory. -

    - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/programs/mbuser.html b/mbsebbs-code/html/programs/mbuser.html deleted file mode 100644 index 99f246a5..00000000 --- a/mbsebbs-code/html/programs/mbuser.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mbuser - User Database Maintenance. - - - -
    - -
    Last update 02-Feb-2001
    -

    mbuser - User Database Maintenance

    - -

    Sysnopsis.

    -

    -mbuser [commands] <options> -

     

    - -

    Description.

    -

    -mbuser is the user database maintenance program. It can delete -users upto a certain level who have not called for a number of days. It can -also pack the user database. This is not really a pack of the database, the -deleted records are zeroed but the database is never shrinked. Every user -once in this database will keep his record forever. This is to be sure that -all LastRead Pointers will be correct. Records that are zeroed can be -reused for new users. mbuser must run setuid root and -setgid root because it executes /usr/sbin/userdel to delete the Unix account -of the user that is removed from the bbs. -

     

    - -

    Environment.

    -

    -In order to run mbuser you must set the global variable -$MBSE_ROOT. This variable must point to the root directory -of the bbs structure. The main configuration file config.data -must be present in the ~/etc directory. mbuser must be -installed setuid root and setgid root, ls -la looks like this:
    -

    --rws--s--x   1 root     root        23560 Jun 19 19:50 /opt/mbse/bin/mbuser*
    -
    -

     

    - -

    Commands.

    -

    -mbuser kill [n] [l] will mark users to delete who have not -called in n days upto and including level l. -

    -mbuser pack will delete (zero) the users marked for deletion. -You should also run this command if you marked users to delete with -mbsetup. -

     

    - -

    Options.

    -

    -mbuser [command] -quiet will suppress screen output, this is -for running mbuser in the background or from the crontab. -

    - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/programs/mbuseradd.html b/mbsebbs-code/html/programs/mbuseradd.html deleted file mode 100644 index 864f80da..00000000 --- a/mbsebbs-code/html/programs/mbuseradd.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - -MBSE BBS Programs - mbuseradd - The useradd wrapper. - - - -
    - -
    Last update 27-Aug-2005
    -

    mbuseradd - The useradd wrapper.

    - -

    Sysnopsis.

    -

    -mbuseradd [gid] [username] [comment] [userdir] -

     

    - -

    Description.

    -

    -mbuseradd is the wrapper for the useradd -program that should be present on most GNU/Linux systems. useradd -may only be executed by root and there are some other minor -things that need to be done as root to create a new Unix -account that can be used with MBSE BBS. The solution for these problems is -mbuseradd, this little program runs setuid root and setgid -root. If it fails to do that it aborts. mbuseradd is called -by mbnewusr and checks if it's called like that. -If it is successfull the user will -have an entry in /etc/passwd, the comment is his Fidonet name, and his shell -is $MBSE_ROOT/bin/mbsebbs. -

    -If all this is successfull until now, the homedirectory for this user is -created and the right ownership and permissions are set. In his homedirectory -the empty file .hushlogin is placed to prevent check for -new mail when he logs into your system. This is the Unix mailcheck that is -skipped and has nothing todo with the check for new mail in the bbs. All -other directories that are needed for the bbs are created by mbsebbs. -

     

    - -

    Environment.

    -

    -In order to run mbuseradd you must set the global variable -$MBSE_ROOT. This variable must point to the root directory -of the bbs structure. The main configuration file config.data -must be present in the ~/etc directory. mbuseradd must be -installed setuid root and setgid root, ls -la looks like this:
    -

    --rws--s--x   1 root     root         6644 Jun 26 21:23 /opt/mbse/bin/mbuseradd*
    -
    -

     

    - -

    Commands.

    -

    -Not mentioned here because mbuseradd is only called by mbnewusr, -running manually is not supported. - -

    - -IndexBack to index  -MainBack to Main index -

    - - - diff --git a/mbsebbs-code/html/routing.html b/mbsebbs-code/html/routing.html deleted file mode 100644 index 08ed3027..00000000 --- a/mbsebbs-code/html/routing.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - - - -Netmail routing behaviour. - - - -
    - -
    Last update 22-Oct-2001
    -

    MBSE BBS Netmail routing behaviour

    - -

    Introduction

    -

    -The mbfido program that is responsible for unpacking, -importing, exporting and routing of netmail has a build in default routing -plan. In general this is quite simple, if we know the destination node or -his uplink, (that node or uplink is in our setup), then we will route via -that node in our setup. If the node or his uplink is not in our setup, then -the nodelist is used and normal fidonet routing is used. This means, if you -are a node, everything goes to your hub, if you are a hub, then mail for -your downlinks will go direct to the downlinks because they are in your setup, -everything else goes to the host. -If you are a host, then your own downlinks will get the mail direct, -the downlinks of the hubs in your net well be routed via the hubs below you. -If it is for a node in your region but outside your net, mail will be routed via -the other hosts in your region. Mail to outside your region will go to the -region coordinators system. -

     

    - -

    Tracking and bouncing

    -

    -At this moment there is no bouncing of undeliverable mail. I will built this -in, but it will only work inside your own net. I will never include code for -bouncing mail outside your net, because nodelists are always not uptodate. -

     

    - -

    Special routing

    -

    -What if you need special routing. The solution is simple, add the routing -nodes to your setup and fill in the "route via" field. If you don't have a -session password with that node, leave the password fields blank. This node -will never know that he is in your setup as long as you have the notify -settings for that node switched off. To figure -out such solutions yourself, I have included the flow diagrams for the tracking -module. -

     

    - -

    Main tracking routine:

    -
    -
    -	+=============================+
    -	|     Trackmail to dest.      |
    -	+--------------+--------------+
    -		       |
    -	++-------------+-------------++
    -	||   rc = GetRoute to dest   || (See next diagram).
    -	++-------------+-------------++
    -		       |
    -	+--------------+--------------+  yes
    -	|       rc = R_NOROUTE        +-----------------+
    -	+--------------+--------------+		+-------+--------+
    -		       | no			| res: R_NOROUTE |
    -		       |			+================+
    -	+--------------+--------------+  yes
    -	|       rc = R_UNLISTED       +-----------------+
    -	+--------------+--------------+		+-------+--------+
    -		       |			| res: R_UNLISTED|
    -		       |			+----------------+
    -	+--------------+--------------+  yes
    -	|        rc = R_LOCAL         +-----------------+
    -	+--------------+--------------+		+-------+--------+
    -		       | no			| result: R_LOCAL|
    -		       |			+================+
    -	+--------------+--------------+  no
    -	|   routing node in setup ?   +-----------------+
    -	+--------------+--------------+		+-------+--------+
    -		       | yes			|   result:  rc  |
    -		       |			+================+
    -	+--------------+--------------+  no
    -	|   "Route via" filled in ?   +-----------------+
    -	+--------------+--------------+		+-------+--------+
    -		       | yes			|  res: R_ROUTE  |
    -		       |			+================+
    -	+--------------+--------------+
    -	|   Change route to address   |
    -	|       result = R_ROUTE      |
    -	+=============================+
    -
    -
    -

    Sub function GetRoute:

    -
    -
    -	+=============================+
    -	|          GetRoute           |
    -	+--------------+--------------+
    -		       |   
    -	+--------------+--------------+
    -	|      Add domain name	      |
    -	+--------------+--------------+
    -		       |
    -	+--------------+--------------+ yes
    -	|  Is dest our own address ?  +------------------+
    -	+--------------+--------------+		+--------+-------+
    -		       | no			|   rc = R_LOCAL |
    -		       |			+================+
    -	+--------------+--------------+ yes
    -	| Is dest our point address ? +------------------+
    -	+--------------+--------------+		+--------+-------+
    -		       | no			|  rc = R_DIRECT |
    -		       |			+================+
    -	+--------------+--------------+ yes (route to boss)
    -	|    Are we a point system    +------------------+
    -	+--------------+--------------+		+--------+-------+
    -		       | no			| dest is my Boss|
    -		       |                        |  res: R_DIRECT |
    -		       |			+----------------+
    -	+--------------+--------------+ yes
    -	| Dest. addr. in nodes setup? +------------------+
    -	+--------------+--------------+		+--------+-------+
    -		       | no			|  rc = R_DIRECT |
    -		       |			+================+
    -	+--------------+--------------+ yes
    -	| Boss of point dest in setup +------------------+
    -	+--------------+--------------+		+--------+-------+
    -		       | no			|  rc = R_DIRECT |
    -		       |			|   dest = Boss  |
    -		       |			+================+
    -	+--------------+--------------+ 
    -	| Is node listed and do we    | yes
    -        | know his uplink in setup ?  +------------------+
    -	+--------------+--------------+		+--------+-------+
    -		       | no			| dest is uplink |
    -		       |			|  rc = R_DIRECT |
    -		       |			+================+
    -	+--------------+--------------+ yes
    -	|   Are we host in network ?  +------------------+
    -	+--------------+--------------+		+--------+-------+
    -		       | no			| Set host addr. |
    -		       |			+--------+-------+
    -		       |				 +----------+
    -	+--------------+--------------+ yes			    |
    -	|    Are we hub in domain ?   +------------------+	    |
    -	+--------------+--------------+		+--------+-------+  |
    -		       | no			|  Set hub addr. |  v
    -		       |			+--------+-------+  |
    -		       |				 |	    |
    -		       +---------------<-----------------+-----<----+
    -		       |
    -	+--------------+--------------+
    -	|    Set our region number    |
    -	+--------------+--------------+
    -		       |
    -		       |
    -	+--------------+--------------+ no
    -	|       Host address set ?    +-----------------------------+
    -	+--------------+--------------+				    |
    -		       | yes					    |
    -		       |					    |
    -	+--------------+--------------+ 
    -        |  Dest region <> our region  | yes			    |
    -	|  or Dest zone <> our zone   +------------------+	    |
    -	+--------------+--------------+		+--------+-------+  |
    -		       | no			|   Dest to RC   |  |
    -		       |			|  rc = R_ROUTE  |  |
    -		       |			+================+  |
    -	+--------------+--------------+ yes			    |
    -	|     Dest net <> our net     +------------------+	    |
    -	+--------------+--------------+		+--------+-------+  |
    -		       | no			| to host destnet|  |
    -		       |			|  rc = R_ROUTE  |  |
    -		       |			+================+  |
    -	+--------------+--------------+ yes			    |
    -	|       Has node a hub        +------------------+	    |
    -	+--------------+--------------+		+--------+-------+  |
    -		       | yes			| to node's hub  |  |
    -		+------+--------+		|  rc = R_ROUTE  |  |
    -		| dest is direct|		+================+  |
    -		|  rc = R_ROUTE |				    |
    -		+===============+				    |
    -								    |
    -		       +------------------------<-------------------+
    -	+--------------+--------------+ no
    -	|       Hub address set ?     +-----------------+
    -	+--------------+--------------+		+-------+--------+
    -		       | yes			|  via our hub   |
    -		       |			|  rc = R_ROUTE  |
    -		       |			+================+
    -	+--------------+--------------+ yes
    -	|  Dest node of our hub addr  +-----------------+
    -	+--------------+--------------+		+-------+--------+
    -		       | no			|  rc = R_DIRECT |
    -		       |			+================+
    -		+------+-------+
    -		| dest is host |
    -		| rc = R_ROUTE |
    -		+==============+
    -
    -
    - -BackGo Back -
    - - diff --git a/mbsebbs-code/html/setup/archiver.html b/mbsebbs-code/html/setup/archiver.html deleted file mode 100644 index 6e88e193..00000000 --- a/mbsebbs-code/html/setup/archiver.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Archiver programs. - - - -
    - -
    Last update 09-Nov-2003
    -

    MBSE BBS Setup - archiver programs

    - -To process mail, files and test new uploads you need archivers to process those -files. For each (un)archiver you must setup the full path and filename and -commandline switches. Archivers and unarchivers may be different programs such -as zip and unzip.

    -There is a little -difference in processing mail and files, mail will always work on the same -directory, while for ticfile processing the archives can contain subdirectories. -So it is obvious that for rearchiving a file you need the recursive -switches to keep the directory structure within an archive as it was.

    -There is also a special command to replace a banner in an archive. This is when -you receive files with the banner of your uplink in it and you want to replace -it with the add of your own bbs and you don't want to mess with the files in -the archive.

    -The last option is to extract the file FILE_ID.DIZ from the -archive, this can be used for file description when the file is imported in -your bbs. To make life a little more easy, during the first bbs setup the most -common archivers already configured. You only need to make sure that they are -really present on your system. -

    -When you configured the sources and build mbse, the configure script searched -for excisting archivers. When mbsetup was run the first time, when mbtask was -started, the archivers found on your system are already configured with the -right paths and enabled. -If you want the refresh the archivers configuration again after you added new -archiver programs, then remove /opt/mbse/etc/archiver.data. Compile the whole -bbs again, start with make clean and ./configure. -After you reinstalled the binaries, run mbsetup and the new archivers are -automagic added to the setup. Of course, you can also add new archivers -manually. Archivers that were not originally found but are known, are present in -the setup but are disabled. -

    - -BackBack to index  -HomeBack to main index -

    - - - diff --git a/mbsebbs-code/html/setup/bbs.html b/mbsebbs-code/html/setup/bbs.html deleted file mode 100644 index c7dcabfb..00000000 --- a/mbsebbs-code/html/setup/bbs.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Edit BBS Setup. - - - -
    - -
    Last update 02-Mar-2003
    -

    MBSE BBS Setup - Edit BBS Setup.

    - -

    Edit BBS Setup.

    -

    -The BBS setup is split in the following sections: -

    - -

      -
    1. Security limits -
    2. Language setup -
    3. BBS menus -
    4. File areas -
    5. Transfer protocols -
    6. BBS List data -
    7. Oneliners -
    - -BackBack to index  -HomeBack to main index -
    - - - diff --git a/mbsebbs-code/html/setup/chat.html b/mbsebbs-code/html/setup/chat.html deleted file mode 100644 index 2740b624..00000000 --- a/mbsebbs-code/html/setup/chat.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Internet BBS Chat. - - - -
    - -
    Last update 16-Nov-2005
    -

    MBSE BBS Setup - Internet BBS Chat

    - -

    Introduction.

    -

    -MBSE BBS has the chat system that can be linked via internet, Internet BBS -Chat (IBC) using the protocol described in FSP-9999.999. With this setup you can -define other BBS systems to link with. To use IBC with other systems you need to -make sure that UDP port 60179 is open on your firewall. -

     

    - -

    Edit systems

    -

    -

    -Comment   The remote BBS name or a comment.
    -Server    The Full Qualified Domain Name of the remote.
    -Dyn. DNS  Yes if the remote uses a dyndns name.
    -Myname    My FQDN (default copied from 1.2.10).
    -Password  The password for the link.
    -Active    Is the link active.
    -Deleted   If this records must be deleted.
    -Compress  Use zlib compression on the link (Not yet).
    -
    -

    - -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/domains.html b/mbsebbs-code/html/setup/domains.html deleted file mode 100644 index 115c41ab..00000000 --- a/mbsebbs-code/html/setup/domains.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Edit Domains. - - - -
    - -
    Last update 25-Oct-2001
    -

    MBSE BBS Setup - Edit Domains.

    - -

    Introduction.

    -

    -The domains table is used to translate Fidonet domains to internet domains -and back for the Fidonet <-> Internet gateway. When you add entries to -this table make sure that the entry .fidonet and -.ftn is always the last entry. This is the default entry. -New added domains can be moved in place with the Move -command. -

     

    - -

    Edit Domains.

    -

    -

    -Fidonet   The Fidonet domain to match.
    -Internet  The internet domain to match.
    -Active    If this domain is active.
    -Deleted   If this domain must be deleted.
    -
    -

    -Next is an example table. -

    -Domains example -

    -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/emareas.html b/mbsebbs-code/html/setup/emareas.html deleted file mode 100644 index c7862425..00000000 --- a/mbsebbs-code/html/setup/emareas.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Mail Setup - Mail Areas. - - - -
    - -
    Last update 14-Oct-2007
    -

    MBSE BBS Setup - Mail Setup -> Mail Areas.

    - -

    Introduction.

    -

    -Mail areas have fixed area numbers, just like file areas. But if you want you -can move areas. -Some offline readers don't like changing the area numbers. All areas can -be of the following types: local, netmail, echomail and news. If you gate -news and echomail in the same area, then select echomail -if this area is a Fidonet area, select news if this area is a Usenet news area. -

    -There is a global setup tool, if you are in the main message area setup screen then -you can choose the Global command. This will allow you to do bulk changes on areas -selected by the mail groups. Options are delete connection, add new connection, -replace connection, change connection status, change days old for purge, change -maximum messages for purge, change user security, change aka to use, change origin line, -change netmail reply board and delete message area. -

     

    - -

    Message Area Setup.

    -

    -

    -Area Name   The description of the area.
    -Area Tag    The echomail area tag.
    -Group       The name of the echomail group.
    -Newsgroup   The newsgroup name if you are gating this area.
    -JAM base    The path and name of the JAM message base without extension.
    -Origin      The origin line to add to echomail messages.
    -Fido Aka    The Fidonet aka for this area.
    -QWK name    The name of the area for OffLine Readers.
    -Distrib.    Leave this blank for now!
    -Area Type   Local, Netmail, Echomail or News.
    -Msg Kinds   Private/Public, Private, Public, Read Only.
    -Charset     Default characterset for the area
    -Active      If this area is active.
    -Days Old    The maximum age of the messages before purging.
    -Max. Msgs   The maximum messages in this area.
    -Articles    The maximum news headers to fetch.
    -Netreply    Netmail reply area if this is echomail.
    -Read Sec.   The security level to read messages.
    -Write Sec.  The security level to write messages.
    -Sysop Sec.  The security level to do sysop actions.
    -User Del.   Users may delete their own messages.
    -Aliases     Allow the use of an Alias.
    -Quotes      Add a random quote under new messages (Oneliner database).
    -Mandatory   If this area is mandatory for downlinks.
    -UnSecure    Don't check link address during toss (Dangerous!).
    -OLR Default Switch area default on for OLR users.
    -OLR Forced  Area is always on for OLR users.
    -Connections This will take you to the screen to edit up and downlinks.
    -Security    The security flags for downlinks to access this area.
    -
    -

    - -Mail areas setup -

     

    - -

    Edit connection

    -

    -

    -Aka         The network address.
    -Send to     Export mail to this node.
    -Recv from   Import mail form this node.
    -Pause       The node is temporary disconnected.
    -Excluded    The node is disconnected by the sysop.
    -Delete      Delete this connection.
    -
    -

    -A note about the excluded switch. This can be used to disconnect a node -from the area by moderator request. AreaMgr requests from that node -for this area are not processed anymore, he cannot disconnect this area -and reconnect. -If you want to block access to the area in a certain group for a node who has -access to the group you should use the Security flags and also set the correct -security flags for the node. -

     

    - - -

    Global Commands.

    -

    -From menu 9.2 you can enter the global commands menu. In this menu you can: -

      -
    1. Delete connection -
    2. Add new connection -
    3. Replace connection -
    4. Change connection status -
    5. Change days old -
    6. Change max. messages -
    7. Change max. articles -
    8. Change bbs security -
    9. Change link security -
    10. Change aka to use -
    11. Change origin line -
    12. Change netmail reply -
    13. Delete message area -
    -After you have selected the action you want and added the items to do, you will see -a screen were you can select message area groups. You can then tag one or more -groups and press enter when you are done. Then you have one chance to perform the -actions or to bail out. All areas matching in that group are affected by your -changes. If you are not happy with the result, don't save the database and no -harm is done. The file mbsetup.log shows all affected areas. -

     

    - - -

    Automatic area creation.

    -

    -If you want to use the automatic area creation you have to define this in the -message area groups. This has been changed since MBSE BBS version 0.33.19. -

    - -BackBack to Mail Setup  -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/emgroup.html b/mbsebbs-code/html/setup/emgroup.html deleted file mode 100644 index 261c0700..00000000 --- a/mbsebbs-code/html/setup/emgroup.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Mail Setup - Message Groups. - - - -
    - -
    Last update 27-Mar-2006
    -

    MBSE BBS Setup - Mail Setup - Message Groups.

    - -

    Introduction.

    -

    -Message Groups are to logically divide your echomail areas in groups for -different mail networks. It makes sense to select the groups by uplink, and -areas file that is available for each network. When you have defined a Areas -file and a message is received while you have no area for it, the area will be -created with the defaults that are set in the message area group. This will only -work if you receive a message from the uplink defined in this group, not from -any downlinks. -A note about the Start at area you can define, this may be higher then -your number of areas currently is. As soon as a area is created in this group -the areas database will be expanded so that it fits. Select these values -carefully, make sure you have room for all possible areas in that group and -skip a number of extra areas for future expansion. -

     

    - -

    Message Group Setup.

    -

    -

    -Name        The name of the group.
    -Comment     The description of the group.
    -Base path   The base for the JAM path without the area name.
    -Read sec    The read security for bbs users for auto created areas.
    -Write sec   The write security for bbs users for auto created areas.
    -Sysop sec   The sysop security for bbs users for auto created areas.
    -Link sec    The link security to copy to new created areas.
    -Start at    Start area number (lowest) to create new areas.
    -Net reply   Netmail reply board for auto created areas.
    -Users del   User may delete for auto created areas.
    -Aliases     Are aliases allowed in auto created areas.
    -Quotes      Append a quote when user writes in auto created areas.
    -Active      If this group is active.
    -Deleted     If this group must be deleted.
    -Auto change Change areas when running mbfido areas.
    -User change Create/delete areas when users connect/disconnect.
    -Use Aka     The Fidonet aka to use.
    -Uplink      The Fidonet aka of your uplink.
    -Areas       Areas file in the path defined in 1.4.6 screen 2.
    -Charset     Default character set to use.
    -GoldED grp  Groupnumber for GoldED include file.
    -
    -

    -Mail groups setup -

    - -BackBack to Mail Setup  -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/fdb.html b/mbsebbs-code/html/setup/fdb.html deleted file mode 100644 index 2e13d1b7..00000000 --- a/mbsebbs-code/html/setup/fdb.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Files Database. - - - -
    - -
    Last update 08-Mar-2004
    -

    MBSE BBS Setup - Files Database.

    - -

    Introduction.

    -

    -This option allows you to manually edit the files in the files database. -The option to edit the file description is not present at this moment, but -will be when I have the time. The basic file entries can't be changed. -

     

    - -

    Edit File.

    -

    -

    -FileName  The 8.3 filename of the file.
    -Long fn   The long filename of the file.
    -FileSize  The size of the file in bytes.
    -FileDate  The real date of the file.
    -Last DL.  The date of the last download of the file.
    -Upl.Date  The upload date.
    -TIC Area  The name of the tic area the file was received in.
    -Magic     The magic name to download/freq this file.
    -Uploader  The name of the uploader.
    -Times DL  The number of times downloaded from the BBS.
    -Password  The password to access this file.
    -Deleted   If this file should be deleted.
    -No Kill   Don't delete this file with mbfile
    -Announced If this file is ever announced as new.
    -
    -

    - -File database setup -

    - -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/fegroup.html b/mbsebbs-code/html/setup/fegroup.html deleted file mode 100644 index 33725be2..00000000 --- a/mbsebbs-code/html/setup/fegroup.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - File Echo's Setup - File Groups. - - - -
    - -
    Last update 08-Mar-2003
    -

    MBSE BBS Setup - File Echo's Setup - File Groups.

    - -

    Introduction.

    -

    -File echo groups are to logically divide your file echo's for different -file distribution networks. -This screen also has a lot of fields that are needed for the auto area create. -When a new area is created a bbs download area is made and a new tic area record -is made. -It makes sense to select the groups by uplink and -area file that is available for that file distribution network. By doing that -downlinks can connect areas that are not yet connected at your bbs but are -available from your uplink. If you are connected to the filegate then there is -one area file for all distribution groups. You must then create a file group for -each distribution group, ie. Fidonet, SDS etc. The name of that group must -exactly match the comment field in the group in this setup. -

     

    - -

    File Group Setup.

    -

    -

    -Name      File Echo Group name.
    -Comment   The description of that group.
    -Base path The base path for new created areas.
    -Active    If this group is active.
    -Use Aka   The Fidonet aka to use for this group
    -Uplink    The Fidonet aka of the uplink.
    -Areas     The name of the areas file (in ~/var/arealists).
    -Filegate  Is area file in filegate.zxx format or not.
    -Banner    Banner file to add to archives.
    -Convert   Archiver to convert archive to.
    -BBS group BBS group name.
    -New group New files announce group.
    -Active    If this group is active.
    -Deleted   If this group must be deleted.
    -Start at  New created areas must start at area nr.
    -Auto chng Auto change when running mbfido areas
    -User chng Auto create areas on downlinks requests.
    -Replace   Set replace option in new areas.
    -Dupecheck Set Dupecheck option in new areas.
    -Secure    Set secure option in new areas.
    -Touch     Set Touch filedate option in new areas.
    -Virscan   Set virus scanner option in new areas.
    -Announce  Set announce files option in new areas.
    -Upd magic Set update magicname option in new areas.
    -File ID   Set File ID option in new areas.
    -Conv. all Set convert all option in new areas.
    -Send orig Set send original option in new areas.
    -DL sec    Set download security in new areas.
    -UP sec    Set upload security in new areas.
    -LT sec    Set list security in new areas.
    -Upl. area Set upload area number in new areas.
    -Link sec  Set link security to copy to new areas.
    -
    -

    -File echo groups setup -

    - -BackBack to File Echo's Setup  -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/fidonet.html b/mbsebbs-code/html/setup/fidonet.html deleted file mode 100644 index 5bda8598..00000000 --- a/mbsebbs-code/html/setup/fidonet.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Fidonet Networks. - - - -
    - -
    Last update 29-Jan-2001
    -

    MBSE BBS Setup - fidonet Networks

    - -Each fidonet network can have maximum 6 zones. The main zone (where you are) -must be the first zone, the others will follow. You can add 6 additional -nodelists to merge with the main nodelist. These additional nodelists are -normally more recent that the main nodelist, so entries in the additional -nodelists will replace entries from the main nodelist when you compile the -nodelists. In the shown example you can see that I have a regional nodelist -and a pointlist added for my region. For each additional list you must -specify the RC address because that information is normally not present in these -nodelists. Watch out! Nodelist names are case sensitive. If you receive a -nodelist and automatic put them in place with the mbfido -program, and the resulting file is uppercase, you must use uppercase names -here also. You don't need to give the extension of the nodelist name, the -mbindex will figure that out. -

    -Fidonet networks setup -

    - -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/fileecho.html b/mbsebbs-code/html/setup/fileecho.html deleted file mode 100644 index 715ad321..00000000 --- a/mbsebbs-code/html/setup/fileecho.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - File Echo's Setup - TIC Areas. - - - -
    - -
    Last update 12-Aug-2005
    -

    MBSE BBS Setup - File Echo's Setup - TIC Areas.

    - -

    Introduction.

    -

    -In this setup you can define the File Echo's or TIC areas. Files received or -send from this areas are bound together with a *.tic file with information -about the file and where to store that file. Each file echo must belong to a -group, in this grouprecord is the information about costsharing and some -other details. When a file is received at your system you can do several -things with that file before it is stored in your download areas such as; -scanning the file for virusses, extracting the FILE_ID.DIZ file to use as -description, allow update of magic alias, convert to another compression -format, replace the file archive comment with an add of your own bbs and limit -the number of files (nodelists). -

     

    - -

    TIC Area Setup.

    -

    -

    -Comment    A description for this area.
    -Area tag   The tag for this area.
    -Security   The security access flags for downlinks.
    -BBS area   The BBS download area number, 0 means passthru.
    -Message    Not in use yet.
    -Group      The group where this area belongs to.
    -Keep #     The number of files to keep, the name must match.
    -Fido aka   The Fidonet aka to use for this area.
    -Convert    The archiver to convert to, leave blank for none.
    -Banner     The bannerfile (in ~/etc) to replace in the archive.
    -Replace    Honor the "Replace" command in the .tic file.
    -Dupecheck  Check for duplicates in this area.
    -Secure     Check if the sending system is connected.
    -Touch      Touch rearchived files to the original date.
    -Virus sc.  Try to scan for virusses.
    -Announce   Files may be announced in this area.
    -Upd magic  Allow update magic request name.
    -File_id    Try to use the FILE_ID.DIZ file for description.
    -Conv.all   Convert archive even if it is already right.
    -Send org.  Send original received file instead of the file from the BBS.
    -Mandatory  Downlinks can't disconnect from this area.
    -Notified   Not in use yet.
    -Upl discon Not in use yet.
    -Deleted    If this area must be deleted.
    -Active     If this area is active.
    -New SR     Give new node links the status SR instead of S.
    -Systems    To the screen with connected systems.
    -
    -

    -TIC area setup -

    - - -

    Global Commands.

    -

    -From menu 10.2 you can enter the global commands menu. In this menu you can: -

      -
    1. Delete connection -
    2. Add new connection -
    3. Replace connection -
    4. Change connection status -
    5. Change aka to use -
    6. Change security flags -
    7. Delete TIC area -
    -After you have selected the action you want and added the items to do, you will see -a screen were you can select TIC file area groups. You can then tag one or more -groups and press enter when you are done. Then you have one chance to perform the -actions or to bail out. All areas matching in that group are affected by your -changes. If you are not happy with the result, don't save the database and no -harm is done. The file mbsetup.log shows all affected areas. -

    - - -BackBack to File Echo's Setup  -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/filefind.html b/mbsebbs-code/html/setup/filefind.html deleted file mode 100644 index 3fb56745..00000000 --- a/mbsebbs-code/html/setup/filefind.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Filefind Areas. - - - -
    - -
    Last update 05-Mar-2007
    -

    MBSE BBS Setup - Filefind Areas.

    - -

    Introduction.

    -

    -The filefind idea on Fidonet came from the program Allfix written by Harald -Harms. The idea is -that a user writes a mail in a filefind area addressed to "Allfix" with in the -subject line the items to search for. On all BBS'es with a filefind utility -those programs try to find the requested files and then produce a reply of -which files they have found. That reply can be in the same area, in a special -reply echo or can be sent by netmail. Usually the user gets a lot of replies -from which he can see if someone has the file(s) available he was searching -for. -

     

    - -

    Filefind Setup.

    -

    -

    -Comment     The comment for this area.
    -Origin      The origin line to use for the reply.
    -Aka to use  The Fidonet aka to use in this area.
    -Scan area   The JAM area in which to scan for requests.
    -Reply area  The JAM area to put the replies in, leave blank if in the same area.
    -Language    The language to use for the reply.
    -Template    The name of the macro template file.
    -Active      If this area is active.
    -Deleted     If this area must be deleted.
    -Net. reply  If the reply will be sent by netmail.
    -CHRS kludge The CHRS kludge and encoding to use.
    -Keywrd len  The minimum keyword length allowed in search.
    -
    -

    -Filefind setup -

    - -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/files.html b/mbsebbs-code/html/setup/files.html deleted file mode 100644 index 75e35709..00000000 --- a/mbsebbs-code/html/setup/files.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - BBS Setup - File Areas. - - - -
    - -
    Last update 11-Aug-2005
    -

    MBSE BBS Setup - BBS Setup - File Areas.

    - -

    File Areas introduction.

    -

    -This is the setup for the file areas in which users can up and download files. -This database has fixed area numbers, the database can't be packed. -Extending the database is allways possible. One important note, -before you can set this up, you need to define the -newfiles groups. -

    -If you change the path in an existing area, all files in that area are automatic -moved to the new location. -

     

    - -

    File Areas Setup.

    -

    -

    -Area Name  The area name.
    -Path       The full path to the file area.
    -Down Sec.  The download security level.
    -Upl. Sec.  The upload security level.
    -List Sec.  The security level to list the files in this area.
    -Available  If this area is available. If you make an available
    -           area unavailable the area is checked if there are 
    -	   downloadable files in that area. If so, you can't remove 
    -	   the area. If there are none you will be asked if you are 
    -	   sure. After the area is made unavailable, the record is 
    -	   filled with reasonable default values.
    -Check New  Check this area for new files if a user logs in.
    -Dupecheck  Check this area for duplicates if a user uploads a file.
    -Free area  If all files in this area are free.
    -Direct DL  Allow direct download from this area.
    -Pwd upl.   Allow users to password protect their uploads.
    -Filefind   Search in this area for filefind requests.
    -Add alpha  Add .tic files alphabetic sorted or at the bottom of the list.
    -File req.  Allow File Request from this area.
    -BBS group  Not in use yet.
    -New group  New files announce group. See Newfiles groups for more info.
    -Min. age   Minimum user age to access this area.
    -Password   The password for this area. If blank, no password is needed.
    -DL days    How long must a file not been downloaded to (re)move it.
    -FD days    How old must a file be to be (re)moved.
    -Move area  The area to move the file to, if zero it is deleted.
    -Archiver   The archiver to use to repack the files with.
    -Upload     Alternate upload area. If a user uploads a file in this
    -           area, it will be placed in the alternate area. If the
    -           value is zero, the file will be placed in the current
    -           file area. On CD-rom areas you must not leave this zero
    -           unless you set the upload security level so high that
    -           nobody can upload in this area.
    -
    -

    -File areas setup -

    - -BackBack to BBS index  -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/global.html b/mbsebbs-code/html/setup/global.html deleted file mode 100644 index 7f5a6961..00000000 --- a/mbsebbs-code/html/setup/global.html +++ /dev/null @@ -1,439 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Global Setup. - - - -
    - -
    Last update 01-Mar-2007
    -

    MBSE BBS Setup - Global Setup

    - -In this setup you can edit all global settings for MBSE BBS. All sections will -be discussed below. -

    - -

    1.1. Fidonet Aka's.

    -

    -Here you can enter 40 fidonet addresses. These are 5d addresses. Make sure you -group the different zone's together, strange things will happen if you don't -group them. -

    - -

    1.2. Edit Registration Info.

    -

    -

    -BBS Name   The name of your BBS
    -Maildomain Your internet mail domain name (or system host.domain.com 
    -             if you don't have a maildomain).
    -Sysop uid  The Unix name of your Sysop account
    -Sysop Fido The Fidonet name of your Sysop account
    -Location   The Location of your BBS
    -OLR id     The packet name for Offline mail downloads.
    -Comment    A comment line for your BBS
    -Origin     The default origin line for echomail
    -Newuser    The default username "bbs" for new users.
    -My FQDN    My real internet Full Qualified Domain Name.
    -
    -A note abou the last item, My FQDN. This MUST be the name that is -returned with nslookup 1.2.3.4 (use your internet IP adress there) -if you have a fixed IP address. Systems that are on a dynamic IP address and use -some sort of dyndns service may put that dyndns FQDN in there. Using this will -cause the other system to do twice as much dns resolve actions, so use this only -when needed. Another note, what you put in here has nothing to do with mail or -mail domains, that needs to be in the second option of this screen. The My FQDN -field is used by the Internet BBS Chatserver (IBC) to allow bbs systems to build -a chat network. -

    - -

    1.3. Edit Global Filenames.

    -

    -

    -System logfile    The name of the main logfile
    -Error logfile     The name of the errors logfile
    -Debug logfile     The name of the debug logfile
    -Mgr logfile       The name of the area-/filemgr logfile
    -Default menu      The name of the default main menu
    -Chat logfile      The name of the logfile for chatting
    -Welcome logo      The name of the BBS logo ANSI file
    -
    -

    - -

    1.4. Edit Global Paths

    -

    -

    -Home dirs         The path to the users home directories
    -FTP base          The FTP base path, ie. /opt/mbse/ftp/pub
    -Arealists         The path where area lists and filebone lists are stored
    -Ext. edit         The full path and filename to the external editor
    -Rules dir         The path to the directory to store area rules
    -Magic's           Where the magic filerequests are kept
    -DOS path          The DOS drive and path
    -Unix path         The Translated DOS path in real
    -LeaveCase         Leave outbound .flo filenames as is, No forces to uppercase
    -
    -Nodelists         The path to the nodelist directory
    -Inbound           The unprotected fidonet inbound
    -Prot inb.         The (password) protected fidonet inbound
    -Outbound          The outbound for the main aka
    -Out queue         The outbound queue for temporary files
    -*.msgs            A netmail directory from where *.msg mails are tossed
    -                  These are *.msg files can be created by several doors. (Not in use yet)
    -Bad TIC's         Where bad TIC files are saved
    -TIC queue         Where TIC files for downlinks are kept
    -TMail DOS         The T-Mail 8.3 (short) base path (empty = disable)
    -TMail Win         The T-Mail long filename base path (empty = disable)
    -
    -If you fill in the DOS path then the DOS path and Unix path are translated -to DOS paths in the flo files for outbound mail sessions. You only need this if -another mailer uses the outbound that doesn't understand Unix paths. -The DOS path is a fake, but it must match the other mailer. -Note that the TIC queue must be somewere in the Unix path, otherwise it is -impossible to create a DOS path from the path to the TIC files in that -directory. To set this up correctly is also important if you use other mailers -as well, for example binkd, or even a DOS binkly-style mailer running from -a network. All those mailer must "see" the same file attaches in the .flo -files. -

    - -

    1.5. Edit BBS Configuration

    -

    -

    -Private system    Set to true when only pre-registered users are allowed
    -Exclude Sysop     True is Sysop will be invisible
    -Show connect      Show connection info at logon
    -Ask protocols     Ask protocol before each up/download
    -Sysop level       The Sysop security level
    -Password Length   The minimum password length, should be 6.
    -Password Char.    The password hiding character
    -Idle timeout      The idle timeout in minutes
    -Login Enters      Maximum times for only enter <Enter>
    -Login Attempts    Maximum login attempts
    -Homedir Quota     Maximum size in MBytes for each user
    -Location length   The minimum length of the location (3 in Holland!)
    -Show new msgarea  Show new available message areas at logon (for OLR users)
    -OLR Max. msgs.    Maximum messages to download, 0 is no limit.
    -OLR Newfile days  The maximum age for newfiles in the OLR packet
    -OLR Max Filereq   Maximum filerequests allowed for OLR users
    -BBS Log Level     What will be logged or not the BBS program
    -Utils Log Level   What will be logged or not for utilities
    -Utils slowly      Should utilities release timeslices
    -CrashMail level   Minimum level to allow sending netmail crash
    -FileAttach level  Minimum level to allow attach files to netmail
    -Min diskspace MB  At which low diskspace level utilities should stop working.
    -Simult. logins    Maximum simultaneous logins allowed, 0 is unlimited, 1 is adviced.
    -Child priority    Subproces nice priority, 0=high, 15=low CPU load.
    -Filesystem sync   Call sync before and after execute.
    -Default language  Default language (English).
    -
    -The minimum diskspace setting is to prevent that files get corrupted if your filesystem -is full. All drives are checked except CD-roms and floppies and the /boot directory if that -one is on a separate filesystem. Ext2, ext3, reiserfs, msdos and vfat partitions -are checked. The lowest free diskspace found counts. Default is 10 MB. -

    -The Child priority sets the nice value for example zip/unzip, virus scanners -etc. Modern fast hardware will do fine with a low setting, older (pre PII) -hardware may need 15 to prevent a too heavy CPU load. -

    -The filesystem sync setting is to call sync before and after the execute call, -such as when unzip is called. Almost all GNU/Linux systems need this because GNU/Linux -uses asynchronous directory changes. Since Linux 2.5.19 it should be possible to -mount filesystems synchronous. If this setting is No on asynchronous filesystems -mail and files can get corrupted. XxxxBSD systems use synchronous directory -updates and don't need this switch. If you don't know what all this is about, -leave this to the default setting. -

    -Choice of default language. English is the best choice because that is the only -language that is complete in the default installation. In the user setup another -language may be used, the language set here is then used as a backup. -

    - -

    1.6. User flag Descriptions.

    -

    -In this menu you can give the 32 users flags a meaningfull description. -

    - -

    1.7. New users defaults.

    -

    -

    -Access level      The access level and flags after registration
    -Cap. Username     Capitalize the username
    -Ask Sex           Ask for Male/Female
    -Ask Voicephone    Ask for voice phonenumber
    -Ask Dataphone     Ask for data phonenumber
    -Telephone scan    Scan for duplicate numbers
    -Ask Handle        Ask for handle (nickname)
    -Ask Birth date    Ask for birthdate (needed for checks)
    -Ask Location      Ask for users location
    -Ask Hot-Keys      Ask for hot-keyed menus (default is yes)
    -One word names    Allow one word names
    -Ask address       Ask user for his/her home address
    -Give email        Give new users email access (default is yes)
    -Ask Screenlen     Ask new users to set their screen length
    -Do newmail check  Yes/No or Ask new user if for newmail check at logon
    -Do newfiles check Yes/No or Ask new user if for newfiles check at logon
    -
    -

    - -

    1.8. Text Colors.

    -

    -Several prompts use different colors. They can be changed with the following -menu. -

    -Colors setup -Colors setup -

    - -

    1.9. Sysop paging

    -

    -For sysop chat a protocol is used to communicate with the mbtask daemon which -has a very simple IRC like chatserver. For sysop/user chat a forced channel -with the name #sysop is used. -

    -Page length       The length of a page in seconds
    -Page times        Maximum number of times a user may page the sysop
    -Sysop area        Message from user to Sysop area number
    -Ask reason        Ask reason for chat, this will be logged
    -Log Chat          Log the chat conversation
    -Prompt Chk.       Check at menu prompts for Sysop breaking in
    -Freeze Time       Freeze users time during chat
    -

    - -

    1.10. Fileecho Processing.

    -

    -A note, when you change the number of Systems or Groups, the databases affected -will be updated automatic. -

    -Keep days         How long TIC files should be kept on hold
    -Hatch pwd         The internal hatch password. Make this weird.
    -Drv space         The minimal free space on your disk in kilobytes
    -Systems           The maximum number of connected nodes
    -Groups            The maximum number of fileecho groups
    -Max. dupes        The maximum number of entries in dupe database
    -Keep date         Keep original filedate
    -Keep netm         Keep sent netmails
    -Loc resp          Respond to local created filefind messages
    -Plus all          Allow filemgr +all command
    -Notify            Allow filemgr notify=on/off command
    -Passwd            Allow filemgr/areamgr passwd command
    -Message           Allow filemgr message=on/off command
    -Tic on/off        Allow filemgr tic=on/off command
    -Pause             Allow filemgr pause/resume commands
    -

    -When you change one of the Allow filemgr settings, you also need to edit -the file /opt/mbse/english/macro/filemgr.help to reflect the new settings. -Default all these switches are set to Yes. - -

    -

    1.11. Edit Fidonet mail and echomail processing.

    -

    -Note that the first 2 mailboards must also exist in the normal mail areas if -you want to see what is in them. Here they are defined for quick access of the -tosser. For the Max. systems and groups see 1.12. If you use MBSE BBS together -with a DOS based BBS (using DOSEMU or mars netware emulator), you can set the -behaviour of the outbound to 4d. addressing instead of 5d. This option may -dissapear in the future.
    -Another option is present, this is the pktdate option. This -is the full path and filename to an external program that can inspect and -correct the mail .pkt files. Originally I put this in to run pktname of Tobias -Ernst of 2:2476/418 to fix y2k problems in the incoming mail. At this time -most y2k fixes are build in, but in case you need it it's there. To make it -clear; the y2ktools written by Tobias are static compiled for GNU/Linux and they -should run on all GNU/Linux i386 versions. Until now, I still use pktdate because -it is necessary.
    - -

    -Badboard          The path and filename of the bad messages
    -Dupeboard         The path and filename of the duplicate messages
    -Pktdate           Full path and filename of a .pkt preprocessor
    -Max pkts.         Maximum Kb. of mail packets before a new one is created.
    -Max arcs.         Maximum size in Kilobytes of an arcmail file
    -Keep days         How many day should we keep ARCmail on hold
    -Echo dupes        Maximum number of entries in the echomail dupe database
    -Reject old        Reject echomail messages older then n days
    -Max msgs          Default maximum number of messages in each area
    -Days old          Default number of days old to keep messages
    -Max systems       Maximum number of nodes to connect to echomail
    -Max groups        Maximum number of echomail groups
    -4d address        Use 4d. addressing (not needed you only use MBSE BBS)
    -Split at          Gently split messages after n KBytes (12..60)
    -Force at          Force split of messages after n KBytes (16..63)
    -Plus all          Allow areamgr +all command 
    -Notify            Allow areamgr notify=on/off command
    -Passwd            Allow areamgr/filemgr passwd command
    -Pause             Allow areamgr pause/resume commands
    -

    -When you change one of the Allow areamgr settings, you also need to edit -the file /opt/mbse/english/macro/areamgr.help to reflect the new settings. -Default all these switches are set to Yes. -

    -A note about the splitting of messages. Some tossers can't handle -messages greater than 16 KBytes, these tossers are rare these days. Most -tossers can handle messages of 32 KBytes. To set these values on the safe -side set "Split at" to 27 and "Force at" to 31. This means that a long -newfile report will be split after 27 KBytes when a new group of files -should start in the report. If it can't find that point because a large -number of files is in the group that is just being processed, the message -split will be forced right after the file that passes the 31 KBytes limit. -I use values of 1 KBytes below maximum for overhead such as SEEN-BY and -PATH lines. Values larger then 32 KBytes is not a good idea, recent tests -in May 1999 have shown that your messages will not reach all systems -if they are larger then 32 KBytes. Splitting is used for newfiles reports -and gated news articles to Fidonet. -

    - -

    1.12. Edit Internet mail and news processing.

    -

    -Email and news is setup here. There are three possible configurations which you -can set with 1.12.11: -

      -
    • No internet. If you don't have any connection to the internet - use this setting. Email will come from the default Fidonet UUCP gate and will be send out - via the UUCP gate. Users have email addresses like - user@f2802.n280.z2.fidonet.org Note, the username is their - Unix name when sending email. -
    • No maildomain. If have internet but don't have your own - maildomain (most dialup systems) you should use this mode. - Email will be sent via your local SMTP port, then through your - own sendmail (or whatever you use) to your ISP. - As soon as you are connected to the internet - the mail will be sent to your ISP's mailer. In your sendmail you should - define the mailer of your ISP as Smarthost. Incoming email will still come - from the UUCP gate. Users have email addresses like - user@f2802.n280.z2.fidonet.org Incoming email comes from - the default Fidonet UUCP gate. - Note, the username is their Unix name. - If you have your own maildomain, don't use this option, use the next option: -
    • Own maildomain. If you are permanent connected to the internet - either with a static or dynamic IP address use this option. Use this option - also if you have an UUCP domain and have a dialup UUCP connection. Also - you can use this for dialup if you have your own maildomain without UUCP, - you will then fetch the mail from a multidrop mailbox (POP or IMAP) and - send the mail using SMTP via the SMTP mailer of your provider.
      - If you have a dynamic IP address you can still get a DNS name from for - example dynip.com - Incoming email will come directly from the internet, but if someone sends - email via the UUCP gate it is also accepted. Users have email addresses like - user@yourbbs.domain.org. Note, the username is their - Unix name and yourbbs.domain.org must be an existing internet domain. -
    -A word of wisdom from my side, configuration of the internet, ppp, sendmail etc. is not discussed -here, see the HOWTO's and other documentation that exists at -www.linuxdoc.org, it's all there. - -
    -POP3 node         The POP3 node to use, should be localhost
    -POP3 user@domain  Use user@domain to login in the POP3 server
    -SMTP node         The SMTP node to use, should be localhost
    -NNTP node         The NNTP node to use, should be localhost
    -NNTP m.r.         If the NNTP server needs the Mode Reader command
    -NNTP user         The username for the NNTP server if needed
    -NNTP pass         The password for the NNTP server if needed
    -News dupes        The number of entries for the news dupes database.
    -Email aka         The Fidonet aka to use for the fidonet.org UUCP gate
    -UUCP aka          The default Fidonet UUCP gate, 2:292/875@fidonet
    -Emailmode         The email mode, discussed above
    -News mode         Newsfeed mode, INN, rnews or UUCP.
    -Articles          The default maximum newsarticles to fetch per group.
    -Split at          Gently split newfiles reports after n KBytes (12..60)
    -Force at          Force split of newfiles reports after n KBytes (16..63)
    -Control ok        Allow news control messages to be gated
    -No regate         Don't regate already gated messages
    -
    -In rnews mode the NNTP entries are replaced by:
    -
    -Path rnews        The full path and filename to the rnews binary.
    -
    -In UUCP mode the NNTP entries are replaced by:
    -
    -UUCP path         The full path to the uucppublic directory.
    -UUCP node         The UUCP nodename of your ISP.
    -

    - - -

    -

    1.13. Allfiles and Newfiles lists.

    -

    -These are the settings that affect the generation of newfiles and allfiles reports. -

    -New days          The number of days old files are "newfiles"
    -Security          The highest security level to include files in the reports
    -Groups            The number of newfile groups the newfiles database can hold
    -

    - -

    1.14. Mailer Setup.

    -

    -Note that you can't disable FTS-0001 sessions as that is a mandatory session -protocol in Fidonet. There are 40 phonenumber translations present, this is for -countries with lots of telephone operators with all kind of prefixes for -carrier select functions. The setting of TCP/IP flags is important too, this -gives the information what this system will do. If you only enter IBN as TCP/IP -flags then the system will only call IBN nodes (binkp). The default is -XX,CM and TCP/IP systems (internet) should use the XX,CM,IBN,IFC flags. -If you cannot do TCP/IP connections, leave TCP/IP "phone" empty. The three -TCP/IP fields are used to give your system information via EMSI or binkp to -the other nodes. -

    -Mailer logl.      The logging level for mailer sessions
    -TCP/IP "phone"    The TCP/IP "phone" number (IP address or domain name)
    -TCP/IP flags      The TCP/IP capability flags for TCP/IP sessions
    -TCP/IP speed      The TCP/IP linespeed
    -Timeout reset     The timout for normal modem commands
    -Timeout connect   The timeout for waiting for connect
    -Dial delay        The maximum delay between calls, minimum is 10 seconds.
    -No Filerquests    Disable filerequests
    -No callout        Disable callout
    -No EMSI session   Disable EMSI
    -No YooHoo/2U2     Disable FTS-0006 sessions
    -No Zmodem         Disable zmodem protocol
    -No Zedzap         Disable zedzap protocol
    -No Hydra          Disable Hydra protocol
    -No MD5            Disable binkp MD5 passwords
    -Zero Locks OK     Allow zero byte lockfiles from another OS
    -Phonetrans 1..40  Maximum 40 phone number translations
    -Max. files        Maximum files to request, 0 is unlimited 
    -Max. MBytes       Maximum MBytes to request, 0 is unlimited
    -
    - -

    1.15. Edit HTML pages setup.

    -

    -Here you setup the HTML pages that can be created with the -mbfile web command. These are HTML pages of your download -areas and indexes of all areas. If there are pictures in these areas -thumbnails are created if you have the convert -command available. The document root is the same as defined in your -web server. The link to ftp must be created from that directory to -your ftp base directory. To do that become root, cd to the document root -and type ln -s /var/spool/mbse/ftp files In this case the link -is called files. Note that all download areas are accesible, -there is no user authentication yet available. -

    -Docs root         The path to the httpd documents root.
    -Link to ftp       The link to the ftp directory.
    -URL name          The URL of your webserver.
    -Charset           The default character set, ISO-8859-1.
    -Author name       The author name you want in the HTTP headers.
    -Convert command   The graphics convert command. (ImageMagick needed).
    -Files/page        The number of files to display per web page.
    -Hist. limit       Limit the number of mailhistory.html lines, 0 is unlimited.
    -
    -

    - -

    1.16. Manager flag Descriptions.

    -

    -In this menu you can give the 32 area-/filemgr flags a meaningfull description. -

    - -BackBack to index -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/hatch.html b/mbsebbs-code/html/setup/hatch.html deleted file mode 100644 index d83abede..00000000 --- a/mbsebbs-code/html/setup/hatch.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - File Echo's Setup - Hatch Manager. - - - -
    - -
    Last update 10-May-2002
    -

    MBSE BBS Setup - File Echo's Setup - Hatch Manager.

    - -

    Introduction.

    -

    -Hatch files is nothing more than entering a new file into a file echo. That -file is searched for on your system in a specific directory with a certain -filemask. This can be for example a new created nodelist or an allfiles listing. -Everytime mbfido tic is run it will scan for files defined -in this setup. If such a file is found, a special .tic file is written and -stored in the mailers inbound directory. When the mbfido -starts processing .tic files, that new hatched file will be processed as if -it was received form another system. To let this work, you obviously need -an existing TIC area.

    -The filenames to hatch may be long filenames as long as there are no spaces in -it. In the TIC file a short filename will be created for the old style tic -processors. The long filename is inserted in the TIC file as well. The short -filenames are created in the same way as windows does. -

     

    - -

    Hatch Manager Setup.

    -

    -

    -Mask    The path and filename mask to search for. 
    -        "?" matches any character, "#" matches digits and "@" matches
    -        upper or lowercase letters. Except for the "@" the test is
    -	case sensitive.
    -Area    The area to hatch this file in.
    -Replace The filename to replace, ie. "nodelist.z*"
    -Magic   The filerequest magic name, ie. "nodelist"
    -Desc    The description of the file, %12 in the description
    -        means copy the 12th character of the name in place.
    -Dupe    Check for duplicates.
    -Active  If this area is active.
    -Deleted If this area must be deleted.
    -Days    The days in the week to scan for this file.
    -Month   The dates in the month to scan for this file.
    -
    -

    - -Hatch manager setup -

    - -BackBack to File Echo's Setup  -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/index.htm b/mbsebbs-code/html/setup/index.htm deleted file mode 100644 index a0342445..00000000 --- a/mbsebbs-code/html/setup/index.htm +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - -MBSE BBS setup. - - - -
    -
    Last update 01-Mar-2007
    -

    MBSE BBS Setup Guide

    -

    - -

    Invoking mbsetup

    -

    -As user mbse type mbsetup to start the setup -program. This version is not yet finished. There are a few items you can't -setup yet. -When you start mbsetup you will see the following screen: -

    -mbsetup -

     

    - -

    mbsetup main options

    -

    -

      -
    1. Edit Global configuration -
    2. Edit Fido networks -
    3. Edit Archiver programs -
    4. Edit Virus scanners -
    5. Edit Modem types -
    6. Edit TTY lines info -
    7. Edit Fidonet nodes -
    8. Edit BBS setup -
        -
      1. Edit Security limits -
      2. Edit Language setup -
      3. Edit BBS menus -
      4. Edit File areas -
      5. Edit Transfer protocols -
      6. Edit Oneliners -
      -
    9. Edit Mail setup -
        -
      1. Echo mail groups -
      2. Echo mail areas -
      -
    10. Edit File echo's setup -
        -
      1. Edit Fileecho groups -
      2. Edit Fileecho areas -
      3. Edit Hatch manager -
      4. Edit Magic files -
      -
    11. Edit Newfiles groups -
    12. Edit Newfiles reports -
    13. Edit Filefind setup -
    14. Edit Files database -
    15. Edit BBS users -
    16. Edit Services -
    17. Edit Domains -
    18. Edit Task Manager -
    19. Edit Routing Table -
    20. Edit Internet BBS Chat -
    21. Show software information -
    22. Create site documents -
    - -BackBack to index -
    - - diff --git a/mbsebbs-code/html/setup/index.html b/mbsebbs-code/html/setup/index.html deleted file mode 100644 index 768e00a0..00000000 --- a/mbsebbs-code/html/setup/index.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - -MBSE BBS setup. - - - -
    - -
    Last update 01-Mar-2007
    -

    MBSE BBS Setup Guide

    -

    - -

    Invoking mbsetup

    -

    -As user mbse type mbsetup to start the setup -program. This version is not yet finished. There are a few items you can't -setup yet. -When you start mbsetup you will see the following screen: -

    -mbsetup -

     

    - -

    mbsetup main options

    -

    -

      -
    1. Edit Global configuration -
    2. Edit Fido networks -
    3. Edit Archiver programs -
    4. Edit Virus scanners -
    5. Edit Modem types -
    6. Edit TTY lines info -
    7. Edit Fidonet nodes -
    8. Edit BBS setup -
        -
      1. Edit Security limits -
      2. Edit Language setup -
      3. Edit BBS menus -
      4. Edit File areas -
      5. Edit Transfer protocols -
      6. Edit Oneliners -
      -
    9. Edit Mail setup -
        -
      1. Echo mail groups -
      2. Echo mail areas -
      -
    10. Edit File echo's setup -
        -
      1. Edit Fileecho groups -
      2. Edit Fileecho areas -
      3. Edit Hatch manager -
      4. Edit Magic files -
      -
    11. Edit Newfiles groups -
    12. Edit Newfiles reports -
    13. Edit Filefind setup -
    14. Edit Files database -
    15. Edit BBS users -
    16. Edit Services -
    17. Edit Domains -
    18. Edit Task Manager -
    19. Edit Routing Table -
    20. Edit Internet BBS Chat -
    21. Show software information -
    22. Create site documents -
    - -BackBack to index -
    - - diff --git a/mbsebbs-code/html/setup/language.html b/mbsebbs-code/html/setup/language.html deleted file mode 100644 index ead5a713..00000000 --- a/mbsebbs-code/html/setup/language.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - BBS Setup - Language Setup. - - - -
    - -
    Last update 17-Feb-2007
    -

    MBSE BBS Setup - BBS Setup - Language Setup.

    - -

    Language introduction.

    -

    -You need to define at least one language, this is the default language. -The ISO language code of the dfeault language needs to be the same as in the -global setup 1.5.24 and should be set to en. -I did this so you can make your -own local languages next to the default languages. If something is not -present in your local language, the BBS will fall back to the default -language. It is therefore wise to name all menus, macro templates and -textfiles the same for all languages used. -When you setup the languages for the first time, entries for English, Dutch, -Spanish, Galego, German, French and Chinese languages are created. -

    -And important note about the ISO code, don't change this. And if you do, -then you must change the directory name under /opt/mbse/share/int -to the same name as the code here. For example for the en code the system -expects the following paths and files: -

    -

    -/opt/mbse/share/int/language.en
    -/opt/mbse/share/int/menus/en/*.mnu
    -/opt/mbse/share/int/txtfiles/en/*.ans
    -/opt/mbse/share/int/txtfiles/en/*.asc
    -/opt/mbse/share/int/macro/en/*
    -
    -

     

    - -

    Language setup.

    -

    -

    -Select      The letter to select this language.
    -Name        The name of this language.
    -ISO code    The 2 letter ISO code of the language.
    -Available   If this language is available.
    -Security    The minimum security level to select this language.
    -Deleted     If this language must be deleted.
    -
    -

    -Language setup -

    - -BackBack to BBS index  -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/magic.html b/mbsebbs-code/html/setup/magic.html deleted file mode 100644 index 655e65f7..00000000 --- a/mbsebbs-code/html/setup/magic.html +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - File Echo's Setup - Magic Files Setup. - - - -
    - -
    Last update 10-May-2002
    -

    MBSE BBS Setup - File Echo's Setup - Magics Files Setup.

    - -

    Introduction.

    -

    -Magics are special actions that you can perform on files received in a .tic -area. The actions are: copy file to a directory, unpack file in a directory, -set number of files to keep, move file to another .tic area, update magic -request alias, adopt file into another area, store in another path, -delete file (don't process it further) and execute a command. The edit screen -is different for all kinds of actions you select. More than one magic record -may exist for each area. With all these actions you can for example can setup -processing of nodediff's and unpacking nodelists in the nodelist directory. -If you use the execute command, you can only execute commands that are in the -directory $MBSE_ROOT/bin, ie. /opt/mbse/bin. -

     

    - -

    Magics Setup.

    -

    -

    -Magic     The action to perform, select with the spacebar.
    -Filemask  The filemask to scan for. "?" Matches all characters,
    -          "#" matches any digit and "@" any upper or lowercase letter.
    -	  Except for the "@" the test is case sensitive.
    -Active    If this magic is active.
    -Deleted   If this magic must be deleted.
    -Area      The area in which this magic is found.
    -To path   The destination path. (Copy, Other path and Unpack).
    -To area   The destination area. (Adopt and Move).
    -Command   The command to execute. (Execute).
    -Keep #    The number of files to keep. (Keep).
    -Compile   Trigger "compile nodelists". (Copy, Unpack and Execute).
    -
    -

     

    - -

    Macro's

    -

    -In the commandline for the magic execute command you may use macro's to replace -parts of the commandline. The following macro's are defined: -

    -%F   Replaced by the full path and filename of the file.
    -%P   Replaced by the full path to the file.
    -%N   Replaced by the filename without dot and extension.
    -%E   Replaced by the extension of the filename.
    -%L   The last 2 characters of the filename extension.
    -%D   The day number of the year, 3 digits.
    -%C   The last 2 digits of the day number of the year.
    -%A   The .tic area name.
    -
    - -

    -Magic setup -

    - -BackBack to File Echo's Setup  -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/mail.html b/mbsebbs-code/html/setup/mail.html deleted file mode 100644 index 18ec81ed..00000000 --- a/mbsebbs-code/html/setup/mail.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Mail Setup. - - - -
    - -
    Last update 29-Jan-2001
    -

    MBSE BBS Setup - Mail Setup.

    - -

    Edit Mail Setup.

    -

    -The Mail Setup is split in the following sections: -

    - -

      -
    1. Echo mail groups -
    2. Echo mail areas -
    - -BackBack to index  -HomeBack to main index -
    - - diff --git a/mbsebbs-code/html/setup/modems.html b/mbsebbs-code/html/setup/modems.html deleted file mode 100644 index 26338f3b..00000000 --- a/mbsebbs-code/html/setup/modems.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Modem types. - - - -
    - -
    Last update 29-Jan-2001
    -

    MBSE BBS Setup - Modem types

    - -In the setup screen you can define all kinds of modems you use. This includes -ISDN modems. -This is not the setup of individual lines, that is in the next section, so -if you own a bbs with 5 analogue lines with only two brands and types of -modems connected, you need only to define those two types of modems here. Some -defaults are installed during initial bbs setup. -

     

    - -

    Setup a modem.

    -

    -

    -Type             The description of this modem.
    -Init 1           The first modem init string.
    -Init 2           The second init string (if needed).
    -Init 3           The third init string (if needed).
    -Reset            Not in use
    -Hangup           Only needed if drop DTR doesn't work.
    -Dial             The dial command.
    -Info             Command to get caller-id (not tested).
    -Ok               The modem "OK" response.
    -Offset           The answer/connect time offset.
    -Speed            The maximum modem linespeed, ie 28800.
    -Available        If this modem is available.
    -Deleted          If this modem must be deleted.
    -Stripdash        Strip dashes from the dial command.
    -Connect strings  Here you can define 20 connect strings.
    -Error strings    Here you can define 10 non-connect strings.
    -
    -

     

    - -

    Special characters

    -

    -

    -\\               Send one backslash.
    -\r               Send the CR character.
    -\n               Send the LF character.
    -\t               Send the TAB character.
    -\b               Send the BS character.
    -\s               Send a space character.
    -\d               Wait one second.
    -\p               Wait 0,25 second.
    -\D               Send untranslated phone number.
    -\T               Send translated phone number.
    -
    -

     

    - -

    The Hangup field

    -

    -This is only needed if your modem doesn't hangup by dropping the DTR line for -one second. Most modems do that if &D2 or &D3 is in the init string. -

     

    - -

    The Offset field.

    -

    -The Offset field is to calculate the cost for outgoing calls. -Analogue modems need time to establish the connection, 6 seconds is quite -common. So when you see the CONNECT BLABLA message, the phone connection -is there already 6 seconds and you are already paying for 6 seconds. This -offset is thus added to the total calculated connect time for cost -calculations. For ISDN modems this can be 1 or 0. -

     

    -Modems setup -

    - -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/newfiles.html b/mbsebbs-code/html/setup/newfiles.html deleted file mode 100644 index 8a9042a1..00000000 --- a/mbsebbs-code/html/setup/newfiles.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Newfiles Reports. - - - -
    - -
    Last update 05-Mar-2007
    -

    MBSE BBS Setup - Newfiles Reports.

    - -

    Introduction.

    -

    -For each network you can define one or more newfiles reports to announce the -newfiles that arrived on your BBS. The files to include in the reports are -specified by the newfiles groups you can include or exclude for announcement. -

     

    - -

    Reports Setup.

    -

    -

    -Comment     The comment for this report.
    -Msg area    The JAM message base to write the report in.
    -Origin line The origin line to use.
    -From name   The name to use in the "From:" field.
    -To name     The name to use in the "To  :" field.
    -Subject     The text to use in the "Subj:" field.
    -Language    Not in use yet, but DO select! 
    -Template    Not in use yet.
    -Aka to use  The Fidonet aka to use in this area.
    -Active      If this report is active.
    -Deleted     If this report must be deleted.
    -New groups  The screen to define the groups to include.
    -CHRS kludge The CHRS kludge an encoding to use.
    -
    -

    - -Newfiles reports -

    - -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/newgroups.html b/mbsebbs-code/html/setup/newgroups.html deleted file mode 100644 index b66e4140..00000000 --- a/mbsebbs-code/html/setup/newgroups.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Newfiles Groups. - - - -
    - -
    Last update 30-Jan-2001
    -

    MBSE BBS Setup - Newfiles Groups.

    - -

    Introduction

    -

    -The newfiles groups are there to create separate newfiles announcements for -several networks and areas. Even if you don't want to make different -announcements you still need to define at least 2 groups. One is a group -where you don't announce files in and one where you do. These groups are -linked to the BBS file areas and must be defined before you define the BBS -file areas. As you can see in the example picture I seperated the groups -in subjects. -

     

    - -

    Newfiles Groups Setup.

    -

    -

    -Name    The tag name of the group.
    -Comment The comment for this group.
    -Active  If this group is active.
    -Deleted If this group must be deleted.
    -
    -

    - -Newfiles groups setup -

    - -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/nodes.html b/mbsebbs-code/html/setup/nodes.html deleted file mode 100644 index f44e4c54..00000000 --- a/mbsebbs-code/html/setup/nodes.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Fidonet nodes. - - - -
    - -
    Last update 21-Aug-2005
    -

    MBSE BBS Setup - Fidonet nodes.

    -

    - -

    Introduction

    -

    -Unlike many other bbs packages, for each node you need only one record. If you -have a relation with a node for one network with costsharing, and other -networks without costsharing you need two records for that node. For each node -you can setup the aka's, mail, files and session handshake. There are ten -screens for each node. -

     

    - -

    1. Edit general setup

    -

    -This screen has the general information for the node. The contact info fields are -just for private use, these fields are only used in this screen. The Outbox dir is for -files to sent to the node, all file you put in there will be sent to the remote if -user mbse has read/write access to the file. Only real files are allowed, not symlinks etc. -

    - - - - - - - - - - - - - - - -
    Sysop nameThe name of the system -operator. The name entered here is used in Areamgr and Filemgr messages etc.
    Outbox dirPrivate extra outbound -directory for this node. Any file dropped into this directory will be sent to -the node and removed after it is sent.
    Pvt. phoneContact info, node private -phone.
    Pvt. faxContact info, node private -fax.
    Pvt. cellphoneContact info, node -cellphone (GSM).
    Pvt. e-mailContact info, node e-mail -address.
    Pvt. remarkContact info, node -remark.
    Route viaA route via Fido address. All -mail for this node will be send via this Aka, even mail and files for other -networks. This can be usefull if this node has internet access so you can send -everything to this node over the internet. Note that to force calling this node -via internetr, ISDN or pots can also be done by using nodelist flags override. See -section 3. This setting is more usefull to force routing via another node or -aka.
    Netmail directSet "direct" flag in -netmail to this node.
    Netmail crashSend netmail always "crash" -to this node.
    Netmail holdPut mail on "hold" for this -node.
    Pack mailShould net- and echomail be packed in -arcmail archives.
    Send notifySend automatic generated -notify messages.
    LanguageThe language to use for areamgr -msgs.
    DeletedIf this node must be -deleted.
    -

    -Nodes setup -

     

    - -

    2. Edit nodes aka's

    -

    -In this screen you can setup 20 aka's for the node. -

    -Nodes aka's setup -

     

    - -

    3. Edit node session

    -

    -In this screen you can setup the session defaults. -

    - - - - - - - - - - - - - - - - - - - - - -
    Session passwdThis is the mailer -session password.
    Dial commandYou can put an -override here for the normal dial command. If you leave this empty the command -from the modem setup is used.
    Phone number 1An alternative phone -number to dial.
    Phone number 2An alternative phone -number to dial. Use these above commands if the node has another -phone number as mentioned in the nodelist.
    Nodelist flagsOverride for the -nodelist flags, the nodelist flags are completly ignored if you enter something -here so make sure all flags you need are here. All aka's of this node will use -the same flags. This can be usefull to force calling this node via the -internet and to force a certain protocol.
    Inet hostnameThe FQDN hostname or -IP address of this node. This replaces the original system name from the -nodelist and this is then used to make the internet TCP/IP connection. This can -be usefull if the FQDN is not present in the nodelist.
    Outbound sess.Outbound session -method, choices are Direct and Directory. Direct means normal -classic mailer connections. Directory means that everything is put in a -directory from which the other node can fetch the mail and files using ftp -protocol.
    Inbound sess.Inbound session -method, choices are Direct and Directory. Direct means normal -classic mailer connections. Directory means that inbound mail and files are -expected in a directory were it is stored by the node using ftp -protocol.
    No EMSIDisable EMSI -handshake.
    No YooHoo/2U2Disable FTSC-0006 -handshake.
    No FilerequestDisable filerequest -from this node.
    Don't callDo not call this -node.
    8.3 namesSet this if the node only -accepts 8.3 filenames.
    No PLZDisable PLZ compression on -outgoing calls with the binkp protocol.
    No GZ/BZ2Disable GZ and BZ2 -compression on outgoing calls with the binkp protocol.
    No ZmodemDisable Zmodem -protocol.
    No ZedzapDisable Zedzap -protocol.
    No HydraDisable Hydra -protocol.
    Binkp CRC32Enable CRC32 file -transfer checks.
    Binkp old escSome systems followed -the wrong character escape method as published in FSP-1011 revision 3. For these -systems turn this flag on or you won't be able to send long filenames with -spaces in the name or other special characters. Such known systems are Argus and -Irex upto 2.29. Others may exist, even some older mbse versions. -
    No binkp/1.1Irex from version 2.24 -at least upto 2.29 have a buggy binkp/1.1 implementation. Set this to Yes for -nodes that use one of these Irex versions and the binkp session will fall back -to the binkp/1.0 protocol.
    Ign. HoldIgnore the nodelist flags -Hold or Down. Set this only if you want to call a node that is Down or Hold and -you know that you can connect it.
    -

    -Nodes session setup -

     

    - - -

    4. Edit node - mail processing

    -

    -

    - - - - - -
    PKT passwordThe password to insert -in .pkt files.
    Check PKT pwdCheck password in -received .pkt files. If not, errors or missing passwords are only logged. If -set, errors or missing password are refused and the .pkt files are renamed to -.bad
    Mail forwardNot in use -yet.
    ARCmail comp.Use ARCmail 0.60 file -naming convention for out of zone mail.
    ARCmail a..zAllow a..z last -character for ARCmail filenames.
    -

    -Nodes mail setup -

     

    - -

    5. Edit mail groups

    -

    -Here you can tag which mail groups are available for this node. Note that all -groups are visible here, even for networks this node has no aka's in. Be -carefull not to allow a node to connect areas from networks he has no aka in. -

    -Nodes mail groups -

     

    - -

    6. File setup

    -

    -

    - - - - - - - -
    Files passwordThe password for -.tic files.
    Incl. messageSend a netmail -message for each file to send.
    Send TIC fileSend .tic file to -this node.
    Advanced TICSend advanced or -standard .tic files.
    Advanced SBSend advanced Seen-By -lines, some systems can't handle this!
    To line in TICSend the To line in -the ticfile. Some braindead systems will forward this line instead of processing -it and then the next system in the line will fail.
    File forwardForward TIC files for -this node (not yet).
    -

    -Nodes files setup -

     

    - -

    7. File groups

    -

    -The same story as for mail groups is true for the file groups. -

    -Nodes files groups -

     

    - -

    8. Directory session

    -

    -Setup in this screen is needed if you selected Inbound and or Outbound session -as Directory session. The node is then getting and bringing mail using the ftp -protocol and no normal mailer connects are being used anymore. -This may be a good solution for points, they only need a simple mailreader and a -tosser. The mail is transferred by the mbfido program, during the toss or -tic command after the normal inbound is processed mbfido will look for nodes inbound -directories to process. When mail is added to the outbound, mail for nodes with -directory sessions is not stored in the normal Binley Style Outbound but in the -session outbound directory.
    -You need to setup a ftp account for this node and the best thing is to -set this up so that the other node is forced in a chroot environment, ie. make -it so that the node only sees his own directories and cannot leave that. The ftp -account needs to be a member of group bbs because mbfido needs access to the -files as well as the node. The nodes account needs also to be a member of group -bbsftp for the chroot environment. -The node needs umask 002 so that files that he puts -there will have group read/write access. During toss mbfido also stores the -files with group read/write access so that the node can remove the files when he -has fetched all files. Directory locking is supported and is compatible with -other mailers that support ftp. Here is a small sample of protftp.conf for use -with directory sessions: -

    -# This is /etc/proftpd.conf for use with mbsebbs ftp mail
    -# sessions and anonymous ftp access.
    -# It assumes that you have a user/group "nobody" and "ftp" 
    -# for normal/anonymous operation.
    -# It also assumes you have a group bbsftp were ftp mail users
    -# must be a member of.
    -#
    -ServerName			"Seaport ProFTPD server"
    -ServerType			inetd
    -DefaultServer			on
    -#
    -# Port 21 is the standard FTP port.
    -Port				21
    -# Umask 002 is to force new dirs and files to be group writable.
    -Umask				002
    -#
    -# To prevent DoS attacks, set the maximum number of child processes
    -# to 30.
    -MaxInstances			30
    -#
    -# Set the user and group that the server normally runs at.
    -User				nobody
    -Group				nogroup
    -#
    -SystemLog			/var/log/proftpd
    -TransferLog			/var/log/xferlog
    -#
    -# Anonymous ftp and members of group bbsftp have a chroot environment.
    -DefaultRoot	~ bbsftp
    -#
    -# Normally, we want files to be overwriteable.
    -<Directory /*>
    -  AllowOverwrite		on
    -</Directory>
    -#
    -# A basic anonymous FTP server configuration.
    -# To enable this, remove the user ftp from /etc/ftpusers.
    -<Anonymous ~ftp>
    -  RequireValidShell		off
    -  User				ftp
    -  Group				ftp
    -  # We want clients to be able to login with "anonymous" as well as "ftp"
    -  UserAlias			anonymous ftp
    -  #
    -  # Limit the maximum number of anonymous logins
    -  MaxClients			50
    -  #
    -  # We want 'welcome.msg' displayed at login, and '.message' displayed
    -  # in each newly chdired directory.
    -  DisplayLogin			welcome.msg
    -  DisplayFirstChDir		.welcome
    -  DisplayReadme			README
    -  #
    -  # Display .dotfiles and .dirs
    -  LsDefaultOptions		"-a"
    -  #
    -  # Limit WRITE everywhere in the anonymous chroot
    -  <Limit WRITE>
    -    DenyAll
    -  </Limit>
    -  #
    -  # An upload directory that allows storing files but not retrieving
    -  # or creating directories.
    -  <Directory incoming/*>
    -     <Limit READ>
    -       DenyAll
    -     </Limit>
    -
    -     <Limit STOR>
    -       AllowAll
    -     </Limit>
    -  </Directory>
    -  #
    -</Anonymous>
    -
    -Here are some examples to create an account, first create the extra group -bbsftp: -
    -groupadd bbsftp
    -
    -Then create accounts like this: -
    -useradd -g bbs -G bbsftp -d /opt/mbse/var/bbsftp/irex -s /bin/bash -c "FTP Mail account" irex
    -
    -Then give the node a password for the ftp login. Note that this account has a -shell, proftpd needs a valid shell to allow access. If the node tries to telnet -to your bbs he can't login with this account if you use mblogin, this is -because the node is not in the bbs userfile. If you system allows it, the node -can access the shell using rlogin or ssh.
    -Now the items to setup for the directory sessions: -

    - - - - - - - - - - - - -
    Outbound settings
    Files pathThe path were to store -the outbound mail and files.
    Check for lockIf we need to check -for a lockfile before adding files.
    Wait clear lockWait for the lock -to clear if present or not. If set to yes and there is a lock created by the -node then mbfido will wait for maximum 10 minutes for the lock to disappear. If -set to no, mbfido skips this node and will add mail and files at a later time. -
    Check lockfileThe full filename -and path of the lockfile to check for.
    Create lockIf mbfido should create -a lock during the time it will add mail and files.
    Create lockfileThe full filename -and path of the lockfile to create.
    Inbound settings
    Files pathThe path from were to -get the inbound mail and files.
    Check for lockIf we need to check -for a lockfile before getting files.
    Wait clear lockWait for the lock -to clear if present or not. If set to yes and there is a lock created by the -node then mbfido will wait for maximum 10 minutes for the lock to disappear. If -set to no, mbfido skips this node and will scan this directory at a later time. -
    Check lockfileThe full filename -and path of the lockfile to check for.
    Create lockIf mbfido should create -a lock during the time it will get mail and files.
    Create lockfileThe full filename -and path of the lockfile to create.
    -

    -Nodes directory setup -

     

    - -

    9. Security

    -

    -This will set the security bits for the node. These bits can be used to give -access or deny access to certain echomail areas or tic file areas. Default bit 1 -is set for each node. -

    -Nodes security setup -

    - -

    10. Area and File managers

    -

    -This screen sets names and passwords of the uplink managers, also our own -password is set here. -

    - - - - - - - -
    Uplink AreaMgr programThe name of the -Areamgr program of this node. This could be AreaFix, AreaMgr etc.
    Uplink AreaMgr passowrdThe password for the -Areamgr of this node.
    Uplink AreaMgr is BBBSIf the uplink uses BBBS software set this -to Yes.
    Uplink FilMgr programThe name of the -Filemgr progrom of this node. This could be FileMgr, Allfix, Raid etc.
    Uplink FileMgr passwordThe password of the -Filemgr if this node.
    Uplink FileMgr is BBBSIf the plink -uses BBBS set this to Yes.
    Our Area/Filemgr passwdOur own -Area/Filemgr password for this node to send to our node.
    -

    -Nodes managers setup -

    - -

    11. Statistics

    -

    -In this statistics screen you can see the mail and files flow with this -node. Values are stored for the current week, the previous week, the -current month and previous month and the overall total since you defined -this node. There are actual 12 months of statistics stored in the nodes -record, only 2 are visible. -

    -Nodes statistics -

    - -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/oneliner.html b/mbsebbs-code/html/setup/oneliner.html deleted file mode 100644 index 672c51ff..00000000 --- a/mbsebbs-code/html/setup/oneliner.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - BBS Setup - Oneliners. - - - -
    - -
    Last update 29-Jan-2001
    -

    MBSE BBS Setup - BBS Setup - Oneliners.

    - -

    Oneliners.

    -

    -Oneliners are small quotes that can be random selected and displayed to -your users. From the same database oneliners can be selected and inserted -at the bottom of messages. With the oneliners setup you can edit, add, -delete and import oneliners. Import is done from plain ASCII textfiles, -one quote on each line. The lines should be maximum 70 characters long. -

    -oneliners setup -

    - -BackBack to BBS index  -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/protocol.html b/mbsebbs-code/html/setup/protocol.html deleted file mode 100644 index 9ce22b88..00000000 --- a/mbsebbs-code/html/setup/protocol.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - BBS Setup - Transfer Protocols. - - - -
    - -
    Last update 28-Nov-2004
    -

    MBSE BBS Setup - BBS Setup - File Transfer Protocols.

    - -

    Introduction.

    -

    -MBSE BBS has Xmodem, Ymodem, Ymodem-1K, Ymodem-G, Zmodem and Zmodem-8K (aka -ZedZap) build in. In addition some external protocols are added to the setup but -they are disabled by default. When the bbs is started the first time, a set of -default protocols is created. The code used is based on the code from lrzsz -package wich is based in the original code written by Chuck Forsberg. -

    -Ymodem is receiver driven. That means if the user has selected plain Ymodem at -the bbs and -his local client is using Ymodem-G and when the user starts a download, the files are -sent with Ymodem-G and not with plain Ymodem. With the same configuation an -upload will be sent with plain Ymodem. With downloads, the Ymodem at the bbs -will use what the client wants: 128 or 1K data blocks, crc of checksum, normal or -streaming Ymodem-G. -

    -Zmodem is transmitter driven. That means if the user has selected Zmodem-8K at -the bbs and his local client is using normal Zmodem and when the user starts a -download, the download is sent with Zmodem-8K. With the same configuration an -upload will be sent with plain Zmodem. With uploads, the Zmodem at the bbs -doesn't care what is being used, it will adapt to the client program. -

    -These days (2004) nobody should use Xmodem anymore but when I wrote Ymodem you -also get Xmodem because they are the same. Only with Xmodem the user has to -type in the filename to both sides. If you enable it you are on your own and you -may need to change the sources to make it really work because I didn't add -typing in the filename at the bbs. Also, Xmodem is restricted to 8.3 filenames -and the bbs uses long filenames. -

     

    - -

    Transfer Protocols Setup.

    -

    -

    -Select Key  The key the user has to press to select this protocol.
    -Name        The name of this protocol.
    -Upload      The full path and filename and parameters to upload files.
    -Download    The full path and filename and parameters to download files.
    -Available   If this protocol is available.
    -Internal    If this is internal or external protocol.
    -Advice      A small advice to the user shown before the transfer starts.
    -Efficiency  The efficiency in percent. Has no real meaning.
    -Deleted     If this protocol must be deleted.
    -Sec. level  The security level a user must have to select this protocol.
    -
    -Some fields cannot be changed when this is an internal protocol, they are -hardcoded. -

    -File transfer protocols -

    - -BackBack to BBS index  -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/route.html b/mbsebbs-code/html/setup/route.html deleted file mode 100644 index 7ac892b6..00000000 --- a/mbsebbs-code/html/setup/route.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Edit Routing Table. - - - -
    - -
    Last update 25-Oct-2001
    -

    MBSE BBS Setup - Edit Routing Table.

    - -

    Introduction.

    -

    -First an important note: normal nodes, hubs and hosts should not need this to -setup. MBSE is smart enough to do normal netmail routing using the nodelist. -There are cases when you might need this, for example if you are a RC or if you -have special routing arrangements via internet nodes. Think at least twice -before adding entries here. You can always use the mbfido test command to -check if the standard routing is enough. You should also check to see what you have -done with mbfido test if the entries in this table do what you expect -them to do. -During route tests it is wise to temporary switch on extra debug logging -with mbsetup menu 1.5.16.17 and check the information in the logfile, there is a -lot of information about the descisions that are made. -

    -When you edit a route table, the entries you add might not be in the right -order, this will be done after you leave the editor. Sorting is done in order of -zone, exact nodes first, then globals. If you end the routing table with a global -route, ie. to All zones, then the standard routing isn't used anymore and only -the table is consulted. This might not be needed, most likely is that you only -need to add the routes to the non-standard nodes. The table is processed from -the first entry to the last and stops when an entry matches. If there was no -match, the default routing will be used. -

     

    - -

    Edit Routing Table.

    -

    -When you open the table you see something like this:

    -Routing table -

    -The edit screen looks like this:

    -Routing editor -

    -Mask      The destination mask to test for.
    -Action    Route to, Direct or Default.
    -Dest addr The destination node in case of Route to.
    -Active    If this rule is active.
    -Deleted   If this rule must be deleted.
    -
    -

    -If the Action is Route to then all mail matching the Mask will be routed -to the node setup in Dest addr. This node must be present in your setup. -If the Mask is Direct then mail to node node(s) matching the Mask will be -sent direct, not routed. If the action is Default then the nodes matching -the Mask will use the standard default routing. More actions will be added -later. -

    - -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/security.html b/mbsebbs-code/html/setup/security.html deleted file mode 100644 index f8d17f98..00000000 --- a/mbsebbs-code/html/setup/security.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - BBS Setup - Security Limits. - - - -
    - -
    Last update 09-Feb-2002
    -

    MBSE BBS Setup - BBS Setup - Security Limits.

    - -

    Security limits, introduction.

    -

    -Every BBS needs several security limits to make a difference between several -user groups. These are the twits, regular users and (co-)sysops. If you have -a donation system you will probably have more different levels. Every level a -user can have must have a record in this file. To operate MBSE BBS you need at -least 3 levels, twit with level 0, new users with the level as setup in 1.7.1, -and the sysop level as setup in 1.5.4 As said, for special usergroups you can -add more levels as you need. If a user logs in and has a level in the userbase -you didn't define here, he won't be able to login. Even the twit level needs -some access to be able to throw him out in a nice but friendly way, give him -5 minutes, 1 file to download and no more then 1 Kb so he will understand he -is not wanted. Some defaults are installed during first bbs setup. -

     

    - -

    Limits setup

    -

    -

    -Access level    The access level value.
    -Maximum time    The maximum time each day. If set to zero, the user gets 24 hours a day.
    -Download Kb.    Maximum Kilobytes download each day, zero is unlimited.
    -Download Files  Maximum files to download each day, zero is unlimited.
    -Description     The description for this level.
    -Available       If this level is available.
    -Deleted         If this level must be deleted.
    -
    -So if you completly want to disable a users ratio's, set Maximum time, Download -Kb and Download files to zero. A users session is still limited to 24 hours. -

    -Security setup -

    - -BackBack to BBS index  -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/services.html b/mbsebbs-code/html/setup/services.html deleted file mode 100644 index 390005fa..00000000 --- a/mbsebbs-code/html/setup/services.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Edit Services. - - - -
    - -
    Last update 25-Oct-2001
    -

    MBSE BBS Setup - Edit Services.

    - -

    Introduction.

    -

    -Services are special mail accounts. Netmail addressed to one of these names -will be handled according to the action that is selected. Current implemented -actions are AreaMgr, FileMgr and Email. So if you name a service -Areamgr and set the action to AreaMgr then an incoming -netmail will be directed to the Areamgr function. If you define a service -listserv and set the action to Email then -and incoming netmail will be converted to email and send to the listserv -account at your host.
    -

     

    - -

    Edit Services.

    -

    -

    -Name      The name of the Service.
    -Type      Toggle the service type with the spacebar.
    -Active    If this service is active.
    -Deleted   If this service must be deleted.
    -
    -

    -Here are some example services: -

    -

    -UUCP		Email
    -allfix          FileMgr
    -areamgr         AreaMgr                                                  
    -fmail           AreaMgr                                                  
    -gecho           AreaMgr                                                  
    -mbtic           FileMgr                                                  
    -raid            FileMgr
    -
    -Note: the UUCP services is needed if you are gating email! -

    - -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/sitedoc.html b/mbsebbs-code/html/setup/sitedoc.html deleted file mode 100644 index 7a27120c..00000000 --- a/mbsebbs-code/html/setup/sitedoc.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Create Sitedocs. - - - -
    - -
    Last update 09-Apr-2004
    -

    MBSE BBS Setup - Create Sitedocs.

    - - -

    Create Sitedocs

    -

    -This option creates everal documents in the share/doc and share/doc/html -directories under the home directory of MBSE BBS. In the first directory is a -file called site.doc that is formatted to print. In the html directory are -a lot of html pages with cross reference links. Since these pages contain -confidentional information of your users and links, you should not make these -html pages public available, but you can browse these with a browser with open -file and point to /opt/mbse/share/html/index.html. -

    - -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/softinfo.html b/mbsebbs-code/html/setup/softinfo.html deleted file mode 100644 index 70b0e0f2..00000000 --- a/mbsebbs-code/html/setup/softinfo.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Show Software Information. - - - -
    - -
    Last update 30-Jan-2001
    -

    MBSE BBS Setup - Show Software Information.

    - -

    Introduction

    -

    -This screen shows the information about the MBSE BBS software, copyright and -release policy. -

    - -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/taskmgr.html b/mbsebbs-code/html/setup/taskmgr.html deleted file mode 100644 index 529f7b66..00000000 --- a/mbsebbs-code/html/setup/taskmgr.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Task Manager. - - - -
    - -
    Last update 19-May-2004
    -

    MBSE BBS Setup - Task Manager.

    - -

    Introduction

    -

    -The task manager is the daemon which controls the MBSE BBS. It watches semafore's and spawns -programs in the background. It also watches the outbound to see if there are -nodes to call. -The behaviour is setup in this screen. -

    - -

    Edit Task Manager

    -

    -

    -Mailout   Action for semafore mailout.
    -Mailin    Action for semafore mailin.
    -Newnews   Action for semafore newnews.
    -Index 1   Nodelist compiler 1 for semafore mbindex.
    -Index 2   Nodelist compiler 2 for semafore mbindex.
    -Index 3   Nodelist compiler 3 for semafore mbindex.
    -Msglink   Action for semafore msglink.
    -Reqindex  Action for semafore reqindex.
    -Ping #1   IP address of node to ping to check the internet.
    -Ping #2   IP address of second node to ping to check the internet.
    -Max TCP   Maximum simultaneous outgoing calls over the internet.
    -Max Load  Max system load until processing is suspended.
    -ZMH start Start of Zone Mail Hour in UTC time.
    -ZMH end   End of Zone Mail Hour in UTC time.
    -
    -

    -Default are the original MBSE commands filled in, but you could also call -shell scripts. -

    -The two IP addresses to ping need to be IP addresses, not hostnames. This is the -most reliable way to check the connection. You should enter the IP addresses of -the nameservers of your own ISP here. One of these will always be up, so if one -of these can be reached, the internet connection is assumed to be alive. The -status of the internet connection is used to decide if it is allowed (and -possible) to call TCP/IP nodes. Calling these nodes is not depending on ZMH -unless the destination is not a CM node.
    -The max load setting decides at which system load point processing of background -tasks will be suspended. The default value should be allright for machines slower then 200 -MHz or with low ram. On faster machines you may set this value higher. -

    -Taskmanager setup -

    - -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/tic.html b/mbsebbs-code/html/setup/tic.html deleted file mode 100644 index 3dd6c1de..00000000 --- a/mbsebbs-code/html/setup/tic.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - File Echo's Setup. - - - -
    - -
    Last update 29-Jan-2001
    -

    MBSE BBS Setup - File Echo's Setup.

    - -

    File Echo's Setup.

    -

    -The File Echo's Setup is split in the following sections: -

    - -

      -
    1. File echo groups -
    2. File echo areas -
    3. Hatch manager -
    4. Magic files -
    - -BackBack to index  -HomeBack to main index -
    - - diff --git a/mbsebbs-code/html/setup/ttyinfo.html b/mbsebbs-code/html/setup/ttyinfo.html deleted file mode 100644 index 47952ffc..00000000 --- a/mbsebbs-code/html/setup/ttyinfo.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - TTY Lines. - - - -
    - -
    Last update 08-Oct-2005
    -

    MBSE BBS Setup - TTY Lines.

    - -

    Introduction.

    -

    -For each modem or ISDN line your bbs has you must setup a tty line. -This also includes console lines (for local login). Since version 0.81.0 -you don't need to setup network lines anymore, these are now buildin. -If a call comes in over a (modem or ISDN) tty you didn't define, that call is refused. -

    -One thing about the portspeed, this is only needed for devices connected to -serial ports such as modems and external ISDN adapters. -For internal ISDN cards this should be set to zero. If you set it to some other value, -things still work but you will get error messages in the logs. -

    -A note about the EMSI flags, this must match your modem capabilities, if -not dialout will not work correct. It is used to see which line to use to call -a certain node. If you add the X75 flag on an analogue line, your system will try to -call ISDN nodes using an analogue modem. So these are not your nodelist flags as they -may represent combined ISDN and analogue flags but the flags that belong to a modem. -

     

    - -

    Setup a line.

    -

    -

    -Comment      A description for this line.
    -TTY device   The tty device name without /dev/
    -Phone nr.    The phone number on this line.
    -Line Speed   The maximum line speed for this line.
    -Fido Flags   The EMSI flags for this line, include your modem flags here!
    -Line Type    Can be POTS, ISDN, Network and Local.
    -Available    Is this line available for use.
    -Honor ZMH    Deny users during ZMH on this line.
    -Deleted      If this line must be deleted.
    -Callout      Allow calling other systems from this line.
    -Portspeed    The "locked" modemspeed, 0 to 4000000 baud, only for serial ports.
    -Modemtype    The modem connected to this line.
    -EMSI name    The EMSI name presented for this (modem) line.
    -
    -

     

    - -

    Some examples.

    -

    -Overview of tty ports

    -A analogue modem port at COM1

    -A ISDN channel

    - -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/users.html b/mbsebbs-code/html/setup/users.html deleted file mode 100644 index d578a152..00000000 --- a/mbsebbs-code/html/setup/users.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - BBS Users. - - - -
    - -
    Last update 08-Nov-2005
    -

    MBSE BBS Setup - BBS Users.

    - -

    Introduction.

    -

    -This screen lets you edit some settings of the BBS users. Note that the users -database will never be packed and users will always keep their record number. -If a user is deleted the record will be blanked. New users will get a blank -record if it exists, otherwise the database will be expanded. The reason for -this is the LastRead pointers of the message areas, BBS systems who do it -in another method mostly can't keep track of LastRead pointers and records, -and they mix all users LastRead pointers. -Fields that can be changed by the users themselves are in the second screen. -

     

    - -

    Edit User

    -

    -

    -Full Name    The full (Fidonet) name of the user.
    -Security     The security level of the user.
    -Expirydate   The expiry date of the user DD-MM-YYYY.
    -Expiry Sec   The security level the user gets after expiry.
    -Unix uid     Displays the unix name of the user.
    -1st login    Displays the date of the first login.
    -Last login   Displays the date of the last login.
    -Pwdchange    Displays the date of the last password change.
    -Credit       The users credit.
    -Hidden       If the user is hidden from listings etc.
    -Deleted      User must be deleted.
    -No Kill      User can never be deleted.
    -Comment      The comment about this user.
    -Locked       Locked out of the BBS.
    -Guest        Is this a "guest" account on/off.
    -Ext Info     Send ^aKLUDGES with BlueWave downloads.
    -Email        If this user has an email address.
    -Calls        Displays the number of calls.
    -Downlds      Displays the number of downloads.
    -Down Kb      Displays the number of Kilobytes downloaded.
    -Uploads      Displays the number of uploads.
    -Upload Kb    Displays the number of Kilobytes uploaded.
    -Posted       Displays the number of messages posted.
    -Time left    Show the time left in minuts and reset the time.
    -Screen 2     Go to next setup screen.
    -
    -Watch out when changing the unix userid of the user, you need to change the -system password file and the users home directory manually. -

    -User editor -

    - -

    Edit User Private Settings

    -

    -

    -Handle       The nickname of the user.
    -Location     The location of the user.
    -Address 1    The address of the user line 1.
    -Address 2    The address of the user line 2.
    -Address 3    The address of the user line 3.
    -Voicephone   The voice phonenumber of the user.
    -dataphone    The data phonenumber of the user.
    -Birthdate    The birthdate of the user DD-MM-YYYY.
    -Password     Change password for this user.
    -Sex          Users sex, male or female.
    -Protocol     The selected file transfer protocol.
    -Archiver     The selected archiver.
    -Charset      The users preffered character set.
    -Screenlen    The length (lines) of the users screen.
    -Language     The language the user uses.
    -Hotkeys      Hotkeys on/off.
    -Color        Color on/off.
    -Fs Chat      Fullscreen Chat on/off.
    -Silent       Do not disturb on/off.
    -CLS          Sent clearscreen codes on/off.
    -More         More prompt on/off.
    -Editor       Select message editor.
    -MailScan     Scan for new mail at logon on/off.
    -ShowNews     Show "news" screens on/off.
    -NewFiles     New files scan at logon on/off.
    -Emacs        Use Emacs (or Wordstar) FS edit shortcut keys.
    -
    -

    - -User editor -

    - -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/setup/virscan.html b/mbsebbs-code/html/setup/virscan.html deleted file mode 100644 index 604bce12..00000000 --- a/mbsebbs-code/html/setup/virscan.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - -MBSE BBS Setup - Virus scanners. - - - -
    - -
    Last update 17-Feb-2008
    -

    MBSE BBS Setup - virus scanners

    - -Once upon a time there was no DOS and no computer virusses. But since DOS was -invented as a small OS which was easily extensible, virus writers saw their -chance to easy spread their hacks. Although running a GNU/Linux system is -relative safe, most of the files that you have available on your bbs -are DOS/Windows based programs. And before you put them available for download, they -should be checked for virusses. Macro virusses are a relative new danger, -this can also hurt Unix/Linux users.

    -There are several scanners for GNU/Linux available. Default only four of them -are setup. You may consult -http://www.openantivirus.org for more scanners mentioned in a mini-FAQ -maintained by Rainer Link. -

    -When you configured the sources and build mbse, the configure script searched -for excisting scanners. When mbsetup was run the first time, when mbtask was -started, the scanners found on your system are already configured with the -right paths and enabled. -

    -The following scanners are default installed in the setup: -

    - -

      -
    • NAI Virus Scan (uvscan) for Unix (GNU/Linux) made by -Network Associates, USA. -Not free for personal use. Uses the same DAT files as for Windows and DOS. -
    • AntiVir/Linux made by -H+BEDV Datentechnik GmbH. -Can also be installed in sendmail or Postfix to scan incoming -and outgoing email. This may be a good idea if you run a email gateway. -This version can be registered for personal use. -
    • Clam AntiVirus is a GNU licensed virus scanner for Unix. It -is available from www.clamav.net. It has one -slight disadvantage over other scanners (or just the opposite), when it tests a -file with the Eicar testvirus signature it will report that and triggers the -virus detection. This happens with NAI DAT files. -
    -

    -As soon as you have made one scanner available in the setup and you receive files -in tic areas where the scan flag is set, then these files will be checked. -As soon as one of the scanners detects a virus the received file will not be imported. -Uploads from users will be checked with the installed virus scanners as well. -

     

    - -

    Stream scanners

    -

    -A new feature is stream scanning. In this setup you need a virus scanner loaded as a daemon and it -must listen to a TCP/IP port to receive commands and data to scan. Currently this is only implemented -for ClamAV, but F-Prot may follow. First you need a machine where clamd is running, this -can be a remote machine but of course also the bbs machine itself. ClamAV needs to be configured -so that it listens to a TCP/IP port, and depending on other things on the local socket too. -Recent versions of ClamAV can do both together. Change your /etc/clamav/clamd.conf to -contain the following lines: -

    -# Path to a local socket file the daemon will listen on.
    -# Default: disabled (must be specified by a user)
    -LocalSocket /var/run/clamav/clamd
    -
    -# Remove stale socket after unclean shutdown.
    -# Default: no
    -#FixStaleSocket yes
    -
    -# TCP port address.
    -# Default: no
    -TCPSocket 3310
    -
    -# TCP address.
    -# By default we bind to INADDR_ANY, probably not wise.
    -# Enable the following to provide some degree of protection
    -# from the outside world.
    -# Default: no
    -#TCPAddr 127.0.0.1
    -
    -I left the comment for the TCPaddr, but it's up to you to protect the clamd server. After you -restart clamd test the connection with telnet host.where.clamd.runs 3310, -type VERSION followed by a return and you should see the ClamAV version. If that works, you can enable -the ClamAV stream scanner in mbsetup and disable the old commandline scanner.
    -So why would you use this. It's about 10 times faster then the commandline scanner. -

    - - -BackBack to index  -HomeBack to main index -

    - - diff --git a/mbsebbs-code/html/upgrade.html.in b/mbsebbs-code/html/upgrade.html.in deleted file mode 100644 index f74c20b0..00000000 --- a/mbsebbs-code/html/upgrade.html.in +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - -Upgrade MBSE BBS. - - - -
    - -
    Last update 02-Sep-2007
    -

    Upgrade MBSE BBS

    - -

    Introduction.

    -

    -First of all, if you upgrade from a previous version of MBSE BBS, -read all the ChangeLog entries from the version you are currently -running upto the new @VERSION@ version you are installing. -Then make a backup of at least all files in /opt/mbse/bin and /opt/mbse/etc. -

     

    - - -

    Install the source.

    -

    -Login as user mbse. Yes, very important, login as user mbse. -While in mbse's home directory (/opt/mbse) unpack the distribution archives: -

    -tar xfvj /path/to/mbsebbs-@VERSION@.tar.bz2
    -
    -You now have the subdirectory with sources in the right place. -Next build the binaries and install them using the following commands: -
    -cd ~/mbsebbs-@VERSION@
    -make clean
    -./configure
    -make
    -su        important, do not use "su -"
    -password: enter root password here
    -make install
    -
    -Ubuntu users should do: -
    -cd ~/mbsebbs-@VERSION@
    -make clean
    -./configure
    -make
    -sudo make install
    -
    -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. -

    -Now restart the bbs (still as root) by executing the startup -script you just saw on the screen followed by a space and the word reload or restart, -this depends on the distribution you use. There are also distributions that must use the startup -script twice, once with stop and then start as parameter. -For example: -

    -/etc/rc.d/init.d/mbsed reload
    -exit
    -
    -Ubuntu users do: -
    -sudo /etc/init.d/mbsebbs restart
    -
    -This will close the bbs, kill mbtask, start the new mbtask and open -the bbs again for use. At this point you may need to update some configuration settings -with mbsetup. Read the ChangeLog for the details. The ChangeLog may also describe a -different restart procedure if this is needed. -

     

    - -

    Other updates

    -

    -Not everything is updated during the upgrade, only the binaries. Normally this is enough. -However it may be that the example menus, macro templates are updated in the distribution. -Because these files may have some very personal changes, these files are not overwritten. -You can force that, in the subdirectory ~/mbsebbs-@VERSION@/examples type -

    -make help
    -
    -to see what you can force to update. But carefully taking over the changes may be better. -
    -In the directory /opt/mbse/bin and /opt/mbse/etc are new scripts installed. They have the -extension .new and you need to examine these to see if you can simply copy these over -your current ones. -

    -Back to IndexBack to Index - -

    - - diff --git a/mbsebbs-code/html/ups.html b/mbsebbs-code/html/ups.html deleted file mode 100644 index a2f212d1..00000000 --- a/mbsebbs-code/html/ups.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - -Using UPS semafore's. - - - -
    - -
    Last update 08-Jun-2001
    -

    MBSE BBS - Using UPS semafore's.

    - -If you have a UPS and you are able to let your UPS software create semafore's when powerfail conditions -occur then read on. The MBSE BBS taskmanager and a lot of utilities will act on two special semafore's, -they are: - -
      -
    1. upsalarm, this semafore should be set when there is no mains power, but there is enough - power left to operate your system. All background tasks will be suspended as long as this condition - is true. If the power comes back, the UPS software should remove this semafore. -
    2. upsdown, this semafore should be set when the UPS sofware signals your system to go down. - This is a fatal condition and there is no way back. Even if the power comes back your system should - shutdown and the UPS will disconnect the power to your system. After a while it will turn the power on - again and your system boots. MBSE BBS will if this semafore is seen kick users out of the bbs, and the - system shutdown script will try to close MBSE BBS as quick as possible. Normal the close timeout is - one hour to let users normal finnish what they were doing, now it is only 30 seconds and if they were - not logged out, they will be disconnected anyway. -
    -I know not all UPS software can do this but most UPS software is open source so you can change it to create -these semafore's. It is not a problem that UPS semafore's still exist if the systems boots, the MBSE BBS -startup scripts will remove them before the bbs is started. -

     

    - - -BackGo Back -

    - - diff --git a/mbsebbs-code/lang/.cvsignore b/mbsebbs-code/lang/.cvsignore deleted file mode 100644 index 256af178..00000000 --- a/mbsebbs-code/lang/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -language.nl language.en filelist language.gl language.de language.es language.fr language.zh diff --git a/mbsebbs-code/lang/Language.xref b/mbsebbs-code/lang/Language.xref deleted file mode 100644 index f5253d00..00000000 --- a/mbsebbs-code/lang/Language.xref +++ /dev/null @@ -1,482 +0,0 @@ -0 user.c newuser.c |Please enter your First and Last name: -1 user.c |Please enter your Last name: -2 user.c |Disconnecting user ... -3 user.c |Scanning User File ... -4 user.c YN|Did you spell your name correctly? [Y/n] -5 newuser.c |You need to login again with the name: -6 user.c |This is a PRIVATE System. Type "off" to leave -7 filesub.c |Mark file number or press to stop -8 user.c filesub.c |Password: -9 user.c |Maximum login attempts have been exceeded ... -10 user.c |Either your NAME or PASSWORD is incorrect -11 mail.c email.c HR|Export to (H)ome or (R)ules directory: -12 mail.c email.c |Message exported to rules directory as -13 dispfile.c |No rules found for this area -14 mail.c |You are not allowed to delete that message -15 change.c |Offline Reader: Extended Info turned ON -16 change.c |Offline Reader: Extended Info turned OFF -17 file.c |This is not a plain textfile. -18 user.c |You may only login -19 user.c |times at the same time -20 door.c |The door is in use by another user, try again later -21 mail.c YN| Is this correct [y/N]: -22 mail.c |Could not parse -23 change.c |Select your preferred character set -24 change.c |Select character set (Enter to Quit): -25 change.c |Character set now set to: -26 newuser.c YN|Check for new mail at login [Y/n]: -27 newuser.c YN|Check for new files at login [Y/n]: -28 page.c |Enter a short reason for chat -29 chat.c |The Sysop cannot use the bbs to chat! Use mbmon to chat -30 chat.c |Sorry, the chatserver is not available -31 mbsebbs.c |line -32 .c | -33 .c | -34 .c | -35 .c |In use for internationalization -36 .c |In use for internationalization -37 newuser.c |MBSE Bulletin Board System - NEW USER REGISTRATION -38 newuser.c |Use this name: -39 newuser.c |Please enter new password : -40 newuser.c user.c |Please enter password again : -41 newuser.c user.c |Your passwords do not match! Try again. -42 newuser.c change.c user.c |Your password must contain at least -43 newuser.c change.c user.c |characters! Try again. -44 | -45 newuser.c change.c |Please enter you Voice Number -46 mail.c |Message exported to your private directory as: -47 newuser.c change.c |Please enter a proper phone number -48 newuser.c change.c |Please enter you Data Number -49 newuser.c change.c |Please enter your location: -50 newuser.c |Please enter a longer location -51 newuser.c MF|What is your sex? (M)ale or (F)emale: -52 newuser.c |Male -53 newuser.c |Female -54 newuser.c |Please answer M or F -55 newuser.c |Unknown -56 newuser.c change.c |Please enter your Date of Birth DD-MM-YYYY: -57 newuser.c |Sorry you entered this year by mistake. -58 newuser.c |Please enter the correct date format -59 chat.c |*** Sysop is starting chat *** -60 chat.c |*** Sysop has terminated chat *** -61 mail.c misc.c file.c YN=|More (Y/n/=) -62 newuser.c YN|Would you like Hot-Keyed menus? [Y/n]: -63 newuser.c |Please answer Y or N -64 | -65 newuser.c |None -66 offline.c |Tag Offline Reader message areas -67 newuser.c |Your user account has been created: -68 newuser.c |Login Name : -69 newuser.c |Password : -70 newuser.c |not displayed -71 newuser.c |New user registration completed. -72 misc.c |Could not find -73 change.c |Old Location: -74 change.c |Please enter a longer location (min -75 | -76 | -77 mail.c |Message doesn't exist -78 change.c |News bulletins turned ON -79 change.c |News bulletins turned OFF -80 | -81 | -82 mail.c |Private message, not owner -83 change.c |Please enter the correct date format -84 misc.c |Todays Callers to -85 misc.c |# User Name Device TimeOn Calls Location -86 change.c |Can't open archiver file. -87 change.c |Select your preferred archiver -88 change.c |Select Archiver (Enter to Quit): -89 change.c |Archiver now set to: -90 .c | -91 .c | -92 .c | -93 .c | -94 .c | -95 .c | -96 .c | -97 .c | -98 .c | -99 .c | -100 .c | -101 .c | -102 .c | -103 .c | -104 .c | -105 .c | -106 .c | -107 signature.c |Edit message signature -108 .c |The FROM, TO and SUBJECT fields are optional. -109 .c | From: -110 .c | To: -111 .c |Subject: -112 .c | Type up to 4 lines 74 Characters per line -113 signature.c |Functions available: -114 signature.c LREAS|(L)ist, (R)eplace text, (E)dit line, (A)bort, (S)ave -115 signature.c |Select: -116 signature.c file.c |Aborting... -117 signature.c |Returning to -118 signature.c |Edit which line: -119 signature.c |Line does not exist. -120 change.c |Old Password: -121 change.c |New password: -122 change.c |Confirm new password: -123 change.c |Passwords do not match! -124 change.c |Password Change Successful -125 change.c |Old password incorrect! -126 funcs.c |User List -127 funcs.c |Enter Username search string or (Enter) for all users: -128 funcs.c |Name Location Last On Calls -129 funcs.c |Could not find search string ... -130 timecheck.c |Time limit exceeded ... disconnecting! -131 filesub.c YN=M|More (Y/n/=) M=Mark -132 filesub.c |Scanning -133 filesub.c |with -134 funcs.c |TIME STATISTICS for -135 funcs.c mbsebbs.c |on -136 funcs.c |Current Time : -137 funcs.c |Current Date : -138 funcs.c |Connect time : -139 funcs.c |Time used today : -140 funcs.c |Time remaining today : -141 funcs.c |Daily time limit : -142 mail.c |You have -143 mail.c YN|messages, read your mail now? [Y/n]: -144 mail.c |You have no new mail in your mail box ... -145 change.c |Hotkeys are now ON -146 change.c |Hotkeys are now OFF -147 funcs.c |On -148 funcs.c |Off -149 newuser.c |User name already exists -150 mail.c |Checking your mail box ... -151 page.c |MBSE BBS Chat -152 page.c |The SysOp is currently speaking to somebody else. -153 page.c |Try paging him again in a few minutes ... -154 page.c |You have paged the Sysop the maximum times allowed. -155 page.c |Sysop currently is not available ... please leave a comment -156 mail.c |Posting message in area: -157 mail.c |From : -158 mail.c |To : -159 mail.c |Verifying user ... -160 mail.c |User not found. Try again, or (Enter) to quit -161 mail.c |Subject : -162 mail.c YN|Abort Message [y/N] ?: -163 mail.c YN|Private [y/N]: -164 lineedit.c |Begin your message now, Blank line to end -165 lineedit.c |Maximum of 60 lines, 73 characters per line -166 lineedit.c |Maximum message length exceeded -167 lineedit.c |Functions available: (Current Message: -168 lineedit.c |Lines) -169 lineedit.c |L - List message S - Save message C - Continue message -170 lineedit.c |Q - Quit message D - Delete line I - Insert line -171 lineedit.c |T - Text edit E - Edit line R - Replace line -172 lineedit.c LSCQDITERZ|Z - Center line -173 lineedit.c |Select -174 lineedit.c |Continue -175 lineedit.c file.c |Delete -176 lineedit.c |Delete starting at line -177 lineedit.c |Aborted. -178 lineedit.c |Please enter a number in the range of -179 lineedit.c |Delete ending at line -180 lineedit.c |Edit -181 lineedit.c |Enter line # to edit -182 lineedit.c |Insert -183 lineedit.c |Enter line # to insert text before -184 lineedit.c |List -185 lineedit.c |Enter line # to replace -186 lineedit.c signature.c |Line reads: -187 lineedit.c |Unchanged. -188 lineedit.c |Line now reads: -189 lineedit.c mail.c |Quit -190 lineedit.c YN|Are you sure [y/N]: -191 lineedit.c |Message aborted. -192 lineedit.c |No -193 lineedit.c |Text Edit -194 lineedit.c |Enter line # to edit -195 lineedit.c signature.c |Text to replace : -196 lineedit.c signature.c |Replacement text : -197 lineedit.c |Line now reads: -198 lineedit.c |Save -199 filesub.c |Possible VIRUS found! -200 filesub.c offline.c |Ok -201 filesub.c offline.c |Unpacking archive -202 mail.c |Saving message to disk -203 lineedit.c |Enter line # to center -204 lineedit.c |Line is maximum length and cannot be centered -205 mail.c |There are no messages in this area. -206 mail.c |Date : -207 mail.c file.c YN=|More (Y/n/=/Area #): -208 mail.c |To : -209 mail.c |From : -210 mail.c |Subject : -211 mail.c |Next reply: -212 mail.c |Reply to: -213 mail.c |messages in -214 mail.c ANLREQDX|(A)gain, (N)ext, (L)ast, (R)eply, (E)nter, (D)elete, (Q)uit, e(X)port -215 mail.c |(A)gain, (N)ext, (L)ast, (R)eply, (E)nter, (Q)uit, e(X)port -216 mail.c |Next -217 filesub.c offline.c |ERROR -218 mail.c RNQ|(R)eply, (N)ext, (Q)uit: -219 mail.c |Enter to keep Subject. -220 mail.c |# From To Subject -221 mail.c |Message area -222 mail.c |contains -223 mail.c |messages. -224 mail.c |Please enter a message between -225 mail.c |Message number [ -226 mail.c |Area Type description Messages Personal -227 mail.c |thread -228 offline.c |Enter the name of the conference, or ? for a list: -229 offline.c |Conference Area Msgs Description -230 mail.c |Deleting message -231 mail.c | Message Areas -232 file.c mail.c |Select Area: -233 file.c mail.c |Invalid area specified - Please try again ... -234 file.c mail.c |Password is incorrect -235 file.c mail.c |Password is correct -236 file.c |You don't have enough security to list this area -237 filesub.c |Can't open file database for this area -238 filesub.c file.c |Uploaded by: -239 file.c |D E L E T E D -240 | -241 mail.c YN|Node not known, continue anayway [y/N]: -242 file.c |Total Files: -243 filesub.c |FATAL: Unable to open areas database -244 filesub.c |You do not have enough access to download from this area. -245 file.c mail.c |Please enter filename: -246 file.c |No filename entered, Aborting. -247 file.c offline.c |Illegal Filename! -248 file.c |Sorry that file is unavailable for download -249 file.c filesub.c |You have -250 file.c filesub.c |extra download KBytes. -251 filesub.c |You do not have enough time to download that file. -252 filesub.c |You do not have enough bytes to download " -253 filesub.c |You must upload before you can download. -254 filesub.c |Kilobytes currently available: -255 file.c |Checking your marked downloads, please wait... -256 offline.c |Untag Offline Reader message areas -257 filesub.c |Found FILEID.DIZ in -258 file.c |No files marked for download. -259 .c | -260 offline.c |You have selected the following Conference(s): -261 file.c |Filename Size Date -262 change.c |Protocol: Can't open protocol file. -263 change.c |Select your preferred file transfer protcol -264 change.c |Select Protocol (Enter to Quit): -265 change.c |Invalid selection, please try again! -266 change.c |Protocol now set to: -267 file.c |Enter keyword to use for Search: -268 file.c |File Search by Keyword -269 file.c |Accepts wildcards such as : *.zip, *.gz, *.* -270 | : *.zip is the same as .zip -271 file.c |Enter filename to search for : -272 file.c |File Search by Filename -273 file.c YN|Search for new since your last call [Y/n]: -274 file.c |Enter new date to search for [DD-MM-YYYY]: -275 file.c |File Search by Date -276 .c | -277 offline.c |Offline Reader Download -278 file.c |You do not have enough access to upload to this area. -279 file.c |You have not enough diskspace free to copy this file -280 file.c |files( -281 file.c |bytes) marked for download. -282 file.c |The file already exists on the system -283 file.c offline.c |Please start your upload now ... -284 filesub.c |Upload was unsuccessful for: -285 filesub.c YN|Do you want to password protect your upload ? [y/N]: -286 filesub.c |REMEMBER: Passwords are "CaSe SeNsITiVe!" -287 filesub.c |Please enter description of file -288 filesub.c |Your upload time has been returned to you. Thank you for your upload! -289 file.c |Start copy: -290 file.c |Can't open directory for listing: -291 file.c |Home directory listing for -292 file.c |Please enter filename to delete: -293 file.c |Sorry you may not delete hidden files ... -294 file.c |Unable to delete file ... -295 file.c |Invalid filename, please try again ... -296 file.c |File does not exist, please try again ... -297 offline.c |Forum Description Msgs. Pers. -298 file.c | File Areas -299 file.c |Please enter Area Password: -300 bbslist.c |Adding BBS -301 bbslist.c |BBS Name: -302 bbslist.c |Response needed ... -303 bbslist.c |Phone Number: -304 bbslist.c |Sysop Name: -305 bbslist.c |BBS Software: -306 bbslist.c |Storage (GigaByte): -307 bbslist.c |Speeds: -308 bbslist.c YN|Would you like to add a extended discription? [Y/n]: -309 bbslist.c |Please a enter discription for -310 bbslist.c |BBS Listing -311 bbslist.c |# BBS Name Number Software GigaByte Speed -312 bbslist.c |Search for a BBS -313 bbslist.c |Please enter 3 letters of BBS to search for: -314 bbslist.c |I need at least 3 letters ... -315 bbslist.c YN|View this BBS? [Y/n]: -316 bbslist.c |Could not find the BBS Listed ... -317 bbslist.c |Show a BBS -318 bbslist.c |Please enter number to list: -319 bbslist.c oneline.c |Record does not exist -320 bbslist.c | Record : -321 bbslist.c | BBS Name : -322 bbslist.c | Number : -323 bbslist.c | Software : -324 bbslist.c | GigaByte : -325 bbslist.c | Speeds : -326 bbslist.c | Sysop Name : -327 bbslist.c | Available : -328 bbslist.c | Date of Entry : -329 bbslist.c | Entry Name : -330 bbslist.c |Delete BBS -331 bbslist.c oneline.c mail.c |Please enter number to delete: -332 bbslist.c oneline.c |Record -333 bbslist.c oneline.c |does not belong to you. -334 bbslist.c oneline.c |already marked for deletion -335 bbslist.c |marked for deletion -336 bbslist.c |The Sysop will purge the list once he has -337 bbslist.c |seen you have marked a record for deletion. -338 offline.c |Total messages found: -339 menu.c |Unknown Menu Command! -340 signature.c |Saving... -341 oneline.c |MBSE BBS Oneliners will randomly appear on the main menu. -342 oneline.c |Obscene or libellous oneliners will be deleted!! -343 oneline.c |Please enter your oneliner below. You have 75 characters. -344 oneline.c |Oneliner added -345 oneline.c | # A Date User Description -346 oneline.c | # Description -347 oneline.c |Please enter number to list: -348 mbsebbs.c |Connected from -349 file.c |File(s) : -350 file.c |Size : -351 file.c |Protocol : -352 file.c |Updating download counter, please wait ... -353 file.c |Failed! -354 file.c |Bytes -355 file.c | # Area Active Size Cost File -356 file.c lineedit.c |Yes -357 file.c |No -358 file.c TE|(T)oggle active, (E)rase all, (ENTER) to continue: -359 file.c |Enter file number, 1.. -360 filesub.c |Marked: -361 file.c |No files tagged. -362 lineedit.c |Replace -363 newuser.c |Loading BBS, please wait ... -364 offline.c |New or deleted mail areas at -365 offline.c |Area State Type Description -366 change.c |New Mail check is now ON -367 change.c |New Mail check is now OFF -368 file.c |Delete file: -369 file.c YN|Are you Sure? [Y/n]: -370 change.c |New Files check is now ON -371 change.c |New Files check is now OFF -372 change.c |Now using the -373 change.c 12|Select: 1) Fullscreen editor, 2) External editor -374 offline.c |No messages found to download! -375 funcs4.c |Press (Enter) to continue: -376 lineedit.c |Center -377 offline.c |Too much messages. Only the first -378 change.c |Select your preferred language -379 change.c |Select Language: -380 change.c |Language now set to: -381 funcs4.c |The system will now ask you for a "Unix Account" -382 funcs4.c |Your "Unix Account" is created, you may use it the next time you call. -383 funcs4.c |Please enter a login name (Maximum 8 characters) -384 funcs4.c |ie. John Doe, login = jdoe -385 funcs4.c |login > -386 funcs4.c |That login name already exists, please choose another one. -387 change.c |Line -388 change.c |Fullscreen -389 change.c |External -390 change.c |Editor -391 offline.c |New -392 offline.c |Local -393 offline.c |Netmail -394 offline.c |Echomail -395 offline.c |News -396 offline.c |E-Mail -397 offline.c |Del -398 funcs4.c |Jan -399 funcs4.c |Feb -400 funcs4.c |Mar -401 funcs4.c |Apr -402 funcs4.c |May -403 funcs4.c |Jun -404 funcs4.c |Jul -405 funcs4.c |Aug -406 funcs4.c |Sep -407 funcs4.c |Oct -408 funcs4.c |Nov -409 funcs4.c |Dec -410 newuser.c timeout.c |Autologout: idletime reached. -411 offline.c |will be packed! -412 newuser.c change.c |Enter your handle (Enter for none): -413 user.c |You are now ready to use the bbs -414 exitinfo.c |Callers On-Line to -415 exitinfo.c |Name Device Status Location -416 change.c |Do not disturb turned OFF -417 change.c |Do not disturb turned ON -418 exitinfo.c |Browsing -419 exitinfo.c |Downloading -420 exitinfo.c |Uploading -421 exitinfo.c |Msg Section -422 exitinfo.c |External Door -423 exitinfo.c |Chatting -424 exitinfo.c |Listing Files -425 offline.c YN|Do you want to download these messages [Y/n]? -426 exitinfo.c |Banking Door -427 exitinfo.c |Safe Door -428 exitinfo.c |WhosOn List -429 exitinfo.c |Offline Reader -430 exitinfo.c |Please enter username to send message to: -431 exitinfo.c |Sorry, there is no user on -432 exitinfo.c |doesn't wish to be disturbed -433 exitinfo.c |Please enter in message to send (Max 76 Characters) -434 misc.c |** Message ** from -435 user.c |Your password is expired, new password : -436 funcs.c |Press ENTER to continue -437 mail.c |Posting not allowed, this area is Read Only! -438 change.c 1|Select: 1) Fullscreen editer -439 offline.c |Offline Reader Upload -440 offline.c |Invalid packet received -441 offline.c |Unknown compression type -442 offline.c file.c |Archiver not available -443 offline.c |Unknown type mailpacket -444 offline.c |BlueWave Offline download -445 offline.c |Preparing packet -446 offline.c |Packing with -447 offline.c |Download failed -448 offline.c |Download successfull -449 offline.c |Updating lastread pointers -450 offline.c |Processing BlueWave reply packet -451 offline.c |ERROR in packet -452 offline.c |Import messages -453 offline.c mail.c |No Write access to area -454 offline.c |Messages imported -455 offline.c |Processing Offline Configuration -456 offline.c |Message areas selected -457 offline.c |Processing file requests -458 offline.c |QWK Offline Download -459 offline.c |Processing QWK reply packet -460 offline.c |ASCII Offline Download -461 mail.c YN|Crash [y/N]: -462 mail.c YN|Warning: node is not CM, send immediate [y/N]: -463 mail.c YN|Attach file [y/N]: -464 mail.c |File -465 mail.c |will be attached -466 mail.c |File not within -467 email.c |mailbox - Incoming and outgoing email -468 email.c |archive - Archive of your email -469 email.c |trash - Trashcan, your old email -470 email.c |Area # -471 funcs.c |minutes. -472 change.c |Fullscreen Editor shortcut keys set to Emacs -473 change.c |Fullscreen Editor shortcut keys set to Wordstar -474 newuser.c change.c |Your address, maximum 3 lines (only visible for the sysop): -475 newuser.c change.c |You need to enter your address here -476 change.c |Old address: -477 mail.c |Use your alias ( -478 mail.c YN|) to post this message [Y/n]: -479 mail.c |No more areas with unread messages -480 mail.c |Addresse not in Nodelist -481 mail.c |Found Addresse in Nodelist diff --git a/mbsebbs-code/lang/Makefile b/mbsebbs-code/lang/Makefile deleted file mode 100644 index ca71378f..00000000 --- a/mbsebbs-code/lang/Makefile +++ /dev/null @@ -1,48 +0,0 @@ -# Makefile for MBSE BBS under Linux -# Copyright (c) 1998, 2000 by M. Broek. -# $Id: Makefile,v 1.10 2007/02/17 12:14:20 mbse Exp $ - -include ../Makefile.global - -OTHER = Makefile README Language.xref germandu.txt -SDAT = source.en source.nl source.es source.gl source.de source.fr source.zh -LDAT = language.en language.nl language.es language.gl language.de language.fr language.zh - - -all: ${LDAT} - -clean: - rm -f core filelist Makefile.bak language.* - -install: ${LDAT} - ${INSTALL} -c -o ${OWNER} -g ${GROUP} -m 0444 ${LDAT} ${INTDIR} - -language.en: source.en - ../mbutils/mblang language.en source.en - -language.nl: source.nl - ../mbutils/mblang language.nl source.nl - -language.es: source.es - ../mbutils/mblang language.es source.es - -language.gl: source.gl - ../mbutils/mblang language.gl source.gl - -language.de: source.de - ../mbutils/mblang language.de source.de - -language.fr: source.fr - ../mbutils/mblang language.fr source.fr - -language.zh: source.zh - ../mbutils/mblang language.zh source.zh - - -filelist: Makefile - BASE=`pwd`; \ - BASE=`basename $${BASE}`; \ - (for f in ${SDAT} ${OTHER} ;do echo ${PACKAGE}-${VERSION}/$${BASE}/$$f; done) >filelist - -depend: - diff --git a/mbsebbs-code/lang/README b/mbsebbs-code/lang/README deleted file mode 100644 index ba8c68e6..00000000 --- a/mbsebbs-code/lang/README +++ /dev/null @@ -1,43 +0,0 @@ -$Id: README,v 1.5 2007/02/17 12:14:20 mbse Exp $ - - LANGUAGE SOURCES FOR MBSE BBS. - ============================== - - -This directory contains the language sources for MBSE BBS. The file -Language.xref is only a reference file with linenumbers and source -references. The files source.en, source.nl and source.de are the -real language sources. The resulting files language.nl, language.en -and language.de are placed in the ~/share/int directory where the bbs -will expect them to be. - -If you make your own language files, use Language.xref as a guide. -The syntax for each language line is: - -KEYS|Language line - -The keys are the keys that the users must press for the right response. -Order is important. The "|" character is a seperator, the rest of the -language line is the line shown to the user. Trailing spaces are important! - -If you do create language sources then I would like that you make them -public available and send them to me so I can include them in the -source distribution. - -Michiel. - - -Current language maintainters: - -en Michiel Broek -nl Michiel Broek -es Redy Rodriguez -gl Redy Rodriguez -de Harald Wuensch -germandu Malte Tychsen <2:240/9350@fidonet> (alternative german). -fr Francois Thunus <2:270/24@fidonet> - -If you want to use the germandu language instead of the default german -language then run "mblang germandu.txt language.de" and install the -file laguage.de in /opt/mbse/share/int. - diff --git a/mbsebbs-code/lang/germandu.txt b/mbsebbs-code/lang/germandu.txt deleted file mode 100644 index 00e33905..00000000 --- a/mbsebbs-code/lang/germandu.txt +++ /dev/null @@ -1,480 +0,0 @@ -|Bitte Vor- und Nachnamen eingeben: -|Bitte gib Deinen Nachnamen ein: -|Abmelden des Benutzers ... -|Pruefen der Datei ... -JN|Hast Du Deinen Namen korrekt eingegeben? [a/ein] -|Bitte melde Dich nun mit folgendem Namen erneut an: -|Dies ist ein PRIVATES System. Gib zum Verlassen "off" ein -|Gib bitte die Nummer ein - beenden mit : -|Passwort: -|Die maximale Anzahl von Login-Versuchen wurde ueberschritten ... -|Entweder Dein NAME oder Dein PASSWORT wurden falsch eingegeben -HR|Export in ome oder ules Verzeichnis: -|Message exportiert in das Rules Verzeichnis als -|Keine Rules gefunden fuer diese Area -|Keine Berechtigung zum loeschen der Message -|Offline Reader: Erweiterte Info _AN_gestellt -|Offline Reader: Erweiterte Info _AUS_gestellt -|Dies ist keine Textdatei. -|Du darfst nur -|mal gleichzeitig eingewaehlt sein -|Dieses Program ist von jemand anderem in Benutzung, versuchs spaeter nochmal -JN| Ist dies richtig richtig? [a/ein]: -|Could not parse -|Waehle Deinen bevorzugten Zeichensatz -|Waehle Zeichensatz (beenden mit ): -|Zeichensatz ist jetzt: -YN|Check for new mail at login [Y/n]: -YN|Check for new files at login [Y/n]: -|Enter a short reason for chat -|The Sysop cannot use the bbs to chat! Use mbmon to chat -|Sorry, the chatserver is not available -|line -| -| -| -| -| -|MBSE Bulletin Board System - Anlegen eines neuen Benutzerkontos -|Diesen Namen verwenden: -|Bitte das neue Passwort eingeben : -|Bitte das neue Passwort wiederholen : -|Die Passwoerter stimmen nicht ueberein! Bitte wiederholen. -|Dein Passwort muss mindestens -|Zeichen enthalten! Bitte wiederholen. -| -|Bitte gib Deine Telefonnummer an: -|Die Mitteilung wurde in Dein privates Verzeichnis gespeichert als: -|Bitte gib Deine vollstaendige Telefonnummer an: -|Bitte gib Deine Daten-Telefonnummer an: -|Bitte gib Deinen Ihren Wohnort an: -|Der Name des Wohnortes ist zu kurz -MW|Bist Du aennlich oder eiblich ? : -|Maennlich -|Weiblich -|Bitte druecke "M" oder "W" -|Unbekannt -|Bitte gib Dein Geburtsdatum an [TT-MM-JJJJ]: -|Du hast versehentlich dieses Jahr eingegeben. -|Bitte verwende das vorgegebene Datumsformat -|*** Der Sysop beginnt den Chat *** -|*** Der Sysop hat den Chat beendet *** -JN=|Weiter (a/ein/<=>) -JN|Moechtest Du Menues mit "Hot-Keys" verwenden? [a/ein]: -|Bitte druecke "J" oder "N" -| -|Keine(r) -|Mitteilungsbereiche fuer den Offline Reader markieren -|Dein Benutzeraccount wurde wie folgt eingerichtet: -|Login Name : -|Passwort : -| * * * * * -|Die Registrierung des neuen Benutzeraccounts ist abgeschlossen. -|Unbekannt -|Bisheriger Ort: -|Bitte gib eine laengere Bezeichung fuer den Ort ein (min -| -| -|Die Mitteilung existiert nicht -|System-Mitteilungen sind jetzt EIN -|System-Mitteilungen sind jetzt AUS -| -| -|Private Mitteilung - Du bist weder Absender noch Empfaenger -|Bitte verwende das vorgegebene Datumsformat -|Logins heute bis -|# User Name Leitg. TimeOn Calls Ort -|Can't open archiver file. -|Select your preferred archiver -|Select Archiver (Enter to Quit): -|Archiver now set to: -|Bitte gib Deine Kombination ein. -|1. Zahl: -|Bitte versuche es erneut! Verwende Zahlen groesser 0 und kleiner -|2. Zahl: -|3. Zahl: -| Links: -|Rechts: -JN|Moechtest Du den Safe mit dieser Kombination oeffnen [a/ein]: -|Du hast folgendes gewonnen... -|Du hast den Safe leider nicht geoeffnet ! -|Der Safe Code war: -JN|Moechtest Du es noch einmal versuchen ? [a/ein]: -JN|Moechtest Du den Safe oeffnen ? [a/ein]: -|DER SAFE IST ZUR ZEIT VERSCHLOSSEN -|hat den Safe geknackt. -|Der Safe bleibt verschlossen bis der Sysop den Preis vergeben hat.. -|Maximale Versuche pro Tag ueberschritten ! -|Message fuer das "Nextuser Door" -|Die VON, AN und Betreff Felder sind optional. -| Von: -| An: -|Betreff: -| Bitte bis zu 10 Zeilen mit je 74 Zeichen eingeben -|Verfuegbare Funktionen: -LEBAS|isten, rsetze Text, earbeite Zeile, bbrechen, peichern -|Auswaehlen: -|Abbruch... -|Rueckkehr zu -|Welche Zeile bearbeiten: -|Diese Zeile existiert nicht. -|Bisheriges Passwort: -|Neues Password: -|Neues Passwort wiederholen: -|Passwort-Eingaben stimmen nicht ueberein ! -|Passwort-Aenderung erfolgreich -|Bisheriges Passwort wurde nicht richtig eingegeben ! -|Benutzerliste -|Suchzeichenkette eingeben oder fuer alle Benutzer: -|Name Ort Zuletzt hier Logins -|Die Suchzeichenkette wurde nicht gefunden ... -|Zeitlimit erreicht ... Verbindung wird getrennt! -JN=M|Weiter (a/ein/<=>) arkieren -|Suche -|mit -|Zeit Statistik fuer -|on -|Aktuelle Zeit : -|Aktuelles Datum : -|Verbindungszeit : -|Zeit fuer Heute : -|Verbleibende Zeit Heute : -|Taegl. Zeitlimit : -|Sie haben -JN|Mitteilungen, moechtest Du jetzt Deine Post lesen? [a/ein]: -|Es liegen keine neuen Mitteilungen fuer Dich vor. -|Hotkeys sind jetzt EIN -|Hotkeys sind jetzt AUS -|Ein -|Aus -|Dieser Benutzername existiert bereits -|Suchen nach persoenlichen Mitteilungen, bitte warten ... -|MBSE BBS Chat -|Der SysOp spricht gerade mit einem anderen User. -|Bitte versuche es in einigen Minuten nochmals ... -|Ihre maximale Anzahl von Sysop-Anrufen ist erreicht. -|Sysop ist zurzeit nicht erreichbar. Bitte hinterlasse eine Mitteilung... -|Versenden einer Mitteilung im Bereich: -|Von : -|An : -|Suche Adressaten ... -|Adressat nicht gefunden. Bitte nochmals eingeben oder beenden mit -|Betreff : -JN|Mitteilung verwerfen [a/ein] ?: -JN|Privat [a/ein]: -|Schreibe die Mitteilung jetzt. Beenden: eine leere Zeile eingeben -|Maximal 60 Zeilen, 73 Zeichen pro Zeile -|Maximale Zeilenanzahl erreicht -|Verfuegbare Funktionen: (Aktuelle Mitteilung: -|Zeilen) -|A - Anzeigen S - Speichern W - Weiterschreiben -|B - Beenden L - Zeile loeschen E - Zeile einfuegen -|T - Text bearbeiten X - Zeile bearbeiten R - Zeile ersetzen -ASWBLETXRZ|Z - Zeile zentrieren -|Auswaehlen -|Fortfahren -|Loeschen -|Loeschen ab Zeile -|Abgebrochen. -|Bitte gib eine Zahl ein im Bereich -|Loeschen bis Zeile -|Bearbeiten -|Gib die zu bearbeitende Zeile an -|Einfuegen -|Gib die Zeile an, vor der eingefuegt werden soll -|Listen -|Gib die zu ersetzende Zeile an -|Zeile: -|Unveraendert. -|Zeile jetzt: -|Beenden -JN|Bist Du sicher [a/ein]: -|Mitteilung wurde verworfen. -|Nein -|Text bearbeiten -|Gib die zu bearbeitende Zeile an -|Gib den zu ersetzenden Text an : -|Ersatztext : -|Zeile jetzt: -|Speichern -|Moeglicherweise Virus entdeckt ! -|Ok -|Auspacken des Archivs -|Mitteilung speichern -|Gib die zu zentrierende Zeile an -|Die Zeile kann nicht zentriert werden, da sie maximale Laenge hat. -|Es liegen keine Mitteilungen in diesem Bereich vor. -|Datum : -JN=|Weiter (a/ein/<=>/Bereich-Nr.): -|An : -|Von : -|Betreff : -|Naechste Antwort: -|Antwort auf: -|Mitteilungen in -WNLAUEHX|iederh. aechste etzte ntwort ne loescen nde eport -|Wiederh. aechste etzte ntwort ne loescen nde eport -|Naechste -|FEHLER -ANE|ntwort, aechste, nde: -|Enter um Betreff zu uebernehmen. -|# Von An Betreff -|Bereich -|enthaelt -|Mitteilung(en). -|Eingabe einer Zahl von -|Mitteilung Nummer [ -|Nr. Typ Beschreibung Insges. Pers. -|Thema -|Name des Bereichs eingeben oder ? fuer eine Liste: -|Bereich Nr. Anz. Beschreibung -|Loesche Mitteilung -| Mitteilungsbereiche -|Auswahl Bereich: -|Die angegebene Bereichsnummer existiert nicht. -|Das Passwort ist ungueltig -|Das Passwort ist korrekt -|Du hast nicht ausreichend Rechte um diesen Mitteilungsbereich aufzulisten -|Die Datei-Datenbank fuer diesen Bereich kann nicht geoeffnet werden -|Heraufgeladen von: -|G E L O E S C H T -| -JN|Adresse unbekannt, dennoch fortfahren [a/ein]: -|Dateien insgesamt: -|FATAL: die Datenbank der Dateibereiche kann nicht geoeffnet werden -|Du hast nicht ausreichend Rechte zum Herunterladen aus diesem Bereich -|Bitte den Dateinamen angeben: -|Kein Dateiname angegeben, Abbruch. -|Ungueltiger Dateiname! -|Dieses Datei ist fuer das Herunterladen leider nicht verfuegbar -|Du hast -|zusaetzliche Download-KBytes. -|Deine Restzeit reicht nicht fuer das Herunterladen dieser Datei. -|Dein Download-Limit reicht nicht fuer das Herunterladen " -|Du musst etwas heraufladen bevor Du herunterladen kannst. -|Kilobytes verfuegbar: -|Pruefe die markierten Downloads, bitte warten ... -|Mitteilungsbereiche fuer den "Offline Reader" abwaehlen -|FILEID.DIZ gefunden in -|Es sind keine Dateien zum Herunterladen markiert. -| -|Du hast folgende Bereiche fuer den "Offline Reader" markiert: -|Dateiname Groesse Datum -|Protokoll: Protokolldatei kann nicht geoeffnet werden. -|Auswahl des bevorzugten Protokolls -|Bitte Protokoll auswaehlen (frei lassen um abzubrechen): -|Ungueltige Auswahl, bitte nochmals eingeben! -|Standardprotokoll ist jetzt: -|Bitte den Suchbegriff eingeben: -|Dateisuche nach Schluesselwort -|Akzeptiert Platzhalter wie: *.zip, *.gz, *.* -| *.zip entspricht .zip -|Gib den zu suchenden Dateinamen an: -|Dateisuche nach Dateinamen -JN|Neue Dateien seit Deinem letzten Login suchen [a/ein]: -|Gib das Suchdatum an [TT-MM-JJJJ]: -|Dateisuche nach Datum -| -|Mitteilungen fuer "Offline Reader" herunterladen -|Deine Zugriffsberechtigung reicht nicht fuer das Heraufladen. -|Dein Plattenplatz reicht nicht fuer das Kopieren der Datei -|Dateien( -|Bytes) zum Herunterladen markiert. -|Diese Datei ist schon vorhanden -|Bitte starte das Heraufladen jetzt ... -|Folgendes konnte nicht heraufgeladen werden: -JN|Moechtest Du das Heraufgeladene mit einem Passwort schuetzen ? [a/ein]: -|Beachte: Passwoerter sind "CaSe SeNsITiVe!" -|Bitte gib die Beschreibung der Datei ein -|Danke! Die Zeit fuer das Heraufladen wurde Dir gutgeschrieben. -|Kopieren beginnen: -|Das Verzeichnis kann nicht aufgelistet werden: -|Home-Verzeichnis von -|Gib den Dateinamen zum Loeschen an: -|Versteckte Dateien koennen nicht geloescht werden ... -|Datei kann nicht geloescht werden ... -|Ungueltiger Dateiname, bitte erneut eingeben ... -|Die Datei existiert nicht, bitte erneut eingeben ... -|Forum Beschreibung Msgs. Pers. -| Dateibereiche -|Passwort fuer den Dateibereich: -|BBS hinzufuegen -|Name des BBS: -|Eingabe erforderlich ... -|Telefon-Nummer: -|Name des Sysop: -|BBS Software: -|Speicherplatz (GigaByte): -|Zugangsgeschwindigkeiten: -JN|Moechtest Du eine erweiterte Beschreibung hinzufuegen ? [a/ein]: -|Bitte geben Sie eine Beschreibung ein fuer -|BBS Liste -|# BBS Name Nummer Software GigaByte Speed -|Nach BBS suchen -|Bitte 3 Buchstaben des zu suchenden Namens eingeben: -|Mindestens 3 Zeichen muessen eingegeben werden... -JN|BBS-Details anzeigen ? [a/ein]: -|BBS in der Liste kann nicht gefunden werden ... -|BBS-Details anzeigen -|Bitte eine aufzulistende Nummer angeben: -|Datensatz nicht vorhanden -| Satz : -| BBS Name : -| Nummer : -| Software : -| GigaBytes : -| Speeds : -| Name des Sysop : -| Offen : -| Eintrag vom : -| Eintrag von : -|BBS loeschen -|Bitte die zu loeschende Nummer eingeben: -|Datensatz -|wurde nicht von Dir angelegt. -|ist schon zum Loeschen markiert -|zum Loeschen markiert -|Der Sysop wird die Liste endgueltig loeschen -|wenn Datensaetze zum Loeschen markiert sind. -|Mitteilungen insgesamt: -|Unbekannter Menubefehl! -|Speichern... -|MBSE BBS "Einzeiler" werden zufallsgesteuert im Hauptmenue erscheinen. -|Obszoene oder unanstaendige "Einzeiler" werden geloescht!! -|Bitte gib Deinen "Einzeiler" ein, max. 75 Zeichen. -|"Einzeiler" hinzugefuegt -| # A Datum User Beschreibung -| # Beschreibung -|Bitte aufzulistende Nummer eingeben: -|Verbunden von -|Datei(en) : -|Groesse : -|Protokoll : -|Download-Zaehler werden aktualisiert, bitte warten ... -|Fehlgeschlagen! -|Bytes -| # Area Aktiv Datei Gr. Kosten -|Ja -|Nein -UA|Aufgelistete mschalten, alle bwaehlen, um fortzufahren: -|Datei-Nummer eingeben, 1.. -|Markiert: -|Zurzeit sind keine Dateien markiert. -|Replace -|BBS wird geladen, bitte warten ... -|Neue oder geloeschte mail areas bei -|Area State Typ Beschreibung -|Check auf neue Mail ist jetzt AN -|Check auf neue Mail ist jetzt AUS -|Datei loeschen: -JN|Bist Du sicher? [a/ein]: -|Check auf neue Dateien ist jetzt AN -|Check auf neue Dateien ist jetzt AUS -|Du verwendest jetzt den -12|Auswahl: <1> Vollbild-Editor, <3> Externer Editor -|Es liegen keine Mitteilungen zum Herunterladen vor! -|Weiter mit ... -|Zentrieren -|Zu viele Mitteilungen. Nur die ersten -|Waehle Deine bevorzugte Sprache aus -|Sprache auswaehlen ( um abzubrechen): -|Sprache ist jetzt eingestellt auf: -|Das System wird jetzt einem Unix-Account fuer Dich anlegen -|Dein Unix-Account wurde angelegt, bitte verwenden ihn ab jetzt zum Login. -|Bitte gib einen Anmeldenamen ein (Max. 8 Zeichen) -|Beispiel: "Gerhard Schroeder", login = gschroed -|Dein gewuenschter Anmeldename: -|Dieser Anmeldename existiert bereits, bitte waehle einen anderen. -|Zeilen- -|Vollbild- -|Externen -|Editor -|Neu -|Local -|Netmail -|Echomail -|News -|E-Mail -|Del -|Jan -|Feb -|Mar -|Apr -|Mai -|Jun -|Jul -|Aug -|Sep -|Okt -|Nov -|Dez -|Autologout: Verbindung wird wegen Zeitablauf getrennt. -|Wird gepackt! -|Gib den Alias ein ( fuer "keinen"): -|Du kannst das BBS ab jetzt benutzen -|Benutzer On-Line in -|Name Leitg. Status Location -|"Nicht stoeren" ist jetzt AUS -|"Nicht stoeren" ist jetzt AN -|Im Menue -|Herunterladen -|Heraufladen -|Mitteilungen -|Ext. Programm -|Im Chat -|Dateibereich -JN|Moechtest Du diese Mitteilungen herunterladen [a/ein]? -|Bank Programm -|Sich. ext. Programm -|Liste Online -|Offline Reader -|Name an den die Nachricht geschickt werden soll: -|Der angegebene Benutzer ist nicht online: -|moechte nicht gestoert werden -|Bitte gib die Nachricht ein (Max 76 Zeichen) -|** Nachricht ** von -|Dein Passwort ist abgelaufen, neues Passwort: -|Drueck um fortzufahren -|Kein Senden moeglich, diese Area ist "Nur lesen"! -1|Auswahl: <1> Vollbild-Editor -|"Offline Reader" Paket heraufladen -|Kein oder fehlerhaftes Paket erhalten -|Unbekannter Datenkompressionstyp -|Archivprogramm nicht verfuegbar -|Unbekanter Typ von Mailpaket -|Herunterladen von BlueWave Offline -|Zusammenstellen des Pakets -|Packen mit -|Herunterladen fehlgeschlagen -|Herunterladen erfolgreich -|Aktualisieren der Lesezeichen -|Verarbeiten des BlueWave Antwort-Pakets -|Fehler im Paket -|Import der Mitteilungen -|Lein Schreibzugriff auf Area -|Mitteilungen importiert -|Verarbeiten der Offline Konfiguration -|Mitteilungsbereiche ausgewaehlt -|Verarbeiten der Datei-Anforderungen -|Herunterladen von QWK Offline -|Verarbeiten des QWK Antwort-Pakets -|Herunterladen ASCII Offline -JN|Crash-Mail [a/ein]: -JN|Warnung: Station ist nicht CM, sofort senden [a/ein]: -JN|Datei anhaengen [a/ein]: -|Datei -|wird angehaengt -|Datei nicht in -|mailbox - ein- und ausgehende E-mail -|archiv - Archiv Ihrer E-mails -|trash - Papierkorb, Ihre alte E-mail -|Bereich # -|Minuten. -|Tastenbelegung Vollbild-Editor im "Emacs" - Stil -|Tastenbelegung Vollbild-Editor im "Wordstar" - Stil -|Deine Adresse (max. 3 Zeilen, nur fuer den Sysop sichtbar): -|Du musst Deine Adresse hier angeben -|Alte Adresse: -|Moechtest Du Deinen Aliasnamen ( -JN|) als Absender verwenden [a/ein] -|Keine weitere Bereiche mit ungelesenen Nachrichten diff --git a/mbsebbs-code/lang/source.de b/mbsebbs-code/lang/source.de deleted file mode 100644 index ec04c6d2..00000000 --- a/mbsebbs-code/lang/source.de +++ /dev/null @@ -1,482 +0,0 @@ -|Bitte geben Sie Ihren Vor- und Nachnamen ein: -|Bitte geben Sie Ihren Nachnamen ein: -|Abmelden des Benutzers ... -|Pruefen der Datei ... -JN|Haben Sie Ihren Namen korrekt eingegeben? [J/n] -|Bitte melden Sie sich nun mit folgendem Namen erneut an: -|Dies ist ein PRIVATES System. Geben Sie zum Verlassen "off" ein -|Geben Sie bitte die Nummer ein - beenden mit : -|Passwort: -|Die maximale Anzahl von Login-Versuchen wurde ueberschritten ... -|Entweder Ihr NAME oder Ihr PASSWORT wurden falsch eingegeben -HR|Export in (H)ome oder (R)egeln Verzeichnis: -|Message exportiert in das Regeln Verzeichnis als -|Keine Regeln fuer diesen Bereich gefunden -|Keine Berechtigung zum Loeschen der Mitteilung -|Offline Reader: Erweiterte Info ANgestellt -|Offline Reader: Erweiterte Info AUSgestellt -|Dies ist keine reine Textdatei. -|Sie duerfen nur -|Verbindungen gleichzeitig belegen -|Ein anderer Benutzer verwendet das externe Programm. Bitte spaeter versuchen. -JN| Ist das korrekt [j/N]: -|Nicht erkannt: -|Bitte waehlen Sie Ihren bevorzugten Zeichensatz -|Auswahl des Zeichensatzes (Beenden: RETURN): -|Der Default-Zeichensatz wurde eingestellt auf: -JN|Beim Login nach neuen Mitteilungen suchen [J/n]: -JN|Beim Login nach neuen Dateien suchen [J/n]: -|Geben Sie bitte eine kurze Betreff-Zeile an -|Der Sysop kann MBSEBBS nicht zum Chat benutzen. Verwenden Sie "mbmon". -|Der Chat-Server ist zurzeit leider nicht verfuegbar -|Zeile -| -| -| -| -| -|MBSE Bulletin Board System - Anlegen eines neuen Benutzerkontos -|Diesen Namen verwenden: -|Bitte das neue Passwort eingeben : -|Bitte das neue Passwort wiederholen : -|Die Passwoerter stimmen nicht ueberein! Bitte wiederholen. -|Ihr Passwort muss mindestens -|Zeichen enthalten! Bitte wiederholen. -| -|Bitte geben Sie Ihre Telefonnummer an: -|Die Mitteilung wurde in Ihr privates Verzeichnis gespeichert als: -|Bitte geben Sie eine vollstaendige Telefonnummer an: -|Bitte geben Sie Ihre Daten-Telefonnummer an: -|Bitte geben Sie Ihren Wohnort an: -|Der Name des Wohnortes ist zu kurz -MW|Sind Sie (m)aennlich oder (w)eiblich ? : -|Maennlich -|Weiblich -|Bitte druecken Sie "M" oder "W" -|Unbekannt -|Bitte geben Sie Ihr Geburtsdatum an (TT-MM-JJJJ): -|Sie haben versehentlich -dieses Jahr- eingegeben. -|Bitte verwenden Sie das vorgegebene Datumsformat -|*** Der Sysop beginnt den Online-Dialog *** -|*** Der Sysop hat den Online-Dialog beendet *** -JN=|Weiter (J/n/=) -JN|Moechten Sie in den Menues "Hot-Keys" verwenden? [J/n]: -|Bitte druecken Sie J oder N -| -|Keine(r) -|Mitteilungsbereiche fuer den Offline Reader markieren -|Ihr Benutzeraccount wurde wie folgt eingerichtet: -|Login Name : -|Passwort : -| * * * * * -|Die Einrichtung des neuen Benutzeraccounts ist abgeschlossen. -|Unbekannt -|Bisheriger Ort: -|Bitte geben Sie eine laengere Bezeichung fuer den Ort ein (min -| -| -|Die Mitteilung existiert nicht -|System-Mitteilungen sind jetzt EIN -|System-Mitteilungen sind jetzt AUS -| -| -|Private Mitteilung - Sie sind weder Absender noch Empfaenger -|Bitte verwenden Sie das vorgegebene Datumsformat -|Logins heute bis -|# Benutzername Leitg. TimeOn Anrufe Ort -|Can't open archiver file. -|Select your preferred archiver -|Select Archiver (Enter to Quit): -|Archiver now set to: -|Bitte geben Sie drei Kombinationen ein. -|1. Zahl: -|Bitte versuchen Sie es erneut! Verwenden Sie Zahlen groesser 0 und kleiner -|2. Zahl: -|3. Zahl: -| Links: -|Rechts: -JN|Moechten Sie den Safe mit dieser Kombination oeffnen [J/n]: -|Sie haben folgendes gewonnen... -|Sie haben den Safe leider nicht geoeffnet ! -|Der Safe Code war: -JN|Moechten Sie es noch einmal versuchen ? [J/n]: -JN|Moechten Sie den Safe oeffnen ? [J/n]: -|DER SAFE IST ZUR ZEIT VERSCHLOSSEN -|hat den Safe geknackt. -|Der Safe bleibt verschlossen bis der Sysop den Preis vergeben hat.. -|Maximale Versuche pro Tag ueberschritten ! -|Mitteilungs-Signatur bearbeiten -|Die VON, AN und Betreff Felder sind optional. -| Von: -| An: -|Betreff: -| Bitte bis zu 10 Zeilen mit je 74 Zeichen eingeben -|Verfuegbare Funktionen: -LEBAS|(L)isten, (E)rsetze Text, (B)earbeite Zeile, (A)bbrechen, (S)peichern -|Auswaehlen: -|Abbruch... -|Rueckkehr zu -|Welche Zeile bearbeiten: -|Diese Zeile existiert nicht. -|Bisheriges Passwort: -|Neues Password: -|Neues Passwort wiederholen: -|Die Passwort-Eingaben stimmen nicht ueberein ! -|Die Passwort-Aenderung erfolgreich -|Das bisherige Passwort wurde nicht richtig eingegeben ! -|Benutzerliste -|Suchzeichenkette eingeben oder (Enter) fuer alle Benutzer: -|Name Ort Zuletzt hier Logins -|Die Suchzeichenkette wurde nicht gefunden ... -|Zeitlimit erreicht ... Verbindung wird getrennt! -JN=M|Weiter (J/n/=) M=Markieren -|Suche -|mit -|Zeit Statistik fuer -|on -|Aktuelle Zeit : -|Aktuelles Datum : -|Verbindungszeit : -|Zeit fuer heute : -|Verbleibende Zeit heute : -|Taegl. Zeitlimit : -|Sie haben -JN|Mitteilungen, moechten Sie jetzt Ihre Post lesen? [J/n]: -|Es liegen keine neuen Mitteilungen fuer Sie vor. -|Hot-Keys sind jetzt EIN -|Hot-Keys sind jetzt AUS -|Ein -|Aus -|Dieser Benutzername ist bereits anderweitig vergeben -|Suchen nach persoenlichen Mitteilungen, bitte warten ... -| MBSE BBS Online Dialog -|Der SysOp ist gerade mit einem anderen Benutzer im Online-Dialog. -|Bitte versuchen Sie es in einigen Minuten nochmals ... -|Ihre maximale Anzahl von Sysop-Anrufen ist erreicht. -|Sysop ist zurzeit nicht erreichbar. Bitte hinterlassen Sie eine Mitteilung... -|Versenden einer Mitteilung im Bereich: -|Von : -|An : -|Suche Adressaten ... -|Adressat nicht gefunden. Bitte nochmals eingeben oder beenden mit -|Betreff : -JN|Mitteilung verwerfen [j/N] ?: -JN|Privat [j/N]: -|Schreiben Sie nun die Mitteilung. Beenden: eine leere Zeile eingeben -|Maximal 60 Zeilen, 73 Zeichen pro Zeile -|Maximale Zeilenanzahl erreicht -|Verfuegbare Funktionen: (Aktuelle Mitteilung: -|Zeilen) -|A - Anzeigen S - Speichern W - Weiterschreiben -|B - Beenden L - Zeile loeschen E - Zeile einfuegen -|T - Text bearbeiten X - Zeile bearbeiten R - Zeile ersetzen -ASWBLETXRZ|Z - Zeile zentrieren -|Auswaehlen -|Fortfahren -|Loeschen -|Loeschen ab Zeile -|Abgebrochen. -|Bitte geben Sie eine Zahl ein im Bereich -|Loeschen bis Zeile -|Bearbeiten -|Geben Sie die Nummer der zu bearbeitenden Zeile an -|Einfuegen -|Geben Sie Nummer der Zeile an, vor der eingefuegt werden soll -|Auflisten -|Geben Sie die Nummer der zu ersetzenden Zeile an -|Zeile: -|Unveraendert. -|Zeile jetzt: -|Beenden -JN|Sind Sie sicher [j/N]: -|Mitteilung wurde verworfen. -|Nein -|Text bearbeiten -|Geben Sie die Nummer der zu bearbeitenden Zeile an -|Geben Sie den zu ersetzenden Text an : -|Ersatztext : -|Zeile jetzt: -|Speichern -|Ein moeglicher Computer-Virus wurde gefunden ! -|Ok -|Auspacken des Archivs -|Mitteilung speichern -|Geben Sie die zu zentrierende Zeile an -|Die Zeile kann nicht zentriert werden, da sie maximale Laenge hat. -|Es liegen keine Mitteilungen in diesem Bereich vor. -|Datum : -JN=|Weiter (J/n/=/Bereich-Nr.): -|An : -|Von : -|Betreff : -|Naechste Antwort: -|Antwort auf: -|Mitteilungen in -WNLAUEHX|Wiederh. Naechste Letzte Antwort neU loescHen Ende eXport -|Wiederh. Naechste Letzte Antwort neU loescHen Ende eXport -|Naechste -|FEHLER -ANE|(A)ntwort, (N)aechste, (E)nde: -|Enter um Betreff zu uebernehmen. -|# Von An Betreff -|Bereich -|enthaelt -|Mitteilung(en). -|Eingabe einer Zahl von -|Mitteilung Nummer [ -|Nr. Typ Beschreibung Insges. Pers. -|Thema -|Name des Bereichs eingeben oder ? fuer eine Liste: -|Bereich Nr. Anz. Beschreibung -|Loesche Mitteilung -| Mitteilungsbereiche -|Auswahl Bereich: -|Die angegebene Bereichsnummer existiert nicht. -|Das Passwort ist ungueltig -|Das Passwort ist korrekt -|Sie haben nicht ausreichend Rechte um diesen Mitteilungsbereich aufzulisten -|Die Datei-Datenbank fuer diesen Bereich kann nicht geoeffnet werden -|Heraufgeladen von: -|G E L O E S C H T -| -JN|Adresse unbekannt, dennoch fortfahren [j/N]: -|Dateien insgesamt: -|Systemfehler: die Datenbank der Dateibereiche kann nicht geoeffnet werden -|Sie haben nicht ausreichend Rechte zum Herunterladen aus diesem Bereich -|Bitte den Dateinamen angeben: -|Kein Dateiname angegeben, Abbruch. -|Ungueltiger Dateiname ! -|Diese Datei ist fuer das Herunterladen leider nicht verfuegbar -|Sie haben -|zusaetzliche Download-KBytes. -|Ihre Restzeit reicht nicht um diese Datei herunterzuladen. -|Ihr Download-Limit reicht nicht fuer das Herunterladen " -|Sie muessen etwas heraufladen bevor Sie herunterladen koennen. -|Kilobytes verfuegbar: -|Pruefe die markierten Downloads, bitte warten ... -|Mitteilungsbereiche fuer den "Offline Reader" abwaehlen -|FILEID.DIZ gefunden in -|Es sind keine Dateien zum Herunterladen markiert. -| -|Sie haben folgende Bereiche fuer den "Offline Reader" markiert: -|Dateiname Groesse Datum -|Protokoll: Protokolldatei kann nicht geoeffnet werden -|Auswahl des bevorzugten Protokolls -|Bitte Protokoll auswaehlen (frei lassen um abzubrechen): -|Ungueltige Auswahl, bitte nochmals eingeben! -|Standardprotokoll ist jetzt: -|Bitte den Suchbegriff eingeben: -|Dateisuche nach Schluesselwort -|Akzeptiert Platzhalter wie: *.zip, *.gz, *.* -| *.zip entspricht .zip -|Geben Sie den zu suchenden Dateinamen an: -|Dateisuche nach Dateinamen -JN|Neue Dateien seit Ihrem letzten Login suchen [J/n]: -|Geben Sie das Suchdatum an [TT-MM-JJJJ]: -|Dateisuche nach Datum -| -|Mitteilungen fuer "Offline Reader" herunterladen -|Ihre Zugriffsberechtigung reicht nicht fuer das Heraufladen. -|Ihr Plattenplatz reicht nicht fuer das Kopieren der Datei -|Dateien( -|Bytes) zum Herunterladen markiert. -|Diese Datei ist schon vorhanden -|Bitte starten Sie das Heraufladen jetzt ... -|Folgendes konnte nicht heraufgeladen werden: -JN|Moechten Sie das Heraufgeladene mit einem Passwort schuetzen ? [j/N]: -|Beachten Sie: Passwoerter sind "CaSe SeNsITiVe!" -|Bitte geben Sie die Beschreibung der Datei ein -|Danke! Die Zeit fuer das Heraufladen wurde Ihnen gutgeschrieben. -|Kopieren beginnen: -|Das Verzeichnis kann nicht aufgelistet werden: -|Home-Verzeichnis von -|Geben Sie den Dateinamen zum Loeschen an: -|Versteckte Dateien koennen nicht geloescht werden ... -|Datei kann nicht geloescht werden ... -|Ungueltiger Dateiname, bitte erneut eingeben ... -|Die Datei existiert nicht, bitte erneut eingeben ... -|Forum Beschreibung Msgs. Pers. -| Dateibereiche -|Passwort fuer den Dateibereich: -|BBS hinzufuegen -|Name des BBS: -|Eingabe erforderlich ... -|Telefon-Nummer: -|Name des Sysop: -|BBS Software: -|Speicherplatz (GigaByte): -|Zugangsgeschwindigkeiten: -JN|Moechten Sie eine erweiterte Beschreibung hinzufuegen ? [J/n]: -|Bitte geben Sie eine Beschreibung ein fuer -|BBS Liste -|# BBS Name Nummer Software GigaByte Speed -|Nach BBS suchen -|Bitte 3 Buchstaben des zu suchenden Namens eingeben: -|Mindestens 3 Zeichen muessen eingegeben werden... -JN|BBS-Details anzeigen ? [J/n]: -|BBS in der Liste kann nicht gefunden werden ... -|BBS-Details anzeigen -|Bitte eine aufzulistende Nummer angeben: -|Datensatz nicht vorhanden -| Satz : -| BBS Name : -| Nummer : -| Software : -| GigaBytes : -| Speeds : -| Name des Sysop : -| Offen : -| Eintrag vom : -| Eintrag von : -|BBS loeschen -|Bitte die zu loeschende Nummer eingeben: -|Datensatz -|wurde nicht von Ihnen angelegt. -|ist schon zum Loeschen markiert -|zum Loeschen markiert -|Der Sysop wird die Liste endgueltig loeschen -|wenn Datensaetze zum Loeschen markiert sind. -|Mitteilungen insgesamt: -|Unbekannter Menubefehl! -|Speichern... -|MBSE BBS "Einzeiler" werden zufallsgesteuert im Hauptmenue erscheinen. -|Obszoene oder unanstaendige "Einzeiler" werden vom Sysop geloescht!! -|Bitte geben Sie Ihren "Einzeiler" ein, max. 75 Zeichen. -|"Einzeiler" hinzugefuegt -| # A Datum User Beschreibung -| # Beschreibung -|Bitte aufzulistende Nummer eingeben: -|Verbunden an Port -|Datei(en) : -|Groesse : -|Protokoll : -|Download-Zaehler werden aktualisiert, bitte warten ... -|Fehlgeschlagen! -|Bytes -| # Area Aktiv Gr. Kost Datei -|Ja -|Nein -UA|Aufgelistete (U)mschalten, alle (A)bwaehlen, um fortzufahren: -|Datei-Nummer eingeben, 1.. -|Markiert: -|Zurzeit sind keine Dateien markiert. -|Replace -|BBS wird geladen, bitte warten ... -|Neue oder geloeschte mail areas bei -|Area Status Typ Beschreibung -|Neue Mail suchen ist jetzt AN -|Neue Mail suchen ist jetzt AUS -|Datei loeschen: -JN|Sind Sie sicher? [J/n]: -|Neue Dateien suchen ist jetzt AN -|Neue Dateien suchen ist jetzt AUS -|Sie verwenden jetzt den -12|Auswahl: 1) Vollbild-Editor, 2) Externer Editor -|Es liegen keine Mitteilungen zum Herunterladen vor! -|Weiter mit ... -|Zentrieren -|Zu viele Mitteilungen. Nur die ersten -|Waehlen Sie Ihre bevorzugte Sprache aus -|Sprache auswaehlen ( um abzubrechen): -|Sprache ist jetzt eingestellt auf: -|Das System wird jetzt einem Unix-Account fuer Sie anlegen -|Ihr Unix-Account wurde angelegt, bitte verwenden Sie ihn ab jetzt zum Login. -|Bitte geben Sie einen Anmeldenamen ein (Max. 8 Zeichen) -|Beispiel: "Hans Schluckauf", login = hschluck -|Ihr gewuenschter Anmeldename: -|Dieser Anmeldename existiert bereits, bitte waehlen Sie einen anderen. -|Zeilen- -|Vollbild- -|Externen -|Editor -|Neu -|Local -|Netmail -|Echomail -|News -|E-Mail -|Del -|Jan -|Feb -|Mar -|Apr -|Mai -|Jun -|Jul -|Aug -|Sep -|Okt -|Nov -|Dez -|Autologout: Verbindung wird wegen Inaktivitaet getrennt. -|Wird gepackt! -|Geben Sie den Alias ein ( fuer "keinen"): -|Sie koennen das BBS ab jetzt benutzen -|Benutzer On-Line in -|Name Leitg. Status Ort -|"Nicht stoeren" ist jetzt AUS -|"Nicht stoeren" ist jetzt AN -|Im Menue -|Herunterladen -|Heraufladen -|Mitteilungen -|Ext. Programm -|Online-Dialog -|Dateibereich -JN|Moechten Sie diese Mitteilungen herunterladen [J/n]? -|Bank Programm -|Sich. ext. Programm -|Benutzerliste -|Offline Reader -|Name an den die Nachricht geschickt werden soll: -|Der angegebene Benutzer ist nicht online: -|moechte nicht gestoert werden -|Bitte geben Sie die Nachricht ein (Max 76 Zeichen) -|** Nachricht ** von -|Ihr Passwort ist abgelaufen, neues Passwort: -|Druecken Sie um fortzufahren -|Kein Senden moeglich, dieser Bereich ist schreibgeschuetzt ! -1|Auswahl: 1) Vollbild-Editor -|"Offline Reader" Paket heraufladen -|Kein oder fehlerhaftes Paket erhalten -|Unbekannter Datenkompressionstyp -|Archivprogramm nicht verfuegbar -|Unbekannter Mailpaket-Typ -|Herunterladen von BlueWave Offline -|Zusammenstellen des Pakets -|Packen mit -|Herunterladen fehlgeschlagen -|Herunterladen erfolgreich -|Aktualisieren der Lesezeichen -|Verarbeiten des BlueWave Antwort-Pakets -|Fehler im Paket -|Import der Mitteilungen -|Kein Schreibzugriff auf Bereich -|Mitteilungen importiert -|Verarbeiten der Offline-Konfiguration -|Mitteilungsbereiche ausgewaehlt -|Verarbeiten der Datei-Anforderungen -|Herunterladen von QWK Offline -|Verarbeiten des QWK Antwort-Pakets -|Herunterladen ASCII Offline -JN|Crash-Mail [j/N]: -JN|Warnung: Station ist nicht CM, sofort senden [j/N]: -JN|Datei anhaengen [j/N]: -|Datei -|wird angehaengt -|Datei nicht in -|mailbox - ein- und ausgehende E-mail -|archiv - Archiv Ihrer E-mails -|trash - Papierkorb, Ihre alte E-mail -|Bereich # -|Minuten. -|Tastenbelegung Vollbild-Editor im "EMACS" - Stil -|Tastenbelegung Vollbild-Editor im "WordStar" - Stil -|Ihre Adresse (max. 3 Zeilen, nur fuer den Sysop sichtbar): -|Sie muessen Ihre Adresse hier angeben -|Alte Adresse: -|Moechten Sie Ihren Aliasnamen ( -JN|) als Absender verwenden [J/n] -|Keine weitere Bereiche mit ungelesenen Nachrichten -|Addresse not in Nodelist -|Found Addresse in Nodelist diff --git a/mbsebbs-code/lang/source.en b/mbsebbs-code/lang/source.en deleted file mode 100644 index 4e090695..00000000 --- a/mbsebbs-code/lang/source.en +++ /dev/null @@ -1,482 +0,0 @@ -|Please enter your First and Last name: -|Please enter your Last name: -|Disconnecting user ... -|Scanning User File ... -YN|Did you spell your name correctly? [Y/n] -|You need to login again with the name: -|This is a PRIVATE System. Type "off" to leave -|Mark file number or press to stop -|Password: -|Maximum login attempts have been exceeded ... -|Either your NAME or PASSWORD is incorrect -HR|Export to (H)ome or (R)ules directory: -|Message exported to rules directory as -|No rules found for this area -|You are not allowed to delete that message -|Offline Reader: Extended Info turned ON -|Offline Reader: Extended Info turned OFF -|This is not a plain textfile. -|You may only login -|times at the same time -|The door is in use by another user, try again later -YN| Is this correct [y/N]: -|Could not parse -|Select your preferred character set -|Select character set (Enter to Quit): -|Character set now set to: -YN|Check for new mail at login [Y/n]: -YN|Check for new files at login [Y/n]: -|Enter a short reason for chat -|The Sysop cannot use the bbs to chat! Use mbmon to chat -|Sorry, the chatserver is not available -|line -| -| -| -| -| -|MBSE Bulletin Board System - NEW USER REGISTRATION -|Use this name: -|Please enter new password : -|Please enter password again : -|Your passwords do not match! Try again. -|Your password must contain at least -|characters! Try again. -| -|Please enter you Voice Number -|Message exported to your private directory as: -|Please enter a proper phone number -|Please enter you Data Number -|Please enter your location: -|Please enter a longer location -MF|What is your sex? (M)ale or (F)emale: -|Male -|Female -|Please answer M or F -|Unknown -|Please enter your Date of Birth DD-MM-YYYY: -|Sorry you entered this year by mistake. -|Please enter the correct date format -|*** Sysop is starting chat *** -|*** Sysop has terminated chat *** -YN=|More (Y/n/=) -YN|Would you like Hot-Keyed menus? [Y/n]: -|Please answer Y or N -| -|None -|Tag Offline Reader message areas -|Your user account has been created: -|Login Name : -|Password : -|not displayed -|New user registration completed. -|Could not find -|Old Location: -|Please enter a longer location (min -| -| -|Message doesn't exist -|News bulletins turned ON -|News bulletins turned OFF -| -| -|Private message, not owner -|Please enter the correct date format -|Todays Callers to -|# User Name Device TimeOn Calls Location -|Can't open archiver file. -|Select your preferred archiver -|Select Archiver (Enter to Quit): -|Archiver now set to: -|Please enter three combinations. -|1st digit: -|Please try again! You must input a number greater than Zero and less than -|2nd digit: -|3rd digit: -| Left: -|Right: -YN|Attempt to open safe with this combination [Y/n]: -|You have won the following... -|Sorry - You didn't open the safe! -|The safe code was: -YN|Do you want to try again ? [Y/n]: -YN|Do you want to open the safe ? [Y/n]: -|THE SAFE IS CURRENTLY LOCKED -|has cracked the safe. -|The safe will remain locked until the sysop rewards the user. -|Maximum trys per day Exceeded! -|Edit message signature -|The FROM, TO and SUBJECT fields are optional. -| From: -| To: -|Subject: -| Type up to 10 lines 74 Characters per line -|Functions available: -LREAS|(L)ist, (R)eplace text, (E)dit line, (A)bort, (S)ave -|Select: -|Aborting... -|Returning to -|Edit which line: -|Line does not exist. -|Old Password: -|New password: -|Confirm new password: -|Passwords do not match! -|Password Change Successful -|Old password incorrect! -|User List -|Enter Username search string or (Enter) for all users: -|Name Location Last On Calls -|Could not find search string ... -|Time limit exceeded ... disconnecting! -YN=M|More (Y/n/=) M=Mark -|Scanning -|with -|TIME STATISTICS for -|on -|Current Time : -|Current Date : -|Connect time : -|Time used today : -|Time remaining today : -|Daily time limit : -|You have -YN|messages, read your mail now? [Y/n]: -|You have no new mail in your mail box ... -|Hotkeys are now ON -|Hotkeys are now OFF -|On -|Off -|User name already exists -|Checking your mail box ... -|MBSE BBS Chat -|The SysOp is currently speaking to somebody else. -|Try paging him again in a few minutes ... -|You have paged the Sysop the maximum times allowed. -|Sysop currently is not available ... please leave a comment -|Posting message in area: -|From : -| To : -|Verifying user ... -|User not found. Try again, or (Enter) to quit -|Subj : -YN|Abort Message [y/N] ?: -YN|Private [y/N]: -|Begin your message now, Blank line to end -|Maximum of 60 lines, 73 characters per line -|Maximum message length exceeded -|Functions available: (Current Message: -|Lines) -|L - List message S - Save message C - Continue message -|Q - Quit message D - Delete line I - Insert line -|T - Text edit E - Edit line R - Replace line -LSCQDITERZ|Z - Center line -|Select -|Continue -|Delete -|Delete starting at line -|Aborted. -|Please enter a number in the range of -|Delete ending at line -|Edit -|Enter line # to edit -|Insert -|Enter line # to insert text before -|List -|Enter line # to replace -|Line reads: -|Unchanged. -|Line now reads: -|Quit -YN|Are you sure [y/N]: -|Message aborted. -|No -|Text Edit -|Enter line # to edit -|Text to replace : -|Replacement text : -|Line now reads: -|Save -|Possible VIRUS found! -|Ok -|Unpacking archive -|Saving message to disk -|Enter line # to center -|Line is maximum length and cannot be centered -|There are no messages in this area. -|Date : -YN=|More (Y/n/=/Area #): -|To : -|From : -|Subject : -|Next reply: -|Reply to: -|messages in -ANLREQDX|(A)gain, (N)ext, (L)ast, (R)eply, (E)nter, (D)el, (Q)uit, e(X)port -|(A)gain, (N)ext, (L)ast, (R)eply, (E)nter, (Q)uit, e(X)port -|Next -|ERROR -RNQ|(R)eply, (N)ext, (Q)uit: -|Enter to keep Subject. -|# From To Subject -|Message area -|contains -|messages. -|Please enter a message between -|Message number [ -|Area Type Description Messages Personal -|thread -|Enter the name of the conference, or ? for a list: -|Conference Area Msgs Description -|Deleting message -| Message Areas -|Select Area: -|Invalid area specified - Please try again ... -|Password is incorrect -|Password is correct -|You don't have enough security to list this area -|Can't open file database for this area -|Uploaded by: -|D E L E T E D -| -YN|Node not known, continue anyway [y/N]: -|Total Files: -|FATAL: Unable to open areas database -|You do not have enough access to download from this area. -|Please enter filename: -|No filename entered, Aborting. -|Illegal Filename! -|Sorry that file is unavailable for download -|You have -|extra download KBytes. -|You do not have enough time to download that file. -|You do not have enough bytes to download " -|You must upload before you can download. -|Kilobytes currently available: -|Checking your marked downloads, please wait... -|Untag Offline Reader message areas -|Found FILEID.DIZ in -|No files marked for download. -| -|You have selected the following Conference(s): -|Filename Size Date -|Protocol: Can't open protocol file. -|Select your preferred file transfer protcol -|Select Protocol (Enter to Quit): -|Ivalid selection, please try again! -|Protocol now set to: -|Enter keyword to use for Search: -|File Search by Keyword -|Accepts wildcards such as : *.zip, *.gz, *.* -| : *.zip is the same as .zip -|Enter filename to search for : -|File Search by Filename -YN|Search for new since your last call [Y/n]: -|Enter new date to search for [DD-MM-YYYY]: -|File Search by Date -| -|Offline Reader Download -|You do not have enough access to upload to this area. -|You have not enough diskspace free to copy this file -|files( -|bytes) marked for download. -|The file already exists on the system -|Please start your upload now ... -|Upload was unsuccessful for: -YN|Do you want to password protect your upload ? [y/N]: -|REMEMBER: Passwords are "CaSe SeNsITiVe!" -|Please enter description of file -|Your upload time has been returned to you. Thank you for your upload! -|Start copy: -|Can't open directory for listing: -|Home directory listing for -|Please enter filename to delete: -|Sorry you may not delete hidden files ... -|Unable to delete file ... -|Invalid filename, please try again ... -|File does not exist, please try again ... -|Forum Description Msgs. Pers. -| File Areas -|Please enter Area Password: -|Adding BBS -|BBS Name: -|Response needed ... -|Phone Number: -|Sysop Name: -|BBS Software: -|Storage (GigaByte): -|Speeds: -YN|Would you like to add a extended discription? [Y/n]: -|Please a enter discription for -|BBS Listing -|# BBS Name Number Software GigaByte Speed -|Search for a BBS -|Please enter 3 letters of BBS to search for: -|I need at least 3 letters ... -YN|View this BBS? [Y/n]: -|Could not find the BBS Listed ... -|Show a BBS -|Please enter number to list: -|Record does not exist -| Record : -| BBS Name : -| Number : -| Software : -| GigaBytes : -| Speeds : -| Sysop Name : -| Available : -| Date of Entry : -| Entry Name : -|Delete BBS -|Please enter number to delete: -|Record -|does not belong to you. -|already marked for deletion -|marked for deletion -|The Sysop will purge the list once he has -|seen you have marked a record for deletion. -|Total messages found: -|Unknown Menu Command! -|Saving... -|MBSE BBS Oneliners will randomly appear on the main menu. -|Obscene or libellous oneliners will be deleted!! -|Please enter your oneliner below. You have 75 characters. -|Oneliner added -| # A Date User Description -| # Description -|Please enter number to list: -|Connected from -|File(s) : -|Size : -|Protocol : -|Updating download counters, please wait ... -|Failed! -|Bytes -| # Area Active Size Cost File -|Yes -|No -TE|(T)oggle active, (E)rase all, (ENTER) to continue: -|Enter file number, 1.. -|Marked: -|No files tagged. -|Replace -|Loading BBS, please wait ... -|New or deleted mail areas at -|Area State Type Description -|New Mail check is now ON -|New Mail check is now OFF -|Delete file: -YN|Are you Sure? [Y/n]: -|New Files check is now ON -|New Files check is now OFF -|Now using the -12|Select: 1) Fullscreen editor, 2) External editor -|No messages found to download! -|Press (Enter) to continue: -|Center -|Too much messages. Only the first -|Select your preferred language -|Select Language: -|Language now set to: -|The system will now ask you for a "Unix Account" -|Your "Unix Account" is created, you may use it the next time you call. -|Please enter a login name (Maximum 8 characters) -|ie. John Doe, login = jdoe -|login > -|That login name already exists, please choose another one. -|Line -|Fullscreen -|External -|Editor -|New -|Local -|Netmail -|Echomail -|News -|E-Mail -|Del -|Jan -|Feb -|Mar -|Apr -|May -|Jun -|Jul -|Aug -|Sep -|Oct -|Nov -|Dec -|Autologout: idletime reached. -|Will be packed! -|Enter your handle (Enter for none): -|You are now ready to use the bbs -|Callers On-Line to -|Name Device Status Location -|Do not disturb turned OFF -|Do not disturb turned ON -|Browsing -|Downloading -|Uploading -|Msg Section -|External Door -|Chatting -|Listing Files -YN|Do you want to download these messages [Y/n]? -|Banking Door -|Safe Door -|WhosOn List -|Offline Reader -|Please enter username to send message to: -|Sorry, there is no user on -|doesn't wish to be disturbed -|Please enter in message to send (Max 76 Characters) -|** Message ** from -|Your password is expired, new password : -|Press ENTER to continue -|Posting not allowed, this area is Read Only! -1|Select: 1) Fullscreen editor -|Offline Reader Upload -|Invalid packet received -|Unknown compression type -|Archiver not available -|Unknown type mailpacket -|BlueWave Offline download -|Preparing packet -|Packing with -|Download failed -|Download successfull -|Updating lastread pointers -|Processing BlueWave reply packet -|ERROR in packet -|Import messages -|No Write access to area -|Messages imported -|Processing Offline Configuration -|Message areas selected -|Processing file requests -|QWK Offline Download -|Processing QWK reply packet -|ASCII Offline Download -YN|Crash [y/N]: -YN|Warning: node is not CM, send immediate [y/N]: -YN|Attach file [y/N]: -|File -|will be attached -|File not within -|mailbox - Incoming and outgoing email -|archive - Archive of your email -|trash - Trashcan, your old email -|Area # -|minutes. -|Fullscreen Editor shortcut keys set to Emacs -|Fullscreen Editor shortcut keys set to Wordstar -|Your address, maximum 3 lines (only visible for the sysop): -|You need to enter your address here -|Old address: -|Use your alias ( -YN|) to post this message [Y/n]: -|No more areas with unread messages -|Addresse not in Nodelist -|Found Addresse in Nodelist diff --git a/mbsebbs-code/lang/source.es b/mbsebbs-code/lang/source.es deleted file mode 100644 index 3bb7c543..00000000 --- a/mbsebbs-code/lang/source.es +++ /dev/null @@ -1,482 +0,0 @@ -|Por favor teclee su nombre y apellidos: -|Por favor teclee sus apellidos: -|Desconectando usuario ... -|Explorando fichero de usuarios ... -SN|¨Has escrito correctamente tu nombre? [S/n] -|Tienes que entrar otra vez con este nombre: -|Este es un sistema PRIVADO. Teclea "off" para salir -|Teclee n£mero de fichero o para terminar : -|Password: -|El n£mero de errores permitidos se ha sobrepasado ... -|Tu nombre o tu PASSWORD son incorrectos -PR|Exportar al directorio (P)ersonal o de (R)eglas: -|Mensaje exportado al directorio de reglas como -|No se encuentran reglas para este  rea. -|No puedes borrar este Mensaje. -|Lector Offline: Informaci¢n extendida ACTIVADA -|Lector Offline: Informaci¢n extendida DESACTIVADA -|Este no es un fichero de texto plano. -|S¢lo puedes hacer login -|veces al mismo tiempo -|Otro usuario est  usando esa door, int‚ntalo m s tarde. -SN| Es correcto [s/N]: -|No puedo iterpretar -|Select your preferred character set -|Select character set (Enter to Quit): -|Character set now set to: -YN|Check for new mail at login [Y/n]: -YN|Check for new files at login [Y/n]: -|Enter a short reason for chat -|The Sysop cannot use the bbs to chat! Use mbmon to chat -|Sorry, the chatserver is not available -|line -| -| -| -|áéíóúüÜñÑçÇ¿¡ºª ‚¡¢£š¤¥‡€¨­§¦ -| ‚¡¢£š¤¥‡€¨­§¦ -|MBSEBBS - REGISTRO DE NUEVO USUARIO -|Use este nombre: -|Por favor teclee el nuevo password : -|Por favor tecleelo de nuevo...... : -|­No coinciden! Vuelta a empezar... -|El password debe tener como m¡nimo -|caracteres. Vuelta a empezar... -| -|Teclea tu n£mero de tel‚fono de VOZ -|Mensaje exportado a tu directorio privado como: -|N£mero de tel‚fono incorrecto. Repite... -|Teclea tu n£mero de tel‚fono de MODEM -|¨Donde vives? (Ciudad): -|El nombre de tu ciudad es demasiado corto. Repite por favor -HM|¨Tu que eres (H)ombre o (M)ujer: -|Hombre -|Mujer -|Responde solo H o M -|Desconocido -|Fecha de nacimiento (DD-MM-AAAA): -|Has tecleado este a¤o por error. -|Teclea la fecha en formato correcto (DD-MM-AAAA) -|*** Atenci¢n: Te habla el SysOp *** -|*** Fin de la charla. Que tengas un buen d¡a *** -SN=|M s (S/n/=) -SN|¨Quieres men£s r pidos? [S/n]: -|Por favor contesta S ¢ N -| -|Nada -|Marcar  reas para lectura Off-Line -|Tu cuenta de usuario ha sido creada: -|Nombre de Login : -|Password : -|no visualizable -|Registro de novo usuario completo. -|No encuentro -|Localidad anterior : -|Localidad demasiado corta: (min. -| -| -|No existe el mensaje -|Noticias activadas -|Noticias desactivadas -| -| -|Mensaje privado, y no es tuyo -|Teclee el formato de fecha correcto -|Hoy llamaron a -|# Usr. Nombre Puerto Tiempo Llams Localidad -|Can't open archiver file. -|Select your preferred archiver -|Select Archiver (Enter to Quit): -|Archiver now set to: -|Teclee tres combinaciones. -|1er digito: -|­Repita! Debe ser un n£mero mayor que cero y menor que -|2do digito : -|3er digito: -|Izquierda : -| Derecha : -SN|Intento abrir con esta combinaci¢n [S/n]: -|Has ganado ... -|­Ohhh! - No se abre... -|La combinaci¢n era: -SN|¨Quieres volver a intentarlo? [S/n]: -SN|¨Quieres intentar abrir la caja? [S/n]: -|LA CAJA ESTA BLOQUEADA. -|ha abierto la caja. -|la caja permanecer  bloqueada hasta que el SysOp recompense al usuario. -|­Has excedido el m ximo n£mero de intentos diarios! -|Mensaje al siguiente usuario: -|Los campos De, Para y Asunto son opcionales. -| De: -| Para: -| Asunto: -| Teclea hasta 10 lineas de 74 Caracteres por linea -|Funciones disponibles: -LCEAG|(L)istar, (C)ambiar texto, (E)ditar linea, (A)bandonar (G)uardar -|Elija: -|Abandonando... -|Volviendo a -|Editar la linea n§: -|Esa no existe. -|Password viejo: -|Password nuevo: -|Repite el nuevo: -|­No coinciden! -|Password cambiado. No lo olvides... -|­Password viejo incorrecto! -|Lista de usuarios -|Buscar un nombre (Enter para listar todos): -|Nombre Localidad U.Llamada Llamadas -|No lo encuentro ... -|Limite de tiempo sobrepasado ... desconectando! -SN=M|M s (S/n/=) M=Marcar -|Buscando -|con -|Estad¡sticas de TIEMPO de -|en -|Hora Actual : -|Fecha Actual : -|Tiempo de conexion : -|Tiempo usado hoy : -|Tiempo que queda : -|L¡mite diario : -|Tienes -SN|mensajes, ¨Quieres leerlos ahora? [S/n]: -|No tienes correo nuevo a tu nombre ... -|Men£s r pidos activados -|Men£s r pidos desactivados -|Act -|Des -|El nombre ya existe -|Buscando correo nuevo ... -|Charla de mbsebbs -|El Sysop est  hablando con otro usuario. -|Intenta llamarlo de nuevo dentro de un rato ... -|Ya has llamado muchas veces. -|El SysOp no est  ... ¨por que no le dejas un mensaje? -|Poniendo mensaje en el  rea: -|De : -|Para : -|Verificando usuario... -|Usuario no existe. Repite, o (Enter) para salir -|Asunto : -SN|¨ Cancelar Mensaje [s/N] ?: -SN|Privado [s/N]: -|Comienza a escribir tu mensaje. (Enter) en una nueva linea para salir. -|M ximo 60 lineas, 73 caracteres por linea -|Longitud m xima sobrepasada -|Funciones disponibles: (Mensaje Actual: -|Lineas) -|L - Listar mensaje G - Guardar mensaje C - Continuar escribiendo -|A - Abandonar B - Borrar l¡neas I - Insertar linea -|T - editar Texto E - Editar l¡nea S - Sustituir linea -LGCABITESZ|Z - Centrar linea -|Elija -|Continuar -|Borrar -|Borrar desde la l¡nea -|Abandonar. -|Teclee un n£mero comprendido entre -|Borrar hasta la l¡nea -|Editar -|N§ de linea a editar -|Insertar -|Insertar antes de la l¡nea n§ -|Listar -|N§ de Linea a sustituir -|La linea dice: -|No modificada. -|La linea ahora dice: -|Abandonar. -SN|¨Est s seguro? [s/N]: -|Mensaje anulado. -|No -|Editar texto -|N§ de l¡nea a editar -|Texto a cambiar : -|Texto nuevo : -|La l¡nea ahora dice: -|Guardar -|­Posible VIRUS encontrado! -|Ok -|Descomprimiendo -|Guardando mensaje en disco -|N§ de linea # a centrar -|La linea es demasiado larga y no se puede centrar -|No hay mensajes en esta  rea. -|Fecha : -SN=|M s (S/n/=/n§  rea): -|Para : -|De : -|Asunto : -|Sig. resp.: -|Resp. a : -|mensajes en -OSARETBX|(O)tra vez (S)ig. (A)nt. (R)esp. (E)ntrar (B)orrar (T)erminar e(X)port. -|(O)tra vez (S)ig. (A)nt. (R)esponder (E)ntrar (T)erminar e(X)portar -|Siguiente -|ERROR -RST|(R)esponder, (S)iguiente, (T)erminar: -|Enter para mantener el mismo asunto -|n§ De Para Asunto -|El  rea -|tiene -|mensajes. -|Teclee un mensaje entre -|N£mero de mensaje [ -|Area Tipo Descripci¢n Mensajes Personal -|hilo -|Teclee N§ ¢ TAG del  rea, ? para ver lista: -|TAG Area Msjs Descripci¢n -|Borrando mensaje -| Areas de Mensajes -|Elija un  rea: -| rea elegida no v lida - Elija otra ... -|Password incorrecto -|Password correcto -|No tienes permiso para listar esta  rea -|No puedo abrir la base de ficheros de esta  rea -|Enviado por: -|B O R R A D O -| -SN|Nodo desconocido. ¨Continuar? [s/N]: -|Total Fichs: -|FATAL: Imposible abrir base de  reas -|No tienes permiso para descargar ficheros de esta  rea. -|Nombre del fichero: -|Nombre vac¡o, cancelando. -|­Nombre de fichero no v lido! -|Ese fichero no est  disponible para descargar -|Tienes -|KBytes extra para descargar. -|No tienes tiempo suficiente para descargar ese fichero. -|No tienes suficiente cr‚dito para descargar " -|Debes enviar algo antes de descargar. -|Kilobytes disponibles: -|Verificando ficheros marcados, espera un poco... -|Desmarcar  reas para lectura Off-Line -|Encontrado FILEID.DIZ en -|No hay ficheros marcados. -| -|Has seleccionado las siguientes  reas: -|Fichero Tama¤o Fecha -|Protocolo: No puedo abrir fichero de protocolos. -|Elija el protocolo de transferencia predeterminado -|Elija Protocolo (Enter para salir): -|Ese no vale, ­Elija otro! -|Protocolo predeterminado: -|Palabra a buscar: -|Buscar fichero por una palabra -|Se aceptan comodines como : *.zip, *.gz, *.* -| : *.zip es lo mismo que .zip -|Nombre de fichero a buscar: -|Buscar fichero por nombre -SN|Buscar nuevos ficheros desde tu £ltima llamada [S/n]: -|Fecha desde la que buscar [DD-MM-YYYY]: -|Buscar ficheros por fecha -| -|Descargar Correo para lectura OFF-LINE -|No tienes permiso para enviar ficheros a esta  rea. -|No hay suficiente espacio libre para copiar este fichero -|ficheros( -|bytes) marcados para descargar. -|El fichero ya existe en este sistema -|Comienza a enviar ahora ... -|Env¡o no completado por: -SN|¨Quieres proteger con password el fichero enviado? [s/N]: -|­RECUERDA! La password es "CaSe SeNsITiVe!" -|Teclee la descripci¢n del fichero -|El tiempo del env¡o se te devuelve. ­Gracias por tu fichero! -|Copiando a directorio personal : -|No puedo abrir directorio para listar: -|Listado del directorio personal de -|Nombre del fichero a borrar: -|No puedes borrar ficheros ocultos ... -|Imposible borrar fichero ... -|Nombre no v lido, prueba otra vez ... -|El fichero no existe, prueba otra vez ... -|Area Descripci¢n Msgs. Pers. -| Areas de ficheros -|Teclee password del  rea: -|A¤adiendo BBS -|Nombre de la BBS: -|Respuesta obligatoria ... -|N£mero de tel‚fono: -|Nombre del SysOp: -|Software de BBS: -|Almacenamiento (GigaBytes): -|Velocidades: -SN|¨Quieres a¤adir una descripcion? [S/n]: -|Teclea la descripci¢n de -|Listado de BBSs -|n§ Nombre BBS N£mero Software GigaByte Veloc. -|Buscar una BBS -|Teclee 3 letras de la BBS que quiere buscar: -|Necesito al menos 3 letras ... -SN|¨Ver esta BBS? [S/n]: -|No puedo encontrar BBS ... -|Mostrar -|N£mero a listar: -|Registro inexistente -| Registro : -| Nombre BBS : -| N£mero : -| Software : -| GigaBytes : -| Velocidades : -| SysOp : -| Disponible : -| Fecha entrada : -| Entrada por : -|Borrar BBS -|Teclee n£mero de BBS a borrar: -|El Registro -|no te pertenece. -|ya estaba marcado para borrar -|queda marcado para borrar -|El SysOp eliminar  de la lista un d¡a de estos -|todos los registros marcados para borrar. -|Total de mensajes encontrados: -|­Comando desconocido! -|Guardando... -|Oneliners: Aparecer n de forma aleatoria en el men£ de la BBS. -|Los textos obscenos u ofensivos ser n borrados -|Teclee su 'oneliner' abajo. M x 75 caracteres. -|Oneliner a¤adida -|n§ A Fecha Usuario Descripci¢n -| # Descripci¢n -|Teclee n£mero a listar: -|Connected from -|Ficheros : -|Tama¤o : -|Protocolo : -|Actualizando contadores de descarga... -|­FALLO! -|Bytes -| n§ Area Activa Tam. Coste Fichero -|Si -|No -AT|(A)ctivar/desactivar, desactivar (T)odos, (ENTER) para seguir: -|N£mero de fichero, 1.. -|Marcado: -|No hay ficheros marcados. -|Remplazar -|Cargando BBS, espere por favor ... -|Areas de correo nuevas o borradas en -|Area Estado Tipo Descripci¢n -|Comprobar correo nuevo ACTIVADO -|Comprobar correo nuevo DESACTIVADO -|Borrar fichero: -SN|¨Est s seguro? [S/n]: -|Comprobar ficheros nuevos ACTIVADO -|Comprobar ficheros nuevos DESACTIVADO -|Est s usando el editor -12|Elige: 1) E. Pantalla completa, 2) Editor externo -|¡No hay mensajes! -|Pulsa (Enter) para seguir: -|Centrar -|Demasiados mensajes, Solo los primeros -|Elija su Idioma / Escolla idioma / Select language -|Elija Idioma: -|Idioma: -|El sistema va a crear tu cuenta UNIX. Se te preguntar n unos datos: -|Tu "Cuenta UNIX" ha sido creada. Puedes usarla para entrar en el 'Login'. -|Teclea un nombre de login (M ximo 8 caracteres) por ejemplo si te llamas -|'Elena Nito del Bosque ' puedes usar 'enitob', 'elenanb' o 'enbosque' -|login > -|Ese nombre de LOGIN ya existe. Elije otro... -|de l¡neas -|de Pantalla completa -|externo -| -|Nuevo -|Local -|Netmail -|Echomail -|News -|E-Mail -|Del -|Ene -|Feb -|Mar -|Abr -|May -|Jun -|Jul -|Ago -|Sep -|Oct -|Nov -|Dic -|Autodesconeccion: ¨Te has dormido o es que se ha cortado? -|se empaquetar n. -|Alias (Enter si no quieres ninguno): -|Hala, Ya puedes usar la BBS -|Usuarios conectados a -|Nombre Puerto Estado Localidad -|'No molesten' DESACTIVADO -|'No molesten' ACTIVADO -|Navegando -|Descargando -|Enviando -|S. Mensajes -|Door Externa -|Charlando -|Lst. Ficheros -SN|¨Quieres descargar estos mensajes [S/N]? -|En el Banco -|Door de la Caja Fuerte -|L. Conectados -|Lector Off-line -|Teclea usuario al que enviar un aviso: -|No hay usuario en -|No quiere ser molestado -|Teclea texto del aviso (Max 76 Caracteres) -|** Mensaje ** de -|Tu password ha caducado, nuevo password : -|Pulsa ENTER para seguir -|No puedes escribir, ­esta  rea es de Solo Lectura! -1|Elige: 1) Editor de pantalla completa -|Upload de correo Off-Line -|El paquete recibido no es v lido -|Comprimido con un compresor desconocido -|El compresor no est  disponible -|Paquete de correo de tipo desconocido -|Descarga de BlueWave -|Preparando paquete -|Comprimiendo con -|Descarga fallida -|Descarga completa -|Actualizando punteros de lectura -|Procesando paquete de respuestas BlueWave -|ERROR en el paquete -|Importando mensajes -|Imposible escribir en  rea -|Mensajes importados -|Procesando Configuraci¢n Off-Line -|Areas seleccionadas -|Procesando peticiones de ficheros -|Descarga de QWK -|Procesando paquete de respuestas QWK -|Descarga ASCII -SN|Crash [s/N]: -SN|Aviso: el nodo no es CM, enviar immediato [s/N]: -YN|Adjuntar fichero [s/N]: -|Fichero -|adjuntado -|El fichero no esta en -|buz¢n - Email entrante/saliente -|archivo - Email Archivado -|papelera - Papelera, Email borrado -|Area # -|minutos. -|Teclas del editor en modo Emacs -|Teclas del editor en modo Wordstar -|Tu direccci¢n, m ximo 3 l¡neas (S¢lo visible por el SysOp): -|Debes teclear tu direcci¢n ahora. -|Direcci¢n antigua: -|Usar tu alias ( -SN|) para este mensaje [S/n]: -|No hay mas areas con mensajes no leidos -|Addresse not in Nodelist -|Found Addresse in Nodelist diff --git a/mbsebbs-code/lang/source.fr b/mbsebbs-code/lang/source.fr deleted file mode 100644 index ddf4befe..00000000 --- a/mbsebbs-code/lang/source.fr +++ /dev/null @@ -1,482 +0,0 @@ -|Entrez votre prénom et nom: -|Entrez votre nom: -|Utilisateur déconnecté ... -|Recherche dans fichier utilisateurs ... -ON|Votre nom est-il écrit correctement? [O/n] -|Vous devez vous reconnecter avec le nom: -|Ceci est un système PRIVE. Tapez "off" pour sortir -|Marquez le numéro du fichier ou pressez pour sortir -|Mot de passe: -|Nombre maximum de tentatives dépassé ... -|Votre nom ou votre mot de passe est incorrect -HR|Exporter vers le répertoire (H)ome ou (R)ègles: -|Message exporté vers répertoire règles sous -|Pas de règles pour cette conférence -|Vous n'avez pas le droit d'effacer ce message -|Offline Reader: Infos étendues ON -|Offline Reader: Infos étendues OFF -|Ceci n'est pas un simple fichier texte. -|Vous ne pouvez vous connecter que -|fois simultanément. -|The door is in use by another user, try again later -YN| Is this correct [y/N]: -|Could not parse -|Select your preferred character set -|Select character set (Enter to Quit): -|Character set now set to: -YN|Check for new mail at login [Y/n]: -YN|Check for new files at login [Y/n]: -|Enter a short reason for chat -|The Sysop cannot use the bbs to chat! Use mbmon to chat -|Sorry, the chatserver is not available -|line -| -| -| -| -| -|MBSE Bulletin Board System - ENREGISTREMENT NOUVEL UTILISATEUR -|Utiliser ce nom: -|Entrez le nouveau mot de passe : -|Entrez encore le mot de passe : -|Vos mots de passe ne sont pas identiques. Essayez encore. -|Votre mot de passe doit contenir au moins -|caractères! Essayez encore. -| -|Veuillez entrer votre numéro "voix" -|Message exporté dans votre répertoire perso sous le nom: -|Veuillez entrer un numéro de téléphone valable: -|Veuillez entrer votre numéro "données": -|Veuillez entrer votre ville: -|Le nom de ville doit être plus long -HF|(H)omme ou (F)emme ? : -|Homme -|Femme -|Veuillez répondre H ou F -|Inconnu -|Entrez votre date de naissance JJ-MM-AAAA: -|Cette date semble erronée. -|Veuillez entrer une date correcte -|*** Sysop commence le chat *** -|*** Sysop a terminé le chat *** -ON=|Plus (O/n/=) -ON|Voulez vous les menus Hot-Keyed ? [O/n]: -|Veuillez répondre O ou N -| -|Aucun -|Tag Offline Reader message areas -|Votre compte utilisateur a été créé: -|Login : -|Mot de passe : -|non affiché -|Enregistrement nouvel utilisateur terminé. -|Ne peut pas trouver -|Ancienne ville : -|veuillez entrer un nom plus long (min -| -| -|Message n'existe pas -|News bulletins est ON -|News bulletins est OFF -| -| -|Message privé, pas le propriétaire -|Veuillez entrer la date au format correct -|Appels d'aujourd'hui pour -|# User Name Device TimeOn Calls Location -|Can't open archiver file. -|Select your preferred archiver -|Select Archiver (Enter to Quit): -|Archiver now set to: -|Entrez trois combinaisons. -|1er chiffre: -|Essayez encore! Le chiffre doit être compris entre zéro et -|2ème chiffre: -|3ème chiffre: -| gauche: -|droite: -ON|Essayer d'ouvrir le coffre avec cette combinaison [O/n]: -|Vous avez gagné...: -|Désolé, vous n'avez pas ouvert le coffre! -|Le code du coffre était: -ON|Voulez-vous ré-essayer ? [O/n]: -ON|Voulez-vous ouvrir le coffre ? [O/n]: -|LE COFFRE EST VERROUILLE -|a ouvert le coffre. -|Le coffre restera fermé jusqu'à ce que le sysop ait récompensé l'utilisateur. -|Nombre d'essais maximum par jour dépassé! -|Changer la signature des messages -|Les champs DE, A et SUJET sont optionels. -| De: -| A: -| Sujet: -| Maximum 10 lignes de 74 caractères -|Fonctions disponibles: -LREAS|(L)iste, (R)emplacer texte, (E)diter ligne, (A)rrêt, (S)auver -|Choisir: -|Annulation... -|Retour à -|Editer quelle ligne: -|Ligne n'existe pas. -|Ancien mot de passe: -|Nouveau mot de passe: -|Confirmer le nouveau mot de passe: -|Les mots de passe ne sont pas identiques! -|Mot de passe changé -|Ancien mot de passe incorrect! -|Liste des Utilisateurs -|Entrez un morceau du nom de l'utilisateur à rechercher ou enter pour tous: -|Nom Endroit Dernier Appels -|Chaîne non trouvée ... -|Temps dépassé ... Déconnection! -ON=M|Plus (O/n/=) M=Marquer -|Scanning -|avec -|STATISTIQUES temporelles pour -|on -|Heure : -|Date : -|Connection : -|Temps pour aujourd'hui : -|Temps restant : -|Limite quotidienne : -|Vous avez -ON|messages, les lire maintenant? [O/n]: -|Pas de nouveau courrier dans la boîte ... -|Hotkeys sont ACTIVES -|Hotkeys sont INACTIVES -|Actif -|Inactif -|Ce nom existe déjà -|Vérification de la BAL ... -|MBSE BBS Chat -|Le SysOp parle a quelqu'un d'autre. -|Essayez de le rappeller dans quelques minutes ... -|Vous avez appellé le Sysop le maximum de fois permises. -|Le Sysop n'est pas disponible ... Laissez un message -|Message inscrit dans la conférence: -| De : -| A : -|Vérification de l'utilisateur... -|Utilisateur non trouvé. Ré-essayez, ou (Enter) pour quitter -| Suj : -ON|Annuler Message [o/N] ?: -ON|Privé [o/N]: -|Ecrivez le message et terminez par une ligne vide. -|Maximum 60 lignes, 73 caractères par ligne -|Longueur maximum du message dépassée -|Fonctions disponibles: (Message actuel: -|Lignes) -|L - Liste des messages S - Sauver le message C - Continuer le message -|Q - Quitter le message F - eFface ligne I - Insérer une ligne -|T - changer le Texte E - Editer une ligne R - Remplacer une ligne -LSCQFITERZ|Z - Centrer la ligne -|Selectionner -|Continuer -|eFfacer -|eFfacer en commençant à la ligne -|Annulé. -|Please enter a number in the range of -|Delete ending at line -|Editer -|Entrer le numéro de ligne à changer -|Inserer -|Entrer le numéro de la ligne AVANT laquelle insérer -|Liste -|Entrer le numéro de la ligne à remplacer -|Ligne lues: -|Inchangé. -|Ligne lues maintenant: -|Quitter -ON|Etes vous sûr [o/N]: -|Message abandonné. -|Non -|Text Edit -|Entrer le numéro de la ligne à changer -|Text à remplacer : -|Texte de remplacement : -|La ligne est maintenant : -|Sauver -|VIRUS possible trouvé! -|Ok -|Décompresse archive -|Sauve message -|Entrer la ligne à centrer -|La ligne ne peut être centrée -|Pas de message dans cette conference. -|Date : -ON=|More (O/n/=/Area #): -|A : -|De : -|Sujet : -|Rép. suivante: -|Rép. à : -|messages dans -ANLREQDX|(A)gain, (N)ext, (L)ast, (R)épondre, (E)ntrer, (D)el, (Q)uitter, e(X)porter -|(A)gain, (N)ext, (L)ast, (R)eply, (E)nter, (Q)uit, e(X)port -|Next -|ERREUR -RNQ|(R)épondre, (N)ext, (Q)uitter: -|Entrer pour garder le sujet. -|# De A Sujet -|Message area -|contient -|messages. -|Entrer un message entre -|Message numéro [ -|Area Type Description Messages Personal -|thread -|Entrer le nom de la conference, ou ? pour la liste: -|Conference Area Msgs Description -|Deleting message -| Message Areas -|Selectionner Area: -|Conférence non valable - Réessayez ... -|Le mot de passe est incorrect -|Le mot de passe est correct -|Niveau trop bas pour cette conférence -|Ne paut pas ouvrir la base pour cette conférence -|Télécharrgé par: -|F A C -| -ON|Node inconnu, continue quand même [o/N]: -|Total Fichiers: -|FATAL: Impossible d'ouvrir la conférence -|Accès trop bas pour télécharger ici. -|Entrer le nom du fichier: -|Pas de fichier, abandon. -|Nom de fichier illegal! -|Ce fichier n'est pas disponible pour le téléchargement -|Vous avez -|extra download KBytes. -|You do not have enough time to download that file. -|You do not have enough bytes to download " -|You must upload before you can download. -|Kilobytes currently available: -|Checking your marked downloads, please wait... -|Untag Offline Reader message areas -|Found FILEID.DIZ in -|No files marked for download. -| -|You have selected the following Conference(s): -|Filename Size Date -|Protocol: Can't open protocol file. -|Select your preferred file transfer protcol -|Select Protocol (Enter to Quit): -|Ivalid selection, please try again! -|Protocol now set to: -|Enter keyword to use for Search: -|File Search by Keyword -|Accepts wildcards such as : *.zip, *.gz, *.* -| : *.zip is the same as .zip -|Enter filename to search for : -|File Search by Filename -YN|Search for new since your last call [Y/n]: -|Enter new date to search for [DD-MM-YYYY]: -|File Search by Date -| -|Offline Reader Download -|You do not have enough access to upload to this area. -|You have not enough diskspace free to copy this file -|files( -|bytes) marked for download. -|The file already exists on the system -|Please start your upload now ... -|Upload was unsuccessful for: -YN|Do you want to password protect your upload ? [y/N]: -|REMEMBER: Passwords are "CaSe SeNsITiVe!" -|Please enter description of file -|Your upload time has been returned to you. Thank you for your upload! -|Start copy: -|Can't open directory for listing: -|Home directory listing for -|Please enter filename to delete: -|Sorry you may not delete hidden files ... -|Unable to delete file ... -|Invalid filename, please try again ... -|File does not exist, please try again ... -|Forum Description Msgs. Pers. -| File Areas -|Please enter Area Password: -|Adding BBS -|BBS Name: -|Response needed ... -|Phone Number: -|Sysop Name: -|BBS Software: -|Storage (GigaByte): -|Speeds: -YN|Would you like to add a extended discription? [Y/n]: -|Please a enter discription for -|BBS Listing -|# BBS Name Number Software GigaByte Speed -|Search for a BBS -|Please enter 3 letters of BBS to search for: -|I need at least 3 letters ... -YN|View this BBS? [Y/n]: -|Could not find the BBS Listed ... -|Show a BBS -|Please enter number to list: -|Record does not exist -| Record : -| BBS Name : -| Number : -| Software : -| GigaBytes : -| Speeds : -| Sysop Name : -| Available : -| Date of Entry : -| Entry Name : -|Delete BBS -|Please enter number to delete: -|Record -|does not belong to you. -|already marked for deletion -|marked for deletion -|The Sysop will purge the list once he has -|seen you have marked a record for deletion. -|Total messages found: -|Unknown Menu Command! -|Saving... -|MBSE BBS Oneliners will randomly appear on the main menu. -|Obscene or libellous oneliners will be deleted!! -|Please enter your oneliner below. You have 75 characters. -|Oneliner added -| # A Date User Description -| # Description -|Please enter number to list: -|Connected from -|File(s) : -|Size : -|Protocol : -|Updating download counters, please wait ... -|Failed! -|Bytes -| # Area Active Size Cost File -|Yes -|No -TE|(T)oggle active, (E)rase all, (ENTER) to continue: -|Enter file number, 1.. -|Marked: -|No files tagged. -|Replace -|Loading BBS, please wait ... -|New or deleted mail areas at -|Area State Type Description -|New Mail check is now ON -|New Mail check is now OFF -|Delete file: -YN|Are you Sure? [Y/n]: -|New Files check is now ON -|New Files check is now OFF -|Now using the -12|Select: 1) Fullscreen editor, 2) External editor -|No messages found to download! -|Press (Enter) to continue: -|Center -|Too much messages. Only the first -|Select your preferred language -|Select Language: -|Language now set to: -|The system will now ask you for a "Unix Account" -|Your "Unix Account" is created, you may use it the next time you call. -|Please enter a login name (Maximum 8 characters) -|ie. John Doe, login = jdoe -|login > -|That login name already exists, please choose another one. -|Line -|Fullscreen -|External -|Editor -|New -|Local -|Netmail -|Echomail -|News -|E-Mail -|Del -|Jan -|Feb -|Mar -|Apr -|May -|Jun -|Jul -|Aug -|Sep -|Oct -|Nov -|Dec -|Autologout: idletime reached. -|Will be packed! -|Enter your handle (Enter for none): -|You are now ready to use the bbs -|Callers On-Line to -|Name Device Status Location -|Do not disturb turned OFF -|Do not disturb turned ON -|Browsing -|Downloading -|Uploading -|Msg Section -|External Door -|Chatting -|Listing Files -YN|Do you want to download these messages [Y/n]? -|Banking Door -|Safe Door -|WhosOn List -|Offline Reader -|Please enter username to send message to: -|Sorry, there is no user on -|doesn't wish to be disturbed -|Please enter in message to send (Max 76 Characters) -|** Message ** from -|Your password is expired, new password : -|Press ENTER to continue -|Posting not allowed, this area is Read Only! -1|Select: 1) Fullscreen editor -|Offline Reader Upload -|Invalid packet received -|Unknown compression type -|Archiver not available -|Unknown type mailpacket -|BlueWave Offline download -|Preparing packet -|Packing with -|Download failed -|Download successfull -|Updating lastread pointers -|Processing BlueWave reply packet -|ERROR in packet -|Import messages -|No Write access to area -|Messages imported -|Processing Offline Configuration -|Message areas selected -|Processing file requests -|QWK Offline Download -|Processing QWK reply packet -|ASCII Offline Download -YN|Crash [y/N]: -YN|Warning: node is not CM, send immediate [y/N]: -YN|Attach file [y/N]: -|File -|will be attached -|File not within -|mailbox - Incoming and outgoing email -|archive - Archive of your email -|trash - Trashcan, your old email -|Area # -|minutes. -|Fullscreen Editor shortcut keys set to Emacs -|Fullscreen Editor shortcut keys set to Wordstar -|Your address, maximum 3 lines (only visible for the sysop): -|You need to enter your address here -|Old address: -|Use your alias ( -YN|) to post this message [Y/n]: -|No more areas with unread messages -|Addresse not in Nodelist -|Found Addresse in Nodelist diff --git a/mbsebbs-code/lang/source.gl b/mbsebbs-code/lang/source.gl deleted file mode 100644 index 0d5ae099..00000000 --- a/mbsebbs-code/lang/source.gl +++ /dev/null @@ -1,482 +0,0 @@ -|Por favor teclee o seu nome e apelidos: -|Por favor teclee os seus apelidos: -|Desconectando usuario ... -|Explorando ficheiro de usuarios ... -SN|¨Escribiche-lo teu nome correctamente? [S/n] -|Tes que acceder de novo con este nome: -|Este ‚ un sistema PRIVADO. Teclea "off" para salir -|Teclea n£mero de ficheiro ou para rematar : -|Password: -|Sobrepasouse o n£mero m ximo de erros permitido... -|O teu nome ou a tua PASSWORD son incorrectos -HR|Exportar ¢ directrio (P)ersoal ou ¢ de (R)egras: -|Mesaxe exportada ¢ directorio de regras coma -|Non se atopan regras pra esta  rea -|No podes borrar esta mensaxe. -|Lector Offline: Informaci¢n extendida ACTIVADA -|Lector Offline: Informaci¢n extendida DESACTIVADA -|Este non ‚ un ficheiro de texto plano. -|Solo podes facer login -|veces ¢ mesmo tempo -|Outro usuario est  a usar esa door, proba mais tarde -SN| ‚ correcto [s/N]: -|Non podo interpretar -|Select your preferred character set -|Select character set (Enter to Quit): -|Character set now set to: -YN|Check for new mail at login [Y/n]: -YN|Check for new files at login [Y/n]: -|Enter a short reason for chat -|The Sysop cannot use the bbs to chat! Use mbmon to chat -|Sorry, the chatserver is not available -|line -| -| -| -|áéíóúüÜñÑçÇ¿¡ºª ‚¡¢£š¤¥‡€¨­§¦ -| ‚¡¢£š¤¥‡€¨­§¦ -|MBSE BBS - REXISTRO DE NOVO USUARIO -|Use este nome: -|Por favor teclee o novo password : -|Por favor repita o password outra vez...... : -|­Non coinciden! Volta a empezar... -|A password debe ter como m¡nimo -|caracteres. Volta a empezar... -| -|Teclea o teu n£mero de tel‚fono de VOZ -|Mensaxe exportado ¢ teu directorio privado como: -|N£mero de tel‚fono incorrecto. Repite... -|Teclea o n£mero de tel‚fono do teu MODEM -|¨Onde vives? (Cidade): -|O nome da t£a cidade ‚ demasiado curto. Repiteo por favor -HM|¨Tu que eres (H)ome ou (M)uller: -|Home -|Muller -|Contesta s¢ H o M -|Desco¤ecido -|Data de nacemento (DD-MM-AAAA): -|Tecleaches ‚ste ano por error. -|Teclea a fecha en formato correcto (DD-MM-AAAA) -|*** Atenci¢n: F lache o SysOp *** -|*** Fin da parola. Que te¤as un b¢ d¡a *** -SN=|M is (S/n/=) -SN|¨Queres men£s r pidos? [S/n]: -|Por favor contesta S ou N -| -|Nada -|Marcar  reas para lectura Off-Line -|Creouse a t£a conta de usuario: -|Nome de Login : -|Password : -|non visualizable -|Rexistro de novo usuario completo. -|Non topo -|Localidade anterior : -|Localidade demasiado curta: (min. -| -| -|Non existe a mensaxe -|Novas activadas -|Novas desactivadas -| -| -|Mensaxe privada, e non ‚ tua -|Teclea o formato de data correcto -|Hoxe chamaron a -|# Usr. Nombre Puerto Tiempo Llams Localidad -|Can't open archiver file. -|Select your preferred archiver -|Select Archiver (Enter to Quit): -|Archiver now set to: -|Teclea tres combinaci¢ns. -|1§ dixito: -|­Repite! Debe ser un n£mero maior que cero e menor que -|2§ dixito : -|3§ dixito: -| Esquerda : -| Dereita : -SN|Probo a abrir con esta combinaci¢n [S/n]: -|Ganaches ... -|­Ohhh! - Non se abre... -|A combinaci¢n era: -SN|¨Queres volver probar? [S/n]: -SN|¨Queres probar a abri-la caixa? [S/n]: -|A CAIXA ESTA BLOQUEADA. -| abriu a caixa. -|A caixa queda bloqueada ata que o SysOp recompense ¢ usuario. -|­Excedeche-lo m ximo n£mero de intentos diarios! -|Mensaxe ¢ seguinte usuario: -|Os campos De, Para e Asunto son opcionais. -| De: -| Para: -| Asunto: -| Teclea ata 10 li¤as de ata 74 Caracteres por linea -|Funci¢ns dispo¤ibles: -LCEAG|(L)istar, (C)ambiar texto, (E)ditar li¤a, (A)bandonar (G)ardar -|Escolle: -|Abandonando... -|Volvendo a -|Edita-la li¤a n§: -|Esa non existe. -|Password vella: -|Password nova: -|Repite a nova: -|­Non coinciden! -|Password cambiada. Non a esquezas... -|­Password vella incorrecta! -|Lista de usuarios -|Buscar un nome (Enter para listar todos): -|Nome Localidade U.Chamada Chamadas -|Non o atopo... -|L¡mite de tempo sobrepasado ... desconectando! -SN=M|M is (S/n/=) M=Marcar -|Buscando -|con -|Estad¡sticas de TEMPO de -|en -|Hora Actual : -|Data Actual : -|Tempo de conexion : -|Tempo usado hoxe : -|Tempo que queda : -|L¡mite diario : -|Tes -SN|mensaxes, ¨Queres lelas agora? [S/n]: -|Non hai correo novo pra ti ... -|Men£s r pidos activados -|Men£s r pidos desactivados -|Act -|Des -|O nome xa existe -|Buscando correo novo ... -|Charla de MBSE BBS -|O Sysop est  falando con outro usuario. -|Intenta chamalo de novo dentro de un pouco ... -|Xa chamacves moitas veces. -|O SysOp non est  ... ¨por que non lle deixas unha mensaxe? -|Po¤endo mensaxe na  rea: -|De : -|Para : -|Verificando usuario... -|Usuario non existe. Repite, ou (Enter) para sair -|Asunto : -SN|¨ Cancelar Mensaxe [s/N] ?: -SN|Privado [s/N]: -|Empeza a escribi-la tua mensaxe. (Enter) nunha li¤a vac¡a para sair. -|M ximo 60 li¤as, 73 caracteres por li¤a -|Lonxitud m xima sobrepasada -|Funcions dispo¤ibles: (Mensaxe Actual: -|Li¤as) -|L - Listar mensaxe G - Gardar mensaxe C - Continuar escribindo -|A - Abandonar B - Borrar li¤as I - Insertar li¤a -|T - editar Texto E - Editar li¤a S - Sustituir li¤a -LGCABITESZ|Z - Centrar li¤a -|Escolle -|Continuar -|Borrar -|Borrar dende a li¤a -|Abandonar. -|Teclea un n£mero entre -|Borrar ata a li¤a -|Editar -|N§ de li¤a a editar -|Insertar -|Insertar antes da li¤a n§ -|Listar -|N§ de Li¤a a sustituir -|A li¤a di: -|Non se cambiou: -|La li¤a agora di: -|Abandonar. -SN|¨Est s seguro? [s/N]: -|Mensaxe anulada. -|No -|Editar texto -|N§ de l¡¤a a editar -|Texto a cambiar : -|Texto novo : -|La l¡¤a agora di: -|Gardar -|­Posible VIRUS atopado! -|Ok -|Descomprimindo -|Gardando mensaxe no disco -|N§ de li¤a a centrar -|A li¤a ‚ demasiado longa e non se pode centrar -|Non hai mensaxes nesta  rea. -|Data : -SN=|M is (S/n/=/n§  rea): -|Para : -|De : -|Asunto : -|Seg. resp.: -|Resp. a: -|mensaxes en -OSACNRBX|(O)utra vez (S)eg. (A)nt. (C)ontes. (N)ova (B)orrar (R)ematar e(X)port. -|(O)utra vez (S)eg (A)nt. (C)ontes. (N)ova (R)ematar e(X)portar -|Seguinte -|ERROR -CSR|(C)ontestar, (S)eguinte, (R)ematar: -|Enter para mante-lo mesmo asunto -|n§ De Para Asunto -|A  rea -|ten -|mensaxes. -|Teclea unnha mensaxe entre -|N£mero de mensaxe [ -|Area Tipo Descripci¢n Mensaxes Persoais -|f¡o -|Teclee N§ ou TAG da  rea, ? para ve-la lista: -|TAG Area Msxs Descripci¢n -|Borrando mensaxe -| Areas de Mensaxes -|Escolle unha  rea: -| rea escollida non v lida - Escolla outra ... -|Password incorrecto -|Password correcto -|Non tes permiso para listar esta  rea -|Non podo abri-la base de ficheiros desta  rea -|Enviado por: -|B O R R A D O -| -SN|Nodo desco¤ecido. ¨Continuar? [s/N]: -|Total Fichs: -|FATAL: Imposible abrir base de  reas -|Non tes permiso para descargar ficheiros desta  rea. -|Nome do ficheiro: -|Nome vac¡o, cancelando. -|­Nome de ficheiro non v lido! -|Ese ficheiro non est  dispo¤ible para descargar -|Tes -|KBytes extra para descargar. -|Non tes tempo dabondo para descargar ese ficheiro. -|Non tes suficiente cr‚dito para descargar " -|Tes que enviar algo antes de descargar. -|Kilobytes dispo¤ibles: -|Verificando ficheiros marcados, agarda un pouco... -|Desmarcar  reas para lectura Off-Line -|Atopado FILEID.DIZ en -|Non hai ficheiros marcados. -| -|Escolleche-las seguintes  reas: -|Ficheiro Tama¤o Fecha -|Protocolo: Non podo abrir ficheiro de protocolos. -|Escolle o protocolo de transferencia predeterminado -|Escolle Protocolo (Enter para sair): -|Ese non vale, ­Escolle outro! -|Protocolo predeterminado: -|Palabra a buscar: -|Buscar ficheiro por unha palabra -|Aceptanse comodins coma : *.zip, *.gz, *.* -| : *.zip es lo mismo que .zip -|Nome do ficheiro a buscar: -|Buscar ficheiro por nome -SN|Buscar novos ficheiros dende a tua £ltima chamada [S/n]: -|Buscar novos dende fecha [DD-MM-YYYY]: -|Buscar ficheiros por fecha -| -|Descargar Correo para lectura OFF-LINE -|Non tes permiso para enviar ficheiros a esta  rea. -|Non hai espacio dabondo para copiar este ficheiro -|ficheiros( -|bytes) marcados para descargar. -|O ficheiro xa existe neste sistema -|Empeza a enviar agora ... -|Env¡o non rematado por: -SN|¨Queres protexer con password o ficheiro enviado? [s/N]: -|­LEMBRA! A password ‚ "CaSe SeNsITiVe!" -|Teclea a descripci¢n do ficheiro -|Dev¢lvechese o tempo do env¡o. ­Gracias polo ficheiro! -|Copiando a directorio persoal : -|Non podo abrir directorio para listar: -|Listado do directorio persoal de -|Nome do ficheiro a borrar: -|Non podes borrar ficheiros ocultos ... -|Imposible borrar ficheiro ... -|Nome non v lido, proba outra vez ... -|O ficheiro non existe, proba outra vez ... -|Area Descripci¢n Msxs. Pers. -| Areas de ficheiros -|Teclee password da  rea: -|A¤adindo BBS -|Nome da BBS: -|Resposta obligatoria ... -|N£mero de tel‚fono: -|Nome do SysOp: -|Software de BBS: -|Espacio (GigaBytes): -|Velocidades: -SN|¨Queres a¤adir unha descripcion? [S/n]: -|Teclea a descripci¢n de -|Listado de BBSs -|n§ Nome da BBS N£mero Software GigaByte Veloc. -|Buscar unha BBS -|Teclee 3 letras da BBS que quere buscar: -|Necesito lo menos 3 letras ... -SN| BBS? [S/n]: -|Non podo topa-la BBS ... -|Amosar una BBS -|N£mero a listar: -|Rexistro inexistente -| Rexistro : -| Nome BBS : -| N£mero : -| Software : -| GigaBytes : -| Velocidades : -| SysOp : -| Dispo¤ible : -| Fecha entrada : -| Entrada por : -|Borrar BBS -|Teclee n£mero da BBS a borrar: -|O Rexistro -|non ‚ teu. -|xa estaba marcado para borrar -|queda marcado para borrar -|O SysOp eliminar o da lista cando lle pareza -|todo-los rexistros marcados para borrar. -|Total de mensaxes topados: -|­Comando desco¤ecido! -|Gardando... -|Oneliners: Aparecer n de forma aleatoria no men£ da BBS. -|Os textos obscenos ou ofensivos ser n borrados -|Teclea a tua 'oneliner'. Máx 75 caracteres. -|Oneliner a¤adida -|n§ A Fecha Usuario Descripci¢n -| # Descripci¢n -|Teclee n£mero a listar: -|Connected from -|Ficheiros : -|Tama¤o : -|Protocolo : -|Actualizando contadores de descarga... -|­FALLO! -|Bytes -| n§ Area Activa Tam. Coste Fichero -|Si -|No -AT|(A)ctivar/desactivar, desactivar (T)odos, (ENTER) para seguir: -|N£mero de ficheiro, 1.. -|Marcado: -|Non hai ficheiros marcados. -|Replace -|Cargando BBS, agarde por favor ... -|Areas de correo novas ou borradas en -|Area Estado Tipo Descripci¢n -|Comprobar correo novo ACTIVADO -|Comprobar correo novo DESACTIVADO -|Borrar ficheiro: -SN|¨Est s seguro? [S/n]: -|Comprobar ficheiros novos ACTIVADO -|Comprobar ficheios novos DESACTIVADO -|Est s usando o editor -12|Escolle: 1) E. pantalla completa, 2) Editor externo -|¡Non hai mensaxes! -|Pulsa (Enter) para seguir: -|Centrar -|Demasiadas mensaxes, S¢ as primeiras -|Elija su Idioma / Escolla idioma / Select language -|Escolla Idioma: -|Idioma: -|O sistema vai crea-la tua conta UNIX. Preguntar che unhos datos: -|Creouse a tua "Conta UNIX". P¢dela usar para entrar no 'Login'. -|Teclea un nome de login (M ximo 8 caracteres) por exemplo se te chamas -|'Elena Nito del Bosque ' podes usar 'enitob', 'elenanb' ou 'enbosque' -|login > -|Ese nome de LOGIN xa existe. Escolle outro... -|de li¤as -|de pantalla completa -|externo -| -|New -|Local -|Netmail -|Echomail -|News -|E-Mail -|Del -|Xan -|Feb -|Mar -|Abr -|Mai -|Xun -|Xul -|Ago -|Sep -|Out -|Nov -|Dec -|Autologout: ¨Quedaches dormido o cortouse a li¤a? -|empaquetar nse. -|Alias (Enter se non queres ningun): -|Hala, Xa podes usa-la BBS -|Usuarios conectados a -|Nomme Porto Estado Localidade -|'Non molesten' DESACTIVADO -|'Non molesten' ACTIVADO -|Navegando -|Descargando -|Enviando -|S. Mensaxes -|Door Externa -|Charlando -|Ls. Ficheiros -SN|¨Queres descargar estas mensaxes [S/N]? -|No Banco -|Safe Door -|L. Conectados -|Offline Reader -|Teclea usuario ¢ que queres dar recado: -|Non hai usuario en -|Non quere que o molesten -|Teclea texto do recado (Max 76 Caracteres) -|** Mensaxe ** de -|A tua password caducou, nova password : -|Pulsa ENTER para seguir -|Non podes escribir, ­esta  rea es S¢ Lectura! -1|Escolle: 1) Editor de pantalla completa -|Upload de correo Off-Line -|O paquete recibido non ‚ v lido -|Comprimido con un compresor desco¤ecido -|O compresor non est  dispo¤ible -|Paquete de correo de tipo desco¤ecido -|Descarga de BlueWave -|Preparando paquete -|Comprimindo con -|Descarga fallida -|Descarga completa -|Actualizando punteiros de lectura -|Procesando paquete de respostas BlueWave -|ERRO no paquete -|Importando mensaxes -|Imposible escribir na  rea -|Mensaxes importadas -|Procesando Configuraci¢n Off-Line -|Areas seleccionadas -|Procesando peticions de ficheiros -|Descarga de QWK -|Procesando paquete de respostas QWK -|Descarga ASCII -SN|Crash [s/N]: -SN|Aviso: o nodo non ‚ CM, enviar immediato [s/N]: -YN|Adxuntar ficheiro [s/N]: -|Ficheiro -|adxuntado -|O ficheiro non esta en -|buzon - Email entrante/sainte -|archivo - Email Archivado -|papeleira - Papeleira, Email borrado -|Area # -|minutos. -|O editor funcionar  cas teclas de Emacs -|O editor funcionar  cas teclas de Wordstar -|Enderezo, m ximo 3 li¤as (solo o ver  o SysOp): -|Tes que po¤e-lo teu enderezo -|Enderezo vello: -|¨Queres usa-lo alias ( -SN|) nesta mensaxe? [S/n]: -|Non hai mais  reas con mensaxes sen ler. -|Addresse not in Nodelist -|Found Addresse in Nodelist diff --git a/mbsebbs-code/lang/source.nl b/mbsebbs-code/lang/source.nl deleted file mode 100644 index c9bf1337..00000000 --- a/mbsebbs-code/lang/source.nl +++ /dev/null @@ -1,482 +0,0 @@ -|Geef Voor en Achternaam: -|Geef Achternaam: -|Verbreken gebruiker ... -|Doorzoeken gebruikers bestand ... -JN|Is Uw naam juist gespeld? [J/n] -|Log nu opnieuw in met de naam: -|Dit is een PRIVE Systeem. Tik "off" om eruit te gaan -|Markeer bestand nummer of toets voor stop -|Wachtwoord: -|Maximum aantal inlog pogingen overschreden ... -|Of Uw NAAM of Uw WACHTWOORD is fout -HR|Exporteer naar (H)ome of (R)egels directory: -|Bericht geexporteerd naar rules directory als -|Geen regels gevonden voor dit gebied -|Je mag dit bericht niet verwijderen -|Offline Reader: Uitgebreide Informatie is nu AAN -|Offline Reader: Uitgebreide Informatie is nu UIT -|Dit is geen normaal tekst bestand -|U mag maar -|keer tegelijk inloggen -|De door is in gebruik door een andere gebruiker, probeer het later nog eens -JN| Is dit juist [j/N]: -|Niet te verwerken -|Kies Uw karakter set -|Kies karakter set (Enter is Stop): -|Karakter set is nu: -JN|Kijk voor nieuwe post tijdens login [J/n]: -JN|Kijk voor nieuwe bestanden tijdens login [J/n]: -|Geef een korte reden om te kletsen -|De sysop kan niet kletsen via het bbs! Gebruik mbmon -|Sorry, de chatserver is niet beschikbaar -|lijn -| -| -| -| -| -|MBSE Bulletin Board Systeem - NIEUWE GEBRUIKER REGISTRATIE -|Gebruik deze naam: -|Geef een nieuw wachtwoord : -|Geef het wachtwoord opnieuw : -|De wachtwoorden zijn niet gelijk! Opnieuw. -|Uw wachtwoord moet minstens -|karakters bevatten! Opnieuw. -| -|Geef Uw Spraak Telefoonnummer -|Bericht weggeschreven naar Uw prive directory als: -|Geef het nummer in een goed formaat -|Geef Uw Data Telefoonnummer -|Geef Uw woonplaats: -|Geef een langere woonplaats naam -MV|Wat is Uw geslacht? (M)an of (V)rouw: -|Man -|Vrouw -|Antwoord met M of V -|Onbekend -|Geef Uw geboorte datum DD-MM-YYYY: -|Sorry maar dat is dit jaar. -|Gebruik het juiste datum formaat -|*** De Sysop komt erin om te kletsen *** -|*** De Sysop stopt met kletsen *** -JN=|Meer (J/n/=) -JN|Wilt U sneltoets menus? [J/n]: -|Antwoord met J of N -| -|Geen -|Selecteer Offline Reader berichten gebieden -|Uw gebruikers account is gemaakt: -|Inlog naam : -|Wachtwoord : -|onzichtbaar -|Nieuwe gebruiker registratie is klaar. -|Niet gevonden -|Oude woonplaats: -|Geef een langere woonplaats naam (minimaal -| -| -|Bericht bestaat niet -|News berichten staan nu AAN -|News berichten staan nu UIT -| -| -|Prive bericht, niet van U -|Geef het juiste datum formaat -|Bellers vandaag bij -|# Gebruiker Poort Tijd Keren Woonplaats -|Kan archiver file niet openenen. -|Kies je favourite archiver -|Kies archiver (Enter is Stop): -|Archiver is nu: -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -|Wijzig berichten handtekening -|De VAN, AAN en ONDERWERP velden zijn opties. -| Van: -| Aan: -|Onderwerp: -| Type maximaal 10 regels van 74 karakters per regel -|Beschikbare functies: -LVWAB|(L)ijst, (V)ervang tekst, (W)ijzig regel, (A)fbreken, (B)ewaar -|Kies: -|Afbreken ... -|Terug naar -|Wijzig welke regel: -|Regel bestaat niet. -|Oud wachtwoord: -|Nieuw wachtwoord: -|Bevestig nieuw wachtwoord: -|Wachtwoorden zijn niet gelijk! -|Het wachtwoord is gewijzigd -|Oude wachtwoord is fout! -|gebruikers lijst -|Geef gebruikersnaam zoekfragment of (Enter) voor alle gebruikers: -|Naam Woonplaats Laatst hier Hoevaak -|Zoekargument niet gevonden ... -|Tijd limiet overschreden ... verbreken! -JN=M|Meer (J/n/=) M=Markeer -|Scannen -|met -|TIJD STATISTIEK voor -|op -|Huidige tijd : -|Huidige datum : -|Verbindings tijd : -|Tijd gebruikt vandaag : -|Tijd over vandaag : -|Dagelijkse tijdslimiet : -|U heeft -JN|berichten, nu de post lezen? [J/n]: -|Er zijn geen nieuwe berichten in Uw postbus ... -|Sneltoetsen staan nu AAN -|Sneltoetsen staan nu UIT -|Aan -|Uit -|Gebruikersnaam bestaat al -|Even in Uw postbus kijken ... -|MBSE BBS Kletsen -|De Sysop is nu even met iemand anders in gesprek. -|Probeer het opnieuw in enkele minuten ... -|U heeft de Sysop meer dan het maximaal aantal keren geroepen. -|De Sysop is niet aanwezig ... laat een bericht achter -|Nieuw bericht in gebied: -|Van : -|Aan : -|Kontroleren gebruiker ... -|Gebruiker niet gevonden. Opnieuw proberen of (Enter) voor stop -|Onderwerp: -JN|Afbreken bericht [j/N] ?: -JN|Prive [j/N]: -|Begin nu met het bericht, Een lege regel is stoppen -|Maximaal 60 regels, 73 karakters per regel -|maximale berichtlengte overschreden -|Functies beschikbaar: (Huidig bericht: -|Regels) -|L - Lijst bericht B - Bewaar bericht D - Doorgaan bericht -|A - Afbreken W - Wissen regel I - Invoegen regel -|T - Tekst wijzigen R - Regel wijzigen V - Vervang regel -LBDADITRVC|C - Centreer regel -|Kies -|Doorgaan -|Wis -|Wis vanaf regel -|Afgebroken. -|Geef een nummer in het bereik van -|Wissen eindigt met regel -|Wijzig -|Geef regel # te wijzigen -|Invoegen -|Geef het regel # waarvoor in te voegen -|Lijst -|Geef regel # te vervangen -|De regel is: -|Onveranderd. -|De regel is nu: -|Stop -JN|Wet U het zeker [j/N]: -|Bericht afgebroken. -|Nee -|Tekst wijzigen -|Geef regel # te wijzigen -|Oude tekst : -|Nieuwe tekst: -|De regel is nu: -|Bewaar -|Een mogelijk VIRUS gevonden! -|Ok -|Uitpakken archief -|Opslaan bericht op disk -|Geef regel # te centreren -|De regel is op maximale breedte en kan niet worden gecentreerd. -|Er zijn geen berichten in dit gebied. -|Datum : -JN=|Meer (J/n/=/Gebied #): -|Aan : -|Van : -|Onderwerp: -|Reactie: -|Antwoord op: -|berichten in -OVLAPSWX|(O)pnieuw, (V)olgend, (L)aatst, (A)ntwoord, (P)laats, (W)is, (S)top, e(X)port -|(O)pnieuw, (V)olgend, (L)aatst, (A)ntwoord, (P)laats, (S)top, e(X)port -|Volgende -|FOUT -AVS|(A)ntwoord, (V)olgende, (S)top: -|Enter is zelfde onderwerp. -|# Van Aan Onderwerp -|Berichten gebied -|bevat -|berichten. -|Geef een bericht tussen -|Bericht nummer [ -|Nr. Soort Omschrijving Aantal Persoonlijk -|draad -|Geef de naam van de confrentie, of ? voor een lijst: -|Conferentie Gebied Tot. Omschrijving -|Wissen bericht -| Berichten gebieden -|Kies gebied: -|Ongeldig nummer opgegeven - Probeer het opnieuw ... -|Wachtwoord is fout -|Wachtwoord is goed -|U heeft niet genoeg autorisatie voor de lijst in dit gebied -|Kan de database niet openen voor dit gebied -|Upload door: -|GEWIST -| -JN|Node onbekend, toch doorgaan [j/N]: -|Aantal bestanden: -|FATAAL: kan de bestanden database niet openen -|U heeft niet genoeg autorisatie om uit dit gebied te downloaden. -|Geef de bestandsnaam: -|Geen bestandsnaam, Afgebroken. -|Ongeldige bestandsnaam! -|Sorry maar dat bestand is niet beschikbaar voor download -|U heeft -|extra download KBytes. -|U heeft niet genoeg tijd om dat bestand te downloaden. -|U heeft niet genoeg bytes over om te downloaden " -|U moet uploaden voordat U kunt downloaden. -|Kilobytes op dit moment beschikbaar: -|Kontroleren gemarkeerde bestanden, een ogenblik ... -|Verwijder selectie Offline Reader berichten gebieden -|FILEID.DIZ gevonden in -|Geen bestanden gemarkeerd voor download. -| -|De volgende conferentie(s) zijn geselecteerd: -|Bestand Grootte Datum -|Protocol: Kan protocollen bestand niet openen. -|Kies Uw favourite overdracht protocol -|Kies Protocol (Enter is Stop): -|Ongeldige keuze, Probeer het opnieuw! -|Het protocol is nu: -|Geef sleutelwoord om op te zoeken : -|Bestanden zoeken op sleutelwoord -|Accepteerd jokers zoals : *.zip, *.gz, *.* -| : *.zip is hetzelfde als .zip -|Geef bestandsnaam om naar te zoeken : -|Bestanden zoeken op naam -JN|Zoeken naar nieuwe bestanden sinds de laatste keer? [J/n]: -|Geef nieuwe datum om vanaf te zoeken [DD-MM-JJJJ]: -|Bestanden zoeken op datum -| -|Offline Reader Download -|U heeft niet genoeg rechten om in dit gebied te uploaden. -|U heeft niet genoeg vrije diskruimte om dit bestand te kopieren -|bestanden( -|bytes) gemarkeerd voor download. -|Dat bestand bestaat al op het systeem -|Begin u met Uw upload ... -|Upload is mislukt voor : -JN|Wilt U Uw upload beschermen met een wachtwoord ? [j/N]: -|ONTHOUDT: Wachtwoorden zijn "HoOfDLEtTer GeVoElIg!" -|Geef een omschrijving van bestand -|Uw upload tijd is terruggegeven. Bedankt voor de upload! -|Start kopieren: -|Kan de directory niet openen voor de lijst: -|Prive directory lijst voor -|Geef bestandsnaam om te wissen: -|Spijtig, maar verborgen bestanden mag U niet wissen ... -|Kan bestand niet wissen ... -|Ongeldige bestandsnaam, Probeer het opnieuw ... -|Bestand bestaat niet, Probeer het opnieuw ... -|Conferentie Omschrijving Aant. Pers. -| Bestanden gebieden -|Geef gebieds wachtwoord: -|Toevoegen BBS -|BBS Naam: -|Invoer is nodig ... -|Telefoon nummer: -|Sysop Naam: -|BBS Software: -|Diskruimte (GigaByte): -|Snelheden: -JN|Wilt U het BBS uitgebreider omschrijven? [J/n]: -|Geef een omschrijving voor -|BBS Lijst -|# BBS Naam Nummer Software GigaByte Snelheid -|Zoek een BBS -|Geef 3 letters van het BBS om op te zoeken: -|Ik heb minstens 3 letters nodig ... -JN|Bekijk dit BBS? [J/n]: -|Ik kon dat BBS niet vinden ... -|Toon een BBS -|Geef het nummer om te bekijken: -|Record bestaat niet -| Record : -| BBS Naam : -| Nummer : -| Software : -| GigaBytes : -| Snelheden : -| Sysop Naam : -| Beschikbaar : -| Invoer datum : -| Invoer naam : -|Verwijder BBS -|Geef het nummer om te verwijderen: -|Record -|is niet van U. -|is al gemarkeerd om te verwijderen -|gemarkeerd om te verwijderen -|De Sysop zal dit BBS verwijderen zodra hij -|heeft gezien dat er een record gemarkeerd is. -|Totaal aantal berichten gevonden: -|Onbekend menu kommando! -|Bewaren ... -|MBSE BBS Spreuken kunnen willekeurig verschijnen. -|Obscene en racistische opmerkingen worden verwijderd!! -|Geef hieronder Uw spreuk. U heeft 75 karakters. -|Spreuk toegevoegd -| # A Datum Gebruiker Omschrijving -| # Omschrijving -|Geef nummer om te bekijken: -|Verbonden vanaf -|Bestand(en): -|Grootte : -|Protocol : -|Bijwerken download tellers, een ogenblik ... -|Mislukt! -|Bytes -| # Geb. Aktief Grootte Prijs Bestand -|Ja -|Nee -SV|(S)chakel aktief, (V)erwijder alles, (ENTER) voor doorgaan: -|Geef bestand nummer, 1.. -|Gemarkeerd: -|Geen bestanden gemarkeerd. -|Vervang -|Het BBS wordt geladen, een moment ... -|Nieuwe of verwijderde berichten gebieden bij -|Geb. Status Soort Omschrijving -|Tonen nieuwe Post is nu AAN -|Tonen nieuwe Post is nu UIT -|Verwijder bestand: -JN|Zeker weten? [J/n]: -|Tonen nieuwe Bestanden is nu AAN -|Tonen nieuwe Bestanden is nu UIT -|U gebruikt nu de -12|Kies: 1) Volle scherm editer, 2) Externe editer -|Geen berichten gevonden voor download! -|Geef (Enter) voor doorgaan: -|Centreer -|Teveel berichten. Alleen de eerste -|Kies Uw favourite taal -|Kies taal: -|De taal is nu: -|Het systeem zal nu een "Unix gebruikersnaam" vragen -|Uw "Unix gebruikersnaam" is gemaakt, U kunt dit de volgende keer gebruiken. -|Geef een inlog naam (Maximaal 8 karakters, kleine letters) -|bv. Piet Snot, login = psnot -|login > -|Die login naam bestaat al, kies iets anders. -|Regel -|Volle scherm -|Externe -|Textverwerker -|Nieuw -|Lokaal -|Netmail -|Echomail -|Nieuws -|E-Mail -|Gewist -|Jan -|Feb -|Mrt -|Apr -|Mei -|Jun -|Jul -|Aug -|Sep -|Okt -|Nov -|Dec -|Autologuit: non-aktief tijd bereikt. -|worden ingepakt! -|Geef Uw Alias (Enter voor geen): -|Je kunt het bbs nu gaan gebruiken -|Gebruikers aanwezig bij -|Naam Poort Bezig met Woonplaats -|Niet storen staat nu UIT -|Niet storen staat nu AAN -|Rondkijken -|Downloaden -|Uploaden -|Berichten -|Extern Prog. -|Kletsen -|Bestanden -JN|Wilt U deze berichten downloaden [J/n]? -|Tijd Bank -|Kluis kraken -|Wie is hier -|Offline Reader -|Geef de gebruikersnaam waar het bericht heen moet: -|Sorry, er is niemand op -|wil niet gestoord worden -|Geef te versturen bericht (Maximaal 76 karakters) -|** Bericht ** van -|Uw wachtwoord is verlopen, geef nieuw wachtwoord: -|Toets ENTER voor doorgaan -|Plaatsen berichten niet toegestaan, dit gebied is alleen lezen! -1|Kies: 1) Volle scherm editer -|Offline Reader Upload -|Ongeldig pakket ontvangen -|Onbekende compressie methode -|Compressie programma niet beschikbaar -|Onbekend type mail pakket -|BlueWave Offline download -|Voorbereiden pakket -|Comprimeren met -|Download mislukt -|Download is gelukt -|Bijwerken laatstgelezen wijzers -|Verwerken BlueWave antwoord pakket -|FOUT in pakket -|Inlezen berichten -|Geen schrijftoegang in gebied -|Berichten ingelezen -|Verwerken Offline Configuratie -|Berichten gebieden gelecteerd -|Verwerken bestands verzoeken -|QWK Offline Download -|Verwerken QWK antwoord pakket -|ASCII Offline Download -JN|Direct [j/N]: -JN|Let op: node is niet CM, onmiddelijk sturen [j/N]: -JN|Bestand meesturen [j/N]: -|Bestand -|wordt meegestuurd -|Bestand niet binnen -|mailbox - Inkomende en uitgaande post -|archive - Het archief van Uw email -|trash - De vuilnisbak, oude email. -|Gebied # -|minuten. -|Schermgestuurde Tekstverwerker sneltoetsen ingesteld als Emacs -|Schermgestuurde Tekstverwerker sneltoetsen ingesteld als Wordstar -|Geef adres, maximaal 3 regels (alleen zichtbaar voor de sysop): -|U moet hier Uw adres opgeven -|Oude adres: -|Use your alias ( -YN|) to post this message [Y/n]: -|Geen gebieden meer met ongelezen berichten -|Geadresseerde niet in de Nodelijst -|Geadresseerde gevonden in de nodelijst diff --git a/mbsebbs-code/lang/source.zh b/mbsebbs-code/lang/source.zh deleted file mode 100644 index 1280a969..00000000 --- a/mbsebbs-code/lang/source.zh +++ /dev/null @@ -1,482 +0,0 @@ -|ÇëÊäÈëÃûºÍÐÕ(Æ´Òô): -|ÇëÊäÈëÐÕ: -|Disconnecting user ... -|ËÑË÷Óû§Îļþ ... -YN|Did you spell your name correctly? [Y/n] -|You need to login again with the name: -|This is a PRIVATE System. Type "off" to leave -|Mark file number or press to stop -|ÃÜÂë: -|Maximum login attempts have been exceeded ... -|Either your NAME or PASSWORD is incorrect -HR|Export to (H)ome or (R)ules directory: -|Message exported to rules directory as -|No rules found for this area -|You are not allowed to delete that message -|Offline Reader: Extended Info turned ON -|Offline Reader: Extended Info turned OFF -|This is not a plain textfile. -|You may only login -|times at the same time -|The door is in use by another user, try again later -YN| Is this correct [y/N]: -|Could not parse -|Select your preferred character set -|Select character set (Enter to Quit): -|Character set now set to: -YN|Check for new mail at login [Y/n]: -YN|Check for new files at login [Y/n]: -|Enter a short reason for chat -|The Sysop cannot use the bbs to chat! Use mbmon to chat -|Sorry, the chatserver is not available -|line -| -|‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄ -|‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄ -|ÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþ -|ÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþ -|MBSE Bulletin Board System - NEW USER REGISTRATION -|Use this name: -|ÇëÊäÈëÐÂÃÜÂë : -|ÇëÔÙ´ÎÊäÈëÐÂÃÜÂë : -|Á½´ÎÊäÈëµÄÃÜÂ벻ͬ! ÖØÊÔ. -|ÄãµÄÃÜÂ볤¶È²»ÄÜÉÙÓÚ -|¸ö×Ö·û! ÖØÊÔ. -| -|Please enter you Voice Number -|Message exported to your private directory as: -|Please enter a proper phone number -|Please enter you Data Number -|Please enter your location: -|Please enter a longer location -MF|What is your sex? (M)ale or (F)emale: -|Male -|Female -|Please answer M or F -|Unknown -|Please enter your Date of Birth DD-MM-YYYY: -|Sorry you entered this year by mistake. -|Please enter the correct date format -|*** Sysop is starting chat *** -|*** Sysop has terminated chat *** -YN=|More (Y/n/=) -YN|Would you like Hot-Keyed menus? [Y/n]: -|Please answer Y or N -| -|None -|Tag Offline Reader message areas -|Your user account has been created: -|Login Name : -|Password : -|not displayed -|New user registration completed. -|Could not find -|Old Location: -|Please enter a longer location (min -| -| -|Message doesn't exist -|News bulletins turned ON -|News bulletins turned OFF -| -| -|Private message, not owner -|Please enter the correct date format -|Todays Callers to -|# User Name Device TimeOn Calls Location -|Can't open archiver file. -|Select your preferred archiver -|Select Archiver (Enter to Quit): -|Archiver now set to: -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -| -|Edit message signature -|The FROM, TO and SUBJECT fields are optional. -| From: -| To: -|Subject: -| Type up to 10 lines 74 Characters per line -|Functions available: -LREAS|(L)ist, (R)eplace text, (E)dit line, (A)bort, (S)ave -|Select: -|Aborting... -|Returning to -|Edit which line: -|Line does not exist. -|Old Password: -|New password: -|Confirm new password: -|Passwords do not match! -|Password Change Successful -|Old password incorrect! -|User List -|Enter Username search string or (Enter) for all users: -|Name Location Last On Calls -|Could not find search string ... -|Time limit exceeded ... disconnecting! -YN=M|More (Y/n/=) M=Mark -|Scanning -|with -|TIME STATISTICS for -|on -|Current Time : -|Current Date : -|Connect time : -|Time used today : -|Time remaining today : -|Daily time limit : -|You have -YN|messages, read your mail now? [Y/n]: -|You have no new mail in your mail box ... -|Hotkeys are now ON -|Hotkeys are now OFF -|On -|Off -|User name already exists -|Checking your mail box ... -|MBSE BBS Chat -|The SysOp is currently speaking to somebody else. -|Try paging him again in a few minutes ... -|You have paged the Sysop the maximum times allowed. -|Sysop currently is not available ... please leave a comment -|Posting message in area: -|From : -| To : -|Verifying user ... -|User not found. Try again, or (Enter) to quit -|Subj : -YN|Abort Message [y/N] ?: -YN|Private [y/N]: -|Begin your message now, Blank line to end -|Maximum of 60 lines, 73 characters per line -|Maximum message length exceeded -|Functions available: (Current Message: -|Lines) -|L - List message S - Save message C - Continue message -|Q - Quit message D - Delete line I - Insert line -|T - Text edit E - Edit line R - Replace line -LSCQDITERZ|Z - Center line -|Select -|Continue -|Delete -|Delete starting at line -|Aborted. -|Please enter a number in the range of -|Delete ending at line -|Edit -|Enter line # to edit -|Insert -|Enter line # to insert text before -|List -|Enter line # to replace -|Line reads: -|Unchanged. -|Line now reads: -|Quit -YN|Are you sure [y/N]: -|Message aborted. -|No -|Text Edit -|Enter line # to edit -|Text to replace : -|Replacement text : -|Line now reads: -|Save -|Possible VIRUS found! -|Ok -|Unpacking archive -|Saving message to disk -|Enter line # to center -|Line is maximum length and cannot be centered -|There are no messages in this area. -|Date : -YN=|More (Y/n/=/Area #): -|To : -|From : -|Subject : -|Next reply: -|Reply to: -|messages in -ANLREQDX|(A)gain, (N)ext, (L)ast, (R)eply, (E)nter, (D)el, (Q)uit, e(X)port -|(A)gain, (N)ext, (L)ast, (R)eply, (E)nter, (Q)uit, e(X)port -|Next -|ERROR -RNQ|(R)eply, (N)ext, (Q)uit: -|Enter to keep Subject. -|# From To Subject -|Message area -|contains -|messages. -|Please enter a message between -|Message number [ -|Area Type Description Messages Personal -|thread -|Enter the name of the conference, or ? for a list: -|Conference Area Msgs Description -|Deleting message -| Message Areas -|Select Area: -|Invalid area specified - Please try again ... -|Password is incorrect -|Password is correct -|You don't have enough security to list this area -|Can't open file database for this area -|Uploaded by: -|D E L E T E D -| -YN|Node not known, continue anyway [y/N]: -|Total Files: -|FATAL: Unable to open areas database -|You do not have enough access to download from this area. -|Please enter filename: -|No filename entered, Aborting. -|Illegal Filename! -|Sorry that file is unavailable for download -|You have -|extra download KBytes. -|You do not have enough time to download that file. -|You do not have enough bytes to download " -|You must upload before you can download. -|Kilobytes currently available: -|Checking your marked downloads, please wait... -|Untag Offline Reader message areas -|Found FILEID.DIZ in -|No files marked for download. -| -|You have selected the following Conference(s): -|Filename Size Date -|Protocol: Can't open protocol file. -|Select your preferred file transfer protcol -|Select Protocol (Enter to Quit): -|Ivalid selection, please try again! -|Protocol now set to: -|Enter keyword to use for Search: -|File Search by Keyword -|Accepts wildcards such as : *.zip, *.gz, *.* -| : *.zip is the same as .zip -|Enter filename to search for : -|File Search by Filename -YN|Search for new since your last call [Y/n]: -|Enter new date to search for [DD-MM-YYYY]: -|File Search by Date -| -|Offline Reader Download -|You do not have enough access to upload to this area. -|You have not enough diskspace free to copy this file -|files( -|bytes) marked for download. -|The file already exists on the system -|Please start your upload now ... -|Upload was unsuccessful for: -YN|Do you want to password protect your upload ? [y/N]: -|REMEMBER: Passwords are "CaSe SeNsITiVe!" -|Please enter description of file -|Your upload time has been returned to you. Thank you for your upload! -|Start copy: -|Can't open directory for listing: -|Home directory listing for -|Please enter filename to delete: -|Sorry you may not delete hidden files ... -|Unable to delete file ... -|Invalid filename, please try again ... -|File does not exist, please try again ... -|Forum Description Msgs. Pers. -| File Areas -|Please enter Area Password: -|Adding BBS -|BBS Name: -|Response needed ... -|Phone Number: -|Sysop Name: -|BBS Software: -|Storage (GigaByte): -|Speeds: -YN|Would you like to add a extended discription? [Y/n]: -|Please a enter discription for -|BBS Listing -|# BBS Name Number Software GigaByte Speed -|Search for a BBS -|Please enter 3 letters of BBS to search for: -|I need at least 3 letters ... -YN|View this BBS? [Y/n]: -|Could not find the BBS Listed ... -|Show a BBS -|Please enter number to list: -|Record does not exist -| Record : -| BBS Name : -| Number : -| Software : -| GigaBytes : -| Speeds : -| Sysop Name : -| Available : -| Date of Entry : -| Entry Name : -|Delete BBS -|Please enter number to delete: -|Record -|does not belong to you. -|already marked for deletion -|marked for deletion -|The Sysop will purge the list once he has -|seen you have marked a record for deletion. -|Total messages found: -|Unknown Menu Command! -|Saving... -|MBSE BBS Oneliners will randomly appear on the main menu. -|Obscene or libellous oneliners will be deleted!! -|Please enter your oneliner below. You have 75 characters. -|Oneliner added -| # A Date User Description -| # Description -|Please enter number to list: -|Connected from -|File(s) : -|Size : -|Protocol : -|Updating download counters, please wait ... -|Failed! -|Bytes -| # Area Active Size Cost File -|Yes -|No -TE|(T)oggle active, (E)rase all, (ENTER) to continue: -|Enter file number, 1.. -|Marked: -|No files tagged. -|Replace -|Loading BBS, please wait ... -|New or deleted mail areas at -|Area State Type Description -|New Mail check is now ON -|New Mail check is now OFF -|Delete file: -YN|Are you Sure? [Y/n]: -|New Files check is now ON -|New Files check is now OFF -|Now using the -12|Select: 1) Fullscreen editor, 2) External editor -|No messages found to download! -|Press (Enter) to continue: -|Center -|Too much messages. Only the first -|Select your preferred language -|Select Language: -|Language now set to: -|The system will now ask you for a "Unix Account" -|Your "Unix Account" is created, you may use it the next time you call. -|Please enter a login name (Maximum 8 characters) -|ie. John Doe, login = jdoe -|login > -|That login name already exists, please choose another one. -|Line -|Fullscreen -|External -|Editor -|New -|Local -|Netmail -|Echomail -|News -|E-Mail -|Del -|Jan -|Feb -|Mar -|Apr -|May -|Jun -|Jul -|Aug -|Sep -|Oct -|Nov -|Dec -|Autologout: idletime reached. -|Will be packed! -|Enter your handle (Enter for none): -|You are now ready to use the bbs -|Callers On-Line to -|Name Device Status Location -|Do not disturb turned OFF -|Do not disturb turned ON -|Browsing -|Downloading -|Uploading -|Msg Section -|External Door -|Chatting -|Listing Files -YN|Do you want to download these messages [Y/n]? -|Banking Door -|Safe Door -|WhosOn List -|Offline Reader -|Please enter username to send message to: -|Sorry, there is no user on -|doesn't wish to be disturbed -|Please enter in message to send (Max 76 Characters) -|** Message ** from -|Your password is expired, new password : -|Press ENTER to continue -|Posting not allowed, this area is Read Only! -1|Select: 1) Fullscreen editor -|Offline Reader Upload -|Invalid packet received -|Unknown compression type -|Archiver not available -|Unknown type mailpacket -|BlueWave Offline download -|Preparing packet -|Packing with -|Download failed -|Download successfull -|Updating lastread pointers -|Processing BlueWave reply packet -|ERROR in packet -|Import messages -|No Write access to area -|Messages imported -|Processing Offline Configuration -|Message areas selected -|Processing file requests -|QWK Offline Download -|Processing QWK reply packet -|ASCII Offline Download -YN|Crash [y/N]: -YN|Warning: node is not CM, send immediate [y/N]: -YN|Attach file [y/N]: -|File -|will be attached -|File not within -|mailbox - Incoming and outgoing email -|archive - Archive of your email -|trash - Trashcan, your old email -|Area # -|minutes. -|Fullscreen Editor shortcut keys set to Emacs -|Fullscreen Editor shortcut keys set to Wordstar -|Your address, maximum 3 lines (only visible for the sysop): -|You need to enter your address here -|Old address: -|Use your alias ( -YN|) to post this message [Y/n]: -|No more areas with unread messages -|Addresse not in Nodelist -|Found Addresse in Nodelist diff --git a/mbsebbs-code/lib/.cvsignore b/mbsebbs-code/lib/.cvsignore deleted file mode 100644 index 3866a77d..00000000 --- a/mbsebbs-code/lib/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -filelist ftscprod.c diff --git a/mbsebbs-code/lib/Diesel.doc b/mbsebbs-code/lib/Diesel.doc deleted file mode 100644 index 8a59093b..00000000 --- a/mbsebbs-code/lib/Diesel.doc +++ /dev/null @@ -1,294 +0,0 @@ - - T U R B O D I E S E L - Template-based Uncomplicated Report-Building Oriented Dumb - Interpretively Evaluated String Expression Language - -This is a modified version of diesel language. Diesel is a interpreted -macro language, used in AutoCAD and released to public domain by AutoDesk. - -Modified version by Redy Rodriguez, for use in mbsebbs. Original diesel -language can be found at http://www.fourmilab.ch/diesel. - -This "Dumb Interpretively Executed String Expression Language" is the -kernel of a macro language you can customise by adding C code and -embedding it into your program. - -It is short, written in portable C, and is readily integrated into any -program. It is useful primarily to programs which need a very rudimentary -macro expansion facility without the complexity of a full language such as -Lisp or FORTH. - -DIESEL copies its input directly to the output until a macro character, -"@" or quoted string is encountered. Quoted strings may be used to -suppress evaluation of sequences of characters which would otherwise be -interpreted as macros. Quote marks may be included in quoted strings by -two adjacent quote marks. For example: - - "@(if,1,True,False)="""@(if,1,True,False)"""" - -Status retrieval, computation, and display are performed by DIESEL -functions. The available functions are as follows. User-defined -functions are not implemented; what you see is all you've got. Naturally, -if you embed DIESEL in your application, you'll add functions that provide -access to information and actions within your own program. DIESEL's -arithmetic functions accept either floating point or integer arguments, -and perform all calculations in floating point. - -TURBODIESEL facilities ----------------------- - -If a line begin with # then will be not evaluated, and any output is done. - -If a line begin with @! any output is done, but evaluation is performed. - -If a line begin with @{} produces output only if expression is -TRUE (Any non-zero numeric value). - -To easily format output, you can use one-char variable names as follow: - - @A will be replaced by result of evaluate @(GETVAR,A). - - @A_____ will be replaced by result of evaluate @(GETVAR,A) truncated or -padded with spaces to complete same lenght of '@A_____' (7 in that case). - - You can use > or < to especify alignement rigth or left: - - @A_____> @A_____< - - -TURBODIESEL String Functions ----------------------------- - - @(+,,,...) - The sum of the numbers , , ... is returned. - - @(-,,,...) - The result of subtracting the numbers through from - is returned. - - @(*,,,...) - The result of multiplying the numbers ,,... is - returned. - - @(/,,,...) - The result of dividing the number by ,... is - returned. - - @(=,,) - If the numbers and are equal 1 is returned, - otherwise 0 is returned. - - @(<,,) - If the number is less than 1 is returned, otherwise - 0 is returned. - - @(>,,) - If the number is greater than 1 is returned, - otherwise 0 is returned. - - @(!=,,) - If the numbers and are not equal 1 is returned, - otherwise 0 is returned. - - @(<=,,) - If the number is less than or equal to 1 is - returned, otherwise 0 is returned. - - @(>=,,) - If the number is greater than or equal to 1 is - returned, otherwise 0 is returned. - - @(AND,,,...) - The bitwise logical AND of the integers through is - returned. - - @(EQ,,) - If the strings and are identical 1 is returned, - otherwise 0. - - @(EVAL,) - The string is passed to the DIESEL evaluator and the result - of evaluating it is returned. - - @(FIX,) - The real number is truncated to an integer by discarding - any fractional part. - - @(IF,,,) - If is nonzero, is evaluated and returned. - Otherwise, is evaluated and returned. Note that the - branch not chosen by is not evaluated. - - @(INDEX,,) - is assumed to contain one or more values delimited by the - macro argument separator character, comma. selects one of - these values to be extracted, with the first item numbered zero. - -* @(LOWER,) - The is returned converted to lower case according to the - rules of the current locale. - - @(NTH,,,,) - Evaluates and returns the argument selected by . If - is 0, is returned, and so on. Note the difference - between @(NTH) and @(INDEX); @(NTH) returns one of a series of - arguments to the function while @(INDEX) extracts a value from a - comma-delimited string passed as a single argument. Arguments not - selected by are not evaluated. - - @(OR,,,...) - The bitwise logical OR of the integers through is - returned. - -* @(STRCMP,,) - Compare strings and returns -1 if is less than , 0 if - both are equals, or 1 if is greater than . - - @(STRFILL,,) - Returns the result of concatenating of . - - @(STRLEN,) - Returns the length of in characters. - -* @(STRSTR,,) - Find first apparition of in , and return the position - or 0 if not found. - - @(SUBSTR,,,) - Returns the substring of starting at character - and extending for characters. Characters in the string - are numbered from 1. If is omitted, the entire remaining - length of the string is returned. - - @(UPPER,) - The is returned converted to upper case according to the - rules of the current locale. - - @(XOR,,,...) - The bitwise logical XOR of the integers through is - returned. - -Variable Extensions -------------------- - -The base-line DIESEL includes no user-defined variables. This allows -DIESEL to avoid allocating any local memory and renders it totally -reentrant. If you compile DIESEL with the tag VARIABLES defined, the -following additional functions are included which provide variable -definition and access. Note that these functions call malloc() and -strdup() and thus consume heap storage. - -Variable names are case sensitive. - -If you want easily format output you must use one-char variable names -then you can format output as @V_____, @X_____< or @k___>. See above. - - @(GETVAR,varname) - Returns the value stored in . If no variable with - the name exists, a bad argument error is reported. - - @(SETVAR,varname,value) - Stores the string into . If no variable - called exists, a new variable is created. - -* @(CLEAR) - Clear all variables. - -Unix Extensions ---------------- - -If you compile DIESEL with the tag UNIXTENSIONS defined, the following -additional functions will be available: - -@(GETENV,varname) - Returns the variable from the environment. If no such - variable is defined, returns the null string. - -@(TIME) - Returns the current time in Unix fashion, as the number of seconds - elapsed since 00:00:00 GMT January 1, 1970. - -@(EDTIME,

    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 H;T8LDuTr<1 diff --git a/mbsebbs-code/html/images/nodes1.png b/mbsebbs-code/html/images/nodes1.png deleted file mode 100644 index ec4803b617d0466bbc0397b31ce2412d993c0b8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15314 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 Yn~aKzoKq_JBR&LZsOT!g6kopk4>`);D*ylh diff --git a/mbsebbs-code/html/images/nodes11.png b/mbsebbs-code/html/images/nodes11.png deleted file mode 100644 index 5f249ba76bcab801752cccbe68e13ec93704ed25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10199 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 diff --git a/mbsebbs-code/html/images/nodes2.png b/mbsebbs-code/html/images/nodes2.png deleted file mode 100644 index e2fd2f15f6e4cfc65cb4f09412f25e7c6ab9a601..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13840 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 diff --git a/mbsebbs-code/html/images/nodes3.png b/mbsebbs-code/html/images/nodes3.png deleted file mode 100644 index dee0b83c7c2fcd4c8039bce3a7f405024853afa7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14113 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 diff --git a/mbsebbs-code/html/images/nodes4.png b/mbsebbs-code/html/images/nodes4.png deleted file mode 100644 index 3a7b4eb9181c75d6ec4d30ce616649c9d9c634a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9147 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 diff --git a/mbsebbs-code/html/images/nodes5.png b/mbsebbs-code/html/images/nodes5.png deleted file mode 100644 index 8a635513b8988cb313bb3ad49c9780487e3fa721..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6360 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 diff --git a/mbsebbs-code/html/images/nodes6.png b/mbsebbs-code/html/images/nodes6.png deleted file mode 100644 index e64709ed24d932c85998aec705ad97ee3c545d58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9549 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 bl8Ia7_o!}DTQ88|h5&VCZKZNWtC0Tz^2{^Y diff --git a/mbsebbs-code/html/images/nodes7.png b/mbsebbs-code/html/images/nodes7.png deleted file mode 100644 index 04cc1b2c7d598fd3b53a2ec6b00079668586c378..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11456 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 QX&byL67s7f2LodN2P!ZP^8f$< diff --git a/mbsebbs-code/html/images/nodes8.png b/mbsebbs-code/html/images/nodes8.png deleted file mode 100644 index 52fd69782e0a7f9dabc265e5c080056bd0c62f9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12545 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 diff --git a/mbsebbs-code/html/images/nodes9.png b/mbsebbs-code/html/images/nodes9.png deleted file mode 100644 index dacace137431ca7bc66fc03d597254975e488961..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9987 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 P3NbxxajNX3W5mA!gs4b@ diff --git a/mbsebbs-code/html/images/protocol.png b/mbsebbs-code/html/images/protocol.png deleted file mode 100644 index c3cf40df43763315ed9aef6b7b9b1485d0247af1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11815 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 diff --git a/mbsebbs-code/html/images/route1.png b/mbsebbs-code/html/images/route1.png deleted file mode 100644 index 1ac0eb38e2b4e17728fd8b35ff14bf78d2bbcd8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9396 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 diff --git a/mbsebbs-code/html/images/security.png b/mbsebbs-code/html/images/security.png deleted file mode 100644 index 3ea7669ceaf2679ceb5126a4d35fb3599dae27e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5252 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 Pw*apd)L)g$n}7IUV8RSR diff --git a/mbsebbs-code/html/images/tdream1.png b/mbsebbs-code/html/images/tdream1.png deleted file mode 100644 index 5495cf88dc1252aa459839db87e2376e15797740..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7891 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 rHzku_1{LtQ;TbmGJF=TDqC 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 IM6N<$f}jf@TmS$7 diff --git a/mbsebbs-code/html/images/tdream3.png b/mbsebbs-code/html/images/tdream3.png deleted file mode 100644 index 8af2de3c4bfb3b7f40fbddc4024d64f31ff030f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7842 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 diff --git a/mbsebbs-code/html/images/tty1.png b/mbsebbs-code/html/images/tty1.png deleted file mode 100644 index 6b0dc3e0b5d45af7f1be3f956e830cc6e1abd72e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12090 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 Raic|mlAOA1rL_5{{{fKkt6Ts8 diff --git a/mbsebbs-code/html/images/tty2.png b/mbsebbs-code/html/images/tty2.png deleted file mode 100644 index f2f874d1c5c0ed8cc7602ff45b49163c16ce2904..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11771 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 diff --git a/mbsebbs-code/html/images/uarrow.png b/mbsebbs-code/html/images/uarrow.png deleted file mode 100644 index 98d9077a3fbb66b27a3ad5c32ccec90743ab21ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1022 zcmW-fU5M6I5XMJT5OLM+L@_on6K2VXgsv2G{aCFLSrbI)LN8QCM9fbx!q^s+HrR{l_nrg)_q=mv&NI(E&)K)Oe`VLy*;7TN zt8Z2B0Q<{)3#Lru_x|+@-69iZ?Yrxi6MFl+ZBFEVnRV~-ncqiEBt((|6;pAQP)U_i z5fd|UlQ2n>B6JCtbSa=hEW|@1Btxp9Sc<1aN~Tnbm3T>%WYGXH0JuaI851>AbG1-Q zwNmn(Zx7|DSFZbRA9K*X&LV6UZ_TIg765>@M;pkhIFK7dNoBLM|G5Ec{PDhj>{;7B*-8d zrr{c)ks75P1(_9erhz_u5fm0QqZ{zx0YIJuRz_5lo5`ULUcqNM}VgGcXOW zFb6kqKr~I$HA6EsOECeB5fv4Y4V^mXApnDc&SZ=Ncc{UIW^@A{Jj%&)z^djnqN73( zR8}*9H^QUf6^NE;xmIYURw>To2TpcKV;BBl3#ua@GXR8s2!L$b?S_BpI25=ZDZ#j>+Qp5W<;l*MdbW(dw&K#}d9$va z9Pj#J_of}c%$T`x=CdK$G^b~9?9m@@{`bak{ImPY@YpdK`e@;zJs&>UesIV4uU~w= zZ1BXco&`r=JRNv-0934`_nt0e)m84qYC2y diff --git a/mbsebbs-code/html/images/users.png b/mbsebbs-code/html/images/users.png deleted file mode 100644 index 50bfd0fb44833b82b44711896b42d55111ca3635..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13574 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 Gq5lJFz3p89 diff --git a/mbsebbs-code/html/index.htm.in b/mbsebbs-code/html/index.htm.in deleted file mode 100644 index cde3571b..00000000 --- a/mbsebbs-code/html/index.htm.in +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - - -Running a BBS under Linux. - - - -