Skip to content
Browse files

Merge branch 'release/Net-Whois-RIPE-2.00020'

  • Loading branch information...
2 parents c2ec6f0 + 61424a7 commit 21cc634327f924c52c129cd867a1701516beed4e @arhuman committed Nov 14, 2012
View
58 Changes
@@ -1,6 +1,24 @@
Revision history for net-whois-ripe
-2.00019 12 Oct 2012
+
+2.00020 2012-11-14
+ - Changes date format in Changes file
+ (to comply to Test-Changes spec)
+ - Add new attributes (geoloc, language, abuse_mailbox) to Organisation object
+ Add 'geoloc', 'language', 'abuse_mailbox' to the Organisation object
+ Add 'org' to the PeeringSet object
+ Add 'org' attribute to the RtrSet object
+ Add 'org' attribute to the RouteSet object
+ Add 'pingable', 'ping_hdl' and 'org' attribute to the Route(6) objects
+ Add 'org' attribute to the Role object
+ Add 'org' and 'abuse_mailbox' attribute to the Person object
+ Add 'geoloc' and 'language' attribute to the InetNum object
+ Add 'geoloc' and 'language' attribute to Inet6Num object
+ Add 'org' and 'mnt_lower' attribute to AsSet object
+ Update tests accordingly
+
+
+2.00019 2012-10-12
- **** API CHANGES ****
Now pass the credentials through option hashref
('password' handled the same way as 'pgpkey')
@@ -13,7 +31,7 @@ Revision history for net-whois-ripe
-2.00018 27 Sep 2012
+2.00018 2012-09-27
Another big contribution from Moritz Lenz :
- drop dependency on Iterator::Util
- Add abuse_mailbox to Role
@@ -23,7 +41,7 @@ Revision history for net-whois-ripe
- Improve error detection in syncupdates_create
-2.00017 19 Sep 2012
+2.00017 2012-09-19
A big thank you to Moritz Lenz from Noris Network AG
for all his patches :
- Add PGP key authentication
@@ -32,22 +50,22 @@ Revision history for net-whois-ripe
- Fix regex in syncupdates_create
- Various typos fixed, documentation addition...
-2.00016 11 Sep 2012
+2.00016 2012-09-11
- Depend on LWP::UserAgent instead of WWW::Mechanize
(Thanks to Moritz Lenz)
- Make tests more portable
-2.00015 17 Jul 2012
+2.00015 2012-07-17
- Change the way to test if t/common.pl was well loaded
(remove $! checking which caused issue with old Perl versions)
- Minor fix in pod documentation
- Enable RIPE database update (and not only RIPE TEST database)
-2.00014 07 Jul 2012
+2.00014 2012-07-07
- Add missing optional dependency to WWW::Mechanize for update features
-2.00013 06 Jul 2012
+2.00013 2012-07-06
- Add RIPE SyncUpdates prototype implementation (Create, Update, Delete)
- Add type on attributes and the following methods :
attributes()
@@ -60,7 +78,7 @@ Revision history for net-whois-ripe
- Complete the documentation, with some examples
-2.00012 05 Jun 2012
+2.00012 2012-06-05
Fix previous broken release (merge goof)
Fix some tests
to skip when there's a Network issue
@@ -72,29 +90,29 @@ Revision history for net-whois-ripe
(to fix name collision with FilterSet filter attribute)
Enhance the documentation
-2.00011 05 Jun 2012
+2.00011 2012-06-05
Broken release on github.
-2.00010 20 Apr 2012
+2.00010 2012-04-20
Net::Whois::Object addition (By Arnaud "Arhuman" Assad)
-2.00009 23 Nov 2011
+2.00009 2011-11-23
-2.00008 26 Oct 2011
+2.00008 2011-10-26
-2.00003 13 Feb 2011
+2.00003 2011-02-13
-2.00002 28 Jan 2010
+2.00002 2010-01-28
-1.31 23 Aug 2009
+1.31 2009-08-23
-1.30 10 Jul 2009
+1.30 2009-07-10
-1.23 17 Apr 2006
+1.23 2006-04-17
-1.22 09 May 2005
+1.22 2005-05-09
-1.20 07 Nov 2004
+1.20 2004-11-07
-1.19 23 Jul 2002
+1.19 2002-07-23
View
8 lib/Net/Whois/Object.pm
@@ -149,11 +149,11 @@ The parameters are passed through a hash ref, and can be the maintener
authentication credentials ('password' or 'pgpkey') and the 'reason' parameter
See L</Create> for more information on the authentication methods.
- $object->syncupdates_update( { pgpkey => $keyID } );
+ $object->syncupdates_delete( { pgpkey => $keyID } );
An additional parameter can be used as a reason for the deletion.
- $object->syncupdates_update( { pgpkey => $keyID, reason => 'Obsoleted by XXX' } );
+ $object->syncupdates_delete( { pgpkey => $keyID, reason => 'Obsoleted by XXX' } );
If no reason is provided, a default one ('Not needed anymore') is used.
@@ -416,7 +416,7 @@ sub dump {
return $result;
}
-=head2 B<syncupdates_update( $password, [\%options] )>
+=head2 B<syncupdates_update([\%options] )>
Update the RIPE database through the web syncupdates interface.
Use the password passed as parameter to authenticate.
@@ -700,7 +700,7 @@ sub _syncupdates_submit {
my ( $self, $text, $options ) = @_;
if ( exists $options->{pgpkey} ) {
- $text = $self->_pgp_sign( $text, { pgpkey => $options->{pgpkey} } );
+ $text = $self->_pgp_sign( $text, $options );
} elsif ( exists $options->{password} ) {
my $password = $options->{password};
chomp $password;
View
56 lib/Net/Whois/Object/AsSet.pm
@@ -2,8 +2,30 @@ package Net::Whois::Object::AsSet;
use base qw/Net::Whois::Object/;
-# http://www.ripe.net/data-tools/support/documentation/update-ref-manual#section-8
-# http://www.apnic.net/apnic-info/whois_search/using-whois/guide/as-set
+# From : whois -t as-set
+#
+# % This is the RIPE Database query service.
+# % The objects are in RPSL format.
+# %
+# % The RIPE Database is subject to Terms and Conditions.
+# % See http://www.ripe.net/db/support/db-terms-conditions.pdf
+#
+# as-set: [mandatory] [single] [primary/lookup key]
+# descr: [mandatory] [multiple] [ ]
+# members: [optional] [multiple] [ ]
+# mbrs-by-ref: [optional] [multiple] [inverse key]
+# remarks: [optional] [multiple] [ ]
+# org: [optional] [multiple] [inverse key]
+# tech-c: [mandatory] [multiple] [inverse key]
+# admin-c: [mandatory] [multiple] [inverse key]
+# notify: [optional] [multiple] [inverse key]
+# mnt-by: [mandatory] [multiple] [inverse key]
+# mnt-lower: [optional] [multiple] [inverse key]
+# changed: [mandatory] [multiple] [ ]
+# source: [mandatory] [single] [ ]
+#
+# % This query was served by the RIPE Database Query Service version 1.38 (WHOIS4)
+
#
# as-set: [mandatory] [single] [primary/look-up key]
# descr: [mandatory] [multiple] [ ]
@@ -18,9 +40,9 @@ use base qw/Net::Whois::Object/;
# source: [mandatory] [single] [ ]
__PACKAGE__->attributes( 'primary', ['as_set'] );
__PACKAGE__->attributes( 'mandatory', [ 'as_set', 'descr', 'tech_c', 'admin_c', 'mnt_by', 'changed', 'source' ] );
-__PACKAGE__->attributes( 'optional', [ 'members', 'mbrs_by_ref', 'remarks', 'notify' ] );
+__PACKAGE__->attributes( 'optional', [ 'members', 'mbrs_by_ref', 'remarks', 'org', 'notify', 'mnt_lower' ] );
__PACKAGE__->attributes( 'single', [ 'as_set', 'source' ] );
-__PACKAGE__->attributes( 'multiple', [ 'descr', 'members', 'mbrs_by_ref', 'remarks', 'tech_c', 'admin_c', 'notify', 'mnt_by', 'changed' ] );
+__PACKAGE__->attributes( 'multiple', [ 'descr', 'members', 'mbrs_by_ref', 'remarks', 'org', 'tech_c', 'admin_c', 'notify', 'mnt_by', 'mnt_lower', 'changed' ] );
=head1 NAME
@@ -104,6 +126,19 @@ always return the current remarks array.
Information about the object that cannot be stated in other attributes.
May include a URL or email address.
+=head2 B<org( [$org] )>
+
+Accessor to the org attribute.
+Accepts an optional org, always return the current org.
+
+Points to an existing organisation object representing the entity that
+holds the resource.
+
+The 'ORG-' string followed by 2 to 4 characters, followed by up to 5 digits
+followed by a source specification. The first digit must not be "0".
+Source specification starts with "-" followed by source name up to
+9-character length.
+
=head2 B<tech_c( [$tech_c] )>
Accessor to the tech_c attribute.
@@ -152,6 +187,19 @@ When your database details are protected by a 'mntner' object, then
only persons with access to the security information of that 'mntner'
object will be able to change details.
+=head2 B<mnt_lower( [$mnt] )>
+
+Accessor to the mnt_lower attribute.
+Accepts an optional mnt to be added to the mnt_lower array,
+always return the current mnt_lower array.
+
+Specifies the identifier of a registered mntner object used
+for hierarchical authorisation. Protects creation of objects
+directly (one level) below in the hierarchy of an object type.
+The authentication method of this maintainer object will then
+be used upon creation of any object directly below the object
+that contains the "mnt-lower:" attribute.
+
=head2 B<changed( [$changed] )>
Accessor to the changed attribute.
View
56 lib/Net/Whois/Object/AutNum.pm
@@ -2,32 +2,40 @@ package Net::Whois::Object::AutNum;
use base qw/Net::Whois::Object/;
-# http://www.ripe.net/data-tools/support/documentation/update-ref-manual#section-9
-# http://www.apnic.net/apnic-info/whois_search/using-whois/guide/aut-num
-#
-# aut-num: [mandatory] [single] [primary/look-up key]
-# as-name: [mandatory] [single] [ ]
-# descr: [mandatory] [multiple] [ ]
-# member-of: [optional] [multiple] [inverse key]
-# import: [optional] [multiple] [ ]
-# mp-import: [optional] [multiple] [ ]
-# export: [optional] [multiple] [ ]
-# mp-export: [optional] [multiple] [ ]
-# default: [optional] [multiple] [ ]
-# mp-default: [optional] [multiple] [ ]
-# remarks: [optional] [multiple] [ ]
-# admin-c: [mandatory] [multiple] [inverse key]
-# tech-c: [mandatory] [multiple] [inverse key]
-# notify: [optional] [multiple] [inverse key]
-# mnt-lower: [optional] [multiple] [inverse key]
-# mnt-routes: [optional] [multiple] [inverse key]
-# mnt-by: [mandatory] [multiple] [inverse key]
-# changed: [mandatory] [multiple] [ ]
-# source: [mandatory] [single] [ ]
+# from : whois -t aut-num
+# % This is the RIPE Database query service.
+# % The objects are in RPSL format.
+# %
+# % The RIPE Database is subject to Terms and Conditions.
+# % See http://www.ripe.net/db/support/db-terms-conditions.pdf
+#
+# aut-num: [mandatory] [single] [primary/lookup key]
+# as-name: [mandatory] [single] [ ]
+# descr: [mandatory] [multiple] [ ]
+# member-of: [optional] [multiple] [inverse key]
+# import: [optional] [multiple] [ ]
+# mp-import: [optional] [multiple] [ ]
+# export: [optional] [multiple] [ ]
+# mp-export: [optional] [multiple] [ ]
+# default: [optional] [multiple] [ ]
+# mp-default: [optional] [multiple] [ ]
+# remarks: [optional] [multiple] [ ]
+# org: [optional] [single] [inverse key]
+# admin-c: [mandatory] [multiple] [inverse key]
+# tech-c: [mandatory] [multiple] [inverse key]
+# notify: [optional] [multiple] [inverse key]
+# mnt-lower: [optional] [multiple] [inverse key]
+# mnt-routes: [optional] [multiple] [inverse key]
+# mnt-by: [mandatory] [multiple] [inverse key]
+# changed: [mandatory] [multiple] [ ]
+# source: [mandatory] [single] [ ]
+#
+# % This query was served by the RIPE Database Query Service version 1.38 (WHOIS1)
+
__PACKAGE__->attributes( 'primary', ['aut_num'] );
__PACKAGE__->attributes( 'mandatory', [ 'aut_num', 'as_name', 'descr', 'tech_c', 'admin_c', 'mnt_by', 'changed', 'source' ] );
-__PACKAGE__->attributes( 'optional', [ 'member_of', 'import', 'mp_import', 'export', 'mp_export', 'default', 'mp_default', 'remarks', 'notify', 'mnt_lower', 'mnt_routes', 'org' ] );
-__PACKAGE__->attributes( 'single', [ 'aut_num', 'as_name', 'source', 'org' ] );
+__PACKAGE__->attributes( 'optional', [ 'member_of', 'import', 'mp_import', 'export', 'mp_export', 'default', 'mp_default', 'remarks', 'org', 'notify', 'mnt_lower', 'mnt_routes' ] );
+__PACKAGE__->attributes( 'single', [ 'aut_num', 'as_name', 'org', 'source' ] );
__PACKAGE__->attributes( 'multiple', [ 'descr', 'member_of', 'import', 'mp_import', 'export', 'mp_export', 'default', 'mp_default', 'remarks', 'admin_c', 'tech_c', 'notify', 'mnt_lower', 'mnt_routes', 'mnt_by', 'changed' ] );
View
75 lib/Net/Whois/Object/Inet6Num.pm
@@ -5,32 +5,43 @@ use base qw/Net::Whois::Object/;
# http://www.ripe.net/data-tools/support/documentation/update-ref-manual#section-12
# http://www.apnic.net/apnic-info/whois_search/using-whois/guide/inet6num
#
-# inet6num: [mandatory] [single] [primary/look-up key]
-# netname: [mandatory] [single] [lookup key]
-# descr: [mandatory] [multiple] [ ]
-# country: [mandatory] [multiple] [ ]
-# org: [optional] [single] [inverse key]
-# admin-c: [mandatory] [multiple] [inverse key]
-# tech-c: [mandatory] [multiple] [inverse key]
-# status: [mandatory] [single] [ ]
-# remarks: [optional] [multiple] [ ]
-# notify: [optional] [multiple] [inverse key]
-# mnt-by: [mandatory] [multiple] [inverse key]
-# mnt-lower: [optional] [multiple] [inverse key]
-# mnt-routes: [optional] [multiple] [inverse key]
-# mnt-domains: [optional] [multiple] [inverse key]
-# mnt-irt: [optional] [multiple] [inverse key]
-# changed: [mandatory] [multiple] [ ]
-# source: [mandatory] [single] [ ]
-
-# From http://www.apnic.net/apnic-info/whois_search/using-whois/guide/inet6num?view=text-only
+# From : whois -t inet6num
+# % This is the RIPE Database query service.
+# % The objects are in RPSL format.
+# %
+# % The RIPE Database is subject to Terms and Conditions.
+# % See http://www.ripe.net/db/support/db-terms-conditions.pdf
+#
+# inet6num: [mandatory] [single] [primary/lookup key]
+# netname: [mandatory] [single] [lookup key]
+# descr: [mandatory] [multiple] [ ]
+# country: [mandatory] [multiple] [ ]
+# geoloc: [optional] [single] [ ]
+# language: [optional] [multiple] [ ]
+# org: [optional] [single] [inverse key]
+# admin-c: [mandatory] [multiple] [inverse key]
+# tech-c: [mandatory] [multiple] [inverse key]
+# status: [mandatory] [single] [ ]
+# assignment-size:[optional] [single] [ ]
+# remarks: [optional] [multiple] [ ]
+# notify: [optional] [multiple] [inverse key]
+# mnt-by: [mandatory] [multiple] [inverse key]
+# mnt-lower: [optional] [multiple] [inverse key]
+# mnt-routes: [optional] [multiple] [inverse key]
+# mnt-domains: [optional] [multiple] [inverse key]
+# mnt-irt: [optional] [multiple] [inverse key]
+# changed: [mandatory] [multiple] [ ]
+# source: [mandatory] [single] [ ]
+#
+# % This query was served by the RIPE Database Query Service version 1.38 (WHOIS4)
+
#
# mnt-irt: [mandatory] [single] [inverse key]
__PACKAGE__->attributes( 'primary', ['inet6num'] );
__PACKAGE__->attributes( 'mandatory', [ 'inet6num', 'netname', 'status', 'source' ] );
-__PACKAGE__->attributes( 'optional', [ 'org', 'remarks', 'notify', 'mnt_lower', 'mnt_routes', 'mnt_domains', 'mnt_irt' ] );
-__PACKAGE__->attributes( 'single', [ 'inet6num', 'netname', 'org', 'status', 'source' ] );
-__PACKAGE__->attributes( 'multiple', [ 'descr', 'country', 'tech_c', 'admin_c', 'remarks', 'notify', 'mnt_by', 'mnt_lower', 'mnt_routes', 'mnt_domains', 'mnt_irt', 'changed' ] );
+__PACKAGE__->attributes( 'optional', ['geoloc', 'language', 'org', 'remarks', 'notify', 'mnt_lower', 'mnt_routes', 'mnt_domains', 'mnt_irt' ] );
+__PACKAGE__->attributes( 'single', [ 'inet6num', 'netname', 'geoloc', 'org', 'status', 'source' ] );
+__PACKAGE__->attributes( 'multiple', [ 'descr', 'country','language', 'tech_c', 'admin_c', 'remarks', 'notify', 'mnt_by', 'mnt_lower', 'mnt_routes', 'mnt_domains', 'mnt_irt', 'changed' ] );
=head1 NAME
@@ -98,6 +109,26 @@ organisation is based or some transit country in between. There are no rules
defined for this attribute. It cannot therefore be used in any reliable way to
map IP addresses to countries.
+=head2 B<geoloc( [$geoloc] )>
+
+Accessor to the geoloc attribute.
+Accepts an optional geoloc, always return the current geoloc.
+
+The location coordinates for the resource
+
+Location coordinates of the resource. Can take one of the following forms:
+[-90,90][-180,180]
+
+=head2 B<language( [$language] )>
+
+Accessor to the language attribute.
+Accepts an optional language to be added to the language array,
+always return the current language array.
+
+Identifies the language.
+
+Valid two-letter ISO 639-1 language code.
+
=head2 B<org( [$org] )>
Accessor to the org attribute.
View
77 lib/Net/Whois/Object/InetNum.pm
@@ -5,33 +5,41 @@ use base qw/Net::Whois::Object/;
# http://www.ripe.net/data-tools/support/documentation/update-ref-manual#section-13
# http://www.apnic.net/apnic-info/whois_search/using-whois/guide/inetnum
#
-# inetnum: [mandatory] [single] [primary/look-up key]
-# netname: [mandatory] [single] [lookup key]
-# descr: [mandatory] [multiple] [ ]
-# country: [mandatory] [multiple] [ ]
-# org: [optional] [single] [inverse key]
-# admin-c: [mandatory] [multiple] [inverse key]
-# tech-c: [mandatory] [multiple] [inverse key]
-# status: [mandatory] [single] [ ]
-# remarks: [optional] [multiple] [ ]
-# notify: [optional] [multiple] [inverse key]
-# mnt-by: [mandatory] [multiple] [inverse key]
-# mnt-lower: [optional] [multiple] [inverse key]
-# mnt-routes: [optional] [multiple] [inverse key]
-# mnt-domains: [optional] [multiple] [inverse key]
-# mnt-irt: [optional] [multiple] [inverse key]
-# changed: [mandatory] [multiple] [ ]
-# source: [mandatory] [single] [ ]
-
-# From http://www.apnic.net/apnic-info/whois_search/using-whois/guide/inetnum?view=text-only
-#
-# mnt-irt: [mandatory] [multiple] [inverse key]
-#
+# From : whois -t inetnum
+# % This is the RIPE Database query service.
+# % The objects are in RPSL format.
+# %
+# % The RIPE Database is subject to Terms and Conditions.
+# % See http://www.ripe.net/db/support/db-terms-conditions.pdf
+#
+# inetnum: [mandatory] [single] [primary/lookup key]
+# netname: [mandatory] [single] [lookup key]
+# descr: [mandatory] [multiple] [ ]
+# country: [mandatory] [multiple] [ ]
+# geoloc: [optional] [single] [ ]
+# language: [optional] [multiple] [ ]
+# org: [optional] [single] [inverse key]
+# admin-c: [mandatory] [multiple] [inverse key]
+# tech-c: [mandatory] [multiple] [inverse key]
+# status: [mandatory] [single] [ ]
+# remarks: [optional] [multiple] [ ]
+# notify: [optional] [multiple] [inverse key]
+# mnt-by: [mandatory] [multiple] [inverse key]
+# mnt-lower: [optional] [multiple] [inverse key]
+# mnt-domains: [optional] [multiple] [inverse key]
+# mnt-routes: [optional] [multiple] [inverse key]
+# mnt-irt: [optional] [multiple] [inverse key]
+# changed: [mandatory] [multiple] [ ]
+# source: [mandatory] [single] [ ]
+#
+# % This query was served by the RIPE Database Query Service version 1.38 (WHOIS3)
+
+
__PACKAGE__->attributes( 'primary', ['inetnum'] );
__PACKAGE__->attributes( 'mandatory', [ 'inetnum', 'netname', 'descr', 'country', 'tech_c', 'admin_c', 'status', 'mnt_by', 'changed', 'source' ] );
-__PACKAGE__->attributes( 'optional', [ 'org', 'remarks', 'notify', 'mnt_lower', 'mnt_routes', 'mnt_domains', 'mnt_irt' ] );
-__PACKAGE__->attributes( 'single', [ 'inetnum', 'netname', 'org', 'status', 'source' ] );
- __PACKAGE__->attributes( 'multiple', [ 'descr', 'country', 'tech_c', 'admin_c', 'remarks', 'notify', 'mnt_by', 'mnt_lower', 'mnt_routes', 'mnt_domains', 'mnt_irt', 'changed' ] );
+__PACKAGE__->attributes( 'optional', [ 'geoloc', 'language', 'org', 'remarks', 'notify', 'mnt_lower', 'mnt_routes', 'mnt_domains', 'mnt_irt' ] );
+__PACKAGE__->attributes( 'single', [ 'inetnum', 'netname', 'geoloc', 'org', 'status', 'source' ] );
+__PACKAGE__->attributes( 'multiple', [ 'descr', 'country', 'language', 'tech_c', 'admin_c', 'remarks', 'notify', 'mnt_by', 'mnt_lower', 'mnt_routes', 'mnt_domains', 'mnt_irt', 'changed' ] );
=head1 NAME
@@ -83,6 +91,25 @@ Accessor to the country attribute.
Accepts an optional country to be added to the country array,
always return the current country array.
+=head2 B<geoloc( [$geoloc] )>
+
+Accessor to the geoloc attribute.
+Accepts an optional geoloc, always return the current geoloc.
+
+The location coordinates for the resource
+
+Location coordinates of the resource. Can take one of the following forms:
+[-90,90][-180,180]
+
+=head2 B<language( [$language] )>
+
+Accessor to the language attribute.
+Accepts an optional language to be added to the language array,
+always return the current language array.
+
+Identifies the language.
+
+Valid two-letter ISO 639-1 language code.
=head2 B<org( [$org] )>
Accessor to the 'org' attribute.
View
1 lib/Net/Whois/Object/InetRtr.pm
@@ -22,6 +22,7 @@ use base qw/Net::Whois::Object/;
# mnt-by: [mandatory] [multiple] [inverse key]
# changed: [mandatory] [multiple] [ ]
# source: [mandatory] [single] [ ]
+
__PACKAGE__->attributes( 'primary', ['inet_rtr'] );
__PACKAGE__->attributes( 'mandatory', [ 'inet_rtr', 'descr', 'local_as', 'ifaddr', 'tech_c', 'admin_c', 'mnt_by', 'changed', 'source' ] );
__PACKAGE__->attributes( 'optional', [ 'alias', 'interface', 'peer', 'mp_peer', 'member_of', 'remarks', 'org', 'notify' ] );
View
75 lib/Net/Whois/Object/Organisation.pm
@@ -2,34 +2,40 @@ package Net::Whois::Object::Organisation;
use base qw/Net::Whois::Object/;
-# http://www.ripe.net/data-tools/support/documentation/update-ref-manual#section-18
-# APNIC ??
-#
-# organisation: [mandatory] [single] [primary/look-up key]
-# org-name: [mandatory] [single] [look-up key]
-# org-type: [mandatory] [single] [ ]
-# descr: [optional] [multiple] [ ]
-# remarks: [optional] [multiple] [ ]
-# address: [mandatory] [multiple] [ ]
-# phone: [optional] [multiple] [ ]
-# fax-no: [optional] [multiple] [ ]
-# e-mail: [mandatory] [multiple] [look-up key]
-# org: [optional] [multiple] [inverse key]
-# admin-c: [optional] [multiple] [inverse key]
-# tech-c: [optional] [multiple] [inverse key]
-# ref-nfy: [optional] [multiple] [inverse key]
-# mnt-ref: [mandatory] [multiple] [inverse key]
-# notify: [optional] [multiple] [inverse key]
-# mnt-by: [mandatory] [multiple] [inverse key]
-# changed: [mandatory] [multiple] [ ]
-# source: [mandatory] [single] [ ]
+# From : whois -t organisation
+# % This is the RIPE Database query service.
+# % The objects are in RPSL format.
+# %
+# % The RIPE Database is subject to Terms and Conditions.
+# % See http://www.ripe.net/db/support/db-terms-conditions.pdf
#
+# organisation: [mandatory] [single] [primary/lookup key]
+# org-name: [mandatory] [single] [lookup key]
+# org-type: [mandatory] [single] [ ]
+# descr: [optional] [multiple] [ ]
+# remarks: [optional] [multiple] [ ]
+# address: [mandatory] [multiple] [ ]
+# phone: [optional] [multiple] [ ]
+# fax-no: [optional] [multiple] [ ]
+# e-mail: [mandatory] [multiple] [lookup key]
+# geoloc: [optional] [single] [ ]
+# language: [optional] [multiple] [ ]
+# org: [optional] [multiple] [inverse key]
+# admin-c: [optional] [multiple] [inverse key]
+# tech-c: [optional] [multiple] [inverse key]
+# ref-nfy: [optional] [multiple] [inverse key]
+# mnt-ref: [mandatory] [multiple] [inverse key]
+# notify: [optional] [multiple] [inverse key]
+# abuse-mailbox: [optional] [multiple] [inverse key]
+# mnt-by: [mandatory] [multiple] [inverse key]
+# changed: [mandatory] [multiple] [ ]
+# source: [mandatory] [single] [ ]
+
__PACKAGE__->attributes( 'primary', ['organisation'] );
__PACKAGE__->attributes( 'mandatory', [ 'organisation', 'org_name', 'org_type', 'address', 'e_mail', 'mnt_ref', 'mnt_by', 'changed', 'source' ] );
-__PACKAGE__->attributes( 'optional', [ 'descr', 'remarks', 'phone', 'fax_no', 'org', 'admin_c', 'tech_c', 'ref_nfy', 'notify' ] );
-__PACKAGE__->attributes( 'single', [ 'organisation', 'org_name', 'org_type', 'source' ] );
-__PACKAGE__->attributes( 'multiple', [ 'descr', 'remarks', 'address', 'phone', 'fax_no', 'e_mail', 'org', 'admin_c', 'tech_c', 'ref_nfy', 'mnt_ref', 'notify', 'mnt_by', 'changed' ] );
-
+__PACKAGE__->attributes( 'optional', [ 'descr', 'remarks', 'phone', 'fax_no', 'geoloc', 'language', 'org', 'admin_c', 'tech_c', 'ref_nfy', 'notify', 'abuse_mailbox' ] );
+__PACKAGE__->attributes( 'single', [ 'organisation', 'org_name', 'org_type', 'geoloc','source' ] );
+__PACKAGE__->attributes( 'multiple', [ 'descr', 'remarks', 'address', 'phone', 'fax_no', 'e_mail','language', 'org', 'admin_c', 'tech_c', 'ref_nfy', 'mnt_ref', 'notify','abuse_mailbox', 'mnt_by', 'changed' ] );
=head1 NAME
@@ -81,6 +87,14 @@ Registries, and OTHER for all other organisations.
Accessor to the org attribute.
Accepts an optional org, always return the current org.
+Points to an existing organisation object representing the entity that
+holds the resource.
+
+The 'ORG-' string followed by 2 to 4 characters, followed by up to 5 digits
+followed by a source specification. The first digit must not be "0".
+Source specification starts with "-" followed by source name up to
+9-character length.
+
=head2 B<address( [$address] )>
Accessor to the address attribute.
@@ -105,6 +119,17 @@ Accessor to the e_mail attribute.
Accepts an optional e_mail to be added to the e_mail array,
always return the current e_mail array.
+=head2 B<geoloc( [$geoloc] )>
+
+Accessor to the geoloc attribute.
+Accepts an optional geoloc, always return the current geoloc.
+
+=head2 B<language( [$language] )>
+
+Accessor to the language attribute.
+Accepts an optional language to be added to the language array,
+always return the current language array.
+
=head2 B<admin_c( [$contact] )>
Accessor to the admin_c attribute.
View
52 lib/Net/Whois/Object/PeeringSet.pm
@@ -5,26 +5,35 @@ use base qw/Net::Whois::Object/;
# http://www.ripe.net/data-tools/support/documentation/update-ref-manual#section-19
# http://www.apnic.net/apnic-info/whois_search/using-whois/guide/peering-set
#
-# peering-set: [mandatory] [single] [primary/look-up key]
-# descr: [mandatory] [multiple] [ ]
-# peering: [mandatory] [multiple] [ ]
-# remarks: [optional] [multiple] [ ]
-# tech-c: [mandatory] [multiple] [inverse key]
-# admin-c: [mandatory] [multiple] [inverse key]
-# notify: [optional] [multiple] [inverse key]
-# mnt-by: [mandatory] [multiple] [inverse key]
-# changed: [mandatory] [multiple] [ ]
-# source: [mandatory] [single] [ ]
-
-# From http://www.apnic.net/apnic-info/whois_search/using-whois/guide/peering-set
-#
+# From : whois -t peering-set
+# % This is the RIPE Database query service.
+# % The objects are in RPSL format.
+# %
+# % The RIPE Database is subject to Terms and Conditions.
+# % See http://www.ripe.net/db/support/db-terms-conditions.pdf
+#
+# peering-set: [mandatory] [single] [primary/lookup key]
+# descr: [mandatory] [multiple] [ ]
+# peering: [optional] [multiple] [ ]
# mp-peering: [optional] [multiple] [ ]
+# remarks: [optional] [multiple] [ ]
+# org: [optional] [multiple] [inverse key]
+# tech-c: [mandatory] [multiple] [inverse key]
+# admin-c: [mandatory] [multiple] [inverse key]
+# notify: [optional] [multiple] [inverse key]
+# mnt-by: [mandatory] [multiple] [inverse key]
# mnt-lower: [optional] [multiple] [inverse key]
+# changed: [mandatory] [multiple] [ ]
+# source: [mandatory] [single] [ ]
+#
+# % This query was served by the RIPE Database Query Service version 1.38 (WHOIS2)
+
+
__PACKAGE__->attributes( 'primary', ['peering_set'] );
__PACKAGE__->attributes( 'mandatory', [ 'peering_set', 'descr', 'peering', 'tech_c', 'admin_c', 'mnt_by', 'changed', 'source' ] );
-__PACKAGE__->attributes( 'optional', [ 'remarks', 'notify', 'mp_peering', 'mnt_lower' ] );
+__PACKAGE__->attributes( 'optional', [ 'remarks', 'org', 'notify', 'mp_peering', 'mnt_lower' ] );
__PACKAGE__->attributes( 'single', [ 'peering_set', 'source' ] );
-__PACKAGE__->attributes( 'multiple', [ 'descr', 'peering', 'tech_c', 'admin_c', 'mnt_by', 'changed', 'remarks', 'notify', 'mp_peering', 'mnt_lower' ] );
+__PACKAGE__->attributes( 'multiple', [ 'descr', 'peering', 'mp_peering', 'tech_c', 'admin_c', 'mnt_by', 'changed', 'remarks', 'org', 'notify', 'mnt_lower' ] );
=head1 NAME
@@ -79,6 +88,19 @@ Accessor to the remarks attribute.
Accepts an optional remark to be added to the remarks array,
always return the current remarks array.
+=head2 B<org( [$org] )>
+
+Accessor to the org attribute.
+Accepts an optional org, always return the current org.
+
+Points to an existing organisation object representing the entity that
+holds the resource.
+
+The 'ORG-' string followed by 2 to 4 characters, followed by up to 5 digits
+followed by a source specification. The first digit must not be "0".
+Source specification starts with "-" followed by source name up to
+9-character length.
+
=head2 B<tech_c( [$contact] )>
Accessor to the tech_c attribute.
View
57 lib/Net/Whois/Object/Person.pm
@@ -5,22 +5,34 @@ use base qw/Net::Whois::Object/;
# http://www.ripe.net/data-tools/support/documentation/update-ref-manual#section-20
# http://www.apnic.net/apnic-info/whois_search/using-whois/guide/person
#
-# person: [mandatory] [single] [lookup key]
-# address: [mandatory] [multiple] [ ]
-# phone: [mandatory] [multiple] [ ]
-# fax-no: [optional] [multiple] [ ]
-# e-mail: [optional] [multiple] [lookup key]
-# nic-hdl: [mandatory] [single] [primary/look-up key]
-# remarks: [optional] [multiple] [ ]
-# notify: [optional] [multiple] [inverse key]
-# mnt-by: [optional] [multiple] [inverse key]
-# changed: [mandatory] [multiple] [ ]
-# source: [mandatory] [single] [ ]
+# From : whois -t person
+# % This is the RIPE Database query service.
+# % The objects are in RPSL format.
+# %
+# % The RIPE Database is subject to Terms and Conditions.
+# % See http://www.ripe.net/db/support/db-terms-conditions.pdf
+#
+# person: [mandatory] [single] [lookup key]
+# address: [mandatory] [multiple] [ ]
+# phone: [mandatory] [multiple] [ ]
+# fax-no: [optional] [multiple] [ ]
+# e-mail: [optional] [multiple] [lookup key]
+# org: [optional] [multiple] [inverse key]
+# nic-hdl: [mandatory] [single] [primary/lookup key]
+# remarks: [optional] [multiple] [ ]
+# notify: [optional] [multiple] [inverse key]
+# abuse-mailbox: [optional] [multiple] [inverse key]
+# mnt-by: [mandatory] [multiple] [inverse key]
+# changed: [mandatory] [multiple] [ ]
+# source: [mandatory] [single] [ ]
+#
+# % This query was served by the RIPE Database Query Service version 1.38 (WHOIS2
+
__PACKAGE__->attributes( 'primary', ['nic_hdl'] );
__PACKAGE__->attributes( 'mandatory', [ 'person', 'address', 'phone', 'nic_hdl', 'changed', 'source' ] );
-__PACKAGE__->attributes( 'optional', [ 'fax_no', 'e_mail', 'remarks', 'notify', 'mnt_by' ] );
+__PACKAGE__->attributes( 'optional', [ 'fax_no', 'e_mail', 'org', 'remarks', 'notify', 'abuse_mailbox', 'mnt_by' ] );
__PACKAGE__->attributes( 'single', [ 'person', 'nic_hdl', 'source' ] );
-__PACKAGE__->attributes( 'multiple', [ 'address', 'phone', 'changed', 'fax_no', 'e_mail', 'remarks', 'notify', 'mnt_by' ] );
+__PACKAGE__->attributes( 'multiple', [ 'address', 'phone', 'changed', 'fax_no', 'e_mail', 'org', 'remarks', 'notify', 'abuse_mailbox', 'mnt_by' ] );
=head1 NAME
@@ -80,6 +92,19 @@ Accessor to the e_mail attribute.
Accepts an optional e_mail to be added to the e_mail array,
always return the current e_mail array.
+=head2 B<org( [$org] )>
+
+Accessor to the org attribute.
+Accepts an optional org, always return the current org array.
+
+Points to an existing organisation object representing the entity that
+holds the resource.
+
+The 'ORG-' string followed by 2 to 4 characters, followed by up to 5 digits
+followed by a source specification. The first digit must not be "0".
+Source specification starts with "-" followed by source name up to
+9-character length.
+
=head2 B<nic_hdl( [$nic_hdl] )>
Accessor to the nic_hdl attribute.
@@ -97,6 +122,12 @@ Accessor to the notify attribute.
Accepts an optional notify value to be added to the notify array,
always return the current notify array.
+=head2 B<abuse_mailbox( [$abuse_mailbox] )>
+
+Accessor to the abuse_mailbox attribute.
+Accepts an optional abuse_mailbox value to be added to the abuse_mailbox array,
+always return the current abuse_mailbox array.
+
=head2 B<mnt_by( [$mnt_by] )>
Accessor to the mnt_by attribute.
View
59 lib/Net/Whois/Object/Role.pm
@@ -5,28 +5,36 @@ use base qw/Net::Whois::Object/;
# http://www.ripe.net/data-tools/support/documentation/update-ref-manual#section-23
# http://www.apnic.net/apnic-info/whois_search/using-whois/guide/role
#
-# role: [mandatory] [single] [lookup key]
-# address: [mandatory] [multiple] [ ]
-# phone: [optional] [multiple] [ ]
-# fax-no: [optional] [multiple] [ ]
-# e-mail: [mandatory] [multiple] [lookup key]
-# trouble: [optional] [multiple] [ ]
-# admin-c: [mandatory] [multiple] [inverse key]
-# tech-c: [mandatory] [multiple] [inverse key]
-# nic-hdl: [mandatory] [single] [primary/look-up key]
-# remarks: [optional] [multiple] [ ]
-# notify: [optional] [multiple] [inverse key]
-# mnt-by: [optional] [multiple] [inverse key]
-# changed: [mandatory] [multiple] [ ]
-# source: [mandatory] [single] [ ]
-
-# inferred from whois -r -h whois-test.ripe.net AA2-TEST
-# abuse-mailbox: [optional] [multiple] [ ]
+# From: whois -t role
+# % This is the RIPE Database query service.
+# % The objects are in RPSL format.
+# %
+# % The RIPE Database is subject to Terms and Conditions.
+# % See http://www.ripe.net/db/support/db-terms-conditions.pdf
+#
+# role: [mandatory] [single] [lookup key]
+# address: [mandatory] [multiple] [ ]
+# phone: [optional] [multiple] [ ]
+# fax-no: [optional] [multiple] [ ]
+# e-mail: [mandatory] [multiple] [lookup key]
+# org: [optional] [multiple] [inverse key]
+# admin-c: [mandatory] [multiple] [inverse key]
+# tech-c: [mandatory] [multiple] [inverse key]
+# nic-hdl: [mandatory] [single] [primary/lookup key]
+# remarks: [optional] [multiple] [ ]
+# notify: [optional] [multiple] [inverse key]
+# abuse-mailbox: [optional] [multiple] [inverse key]
+# mnt-by: [mandatory] [multiple] [inverse key]
+# changed: [mandatory] [multiple] [ ]
+# source: [mandatory] [single] [ ]
+#
+# % This query was served by the RIPE Database Query Service version 1.38 (WHOIS2)
+
__PACKAGE__->attributes( 'primary', ['nic_hdl'] );
__PACKAGE__->attributes( 'mandatory', [ 'role', 'address', 'e_mail', 'tech_c', 'admin_c', 'nic_hdl', 'changed', 'source' ] );
-__PACKAGE__->attributes( 'optional', [ 'phone', 'fax_no', 'trouble', 'remarks', 'notify', 'mnt_by', 'abuse_mailbox' ] );
+__PACKAGE__->attributes( 'optional', [ 'phone', 'fax_no', 'org', 'trouble', 'remarks', 'notify', 'mnt_by', 'abuse_mailbox' ] );
__PACKAGE__->attributes( 'single', [ 'role', 'nic_hdl', 'source' ] );
-__PACKAGE__->attributes( 'multiple', [ 'address', 'e_mail', 'tech_c', 'admin_c', 'changed', 'phone', 'fax_no', 'trouble', 'remarks', 'notify', 'mnt_by', 'abuse_mailbox' ] );
+__PACKAGE__->attributes( 'multiple', [ 'address', 'e_mail', 'org', 'tech_c', 'admin_c', 'changed', 'phone', 'fax_no', 'trouble', 'remarks', 'notify', 'mnt_by', 'abuse_mailbox' ] );
=head1 NAME
@@ -90,6 +98,19 @@ Accessor to the e_mail attribute.
Accepts an optional e_mail to be added to the e_mail array,
always return the current e_mail array.
+=head2 B<org( [$org] )>
+
+Accessor to the org attribute.
+Accepts an optional org, always return the current org.
+
+Points to an existing organisation object representing the entity that
+holds the resource.
+
+The 'ORG-' string followed by 2 to 4 characters, followed by up to 5 digits
+followed by a source specification. The first digit must not be "0".
+Source specification starts with "-" followed by source name up to
+9-character length.
+
=head2 B<trouble( [$trouble] )>
Accessor to the trouble attribute.
View
91 lib/Net/Whois/Object/Route.pm
@@ -5,34 +5,42 @@ use base qw/Net::Whois::Object/;
# http://www.ripe.net/data-tools/support/documentation/update-ref-manual#section-25
# http://www.apnic.net/apnic-info/whois_search/using-whois/guide/route
#
-# route: [mandatory] [single] [primary/look-up key]
-# descr: [mandatory] [multiple] [ ]
-# origin: [mandatory] [single] [primary/inverse key]
-# holes: [optional] [multiple] [ ]
-# member-of: [optional] [multiple] [inverse key]
-# inject: [optional] [multiple] [ ]
-# aggr-mtd: [optional] [single] [ ]
-# aggr-bndry: [optional] [single] [ ]
-# export-comps: [optional] [single] [ ]
-# components: [optional] [single] [ ]
-# remarks: [optional] [multiple] [ ]
-# cross-mnt: [optional] [multiple] [inverse key]
-# cross-nfy: [optional] [multiple] [inverse key]
-# notify: [optional] [multiple] [inverse key]
-# mnt-lower: [optional] [multiple] [inverse key]
-# mnt-routes: [optional] [multiple] [inverse key]
-# mnt-by: [mandatory] [multiple] [inverse key]
-# changed: [mandatory] [multiple] [ ]
-# source: [mandatory] [single] [ ]
-
-# From http://www.apnic.net/apnic-info/whois_search/using-whois/guide/route
-# country: [optional] [single] [ ]
+# From : whois -t route
+# % This is the RIPE Database query service.
+# % The objects are in RPSL format.
+# %
+# % The RIPE Database is subject to Terms and Conditions.
+# % See http://www.ripe.net/db/support/db-terms-conditions.pdf
+#
+# route: [mandatory] [single] [primary/lookup key]
+# descr: [mandatory] [multiple] [ ]
+# origin: [mandatory] [single] [primary/inverse key]
+# pingable: [optional] [multiple] [ ]
+# ping-hdl: [optional] [multiple] [inverse key]
+# holes: [optional] [multiple] [ ]
+# org: [optional] [multiple] [inverse key]
+# member-of: [optional] [multiple] [inverse key]
+# inject: [optional] [multiple] [ ]
+# aggr-mtd: [optional] [single] [ ]
+# aggr-bndry: [optional] [single] [ ]
+# export-comps: [optional] [single] [ ]
+# components: [optional] [single] [ ]
+# remarks: [optional] [multiple] [ ]
+# notify: [optional] [multiple] [inverse key]
+# mnt-lower: [optional] [multiple] [inverse key]
+# mnt-routes: [optional] [multiple] [inverse key]
+# mnt-by: [mandatory] [multiple] [inverse key]
+# changed: [mandatory] [multiple] [ ]
+# source: [mandatory] [single] [ ]
#
+# % This query was served by the RIPE Database Query Service version 1.38 (WHOIS4)
+
+
__PACKAGE__->attributes( 'primary', ['route'] );
__PACKAGE__->attributes( 'mandatory', [ 'route', 'origin', 'descr', 'mnt_by', 'changed', 'source' ] );
-__PACKAGE__->attributes( 'optional', [ 'holes', 'member_of', 'inject', 'aggr_mtd', 'aggr_bndry', 'export_comps', 'components', 'remarks', 'cross_mnt', 'cross_nfy', 'notify', 'mnt_lower', 'mnt_routes', 'country' ] );
+__PACKAGE__->attributes( 'optional', [ 'pingable', 'ping_hdl', 'holes', 'org', 'member_of', 'inject', 'aggr_mtd', 'aggr_bndry', 'export_comps', 'components', 'remarks', 'cross_mnt', 'cross_nfy', 'notify', 'mnt_lower', 'mnt_routes', 'country' ] );
__PACKAGE__->attributes( 'single', [ 'route', 'origin', 'aggr_mtd', 'aggr_bndry', 'export_comps', 'components', 'source', 'country' ] );
-__PACKAGE__->attributes( 'multiple', [ 'descr', 'mnt_by', 'changed', 'holes', 'member_of', 'inject', 'remarks', 'cross_mnt', 'cross_nfy', 'notify', 'mnt_lower', 'mnt_routes' ] );
+__PACKAGE__->attributes( 'multiple', [ 'descr', 'mnt_by', 'changed','pingable', 'ping_hdl', 'holes', 'org', 'member_of', 'inject', 'remarks', 'cross_mnt', 'cross_nfy', 'notify', 'mnt_lower', 'mnt_routes' ] );
=head1 NAME
@@ -81,12 +89,47 @@ always return the current descr array.
Accessor to the origin attribute.
Accepts an optional origin, always return the current origin.
+=head2 B<pingable( [$pingable] )>
+
+Accessor to the pingable attribute.
+Accepts an optional pingable line to be added to the pingable array,
+always return the current pingable array.
+
+An IPv4 or an IPv6 address allowing a network operator to advertise an IP address of a node
+that should be reachable from outside networks. This node can be
+used as a destination address for diagnostic tests.
+The IP address must be within the address range of the prefix
+containing this attribute.
+
+=head2 B<ping_hdl( [$ping_hdl] )>
+
+Accessor to the ping_hdl attribute.
+Accepts an optional ping_hdl line to be added to the ping_hdl array,
+always return the current ping_hdl array.
+
+References a person or role capable of responding to queries
+concerning the IP address(es) specified in the 'pingable'
+attribute.
+
=head2 B<holes( [$hole] )>
Accessor to the holes attribute.
Accepts an optional hole to be added to the holes array,
always return the current holes array.
+=head2 B<org( [$org] )>
+
+Accessor to the org attribute.
+Accepts an optional org, always return the current org.
+
+Points to an existing organisation object representing the entity that
+holds the resource.
+
+The 'ORG-' string followed by 2 to 4 characters, followed by up to 5 digits
+followed by a source specification. The first digit must not be "0".
+Source specification starts with "-" followed by source name up to
+9-character length.
+
=head2 B<member_of( [$member_of] )>
Accessor to the member_of attribute.
View
45 lib/Net/Whois/Object/Route6.pm
@@ -24,15 +24,13 @@ use base qw/Net::Whois::Object/;
# changed: [mandatory] [multiple] [ ]
# source: [mandatory] [single] [ ]
-# From http://www.apnic.net/apnic-info/whois_search/using-whois/guide/route6
-# country: [optional] [single] [ ]
-#
+
BEGIN {
__PACKAGE__->attributes( 'primary', ['route6'] );
__PACKAGE__->attributes( 'mandatory', [ 'route6', 'origin', 'descr', 'mnt_by', 'changed', 'source' ] );
- __PACKAGE__->attributes( 'optional', [ 'holes', 'org', 'member_of', 'inject', 'aggr_mtd', 'aggr_bndry', 'export_comps', 'components', 'remarks', 'notify', 'mnt_lower', 'mnt_routes', 'country' ] );
+ __PACKAGE__->attributes( 'optional', [ 'pingable', 'ping_hdl', 'holes', 'org', 'member_of', 'inject', 'aggr_mtd', 'aggr_bndry', 'export_comps', 'components', 'remarks', 'notify', 'mnt_lower', 'mnt_routes', 'country' ] );
__PACKAGE__->attributes( 'single', [ 'route6', 'origin', 'aggr_mtd', 'aggr_bndry', 'export_comps', 'components', 'source', 'country' ] );
- __PACKAGE__->attributes( 'multiple', [ 'descr', 'mnt_by', 'changed', 'holes', 'org', 'member_of', 'inject', 'remarks', 'notify', 'mnt_lower', 'mnt_routes' ] );
+ __PACKAGE__->attributes( 'multiple', [ 'descr', 'mnt_by', 'changed', 'pingable', 'ping_hdl', 'holes', 'org', 'member_of', 'inject', 'remarks', 'notify', 'mnt_lower', 'mnt_routes' ] );
}
=head1 NAME
@@ -80,18 +78,47 @@ always return the current descr array.
Accessor to the origin attribute.
Accepts an optional origin, always return the current origin.
-=head2 B<org( [$org] )>
+=head2 B<pingable( [$pingable] )>
-Accessor to the org attribute.
-Accepts an optional org to be added to the org array,
-always return the current org array.
+Accessor to the pingable attribute.
+Accepts an optional pingable line to be added to the pingable array,
+always return the current pingable array.
+
+An IPv4 or an IPv6 address allowing a network operator to advertise an IP address of a node
+that should be reachable from outside networks. This node can be
+used as a destination address for diagnostic tests.
+The IP address must be within the address range of the prefix
+containing this attribute.
+
+=head2 B<ping_hdl( [$ping_hdl] )>
+
+Accessor to the ping_hdl attribute.
+Accepts an optional ping_hdl line to be added to the ping_hdl array,
+always return the current ping_hdl array.
+
+References a person or role capable of responding to queries
+concerning the IP address(es) specified in the 'pingable'
+attribute.
=head2 B<holes( [$hole] )>
Accessor to the holes attribute.
Accepts an optional hole to be added to the holes array,
always return the current holes array.
+=head2 B<org( [$org] )>
+
+Accessor to the org attribute.
+Accepts an optional org, always return the current org.
+
+Points to an existing organisation object representing the entity that
+holds the resource.
+
+The 'ORG-' string followed by 2 to 4 characters, followed by up to 5 digits
+followed by a source specification. The first digit must not be "0".
+Source specification starts with "-" followed by source name up to
+9-character length.
+
=head2 B<member_of( [$member_of] )>
Accessor to the member_of attribute.
View
53 lib/Net/Whois/Object/RouteSet.pm
@@ -5,27 +5,35 @@ use base qw/Net::Whois::Object/;
# http://www.ripe.net/data-tools/support/documentation/update-ref-manual#section-26
# http://www.apnic.net/apnic-info/whois_search/using-whois/guide/route-set
#
-# route-set: [mandatory] [single] [primary/look-up key]
-# descr: [mandatory] [multiple] [ ]
-# members: [optional] [multiple] [ ]
-# mbrs-by-ref: [optional] [multiple] [inverse key]
-# remarks: [optional] [multiple] [ ]
-# tech-c: [mandatory] [multiple] [inverse key]
-# admin-c: [mandatory] [multiple] [inverse key]
-# notify: [optional] [multiple] [inverse key]
-# mnt-by: [mandatory] [multiple] [inverse key]
-# changed: [mandatory] [multiple] [ ]
-# source: [mandatory] [single] [ ]
-
-# From http://www.apnic.net/apnic-info/whois_search/using-whois/guide/route-set
-#
+# From : whois -t route-set
+# % This is the RIPE Database query service.
+# % The objects are in RPSL format.
+# %
+# % The RIPE Database is subject to Terms and Conditions.
+# % See http://www.ripe.net/db/support/db-terms-conditions.pdf
+#
+# route-set: [mandatory] [single] [primary/lookup key]
+# descr: [mandatory] [multiple] [ ]
+# members: [optional] [multiple] [ ]
# mp-members: [optional] [multiple] [ ]
+# mbrs-by-ref: [optional] [multiple] [inverse key]
+# remarks: [optional] [multiple] [ ]
+# org: [optional] [multiple] [inverse key]
+# tech-c: [mandatory] [multiple] [inverse key]
+# admin-c: [mandatory] [multiple] [inverse key]
+# notify: [optional] [multiple] [inverse key]
+# mnt-by: [mandatory] [multiple] [inverse key]
# mnt-lower: [optional] [multiple] [inverse key]
+# changed: [mandatory] [multiple] [ ]
+# source: [mandatory] [single] [ ]
+#
+# % This query was served by the RIPE Database Query Service version 1.38 (WHOIS2)
+
__PACKAGE__->attributes( 'primary', ['route_set'] );
__PACKAGE__->attributes( 'mandatory', [ 'route_set', 'descr', 'tech_c', 'admin_c', 'mnt_by', 'changed', 'source' ] );
-__PACKAGE__->attributes( 'optional', [ 'members', 'mbrs_by_ref', 'remarks', 'notify', 'mp_members', 'mnt_lower' ] );
+__PACKAGE__->attributes( 'optional', [ 'members', 'mbrs_by_ref', 'remarks', 'org', 'notify', 'mp_members', 'mnt_lower' ] );
__PACKAGE__->attributes( 'single', [ 'route_set', 'source' ] );
-__PACKAGE__->attributes( 'multiple', [ 'descr', 'tech_c', 'admin_c', 'mnt_by', 'changed', 'members', 'mbrs_by_ref', 'remarks', 'notify', 'mp_members', 'mnt_lower' ] );
+__PACKAGE__->attributes( 'multiple', [ 'descr', 'tech_c', 'admin_c', 'mnt_by', 'changed', 'members', 'mbrs_by_ref', 'remarks', 'org', 'notify', 'mp_members', 'mnt_lower' ] );
=head1 NAME
@@ -88,6 +96,19 @@ Accessor to the remarks attribute.
Accepts an optional remark to be added to the remarks array,
always return the current remarks array.
+=head2 B<org( [$org] )>
+
+Accessor to the org attribute.
+Accepts an optional org, always return the current org.
+
+Points to an existing organisation object representing the entity that
+holds the resource.
+
+The 'ORG-' string followed by 2 to 4 characters, followed by up to 5 digits
+followed by a source specification. The first digit must not be "0".
+Source specification starts with "-" followed by source name up to
+9-character length.
+
=head2 B<tech_c( [$contact] )>
Accessor to the tech_c attribute.
View
56 lib/Net/Whois/Object/RtrSet.pm
@@ -5,25 +5,36 @@ use base qw/Net::Whois::Object/;
# http://www.ripe.net/data-tools/support/documentation/update-ref-manual#section-27
# http://www.apnic.net/apnic-info/whois_search/using-whois/guide/rtr-set
#
-# rtr-set: [mandatory] [single] [primary/look-up key]
-# descr: [mandatory] [multiple] [ ]
-# members: [optional] [multiple] [ ]
-# mbrs-by-ref: [optional] [multiple] [inverse key]
-# remarks: [optional] [multiple] [ ]
-# tech-c: [mandatory] [multiple] [inverse key]
-# admin-c: [mandatory] [multiple] [inverse key]
-# notify: [optional] [multiple] [inverse key]
-# mnt-by: [mandatory] [multiple] [inverse key]
-# changed: [mandatory] [multiple] [ ]
-# source: [mandatory] [single] [ ]
-
-# From http://www.apnic.net/apnic-info/whois_search/using-whois/guide/rtr-set
-# mp-members: [optional] [multiple] [ ]
+# From : whois -t route-set
+# % This is the RIPE Database query service.
+# % The objects are in RPSL format.
+# %
+# % The RIPE Database is subject to Terms and Conditions.
+# % See http://www.ripe.net/db/support/db-terms-conditions.pdf
+#
+# route-set: [mandatory] [single] [primary/lookup key]
+# descr: [mandatory] [multiple] [ ]
+# members: [optional] [multiple] [ ]
+# mp-members: [optional] [multiple] [ ]
+# mbrs-by-ref: [optional] [multiple] [inverse key]
+# remarks: [optional] [multiple] [ ]
+# org: [optional] [multiple] [inverse key]
+# tech-c: [mandatory] [multiple] [inverse key]
+# admin-c: [mandatory] [multiple] [inverse key]
+# notify: [optional] [multiple] [inverse key]
+# mnt-by: [mandatory] [multiple] [inverse key]
+# mnt-lower: [optional] [multiple] [inverse key]
+# changed: [mandatory] [multiple] [ ]
+# source: [mandatory] [single] [ ]
+#
+# % This query was served by the RIPE Database Query Service version 1.38 (WHOIS2)
+
+
__PACKAGE__->attributes( 'primary', ['rtr_set'] );
__PACKAGE__->attributes( 'mandatory', [ 'rtr_set', 'descr', 'tech_c', 'admin_c', 'mnt_by', 'changed', 'source' ] );
-__PACKAGE__->attributes( 'optional', [ 'members', 'mbrs_by_ref', 'remarks', 'notify', 'mp_members' ] );
+__PACKAGE__->attributes( 'optional', [ 'members', 'mbrs_by_ref', 'remarks', 'org', 'notify', 'mp_members' ] );
__PACKAGE__->attributes( 'single', [ 'rtr_set', 'source' ] );
-__PACKAGE__->attributes( 'multiple', [ 'descr', 'tech_c', 'admin_c', 'mnt_by', 'changed', 'members', 'mbrs_by_ref', 'remarks', 'notify', 'mp_members' ] );
+__PACKAGE__->attributes( 'multiple', [ 'descr', 'tech_c', 'admin_c', 'mnt_by', 'changed', 'members', 'mbrs_by_ref', 'remarks', 'org', 'notify', 'mp_members' ] );
=head1 NAME
@@ -83,6 +94,19 @@ Accessor to the remarks attribute.
Accepts an optional remark to be added to the remarks array,
always return the current remarks array.
+=head2 B<org( [$org] )>
+
+Accessor to the org attribute.
+Accepts an optional org, always return the current org.
+
+Points to an existing organisation object representing the entity that
+holds the resource.
+
+The 'ORG-' string followed by 2 to 4 characters, followed by up to 5 digits
+followed by a source specification. The first digit must not be "0".
+Source specification starts with "-" followed by source name up to
+9-character length.
+
=head2 B<tech_c( [$contact] )>
Accessor to the tech_c attribute.
View
4 lib/Net/Whois/RIPE.pm
@@ -28,11 +28,11 @@ Net::Whois::RIPE - a pure-Perl implementation of the RIPE Database client.
=head1 VERSION
-Version 2.00_019 - BETA
+Version 2.00_020 - BETA
=cut
-our $VERSION = 2.00_019;
+our $VERSION = 2.00_020;
=head1 SYNOPSIS
View
4 t/00-changes.t
@@ -0,0 +1,4 @@
+use Test::More;
+eval 'use Test::CPAN::Changes';
+plan skip_all => 'Test::CPAN::Changes required for this test' if $@;
+changes_ok();
View
15 t/115-Person.t
@@ -56,6 +56,12 @@ is_deeply( $object->e_mail(), ['xxx@somewhere.com'], 'e_mail properly parsed' );
$object->e_mail('Added e_mail');
is( $object->e_mail()->[1], 'Added e_mail', 'e_mail properly added' );
+# Test 'org'
+$tested{'org'}++;
+is_deeply( $object->org(), ['ORG-MISC01-RIPE', 'ORG-MISC02-RIPE'], 'org properly parsed' );
+$object->org('ORG-MISC03-RIPE');
+is( $object->org()->[2], 'ORG-MISC03-RIPE', 'org properly added' );
+
# Test 'nic_hdl'
$tested{'nic_hdl'}++;
is( $object->nic_hdl(), 'NC123-RIPE', 'nic_hdl properly parsed' );
@@ -74,6 +80,12 @@ is_deeply( $object->notify(), ['MAIN-FR-MNT'], 'notify properly parsed' );
$object->notify('Added notify');
is( $object->notify()->[1], 'Added notify', 'notify properly added' );
+# Test 'abuse_mailbox'
+$tested{'abuse_mailbox'}++;
+is_deeply( $object->abuse_mailbox(), ['abuse@somewhere.com'], 'abuse_mailbox properly parsed' );
+$object->abuse_mailbox('abuse2@elsewhere.com');
+is( $object->abuse_mailbox()->[1], 'abuse2@elsewhere.com', 'abuse_mailbox properly added' );
+
# Test 'remarks'
$tested{'remarks'}++;
is_deeply( $object->remarks(), ['Simple person object'], 'remarks properly parsed' );
@@ -106,9 +118,12 @@ address: 75001 PARIS
phone: +33 1 72 44 01 00
fax-no: +33 1 72 44 01 46
e-mail: xxx@somewhere.com
+org: ORG-MISC01-RIPE
+org: ORG-MISC02-RIPE
nic-hdl: NC123-RIPE
mnt-by: MAIN-FR-MNT
notify: MAIN-FR-MNT
+abuse-mailbox: abuse@somewhere.com
changed: xxx@somewhere.com 20121016
source: RIPE # Filtered
View
14 t/120-Role.t
@@ -55,6 +55,18 @@ is_deeply( $object->fax_no(), ['+33 1 44 01 01 46'], 'fax_no properly parsed' );
$object->fax_no('Added fax_no');
is( $object->fax_no()->[1], 'Added fax_no', 'fax_no properly added' );
+# Test 'e_mail'
+$tested{'e_mail'}++;
+is_deeply( $object->e_mail(), ['role@somewhere.com'], 'e_mail properly parsed' );
+$object->e_mail('role2@elsewhere.com');
+is( $object->e_mail()->[1], 'role2@elsewhere.com', 'e_mail properly added' );
+
+# Test 'org'
+$tested{'org'}++;
+is_deeply( $object->org(), ['ORG-MISC01-RIPE'], 'org properly parsed' );
+$object->org('ORG-MISC02-RIPE');
+is( $object->org()->[1], 'ORG-MISC02-RIPE', 'org properly added' );
+
# Test 'admin_c'
$tested{'admin_c'}++;
is_deeply( $object->admin_c(), ['CPY01-RIPE'], 'admin_c properly parsed' );
@@ -126,6 +138,8 @@ address: 75001 Paris
address: France
phone: +33 1 44 01 01 00
fax-no: +33 1 44 01 01 46
+e-mail: role@somewhere.com
+org: ORG-MISC01-RIPE
admin-c: CPY01-RIPE
tech-c: CPY01-RIPE
tech-c: C???-RIPE
View
14 t/125-AsSet.t
@@ -44,6 +44,12 @@ is_deeply( $object->remarks(), [ '**********************', '* Remarks
$object->remarks('Added remarks');
is( $object->remarks()->[3], 'Added remarks', 'remarks properly added' );
+# Test 'org'
+$tested{'org'}++;
+is_deeply( $object->org(), ['ORG-MISC01-RIPE'], 'org properly parsed' );
+$object->org('ORG-MISC02-RIPE');
+is( $object->org()->[1], 'ORG-MISC02-RIPE', 'org properly added' );
+
# Test 'members'
$tested{'members'}++;
is_deeply( $object->members(), [ 'AS1', 'AS11', 'AS21', 'AS1211' ], 'members properly parsed' );
@@ -80,6 +86,12 @@ is_deeply( $object->mnt_by(), ['THE-MNT'], 'mnt_by properly parsed' );
$object->mnt_by('Added mnt_by');
is( $object->mnt_by()->[1], 'Added mnt_by', 'mnt_by properly added' );
+# Test 'mnt_lower'
+$tested{'mnt_lower'}++;
+is_deeply( $object->mnt_lower(), ['THE-LMNT'], 'mnt_lower properly parsed' );
+$object->mnt_lower('Added mnt_lower');
+is( $object->mnt_lower()->[1], 'Added mnt_lower', 'mnt_lower properly added' );
+
# Test 'changed'
$tested{'changed'}++;
is_deeply( $object->changed(), [ 'someone@somewhere.net 20080422', 'someoneelese@somewere.net 20090429' ], 'changed properly parsed' );
@@ -103,6 +115,7 @@ descr: A description
remarks: **********************
remarks: * Remarks *
remarks: **********************
+org: ORG-MISC01-RIPE
members: AS1
members: AS11
members: AS21
@@ -115,6 +128,7 @@ tech-c: CXXX-RIPE
tech-c: CXXXXX-RIPE
notify: watcher@somewhere.com
mnt-by: THE-MNT
+mnt-lower: THE-LMNT
changed: someone@somewhere.net 20080422
changed: someoneelese@somewere.net 20090429
source: RIPE # Filtered
View
15 t/135-InetNum.t
@@ -55,6 +55,18 @@ is_deeply( $object->country(), ['FR'], 'country properly parsed' );
$object->country('Added country');
is( $object->country()->[1], 'Added country', 'country properly added' );
+# Test 'geoloc'
+$tested{'geoloc'}++;
+is( $object->geoloc(), '[-90,90]', 'geoloc properly parsed' );
+$object->geoloc('[-90,91]');
+is( $object->geoloc(), '[-90,91]', 'geoloc properly set' );
+
+# Test 'language'
+$tested{'language'}++;
+is_deeply( $object->language(), ['FR','EN'], 'language properly parsed' );
+$object->language('ES');
+is( $object->language()->[2], 'ES', 'language properly added' );
+
# Test 'org'
$tested{'org'}++;
is( $object->org(), 'ORG-MISC01-RIPE', 'org properly parsed' );
@@ -138,7 +150,10 @@ remarks: No remarks
netname: EXAMPLENET-AP
descr: Example net Pty Ltd
country: FR
+language: FR
+language: EN
org: ORG-MISC01-RIPE
+geoloc: [-90,90]
admin-c: FR123-AP
tech-c: FR123-AP
status: ALLOCATED PA
View
15 t/140-Inet6Num.t
@@ -51,6 +51,18 @@ is_deeply( $object->country(), ['AP'], 'country properly parsed' );
$object->country('FR');
is( $object->country()->[1], 'FR', 'country properly added' );
+# Test 'geoloc'
+$tested{'geoloc'}++;
+is( $object->geoloc(), '[-90,90]', 'geoloc properly parsed' );
+$object->geoloc('[-90,91]');
+is( $object->geoloc(), '[-90,91]', 'geoloc properly set' );
+
+# Test 'language'
+$tested{'language'}++;
+is_deeply( $object->language(), ['FR','EN'], 'language properly parsed' );
+$object->language('ES');
+is( $object->language()->[2], 'ES', 'language properly added' );
+
# Test 'remarks'
$tested{'remarks'}++;
is_deeply( $object->remarks(), ['Example subnet'], 'remarks properly parsed' );
@@ -143,6 +155,9 @@ admin-c: FR123-AP
tech-c: FR123-AP
status: ALLOCATED PORTABLE
notify: abc@examplenet.com
+geoloc: [-90,90]
+language: FR
+language: EN
mnt-by: MAINT-EXAMPLENET-AP
mnt-lower: MAINT-EXAMPLENET-AP
mnt-routes: MAINT-EXAMPLENET-AP
View
7 t/150-RtrSet.t
@@ -92,6 +92,12 @@ is_deeply( $object->remarks(), ['No remarks'], 'remarks properly parsed' );
$object->remarks('Added remarks');
is( $object->remarks()->[1], 'Added remarks', 'remarks properly added' );
+# Test 'org'
+$tested{'org'}++;
+is_deeply( $object->org(), ['ORG-MISC01-RIPE'], 'org properly parsed' );
+$object->org('ORG-MISC02-RIPE');
+is( $object->org()->[1], 'ORG-MISC02-RIPE', 'org properly added' );
+
# Test 'source'
$tested{'source'}++;
is( $object->source(), 'RIPE', 'source properly parsed' );
@@ -120,5 +126,6 @@ mnt-by: MAINT-EXAMPLENET-AP
notify: watcher@example.com
changed: abc@examplenet.com 20101231
remarks: No remarks
+org: ORG-MISC01-RIPE
source: RIPE
View
7 t/160-KeyCert.t
@@ -64,6 +64,12 @@ is( $object->certif()->[28], '=opxg',
$object->certif('Added certif');
is( $object->certif()->[30], 'Added certif', 'certif properly added' );
+# Test 'org'
+$tested{'org'}++;
+is_deeply( $object->org(), ['ORG-MISC01-RIPE'], 'org properly parsed' );
+$object->org('ORG-MISC02-RIPE');
+is( $object->org()->[1], 'ORG-MISC02-RIPE', 'org properly added' );
+
# Test 'notify'
$tested{'notify'}++;
is_deeply( $object->notify(), ['watcher@somewhere.com'], 'notify properly parsed' );
@@ -146,6 +152,7 @@ certif: EwIbDAAKCRBoulTzThfGZ/VlAKCjxj+twQmuEyfNc8GzXTAelPTqCgCdES0n233p
certif: nfIPaiJtK2pPOSViTGk=
certif: =opxg
certif: -----END PGP PUBLIC KEY BLOCK-----
+org: ORG-MISC01-RIPE
notify: watcher@somewhere.com
mnt-by: MAINT-EXAMPLECOM
admin-c: FR123-AP
View
21 t/165-Route.t
@@ -51,6 +51,18 @@ is( $object->origin(), 'AS1234', 'origin properly parsed' );
$object->origin('AS12');
is( $object->origin(), 'AS12', 'origin properly set' );
+# Test 'pingable'
+$tested{'pingable'}++;
+is_deeply( $object->pingable(), ['10.0.0.1'], 'pingable properly parsed' );
+$object->pingable('192.168.1.34');
+is( $object->pingable()->[1], '192.168.1.34', 'pingable properly added' );
+
+# Test 'ping_hdl'
+$tested{'ping_hdl'}++;
+is_deeply( $object->ping_hdl(), ['PING-EXAMPLECOM'], 'ping_hdl properly parsed' );
+$object->ping_hdl('PING2-EXAMPLECOM');
+is( $object->ping_hdl()->[1], 'PING2-EXAMPLECOM', 'ping_hdl properly added' );
+
# Test 'cross_mnt'
$tested{'cross_mnt'}++;
is_deeply( $object->cross_mnt(), ['CROSS-MAINT01'], 'cross_mnt properly parsed' );
@@ -69,6 +81,12 @@ is_deeply( $object->holes(), ['192.168.1.23'], 'holes properly parsed' );
$object->holes('192.168.1.123');
is( $object->holes()->[1], '192.168.1.123', 'holes properly added' );
+# Test 'org'
+$tested{'org'}++;
+is_deeply( $object->org(), ['ORG-MISC01-RIPE'], 'org properly parsed' );
+$object->org('ORG-MISC02-RIPE');
+is( $object->org()->[1], 'ORG-MISC02-RIPE', 'org properly added' );
+
# Test 'member_of'
$tested{'member_of'}++;
is_deeply( $object->member_of(), ['RTES-SET01'], 'member_of properly parsed' );
@@ -160,6 +178,7 @@ origin: AS1234
cross-mnt: CROSS-MAINT01
cross-nfy: watcher2@somewhere.com
holes: 192.168.1.23
+org: ORG-MISC01-RIPE
member_of: RTES-SET01
inject: RTR01
aggr_mtd: AAAAAAA
@@ -171,6 +190,8 @@ notify: watcher@somewhere.com
mnt-by: MAINT-EXAMPLECOM
mnt-lower: MAINT-EXAMPLECOM
mnt-routes: MAINT-EXAMPLECOM
+pingable: 10.0.0.1
+ping-hdl: PING-EXAMPLECOM
changed: abc@somewhere.com 20120131
source: RIPE
View
14 t/167-Route6.t
@@ -51,6 +51,18 @@ is( $object->origin(), 'AS1234', 'origin properly parsed' );
$object->origin('AS12');
is( $object->origin(), 'AS12', 'origin properly set' );
+# Test 'pingable'
+$tested{'pingable'}++;
+is_deeply( $object->pingable(), ['10.0.0.1'], 'pingable properly parsed' );
+$object->pingable('192.168.1.34');
+is( $object->pingable()->[1], '192.168.1.34', 'pingable properly added' );
+
+# Test 'ping_hdl'
+$tested{'ping_hdl'}++;
+is_deeply( $object->ping_hdl(), ['PING-EXAMPLECOM'], 'ping_hdl properly parsed' );
+$object->ping_hdl('PING2-EXAMPLECOM');
+is( $object->ping_hdl()->[1], 'PING2-EXAMPLECOM', 'ping_hdl properly added' );
+
# Test 'org'
$tested{'org'}++;
my $orgs = $object->org();
@@ -166,6 +178,8 @@ notify: watcher@somewhere.com
mnt-by: MAINT-EXAMPLECOM
mnt-lower: MAINT-EXAMPLECOM
mnt-routes: MAINT-EXAMPLECOM
+pingable: 10.0.0.1
+ping-hdl: PING-EXAMPLECOM
changed: abc@somewhere.com 20120131
source: RIPE
View
7 t/170-RouteSet.t
@@ -62,6 +62,12 @@ is_deeply( $object->remarks(), ['No remarks'], 'remarks properly parsed' );
$object->remarks('Added remarks');
is( $object->remarks()->[1], 'Added remarks', 'remarks properly added' );
+# Test 'org'
+$tested{'org'}++;
+is_deeply( $object->org(), ['ORG-MISC01-RIPE'], 'org properly parsed' );
+$object->org('ORG-MISC02-RIPE');
+is( $object->org()->[1], 'ORG-MISC02-RIPE', 'org properly added' );
+
# Test 'tech_c'
$tested{'tech_c'}++;
is_deeply( $object->tech_c(), ['TECH-CTCT'], 'tech_c properly parsed' );
@@ -118,6 +124,7 @@ mp-members: RTE-V6-01
mp-members: RTE-V6-02
mbrs-by-ref: RTE-MAINT01
remarks: No remarks
+org: ORG-MISC01-RIPE
tech-c: TECH-CTCT
admin-c: ADM-CTCT
notify: watcher@somewhere.com
View
7 t/175-PeeringSet.t
@@ -56,6 +56,12 @@ is_deeply( $object->remarks(), ['No remarks'], 'remarks properly parsed' );
$object->remarks('Added remarks');
is( $object->remarks()->[1], 'Added remarks', 'remarks properly added' );
+# Test 'org'
+$tested{'org'}++;
+is_deeply( $object->org(), ['ORG-MISC01-RIPE'], 'org properly parsed' );
+$object->org('ORG-MISC02-RIPE');
+is( $object->org()->[1], 'ORG-MISC02-RIPE', 'org properly added' );
+
# Test 'tech_c'
$tested{'tech_c'}++;
is_deeply( $object->tech_c(), ['TECH-CTCT'], 'tech_c properly parsed' );
@@ -110,6 +116,7 @@ peering: PRNG-OTHER
peering: AS1 at 9.9.9.1
mp-peering: PRNG-OTHERV6
remarks: No remarks
+org: ORG-MISC01-RIPE
tech-c: TECH-CTCT
admin-c: ADM-CTCT
notify: watcher@somewhere.com
View
23 t/190-Organisation.t
@@ -74,6 +74,18 @@ is_deeply( $object->e_mail(), ['someone@somewhere.com'], 'e_mail properly parsed
$object->e_mail('someone@elsewhere.com');
is( $object->e_mail()->[1], 'someone@elsewhere.com', 'e_mail properly added' );
+# Test 'geoloc'
+$tested{'geoloc'}++;
+is( $object->geoloc(), 'OTHER', 'geoloc properly parsed' );
+$object->geoloc('IANA');
+is( $object->geoloc(), 'IANA', 'geoloc properly set' );
+
+# Test 'language'
+$tested{'language'}++;
+is_deeply( $object->language(), ['FR','EN'], 'language properly parsed' );
+$object->language('ES');
+is( $object->language()->[2], 'ES', 'language properly added' );
+
# Test 'admin_c'
$tested{'admin_c'}++;
is_deeply( $object->admin_c(), ['CPNY-ADM'], 'admin_c properly parsed' );
@@ -110,6 +122,12 @@ is_deeply( $object->notify(), ['CPNY-MNT'], 'notify properly parsed' );
$object->notify('CPNY-MNT2');
is( $object->notify()->[1], 'CPNY-MNT2', 'notify properly added' );
+# Test 'abuse_mailbox'
+$tested{'abuse_mailbox'}++;
+is_deeply( $object->abuse_mailbox(), ['abuse1@somewhere.com','abuse2@somewhere.com'], 'abuse_mailbox properly parsed' );
+$object->abuse_mailbox('abuse3@somewhere.com');
+is( $object->abuse_mailbox()->[2], 'abuse3@somewhere.com', 'abuse_mailbox properly added' );
+
# Test 'descr'
$tested{'descr'}++;
is_deeply( $object->descr(), ['Providing happiness from 7am to 7pm'], 'descr properly parsed' );
@@ -151,12 +169,17 @@ address: France
phone: +33 1 75 75 75 01
fax-no: +33 1 75 75 75 91
e-mail: someone@somewhere.com
+geoloc: OTHER
+language: FR
+language: EN
admin-c: CPNY-ADM
tech-c: CPNY-TCH
ref-nfy: someone@somewhere.com
mnt-ref: CPNY-MNT
mnt-by: CPNY-MNT
notify: CPNY-MNT
+abuse-mailbox: abuse1@somewhere.com
+abuse-mailbox: abuse2@somewhere.com
changed: someone@somewhere.com 20120131
source: RIPE

0 comments on commit 21cc634

Please sign in to comment.
Something went wrong with that request. Please try again.