summaryrefslogtreecommitdiff
path: root/net/p5-Net-XWhois/files/patch-lib__Net__XWhois.pm
diff options
context:
space:
mode:
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.pm178
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',