<<< Chronological >>> Author Index    Subject Index <<< Threads >>>

Re: URGENT: Bug fixes in the RIPE database distribution

  • To: Selina Priestley < >
  • From: Tony Bates < >
  • Date: Wed, 31 May 1995 14:19:58 -0400
  • Cc: RIPE Database software maintainer < >

This is correct behaviour. 
The reason it looks odd is becuase of the fact that the RADB has their
whoisd conf set to look in multiple sources by default. 
It does this lookup on a per source basis. 
		
		--Tony.

 Selina Priestley selina@localhost writes:
  * Has anyone been looking at the problems with the whois server?  This
  * has really been a problem for operations here, since a) the problems
  * *appear* to be non-deterministic and b) sometimes the exact netmask
  * for a route is not known.
  * 
  * Here's an example of whois oddity.  Why doesn't the RADB 192.5.4.0/23 show
  * up in the second query?
  * 
  * Thanks,
  * 
  * Selina
  * 
  * foo-selina:/u/selina: ra 192.5.4
  * route:       192.5.4.0/23
  * descr:       Vixie Enterprises
  * descr:       116 Stanley Street
  * descr:       Redwood City
  * descr:       CA 94062, USA
  * origin:      AS3557
  * comm-list:   COMM_NSFNET
  * advisory:    AS690 1:3561(11) 2:3561(218) 4:200(144) 5:701(147)
  * mnt-by:      MAINT-AS3557
  * changed:     nsfnet-admin@localhost 950118
  * source:      RADB
  * 
  * route:       192.5.4.0/23
  * descr:       NET-VIX2
  * origin:      AS3557
  * advisory:    AS690   1:3561(11) 2:3561(144) 3:3561(27) 4:3561(147) 5:3561(2
  * 18)  5:701(147)  6:7
  * 01(134)
  * mnt-by:      BARRNET
  * changed:     vaf@localhost 950111
  * source:      MCI
  * 
  * foo-selina:/u/selina: ra 192.5.5
  * route:       192.5.5.0/24
  * descr:       Vixie Enterprises
  * descr:       116 Stanley Street
  * descr:       Redwood City
  * descr:       CA 94062, USA
  * origin:      AS3557
  * comm-list:   COMM_NSFNET
  * advisory:    AS690 2:200(144) 3:701(147)
  * mnt-by:      MAINT-AS3557
  * changed:     nsfnet-admin@localhost 940729
  * source:      RADB
  * 
  * route:       192.5.4.0/23
  * descr:       NET-VIX2
  * origin:      AS3557
  * advisory:    AS690   1:3561(11) 2:3561(144) 3:3561(27) 4:3561(147) 5:3561(2
  * 18)  5:701(147)  6:7
  * 01(134)
  * mnt-by:      BARRNET
  * changed:     vaf@localhost 950111
  * source:      MCI
  * 
  * 
  *   > bugsy-sfp:/u/sfp: whois -h whois.ra.net 194.128
  *   > route:       194.128.0.0/15
  *   > descr:       PIPEX-BLOCK3
  *   > origin:      AS1849
  *   > advisory:    AS690 1:1849 2:701(147) 3:701(134) 4:1800
  *   > remarks:     Holes to come!
  *   > mnt-by:      AS1849-MNT
  *   > changed:     tim@localhost 950428
  *   > source:      RIPE
  *   >
  *   > bugsy-sfp:/u/sfp: whois -h whois.ra.net 194.128/15
  *   > route:       194.128.0.0/15
  *   > descr:       PIPEX Ltd
  *   > descr:       216 Cambridge Science Park
  *   > descr:       Milton Road
  *   > descr:       Cambridge
  *   > descr:       England
  *   > descr:       CB4 4WA
  *   > descr:       UNITED KINGDOM
  *   > origin:      AS1849
  *   > comm-list:   COMM_NSFNET
  *   > advisory:    AS690 1:1849 2:701(147) 4:1800
  *   > mnt-by:      MAINT-AS1849
  *   > changed:     support@localhost 950511
  *   > source:      RADB
  *   >
  *   > route:       194.128.0.0/15
  *   > descr:       PIPEX-BLOCK3
  *   > origin:      AS1849
  *   > advisory:    AS690 1:1849 2:701(147) 3:701(134) 4:1800
  *   > remarks:     Holes to come!
  *   > mnt-by:      AS1849-MNT
  *   > changed:     tim@localhost 950428
  *   > source:      RIPE
  * 
  * > 
  * > Dear all,
  * > 
  * > Recently Tony Bates found an authorisation problem in 'updatecheck.pl'. 
  * > Today my fix is ready. Please apply this fix to your software!
  * > 
  * > Furthermore, I included the recent fixes made by Tony for :
  * > 
  * > net2net.pl
  * > misc.pl
  * > 
  * > in the distribution and a small one from Curtis Villamizar for :
  * > 
  * > dbupdate.pl
  * > 
  * > I plan to add also some other fixes from Curtis in the next release.
  * > 
  * > Kind regards,
  * > 
  * > David Kessens
  * > RIPE NCC Database software maintainer
  * > 
  * > ======================================================================
  * > 
  * > How to apply the fix(es) :
  * > 
  * > Fix src/filename.pl with 'patch' or just put in the corresponding
  * > file(s) of the new distribution (ftp:/ftp.ripe.net/ripe/dbase/software,
  * > file with latest version number). Always make a backup copy of the old
  * > file(s) to be able to restore the original software in case you might
  * > experience problems. After the fix(es) are applied, do a 'make install'
  * > from the database root directory to install the patched file(s).
  * > 
  * > The following files have been changed from the previous release:
  * > 
  * > updatecheck.pl
  * > dbupdate.pl
  * > net2net.pl
  * > misc.pl
  * > 
  * > ======================================================================
  * > *** /ncc/dbase/src/old/updatecheck.pl	Tue Jan 17 17:37:36 1995
  * > --- /ncc/dbase/src/updatecheck.pl	Tue May 30 18:47:24 1995
  * > ***************
  * > *** 1,7 ****
  * >   #	$RCSfile: updatecheck.pl,v $
  * > ! #	$Revision: 1.19 $
  * >   #	$Author: ripe-dbm $
  * > ! #	$Date: 1995/01/17 16:37:36 $
  * >   
  * >   require "defines.pl";
  * >   require "adderror.pl";
  * > --- 1,7 ----
  * >   #	$RCSfile: updatecheck.pl,v $
  * > ! #	$Revision: 1.20 $
  * >   #	$Author: ripe-dbm $
  * > ! #	$Date: 1995/05/30 13:34:47 $
  * >   
  * >   require "defines.pl";
  * >   require "adderror.pl";
  * > ***************
  * > *** 70,79 ****
  * >       }
  * >   
  * >   
  * > !     # Check authorisation by maintainer unless override is specified.
  * >   
  * >       if (!$new{"uo"} && !&Maintainer(*cur, *new)) {
  * > !         return $E_AUTHFAIL unless !&entype(*new);
  * >       }
  * >   
  * >       # Catch if called from dbdel, then skip all checks,
  * > --- 70,80 ----
  * >       }
  * >   
  * >   
  * > !     # Check authorisation by maintainer unless override is specified
  * > !     # and handles special (dirty trick) delete case with $new in $cur
  * >   
  * >       if (!$new{"uo"} && !&Maintainer(*cur, *new)) {
  * > !         return $E_AUTHFAIL if !$cur{"uo"};
  * >       }
  * >   
  * >       # Catch if called from dbdel, then skip all checks,
  * > *** /ncc/dbase/src/old/dbupdate.pl	Tue May 30 18:38:57 1995
  * > --- /ncc/dbase/src/dbupdate.pl	Tue May 30 18:48:17 1995
  * > ***************
  * > *** 1,9 ****
  * >   #!PERL
  * >   
  * >   #	$RCSfile: dbupdate.pl,v $
  * > ! #	$Revision: 0.33 $
  * > ! #	$Author: david $
  * > ! #	$Date: 1995/02/24 11:13:22 $
  * >   
  * >   # This is a client that will update objects read from a file directly
  * >   # in the database, without interference of updated.
  * > --- 1,9 ----
  * >   #!PERL
  * >   
  * >   #	$RCSfile: dbupdate.pl,v $
  * > ! #	$Revision: 0.34 $
  * > ! #	$Author: ripe-dbm $
  * > ! #	$Date: 1995/05/30 14:44:09 $
  * >   
  * >   # This is a client that will update objects read from a file directly
  * >   # in the database, without interference of updated.
  * > ***************
  * > *** 46,52 ****
  * >   # -F                    - Do fast update without mail and other stuff
  * >   # -S                    - Do only syntax check - Not implemented
  * >   
  * > ! &Getopts('ln:vMAHVFS');
  * >   
  * >   # Need this below for running perl in tainted mode.
  * >   
  * > --- 46,52 ----
  * >   # -F                    - Do fast update without mail and other stuff
  * >   # -S                    - Do only syntax check - Not implemented
  * >   
  * > ! &Getopts('l:n:vMAHVFS');
  * >   
  * >   # Need this below for running perl in tainted mode.
  * >   
  * > *** /ncc/dbase/src/old/net2net.pl	Tue May 30 18:43:22 1995
  * > --- /ncc/dbase/src/net2net.pl	Tue May 30 18:49:30 1995
  * > ***************
  * > *** 1,8 ****
  * >   #
  * >   #	$RCSfile: net2net.pl,v $
  * > ! #	$Revision: 0.13 $
  * > ! #	$Author: tony $
  * > ! #	$Date: 1994/09/20 12:27:36 $
  * >   #
  * >   # net2net.pl 
  * >   #
  * > --- 1,8 ----
  * >   #
  * >   #	$RCSfile: net2net.pl,v $
  * > ! #	$Revision: 0.14 $
  * > ! #	$Author: ripe-dbm $
  * > ! #	$Date: 1995/05/30 16:45:19 $
  * >   #
  * >   # net2net.pl 
  * >   #
  * > ***************
  * > *** 140,147 ****
  * >               $len = 16;
  * >   	} elsif ($2 == 0 && $3 == 0 && $4 == 0) {
  * >   	    $len = 8;
  * >   	}
  * > ! 	@return_rep = (@return_rep, $net_rep."/".$len);
  * >   	return $OK, "", @return_rep;
  * >       } else {
  * >   	return $NOK, 
  * > --- 140,152 ----
  * >               $len = 16;
  * >   	} elsif ($2 == 0 && $3 == 0 && $4 == 0) {
  * >   	    $len = 8;
  * > + 	} else {
  * > + 	    return $NOK,
  * > + 	    "$net_rep is not a classful net representation I understand
  * ",
  * > + 	    @return_rep;     
  * >   	}
  * > ! 	local($val) = &trimnet($net_rep);
  * > ! 	@return_rep = (@return_rep, $val."/".$len);
  * >   	return $OK, "", @return_rep;
  * >       } else {
  * >   	return $NOK, 
  * > ***************
  * > *** 161,167 ****
  * >   	local($begin) = &quad2int($oldnet);
  * >   	local($end) = &quad2int($2);
  * >   	if($end < $begin) {
  * > ! 	    return $NOK, "range is invalid", @returndtring;
  * >   	}
  * >   
  * >   	if ($oldnet =~ /(\d+)\.\d+\.\d+\.\d+/) {
  * > --- 166,172 ----
  * >   	local($begin) = &quad2int($oldnet);
  * >   	local($end) = &quad2int($2);
  * >   	if($end < $begin) {
  * > ! 	    return $NOK, "range is invalid", @returnstring;
  * >   	}
  * >   
  * >   	if ($oldnet =~ /(\d+)\.\d+\.\d+\.\d+/) {
  * > ***************
  * > *** 236,242 ****
  * >   			    "based on prefix $usepre",
  * >               @returnstring;
  * >   	}
  * > ! 	return $OK, "", $net_rep;
  * >       } else {
  * >   	return $NOK,
  * >   	"$net_rep is not an representation I understand",
  * > --- 241,249 ----
  * >   			    "based on prefix $usepre",
  * >               @returnstring;
  * >   	}
  * > ! 	local($val) = &trimnet($net);
  * > ! 	@returnstring = "$val"."/".$len;
  * > ! 	return $OK, "", @returnstring;
  * >       } else {
  * >   	return $NOK,
  * >   	"$net_rep is not an representation I understand",
  * > ***************
  * > *** 370,373 ****
  * > --- 377,386 ----
  * >       }
  * >       return( $s );
  * >   }
  * > + 
  * > + sub trimnet {
  * > +     local($quad) = @_;
  * > +     return(&int2quad(&quad2int($quad)));
  * > + }
  * >   1;
  * > + 
  * > *** /ncc/dbase/src/old/misc.pl	Wed May 31 14:06:18 1995
  * > --- /ncc/dbase/src/misc.pl	Wed May 31 14:08:13 1995
  * > ***************
  * > *** 1,9 ****
  * >   #       misc - miscellaneaous functions
  * >   #
  * >   #	$RCSfile: misc.pl,v $
  * > ! #	$Revision: 0.44 $
  * > ! #	$Author: marten $
  * > ! #	$Date: 1994/12/16 11:06:55 $
  * >   #
  * >   
  * >   require "defines.pl";
  * > --- 1,9 ----
  * >   #       misc - miscellaneaous functions
  * >   #
  * >   #	$RCSfile: misc.pl,v $
  * > ! #	$Revision: 0.45 $
  * > ! #	$Author: ripe-dbm $
  * > ! #	$Date: 1995/05/31 12:04:40 $
  * >   #
  * >   
  * >   require "defines.pl";
  * > ***************
  * > *** 197,203 ****
  * >   #
  * >   sub iscommunity {
  * >       local($str) = @_;
  * > !     return 0 if $str =~ /[a-z]/;
  * >       foreach $_ ((keys %KEYWORD, "AS")) {
  * >   	if (($_ eq "(") || ($_ eq ")")) {
  * >   	    $_ = "\\".$_;
  * > --- 197,203 ----
  * >   #
  * >   sub iscommunity {
  * >       local($str) = @_;
  * > !     return 0 if $str !~ /[A-Z]+/;
  * >       foreach $_ ((keys %KEYWORD, "AS")) {
  * >   	if (($_ eq "(") || ($_ eq ")")) {
  * >   	    $_ = "\\".$_;
  * > *** /ncc/dbase/src/old/updatecheck.pl	Tue Jan 17 17:37:36 1995
  * > --- /ncc/dbase/src/updatecheck.pl	Tue May 30 18:47:24 1995
  * > ***************
  * > *** 1,7 ****
  * >   #	$RCSfile: updatecheck.pl,v $
  * > ! #	$Revision: 1.19 $
  * >   #	$Author: ripe-dbm $
  * > ! #	$Date: 1995/01/17 16:37:36 $
  * >   
  * >   require "defines.pl";
  * >   require "adderror.pl";
  * > --- 1,7 ----
  * >   #	$RCSfile: updatecheck.pl,v $
  * > ! #	$Revision: 1.20 $
  * >   #	$Author: ripe-dbm $
  * > ! #	$Date: 1995/05/30 13:34:47 $
  * >   
  * >   require "defines.pl";
  * >   require "adderror.pl";
  * > ***************
  * > *** 70,79 ****
  * >       }
  * >   
  * >   
  * > !     # Check authorisation by maintainer unless override is specified.
  * >   
  * >       if (!$new{"uo"} && !&Maintainer(*cur, *new)) {
  * > !         return $E_AUTHFAIL unless !&entype(*new);
  * >       }
  * >   
  * >       # Catch if called from dbdel, then skip all checks,
  * > --- 70,80 ----
  * >       }
  * >   
  * >   
  * > !     # Check authorisation by maintainer unless override is specified
  * > !     # and handles special (dirty trick) delete case with $new in $cur
  * >   
  * >       if (!$new{"uo"} && !&Maintainer(*cur, *new)) {
  * > !         return $E_AUTHFAIL if !$cur{"uo"};
  * >       }
  * >   
  * >       # Catch if called from dbdel, then skip all checks,
  * > *** /ncc/dbase/src/old/dbupdate.pl	Tue May 30 18:38:57 1995
  * > --- /ncc/dbase/src/dbupdate.pl	Tue May 30 18:48:17 1995
  * > ***************
  * > *** 1,9 ****
  * >   #!PERL
  * >   
  * >   #	$RCSfile: dbupdate.pl,v $
  * > ! #	$Revision: 0.33 $
  * > ! #	$Author: david $
  * > ! #	$Date: 1995/02/24 11:13:22 $
  * >   
  * >   # This is a client that will update objects read from a file directly
  * >   # in the database, without interference of updated.
  * > --- 1,9 ----
  * >   #!PERL
  * >   
  * >   #	$RCSfile: dbupdate.pl,v $
  * > ! #	$Revision: 0.34 $
  * > ! #	$Author: ripe-dbm $
  * > ! #	$Date: 1995/05/30 14:44:09 $
  * >   
  * >   # This is a client that will update objects read from a file directly
  * >   # in the database, without interference of updated.
  * > ***************
  * > *** 46,52 ****
  * >   # -F                    - Do fast update without mail and other stuff
  * >   # -S                    - Do only syntax check - Not implemented
  * >   
  * > ! &Getopts('ln:vMAHVFS');
  * >   
  * >   # Need this below for running perl in tainted mode.
  * >   
  * > --- 46,52 ----
  * >   # -F                    - Do fast update without mail and other stuff
  * >   # -S                    - Do only syntax check - Not implemented
  * >   
  * > ! &Getopts('l:n:vMAHVFS');
  * >   
  * >   # Need this below for running perl in tainted mode.
  * >   
  * > *** /ncc/dbase/src/old/net2net.pl	Tue May 30 18:43:22 1995
  * > --- /ncc/dbase/src/net2net.pl	Tue May 30 18:49:30 1995
  * > ***************
  * > *** 1,8 ****
  * >   #
  * >   #	$RCSfile: net2net.pl,v $
  * > ! #	$Revision: 0.13 $
  * > ! #	$Author: tony $
  * > ! #	$Date: 1994/09/20 12:27:36 $
  * >   #
  * >   # net2net.pl 
  * >   #
  * > --- 1,8 ----
  * >   #
  * >   #	$RCSfile: net2net.pl,v $
  * > ! #	$Revision: 0.14 $
  * > ! #	$Author: ripe-dbm $
  * > ! #	$Date: 1995/05/30 16:45:19 $
  * >   #
  * >   # net2net.pl 
  * >   #
  * > ***************
  * > *** 140,147 ****
  * >               $len = 16;
  * >   	} elsif ($2 == 0 && $3 == 0 && $4 == 0) {
  * >   	    $len = 8;
  * >   	}
  * > ! 	@return_rep = (@return_rep, $net_rep."/".$len);
  * >   	return $OK, "", @return_rep;
  * >       } else {
  * >   	return $NOK, 
  * > --- 140,152 ----
  * >               $len = 16;
  * >   	} elsif ($2 == 0 && $3 == 0 && $4 == 0) {
  * >   	    $len = 8;
  * > + 	} else {
  * > + 	    return $NOK,
  * > + 	    "$net_rep is not a classful net representation I understand
  * ",
  * > + 	    @return_rep;     
  * >   	}
  * > ! 	local($val) = &trimnet($net_rep);
  * > ! 	@return_rep = (@return_rep, $val."/".$len);
  * >   	return $OK, "", @return_rep;
  * >       } else {
  * >   	return $NOK, 
  * > ***************
  * > *** 161,167 ****
  * >   	local($begin) = &quad2int($oldnet);
  * >   	local($end) = &quad2int($2);
  * >   	if($end < $begin) {
  * > ! 	    return $NOK, "range is invalid", @returndtring;
  * >   	}
  * >   
  * >   	if ($oldnet =~ /(\d+)\.\d+\.\d+\.\d+/) {
  * > --- 166,172 ----
  * >   	local($begin) = &quad2int($oldnet);
  * >   	local($end) = &quad2int($2);
  * >   	if($end < $begin) {
  * > ! 	    return $NOK, "range is invalid", @returnstring;
  * >   	}
  * >   
  * >   	if ($oldnet =~ /(\d+)\.\d+\.\d+\.\d+/) {
  * > ***************
  * > *** 236,242 ****
  * >   			    "based on prefix $usepre",
  * >               @returnstring;
  * >   	}
  * > ! 	return $OK, "", $net_rep;
  * >       } else {
  * >   	return $NOK,
  * >   	"$net_rep is not an representation I understand",
  * > --- 241,249 ----
  * >   			    "based on prefix $usepre",
  * >               @returnstring;
  * >   	}
  * > ! 	local($val) = &trimnet($net);
  * > ! 	@returnstring = "$val"."/".$len;
  * > ! 	return $OK, "", @returnstring;
  * >       } else {
  * >   	return $NOK,
  * >   	"$net_rep is not an representation I understand",
  * > ***************
  * > *** 370,373 ****
  * > --- 377,386 ----
  * >       }
  * >       return( $s );
  * >   }
  * > + 
  * > + sub trimnet {
  * > +     local($quad) = @_;
  * > +     return(&int2quad(&quad2int($quad)));
  * > + }
  * >   1;
  * > + 
  * > *** /ncc/dbase/src/old/misc.pl	Wed May 31 14:06:18 1995
  * > --- /ncc/dbase/src/misc.pl	Wed May 31 14:08:13 1995
  * > ***************
  * > *** 1,9 ****
  * >   #       misc - miscellaneaous functions
  * >   #
  * >   #	$RCSfile: misc.pl,v $
  * > ! #	$Revision: 0.44 $
  * > ! #	$Author: marten $
  * > ! #	$Date: 1994/12/16 11:06:55 $
  * >   #
  * >   
  * >   require "defines.pl";
  * > --- 1,9 ----
  * >   #       misc - miscellaneaous functions
  * >   #
  * >   #	$RCSfile: misc.pl,v $
  * > ! #	$Revision: 0.45 $
  * > ! #	$Author: ripe-dbm $
  * > ! #	$Date: 1995/05/31 12:04:40 $
  * >   #
  * >   
  * >   require "defines.pl";
  * > ***************
  * > *** 197,203 ****
  * >   #
  * >   sub iscommunity {
  * >       local($str) = @_;
  * > !     return 0 if $str =~ /[a-z]/;
  * >       foreach $_ ((keys %KEYWORD, "AS")) {
  * >   	if (($_ eq "(") || ($_ eq ")")) {
  * >   	    $_ = "\\".$_;
  * > --- 197,203 ----
  * >   #
  * >   sub iscommunity {
  * >       local($str) = @_;
  * > !     return 0 if $str !~ /[A-Z]+/;
  * >       foreach $_ ((keys %KEYWORD, "AS")) {
  * >   	if (($_ eq "(") || ($_ eq ")")) {
  * >   	    $_ = "\\".$_;
  * > 
  * > 
  * > --- End of fix(es) ---


  • Post To The List:
<<< Chronological >>> Author    Subject <<< Threads >>>