From cengiz at ISI.EDU Fri Nov 3 22:51:33 1995 From: cengiz at ISI.EDU (Cengiz Alaettinoglu) Date: Fri, 3 Nov 1995 13:51:33 -0800 Subject: line continuation: once more Message-ID: <199511032151.AA11382@cat.isi.edu> I am trying to write a lexer/parser to parse aut-num objects using lex/yacc. With the currect line continuation rule, one needs to look ahead as many as 12 tokens to decide whether the next line is a continuation of the current line. Not a simple task (yacc looks ahead only one token, lex can do more hacks). With this current rule, life is very simple for the database software since it does not have to know of line continuations. As long as the tools are concerned, life is hell. Can we change this rule to sh style continuation with \\n. Since ripe database is stored as an ascii file, non-true \n's after \ may cause some problems with the existing database software. Does it? If it does, can some one comment on how much work is involved in fixing this? Can someone volunteer to fix it? Pehaps from the RA-TEAM? Cengiz -- Cengiz Alaettinoglu Information Sciences Institute (310) 822-1511 University of Southern California http://www.isi.edu/div7/people/cengiz.home -------- Logged at Mon Nov 13 15:47:11 MET 1995 --------- From Tony.Bates at mci.net Mon Nov 13 15:45:33 1995 From: Tony.Bates at mci.net (Tony Bates) Date: Mon, 13 Nov 1995 09:45:33 -0500 Subject: Small bug fix. Message-ID: <199511131445.JAA28254@lovefm.reston.mci.net> I found a problem whereby maintainers were not getting notified on deletes when they had the "mnt-nfy" attrivute set. Here's the patch. --Tony. *** /homes/new/tony/dbase-new/maintainer.pl Thu Dec 29 10:04:09 1994 --- maintainer.pl Mon Nov 13 09:38:23 1995 *************** *** 206,218 **** # there on, treat them as normal notifiers. sub NotifyMaintainers { ! local(*Oldobject, *NewObject) = @_; local(@notif) = (); local($line); ! local($del) = 1 if !&entype(*NewObject); local($m) = 0; local($source); if ($OldObject{"mb"}) { foreach $line (split(/\n/, $OldObject{"mb"})) { @notif = (@notif, split(/\s+/, $line)); --- 206,221 ---- # there on, treat them as normal notifiers. sub NotifyMaintainers { ! local(*OldObject, *NewObject) = @_; local(@notif) = (); local($line); ! local($del) = 0; local($m) = 0; local($source); + if ($NewObject{"ud"} || !&entype(*NewObject)) { + $del = 1; + } if ($OldObject{"mb"}) { foreach $line (split(/\n/, $OldObject{"mb"})) { @notif = (@notif, split(/\s+/, $line)); *** /homes/new/tony/dbase-new/notify.pl Wed Oct 5 08:44:43 1994 --- notify.pl Fri Nov 10 17:43:12 1995 *************** *** 43,49 **** sub DoAddNotify { local(*notifiers, *old, *new, $delete) = @_; ! return if &encmp(*old, *new); foreach (@notifiers) { if (!$notify{$_}) { --- 43,51 ---- sub DoAddNotify { local(*notifiers, *old, *new, $delete) = @_; ! if(!$delete) { ! return if &encmp(*old, *new); ! } foreach (@notifiers) { if (!$notify{$_}) { -------- Logged at Mon Nov 20 14:29:47 MET 1995 --------- From ripe-dbm at ripe.net Mon Nov 20 14:29:40 1995 From: ripe-dbm at ripe.net (RIPE Database Manager) Date: Mon, 20 Nov 1995 14:29:40 +0100 Subject: NEW *BETA* release RIPE database: ripe-dbase-1.1beta.tar.gz Message-ID: <9511201329.AA17252@ncc.ripe.net> 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 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 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 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 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. -------- Logged at Mon Nov 20 21:57:01 MET 1995 --------- From Tony.Bates at mci.net Mon Nov 20 21:55:12 1995 From: Tony.Bates at mci.net (Tony Bates) Date: Mon, 20 Nov 1995 15:55:12 -0500 Subject: NEW *BETA* release RIPE database: ripe-dbase-1.1beta.tar.gz In-Reply-To: Your message of Mon, 20 Nov 1995 14:29:40 +0100. <9511201329.AA17252@ncc.ripe.net> Message-ID: <199511202055.PAA13267@lovefm.reston.mci.net> RIPE Database Manager writes: * * 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!) * * We run under Solaris. SunOS 5.4 to be precise. I added in support to whoisd to run under Solaris including a mod to perl (I sent you the details long time ago, not sure I still have them). The major thing is to get the perl build correct (flock needs to be added in so you need the ucb stuff) but once that's done you are ready to go. --Tony. -------- Logged at Fri Dec 1 22:31:11 MET 1995 ---------