North American Network Operators Group

Date Prev | Date Next | Date Index | Thread Index | Author Index | Historical

Re: Out of date contact information

  • From: David.Kessens
  • Date: Thu May 02 12:56:03 1996

Dear Per,

> Per Gregers Bilse writes :
> 
> To avoid wasted efforts, the registries should preferably coordinate
> to mirror the aliases, so that everybody would be reachable as
> 
>   ASnnn@any-registry.net
> 
> Thus, all of
> 
>   AS286@ripe.net
>   AS286@internic.net
>   AS286@apnic.net
> 
> would reach the trouble(some) folks in EUnet.

For a short term solution:

Daniel wrote a short script (source & example included) that you can use
to gather the contact information from the RIPE database (and databases
that we mirror). You can use his script from within your editor to
directly put the contact addresses in the 'To:' field.

The RIPE NCC tries to mirror all major registry databases. We currently
mirror: APNIC, MCI, RADB, ANS, CANET. (The InterNIC uses another format
and is therefore really difficult to mirror for us). You can flag me if
you want me to mirror other databases that are not on the list.

This method should give you most of the functionality that you are asking
for.

For the long term:

Yes, mirroring doesn't scale (if the number of registries will continue
to grow). We are aware of this problem and have already developed some
ideas in the RIPE database and RPSL working group to cope with this but
this will take time to implement (and our customers need to express that
we should use our scarce resources to actually do this).

I hope this helps you,

David Kessens

---

Example usage:

$ db2mad -a as3333
  "Daniel Karrenberg" <dfk@ripe.net>,
  "Geert Jan de Groot" <GeertJan.deGroot@ripe.net>
  
----
#!/usr/local/bin/perl

# db2mad - extract an rfc822 mail address from a db person object
#
# Daniel Karrenberg <dfk@ripe.net>
#
# %I% %D%

if ($ARGV[0] eq "-a") {
	$opt_a = shift(@ARGV);
}

if ($ARGV[0]) {
	$i=0;
	while ($ARGV[$i]) {
		$args = $args . " " . $ARGV[$i];
		$i++;
	}
	open (STDIN, "whois $args |") || die "whois $args: $!";
}

while (<STDIN>) {
	$name = $1 if (/^person:\s+(.*)/);
	$address = $1 if (/^address:\s+(.*)/ && !$address);
	$mail = $1 if (/^e-mail:\s+(.*)/ && !$mail);
	$fax = $1 if (/^fax-no:\s+(.*)/ && !$fax);
	
	&printmad if (/^\s*$/ && ($opt_a||$name));
}

&printmad if $opt_a || $name;
exit(0);


sub printmad { 

	if ($name && $mail) {
		print "    \"$name\" <$mail>,\n";
	}
	elsif ($mail) {
		print "    <$mail>,\n";
	}
	
	$name = 0; $mail = 0; $fax = 0;
	
}

----









- - - - - - - - - - - - - - - - -