Dear all, This message is to announce the new *beta* version of the RIPE database. Most interesting new features are: - the new release supports nearly real time mirroring of the RIPE database - BSD DB dbm package is fully supported - Network updates, a method for directly updating objects by use of 'whois -U'. The use of this method is restricted by use of an accesslist and intended for the people that maintain a database. - new database help file and many more small changes and fixes. Please read the release notes at the bottom of this message for more information and discussion about these topics. Since the number of changes is quite large (core routines like 'enread' have been rewritten), we decided to bring out a beta version first. Please don't use this software (yet) for your core activities, we don't either ;-), The software is available from: ftp://ftp.ripe.net/ripe/dbase/software/ripe-dbase-1.1beta.tar.gz Please send bug reports/fixes directly to <ripe-dbm@ripe.net> and I will fix the problem, Kind regards, David Kessens RIPE NCC database software maintainer ********************************************************************** NOTE: This is a *BETA* version of the RIPE database. Please only use this version of the software for test purposes. ********************************************************************** RELEASE NOTES: - Nearly real time mirroring support: What is it: The database software now keeps serial numbers of all updates. If you have been added to an accesslist, it it possible to retrieve all the changes to the database. A program 'backupupd' has been added to the distribution that can retrieve these changes and update your mirror database automatically. This program is intended to be put in a cronjob. The whois erver has an access list so you first need to ask the site to be mirrored to add your host to the access list. Please let me now <ripe-dbm@ripe.net> if you are interested in testing this feature, and I will add your test site to the access list. Short discussion: Note that this is the first version, it currently uses seperate files internally for every update. I plan to change this since this is not really what we want with 2000 (atomic) updates on some days. Furthermore, we use currently an ever increasing integer serial number, I personnally think that it is better to use another format and store the information in a special not visible (only with a whois option) attribute: stored: (NEW|UPD) DATE TIME TIMEZONE serialnumber NEW|ADD - is this an older object ?!? or new... We probably also want an optional attribute 'replaced:' that points to the previous version of the object when the object was an UPD(date). DATE - YYYYMMDD date of storing including the leading 19 or 20 TIME - time in HH:MM.SS TIMEZONE - ?!? SERIAL - serial number to avoid updates with same time & date Of course this is open to discusssion, it is just one of the possibilities. - BSD berkeley DB support: The database software can now use the Berkeley DB dbm package. According to many people this package is superior to most other dbm packages that perl can use (unlimited size of keys/values, platform independent db files). We have put the current sources for this package at ftp://ftp.ripe.net/tools/db.1.85.tar.gz It should be possible with the BSD DB package to increase the OVERFLOWSIZE and as result get rid of (most) of the classless overflow files, however, this caused indexing problems on my BSDI test machine, but you might want to give it a try on other systems. - Problems with finding persons that have a very common first and last name (the problem we recently discussed on the 'db-wg' mail list can nearly disappear when: When you use dbm packages (e.g. BSD DB) that support much larger/unlimited size keys and values you can easily increase the MAXHITS config variable and the troubles that were recently discussed on the mailing list with persons having a very common first and last name will happen much less often. - a new help and HOWTO use the RIPE database file is available use 'whois -h whois.ripe.net HELP' to get the most recent version. The document gives a short introduction on the database, tells you how to create/update/delete objects, contains a section with tips and common problems and gives pointers to other documentation about the database. - Recent indexing problems and changes to 'netdbm' We recently experienced severe problems with the classless indexing of the RIPE database. Indexing just didn't work anymore due to index files that grew too large. This only happened when people used the '-p' option. Also no problems were reported when the BSD DB package was used. Solution: - Disabled the '-p' option because of the recent indexing problems we saw, professionals will be able to enable it by changing one line of code. - BSD DB dbm package is now fully supported. Important change: -c makes now a normal index as well as a classless index - BSDI/perl memory leak problems Due to a memory leak with perl on BSDI machines we needed to make the code more memory conscious. enread.pl has been rewritten completely and uses now less memory and as an (intended) side effect became faster when reading big objects. - Most patches (for greater speed and less memory consumption) that I received from Curtis Villamizar <curtis@ans.net> have been included. Thanks Curtis! - The direct network updating method is now fully supported. Currently this method is only intended for use by the registry itself, however it is possible to add support in the maintainer objects. You can now do you updates very rapidly by giving the command 'whois -U' and to input your object via STDIN. Of course, this is also protected with an access list. - The special magic to overrule the maintainer protection needs a password now. Syntax will be published after the main registries support this... - dbupdate -T Makes it very easy to install your own test database. The only difference with a normal update is that it doesn't need manual authorization for maintainer objects and that it will add a warning to your object that this is not the normal behavior... - status: attribute as described in ripe-127 fully supported - syntax check for email/domainnames/phonenumbers made stronger - perl5 patches. perl 5 is not supported yet. However, the biggest problems should be gone now. Most interesting problem was in the quad2int routine. Perl5 changed unsigned (IP numbers) int's to signed int's while we relied on having positive IP numbers. - Tony Bates <Tony.Bates@mci.net> recent patch for a problem with the maintainer notifications. Thanks you Tony. - many small fixes and clean up of the code to make above changes possible. - and yes the rumours that Daniel heard about a RIPE database running on a Linux machine (486-100, 12 Mb RAM, 6 hours indexing) are true ;-) So what are the OS's that we know that work with the RIPE database: - SUNOS - BSDI - Linux And that don't work: - Solaris (Please inform me with you own results so that I can update this list!) What didn't make it in this release: - Hierarchical authorization (we will first make a proposal on the database working group) - The auto nic handle generation support I have patches received from Gabor Kiss, but my part of the job is not ready yet. - Rewrite of the 'read a new object from a mail message' routine. This routine has memory size/speed problems with big objects. - Rewrite of some of the conversion routines between classless and classfull notation. There are known problems with these routines and missing parts: not all input routines as specified in ripe-121 are supported.