This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
deb-mbse/lib
2008-02-23 21:50:40 +00:00
..
.cvsignore Removed charset maps and compiler 2007-02-20 22:23:18 +00:00
attach.c Removed some debug loggin 2005-11-19 20:22:40 +00:00
batchrd.c First stage port to 64 bit 2005-10-11 20:49:41 +00:00
bluewave.h First stage port to 64 bit 2005-10-11 20:49:41 +00:00
charset.c Removed some logging and code cleanup in the chartran code 2007-09-12 18:12:57 +00:00
clcomm.c Code cleanup and removed heavy debug messages 2007-03-03 14:28:39 +00:00
client.c Added debug code 2007-08-25 12:19:44 +00:00
crc.c First stage port to 64 bit 2005-10-11 20:49:41 +00:00
dbcfg.c Secured sprintf with snprintf 2005-08-28 10:30:41 +00:00
dbdupe.c First stage port to 64 bit 2005-10-11 20:49:41 +00:00
dbfdb.c Code cleanup and removed heavy debug messages 2007-03-03 14:28:39 +00:00
dbftn.c Secured sprintf with snprintf 2005-08-28 10:03:17 +00:00
dbmsgs.c First stage port to 64 bit 2005-10-11 20:49:41 +00:00
dbnode.c First stage port to 64 bit 2005-10-11 20:49:41 +00:00
dbtic.c First stage port to 64 bit 2005-10-11 20:49:41 +00:00
dbuser.c Secured sprintf with snprintf 2005-08-28 10:03:17 +00:00
diesel.c First stage port to 64 bit 2005-10-11 20:49:41 +00:00
Diesel.doc Added template processing for newfiles 2002-03-31 13:09:23 +00:00
diesel.h Fixed too low malloc in clencode function 2007-02-26 21:02:30 +00:00
dostran.c Secured sprintf with snprintf 2005-08-28 09:42:08 +00:00
endian.c Added unsigned short endian swap 2006-01-22 19:52:33 +00:00
execute.c Don't log errors if execute unzip returned error 11 2008-02-23 21:50:40 +00:00
expipe.c Updated libraries headers 2004-02-21 14:24:03 +00:00
faddr.c Secured sprintf with snprintf 2005-08-28 13:34:43 +00:00
falists.c Updated libraries headers 2004-02-21 14:24:03 +00:00
ftn.c First stage port to 64 bit 2005-10-11 20:49:41 +00:00
ftnmsg.c First stage port to 64 bit 2005-10-11 20:49:41 +00:00
ftscprod.010 Upgraded to ftscprod.010 2005-05-31 19:55:34 +00:00
getheader.c Accept unpacket mail for own points 2006-03-20 12:36:21 +00:00
gmtoffset.c First stage port to 64 bit 2005-10-11 20:49:41 +00:00
hdr.c Updated libraries headers 2004-02-21 14:24:03 +00:00
jam.h Initial revision 2001-08-17 05:46:24 +00:00
jammsg.c Adjust lastread pointers too if they point to a deleted msg 2007-10-11 18:14:54 +00:00
jammsg.h First stage port to 64 bit 2005-10-11 20:49:41 +00:00
jamsys.h First stage port to 64 bit 2005-10-11 20:49:41 +00:00
magic.c Code cleanup and removed heavy debug messages 2007-03-03 14:28:39 +00:00
Makefile Added setup support for TCP stream virus scanners 2008-02-17 16:10:18 +00:00
mangle.c Code cleanup and removed heavy debug messages 2007-03-03 14:28:39 +00:00
mbdiesel.c Code cleanup and removed heavy debug messages 2007-03-03 14:28:39 +00:00
mbfile.c Auto creating hatch directories 2005-12-03 15:09:06 +00:00
mbinet.h Fix for newsserver authorisation 2004-01-04 12:35:50 +00:00
mbse.h Added chartran code 2007-02-20 20:24:06 +00:00
mbsedb.h First stage port to 64 bit 2005-10-11 20:49:41 +00:00
mbselib.h Added setup support for TCP stream virus scanners 2008-02-17 16:10:18 +00:00
mkprod.awk Updated libraries headers 2004-02-21 14:24:03 +00:00
msg.c First stage port to 64 bit 2005-10-11 20:49:41 +00:00
msg.h First stage port to 64 bit 2005-10-11 20:49:41 +00:00
msgtext.c Updated libraries headers 2004-02-21 14:24:03 +00:00
msgtext.h Initial revision 2001-08-17 05:46:24 +00:00
nntp.c Fixed some compiler warnings 2007-08-25 15:29:13 +00:00
nodelist.c Don't complain if reading an extended nodelist line fails 2007-07-09 18:43:52 +00:00
nodelist.conf Nodelist 000- prefix now softcoded 2004-07-11 11:49:51 +00:00
nodelist.h Code cleanup and removed heavy debug messages 2007-03-03 14:28:39 +00:00
nodelock.c First stage port to 64 bit 2005-10-11 20:49:41 +00:00
noderecord.c Updated libraries headers 2004-02-21 14:24:03 +00:00
packet.c Secured sprintf with snprintf 2005-08-28 13:34:43 +00:00
parsedate.c First stage port to 64 bit 2005-10-11 20:49:41 +00:00
pidinfo.c Logs program name that locks serial ports 2005-10-09 13:37:11 +00:00
pktname.c Fixedd commandline address parsing 2007-02-03 12:18:41 +00:00
pop3.c Fixed some compiler warnings 2007-08-25 15:29:13 +00:00
proglock.c Secured sprintf with snprintf 2005-08-27 18:53:32 +00:00
rawio.c First stage port to 64 bit 2005-10-11 20:49:41 +00:00
README Initial revision 2001-08-17 05:46:24 +00:00
README.diesel Added DIESEL macro language 2002-03-29 22:58:53 +00:00
README.macro Added DIESEL macro language 2002-03-29 22:58:53 +00:00
rearc.c Secured sprintf with snprintf 2005-08-28 13:34:43 +00:00
remask.c Code cleanup and removed heavy debug messages 2007-03-03 14:28:39 +00:00
rfcaddr.c Updated libraries headers 2004-02-21 14:24:03 +00:00
rfcdate.c First stage port to 64 bit 2005-10-11 20:49:41 +00:00
rfcmsg.c Code cleanup and removed heavy debug messages 2007-03-03 14:28:39 +00:00
sectest.c Updated libraries headers 2004-02-21 14:24:03 +00:00
semafore.c Secured sprintf with snprintf 2005-08-28 13:34:43 +00:00
signame.c Added support or the ARM processor 2007-08-22 21:09:23 +00:00
smtp.c Fixed some compiler warnings 2007-08-25 15:29:13 +00:00
strcasestr.c Updated libraries headers 2004-02-21 14:24:03 +00:00
strutil.c Added support or the ARM processor 2007-08-22 21:09:23 +00:00
term.c Secured sprintf with snprintf 2005-08-28 13:34:43 +00:00
timers.c Updated libraries headers 2004-02-21 14:24:03 +00:00
tmpwork.c Fixed creation of tmpwork directory 2005-12-04 11:46:07 +00:00
unpacker.c Secured sprintf with snprintf 2005-08-27 18:53:32 +00:00
users.h System update to UTF-8 2007-02-25 20:28:00 +00:00
virscan.c Added stream scanning for ClamAV 2008-02-17 21:20:58 +00:00

	Database structures.


Most databases have a structure with a header record. The header record
is at the beginning of the datafile and contains information about the
size of the header record and size of the database records. When a data
file is opened for reading the first thing to read the header record.
The field recsize contains the size of the datarecords and the field
hdrsize the offset to the first datarecord in the file.

If in the structure the size of the datarecords changes (grows), we can
allways read the old format in the correct way.

When a datafile is changed the datafile has to be rewritten completly.
Of course the new format is used then, and the new size must be stored in
the header.

The advantage of this technique is that updates can be performed automatic.
There is no need for free space for future use in the datarecords, the files
are thus smaller.


One other important thing, with some DOS based bbs'es, mail/tic processors
are using index files together with the data files to speed up the search in
the databases. Also some of them use internal memory cache for the data records.
I choose not to do this for two reasons, Linux like other Unices handles
file I/O very fast and when your system is not low on memory the kernel will
buffer all disk I/O in memory. Also Linux disks are very low fragmented due to
the design of the ext2fs. Whith all this in mind, using index files is only
extra overhead.
However, because of this you should not put the data files on a msdos
dos partition or on a nfs server.

The only exeption that uses index files are the nodelists.