diff options
Diffstat (limited to 'net/p5-Net-XWhois/files/patch-lib__Net__XWhois.pm')
-rw-r--r-- | net/p5-Net-XWhois/files/patch-lib__Net__XWhois.pm | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/net/p5-Net-XWhois/files/patch-lib__Net__XWhois.pm b/net/p5-Net-XWhois/files/patch-lib__Net__XWhois.pm new file mode 100644 index 000000000000..20e88507110c --- /dev/null +++ b/net/p5-Net-XWhois/files/patch-lib__Net__XWhois.pm @@ -0,0 +1,178 @@ +--- lib/Net/XWhois.pm.orig Sun Oct 6 01:37:55 2002 ++++ lib/Net/XWhois.pm Mon Dec 25 15:32:36 2006 +@@ -16,6 +16,9 @@ + # + # Changes: + # ++# 07/16/2006 koma2 Update whois server for JAPAN ++# 09/26/2005 lioux Update parser for BRNIC ++# 03/08/2003 jmiller Added new .org PIR registy and parser + # 08/05/2002 rwoodard Merged in changes from XWhois discussion forum on + # sourceforge.net; made additional changes as needed + # to implement reverse lookups of IP addresses +@@ -122,11 +125,18 @@ + status => 'status:\s+([^\n]*)\n', + contact_admin => '(?:admin|owner)-c:\s+([^\n]*)\n', + contact_tech => 'tech-c:\s+([^\n]*)\n', +- contact_emails => 'email:\s+(\S+\@\S+)', ++ contact_emails => 'e-mail:\s+(\S+\@\S+)', + contact_handles => 'nic-hdl(?:-\S*):\s+([^\n]*)\n', + remarks => 'remarks:\s+([^\n]*)\n', + notify => 'notify:\s+([^\n]*)\n', + forwardwhois => 'remarks:\s+[^\n]*(whois.\w+.\w+)', ++ address => 'address:\s+(.+?)\n', ++ phone => 'phone:\s+(.+?)\n', ++ contact_billing => 'billing-c:\s+([^\n]*)\n', ++ nameservers => 'nserver:\s+(\S+)', ++ person => 'person:\s+(.*?)\s*\n', ++ creation_time => 'created:\s+(.*?)\s*\n', ++ record_update => 'changed:\s+(.*?)\s*\n', + }, + + KRNIC => { #added by rwoodard 08/06/2002 +@@ -157,6 +167,26 @@ + net_handle => '\((NETBLK\S+)\)', + country => '\n\s+(\S+)\n\n', + }, ++ ++ PIR => { ++ name => 'Domain Name:(\S+)', ++ status => 'Status:(.*?)\s*\n', ++ registrant => 'Registrant (?:Name|Street1|Street2|City|Postal Code|Country|Email):(.*?)\s*\n', ++ nameservers => 'Name Server:(\S+)', ++ contact_admin => 'Admin (?:Name|Street1|Street2|City|Postal Code|Country|Email):(.*?)\s*\n', ++ contact_tech => 'Tech (?:Name|Street1|Street2|City|Postal Code|Country|Email):(.*?)\s*\n', ++ contact_zone => 'Admin (?:Name|Street1|Street2|City|Postal Code|Country|Email):(.*?)\s*\n', ++ contact_billing => 'Billing (?:Name|Street1|Street2|City|Postal Code|Country|Email):(.*?)\s*\n', ++ contact_emails => '(?:Registrant|Admin|Billing|Tech) Email:(\S+\@\S+)', ++ contact_handles => '\(([^\W\d]+\d+)\)', ++ domain_handles => '\((\S*?-DOM)\)', ++ org_handles => '\((\S*?-ORG)\)', ++ not_registered => 'NOT FOUND', ++# forwardwhois => 'Whois Server:(.*?)\s*\n', ++ registrar => 'Referral URL:(.*?)\s*\n', ++ reg_date => 'Created On:(.*?)\s*\n', ++ exp_date => 'Expiration Date:(.*?)\s*\n', ++ }, + + INTERNIC => { + name => '[\n\r\f]+\s*[Dd]omain [Nn]ame[:\.]*\s+(\S+)', +@@ -241,6 +271,22 @@ + nameservers => 'Name servers:[\s\n]+(\S+)[\s\n]+(\S+)', + }, + ++ RIPN => { ++ name => 'domain:\s+(\S+)\n', ++ registrant => 'descr:\s+(.+?)\n', ++ contact_admin => 'admin-o:\s+(.*?)\s*\n', ++ contact_tech => 'tech-c:\s+(.*?)\s*\n', ++ nameservers => 'nserver:\s+(\S+)', ++ status => 'state:\s+(.*?)\s*\n', ++ changed => 'changed:\s+(.*?)\s*\n', ++ source => 'source:\s+(.*?)\s*\n', ++ person => 'person:\s+(.*?)\s*\n', ++ address => 'address:\s+(.+?)\n', ++ phone => 'phone:\s+(.+?)\n', ++ fax_no => 'fax-no:\s+(.+?)\n', ++ contact_emails => 'e-mail:\s+(.+?)\n', ++ }, ++ + NOMINET => { + name => 'omain Name:\s+(\S+)', + registrant => 'egistered For:\s*(.*?)\n', +@@ -276,7 +322,7 @@ + + DENIC => { + name => 'domain:\s+(\S+)\n', +- registrants => 'descr:\s+(.+?)\n', ++ registrant => 'descr:\s+(.+?)\n', + contact_admin => 'admin-c:\s+(.*?)\s*\n', + contact_tech => 'tech-c:\s+(.*?)\s*\n', + contact_zone => 'zone-c:\s+(.*?)\s*\n', +@@ -339,9 +385,11 @@ + ); + + my %WHOIS_PARSER = ( ++ 'whois.publicinterestregistry.net' => 'PIR', + 'whois.ripe.net' => 'RPSL', ++ 'whois.ripn.net' => 'RIPN', + 'whois.nic.mil' => 'INTERNIC', +- 'whois.nic.ad.jp' => 'JAPAN', ++ 'whois.jp' => 'JAPAN', + 'whois.domainz.net.nz' => 'GENERIC', + 'whois.nic.gov' => 'INTERNIC', + 'whois.nic.ch' => 'RIPE_CH', +@@ -388,7 +436,7 @@ + 'hr' => 'whois.ripe.net', 'hu' => 'whois.ripe.net', + 'ie' => 'whois.ripe.net', 'il' => 'whois.ripe.net', + 'is' => 'whois.ripe.net', 'it' => 'whois.ripe.net', +- 'jp' => 'whois.nic.ad.jp', ++ 'jp' => 'whois.jp', + 'kr' => 'whois.krnic.net', + 'li' => 'whois.ripe.net', 'lt' => 'whois.ripe.net', + 'lu' => 'whois.ripe.net', 'lv' => 'whois.ripe.net', +@@ -397,12 +445,12 @@ + 'mt' => 'whois.ripe.net', 'mx' => 'whois.nic.mx', + 'net' => 'whois.internic.net', 'nl' => 'whois.ripe.net', + 'no' => 'whois.norid.no', 'nz' => 'whois.domainz.net.nz', +- 'org' => 'whois.internic.net', ++ 'org' => 'whois.publicinterestregistry.net', + 'pl' => 'whois.ripe.net', 'pt' => 'whois.ripe.net', +- 'ro' => 'whois.ripe.net', 'ru' => 'whois.ripe.net', ++ 'ro' => 'whois.ripe.net', 'ru' => 'whois.ripn.net', + 'se' => 'whois.ripe.net', 'sg' => 'whois.nic.net.sg', + 'si' => 'whois.ripe.net', 'sk' => 'whois.ripe.net', +- 'sm' => 'whois.ripe.net', 'su' => 'whois.ripe.net', ++ 'sm' => 'whois.ripe.net', 'su' => 'whois.ripn.net', + 'tn' => 'whois.ripe.net', 'tr' => 'whois.ripe.net', + 'tw' => 'whois.twnic.net', + 'ua' => 'whois.ripe.net', +@@ -423,9 +471,10 @@ + ); + + my %ARGS = ( +- 'whois.nic.ad.jp' => { 'S' => '/e' }, ++ 'whois.jp' => { 'S' => '/e' }, + 'whois.internic.net' => { 'P' => '=' }, + 'whois.networksolutions.com' => { 'P' => '=' }, ++ 'whois.denic.de' => { 'P' => '-T dn ' }, + ); + + sub register_parser { +@@ -532,8 +581,8 @@ + } + + #if there is already a Parser defined for this server, use it +- if ( $self->{ _PARSERS }->{ $self->{ Server }}) { +- $self->{ Parser } = $self->{ _PARSERS }->{ $self->{ Server }}; ++ if ( $self->{ _PARSERS }->{ $self->{ _WHOIS_PARSER }->{ $self->{ Server } } }) { ++ $self->{ Parser } = $self->{ _PARSERS }->{ $self->{ _WHOIS_PARSER }->{ $self->{ Server } } }; + } + + #if we still don't have a Parser to use, guess based on the Domain (or IP) +@@ -557,6 +606,7 @@ + $self->{ Domain }=~s/^www\.//; #trim leading www. if present; internic doesn't like it + print "looking up ", $self->{ Domain }, " on ", $self->{ Server }, "\n" if ($self->{ Verbose }); + ++ my $domain = $self->{ Domain }; + #see if we already have a response in the cache, unless told not to + unless ( $self->{ Nocache } ) { + READCACHE: { +@@ -608,7 +658,7 @@ + $fw="whois.twnic.net" if ($self->{ Response }=~/Allocated to TWNIC/misg ); + } + else { #original code +- @fwa = $self->{ Response } =~ m/\s+$self->{ Domain }\n.*?\n*?\s*?.*?Whois Server: (.*?)(?=\n)/isg; ++ @fwa = $self->{ Response } =~ m/$self->forwardwhois/isg; + $fw = shift @fwa; + return undef unless (defined($fw) && length($fw) > 0); # pattern not found + } +@@ -872,7 +922,7 @@ + my %WHOIS_PARSER = ( + 'whois.ripe.net' => 'RPSL', + 'whois.nic.mil' => 'INTERNIC', +- 'whois.nic.ad.jp' => 'JAPAN', ++ 'whois.jp' => 'JAPAN', + 'whois.domainz.net.nz' => 'GENERIC', + 'whois.nic.gov' => 'INTERNIC', + 'whois.nic.ch' => 'RIPE_CH', |