Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions MANIFEST
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ lib/Net/DRI/DRD/GMORegistry/JPRS.pm
lib/Net/DRI/DRD/GMORegistry/KYOTO.pm
lib/Net/DRI/DRD/GMORegistry/PANDI.pm
lib/Net/DRI/DRD/GMORegistry/SHOP.pm
lib/Net/DRI/DRD/GoDaddy/DNRS.pm
lib/Net/DRI/DRD/GoDaddy/MZB.pm
lib/Net/DRI/DRD/GoDaddy/TWNIC.pm
lib/Net/DRI/DRD/HostmasterUA.pm
Expand All @@ -129,7 +130,6 @@ lib/Net/DRI/DRD/KNET.pm
lib/Net/DRI/DRD/LVRegistry.pm
lib/Net/DRI/DRD/NASK.pm
lib/Net/DRI/DRD/Neustar/IN.pm
lib/Net/DRI/DRD/Neustar/Narwhal.pm
lib/Net/DRI/DRD/NGTLD.pm
lib/Net/DRI/DRD/NicAT/AT.pm
lib/Net/DRI/DRD/NicAT/RegBox.pm
Expand Down Expand Up @@ -661,6 +661,8 @@ t/Net/DRI/Protocol/EPP/Extensions/Fee/Fee-0.23.t
t/Net/DRI/Protocol/EPP/Extensions/Fee/Fee-1.0.t
t/Net/DRI/Protocol/EPP/Extensions/FICORA.t
t/Net/DRI/Protocol/EPP/Extensions/FRED.t
t/Net/DRI/Protocol/EPP/Extensions/GoDaddy/DNRS.pm
t/Net/DRI/Protocol/EPP/Extensions/GoDaddy/MZB.pm
t/Net/DRI/Protocol/EPP/Extensions/GMORegistry.t
t/Net/DRI/Protocol/EPP/Extensions/GracePeriod.t
t/Net/DRI/Protocol/EPP/Extensions/ICANN/MarkSignedMark.t
Expand All @@ -687,7 +689,6 @@ t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Fee.t
t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/IDN.t
t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/IDNVariant.t
t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/KeyValue.t
t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Narwhal.t
t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Price.t
t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/TMCHApplication.t
t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/WhoisType.t
Expand Down
19 changes: 9 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ Net-DRI-0.X-tdw is a fork of Net-DRI from Patrick Mevzek based on Net-DRI-0.96_0
This is a consequence of an old design decision that no DRD module should have a TLD as name.
Now, by default a DRD of a TLD registry will have the sponsor name as listed on IANA website._"
* While the upstream favours the Registry name for DRD, I favour the BackendOperator::Platform Naming
* So instead of (.travel) Tralliance, I use Neustar::Tralliance, though there is variation in here I am still working on!
* Its sometimes more clean to use Backend::TLD when the platform is for a single TLD and the operator is the backend.
* For instance, GMORegistry::GMORegistry, and GMORegistry::BRRegistry, and GMORegistry::SHOP
* Note, using old DRD names will probably still work as they will be automaticaly remapped. Probably.
Expand All @@ -27,7 +26,7 @@ Based on draft-ietf-eppext-launchphase-07 / draft-ietf-regext-launchphase-00
Based on draft-ietf-regext-epp-fees-06 (fee-0.23)

##### New gTLD backend providers (RO's)
Afnic, Afilias, Amazon (Neustar), ARI (now Neustar), CoCCA, CentralNIC, CoreNIC, Charleston Road Registry, CNNIC, Donuts, Famous Four Media (Nominet), Fury Registry (CIRA), GMO Registry, KNET, KSRegistry, Minds And Machines (Nominet-MMX), Neustar, Nic.BR, Nic.MX, Nominet, OpenRegistry, Registry-in-a-Box from NicAT, Rightside, SIDN, Tango from KNIPP, TCI, TeleInfo, UniRegistry, Verisign, ZACR
Afnic, Afilias, Amazon (GoDaddy DNRS, Former Neustar/ARI), CoCCA, CentralNIC, CoreNIC, Charleston Road Registry, CNNIC, Donuts, Famous Four Media (Nominet), Fury Registry (CIRA), GMO Registry, KNET, KSRegistry, Minds And Machines (Nominet-MMX), Nic.BR, Nic.MX, Nominet, OpenRegistry, Registry-in-a-Box from NicAT, Rightside, SIDN, Tango from KNIPP, TCI, TeleInfo, UniRegistry, Verisign, ZACR
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can remove Famous Four Media and Minds and Machines (Nominet-MMX) references - i think that they are not in use anymore

Copy link
Copy Markdown
Contributor Author

@pc-stein pc-stein Nov 3, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just in this file? or whole Net::DRI?


##### Planned/Possible support for providers
None
Expand All @@ -50,8 +49,8 @@ $dri->add_registry('NGTLD',{clid => '...',provider=>'...',name=>'...', tlds=>[]}
##### Selecting a back end provider

```perl
$dri->add_registry('NGTLD',{clid => 'ClientX',provider=>'Neustar'});
$dri->target('Neustar')->add_current_profile(....);
$dri->add_registry('NGTLD',{clid => 'ClientX',provider=>'godaddy_dnrs'});
$dri->target('godaddy_dnrs')->add_current_profile(....);
```

##### Backend providers with shared environments
Expand All @@ -65,21 +64,21 @@ $dri->target('donuts')->add_current_profile(....);

##### Backend providers with dedicated environments

Neustar is an example of a backend provider that provides a dedicated environment per TLD, so you may like to use the TLD as the target name.
e.g: add a custom target name, by default this is the back end provider name, but in this instance we select buzz
DNSBelgium is an example of a backend provider that provides a dedicated environment per TLD, so you may like to use the TLD as the target name.
e.g: add a custom target name, by default this is the back end provider name, but in this instance we select 'brussels'
Note, if the name you specified matches one of the TLD's and you have not manually specified the tld list, if will use only this TLD. If the name doesn't match a TLD, it will make all TLD's by the prover available in the DRD

```perl
$dri->add_registry('NGTLD',{clid => 'ClientX',provider=>'neustar',name=>'buzz'});
$dri->target('buzz')->add_current_profile(....);
$dri->add_registry('NGTLD',{clid => 'ClientX',provider=>'dnsbelgium',name=>'brussels'});
$dri->target('brussels')->add_current_profile(....);
```

Some TLDs have specific extensions that need to be loaded. In the case of NYC it is required to either set name or tlds parameter in order to load the Nexus extension

```perl
$dri->add_registry('NGTLD',{clid => 'ClientX',provider=>'ari',name=>'nyc'}); # using name
$dri->add_registry('NGTLD',{clid => 'ClientX',provider=>'godaddy_dnrs',name=>'nyc'}); # using name
$dri->target('nyc')->add_current_profile(....);
$dri->add_registry('NGTLD',{clid => 'ClientX',provider=>'ari',name=>'whatever',tlds=['nyc']}); # using tld
$dri->add_registry('NGTLD',{clid => 'ClientX',provider=>'godaddy_dnrs',name=>'whatever',tlds=['nyc']}); # using tld
```

##### Some experimental ngTLD functions
Expand Down
25 changes: 13 additions & 12 deletions lib/Net/DRI.pm
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ sub new

# used for backwards compatibility on depricated TLDs in function check_depricated_drd
$self->{depricated_drd_map} = {
'ARI' => 'Neustar::Narwhal',
'ARI' => 'GoDaddy::DNRS', # ARI=> Neustar::Narwhal => GoDaddy::DNRS
'AE' => 'TRA::AE',
'AERO' => 'SITA',
'AFNIC' => 'AFNIC::AFNIC',
Expand All @@ -201,13 +201,13 @@ sub new
'AU' => 'auDA',
'BE' => 'DNSBelgium::BE',
'BH' => 'TRA::BH',
'BIZ' => 'Neustar::Narwhal',
'BIZ' => 'GoDaddy::DNRS', # BIZ=> Neustar::Narwhal => GoDaddy::DNRS
'BR' => 'CGIBR::BR',
'BZ' => 'Afilias::Shared',
'CAT' => 'puntCAT',
'CentralNic' => 'CentralNic::CentralNic',
'CIRA' => 'CIRA::CA',
'CO' => 'Neustar::Narwhal',
'CO' => 'GoDaddy::DNRS', # CO=> Neustar::Narwhal => GoDaddy::DNRS
'CoCCA' => 'CoCCA::CoCCA',
'COOP' => 'DotCooperation',
'CORENIC' => 'TangoRS::CORE',
Expand Down Expand Up @@ -240,12 +240,13 @@ sub new
'MSKIX' => 'TCI::MSKIX',
'MX' => 'NICMexico',
'MX_GTLD' => 'ECOMLAC',
'Neustar::BIZ' => 'Neustar::Narwhal',
'Neustar::COInternet' => 'Neustar::Narwhal',
'Neustar::Narwal' => 'Neustar::Narwhal', # i spelt it wrong, change before its too late!
'Neustar::TRAVEL' => 'Neustar::Narwhal',
'Neustar::BIZ' => 'GoDaddy::DNRS', # Neustar::BIZ=> Neustar::Narwhal => GoDaddy::DNRS
'Neustar::COInternet' => 'GoDaddy::DNRS', # Neustar::COInternet=> Neustar::Narwhal => GoDaddy::DNRS
'Neustar::Narwal' => 'GoDaddy::DNRS', # Neustar::Narwal=> Neustar::Narwhal => GoDaddy::DNRS # i spelt it wrong, change before its too late!
'Neustar::Narwhal' => 'GoDaddy::DNRS',
'Neustar::TRAVEL' => 'GoDaddy::DNRS', # Neustar::TRAVEL=> Neustar::Narwhal => GoDaddy::DNRS
'Neustar::TWNIC' => 'GoDaddy::TWNIC',
'Neustar::US' => 'Neustar::Narwhal',
'Neustar::US' => 'GoDaddy::DNRS', # Neustar::US=> Neustar::Narwhal => GoDaddy::DNRS
'NAME' => 'VeriSign::NameStore',
'NO' => 'NORID',
'Nominet' => 'Nominet::UK',
Expand All @@ -270,15 +271,15 @@ sub new
'TANGO' => 'TangoRS::TangoRS',
'TCI' => 'TCI::TCI',
'TCI_gTLD' => 'TCI::GTLD',
'Telnic' => 'Neustar::Narwhal',
'TRAVEL' => 'Neustar::Narwhal',
'Telnic' => 'GoDaddy::DNRS', # Telnic=> Neustar::Narwhal => GoDaddy::DNRS
'TRAVEL' => 'GoDaddy::DNRS', # TRAVEL=> Neustar::Narwhal => GoDaddy::DNRS
'UNIREG' => 'UniRegistry::UniRegistry',
'UniRegistry' => 'UniRegistry::UniRegistry',
'UNITEDTLD' => 'Donuts',
'UnitedTLD::Donuts' => 'Donuts',
'UnitedTLD::Rightside' => 'Donuts',
'UA' => 'HostmasterUA',
'US' => 'Neustar::Narwhal',
'US' => 'GoDaddy::DNRS', # US=> Neustar::Narwhal => GoDaddy::DNRS
'VC' => 'Afilias::Shared',
'Verisign::NAME' => 'VeriSign::NameStore',
'VNDS' => 'VeriSign::COM_NET', # warning, this was actually split into COM_NET and NameStore!
Expand Down Expand Up @@ -401,7 +402,7 @@ sub tld2reg

sub installed_registries
{
return qw/AdamsNames Afilias::Afilias Afilias::IN Afilias::PIR Afilias::Shared AFNIC::AFNIC AFNIC::GTLD ARNES auDA BookMyName CentralNic::CentralNic CentralNic::SKNIC CentralNic::Zuerich CGIBR::BR CGIBR::GTLD CIRA::CA CIRA::Fury CIRA::IE CNNIC::CN CNNIC::GTLD CoCCA::CoCCA CoCCA::GTLD CoCCA::PH CRR Deloitte DENIC DKHostmaster DNSBelgium::BE DNSBelgium::GTLD DNSPT Domicilium Donuts DotCooperation ECOMLAC EURid FRED Gandi GDI GMORegistry::BRRegistry GMORegistry::GMORegistry GMORegistry::JPRS GMORegistry::KYOTO GMORegistry::PANDI GMORegistry::SHOP GoDaddy::MZB GoDaddy::TWNIC HostmasterUA ICANN IENUMAT IIS IITCNR InternetNZ IRegistry ISPAPI KNET LVRegistry NASK Neustar::Narwhal NGTLD NicAT::AT NicAT::RegBox NICEC NICMexico NICRO Nominet::Amazon Nominet::GTLD Nominet::MMX Nominet::UK NORID OpenSRS OVH puntCAT RedES RESTENA SIDN::GTLD SIDN::NL SITA SWITCH TangoRS::CORE TangoRS::TangoRS TCI::GTLD TCI::MSKIX TCI::RF TCI::RU TCI::SU TCI::TCI TELEGreenland TeleInfo TMDB TRA::AE TRA::BH UniRegistry::COOP UniRegistry::UniRegistry UniRegistry::ICM UniRegistry::INC UniRegistry::DM UPU VeriSign::COM_NET VeriSign::NameStore VeriSign::VeriSign ZACR/;
return qw/AdamsNames Afilias::Afilias Afilias::IN Afilias::PIR Afilias::Shared AFNIC::AFNIC AFNIC::GTLD ARNES auDA BookMyName CentralNic::CentralNic CentralNic::SKNIC CentralNic::Zuerich CGIBR::BR CGIBR::GTLD CIRA::CA CIRA::Fury CIRA::IE CNNIC::CN CNNIC::GTLD CoCCA::CoCCA CoCCA::GTLD CoCCA::PH CRR Deloitte DENIC DKHostmaster DNSBelgium::BE DNSBelgium::GTLD DNSPT Domicilium Donuts DotCooperation ECOMLAC EURid FRED Gandi GDI GMORegistry::BRRegistry GMORegistry::GMORegistry GMORegistry::JPRS GMORegistry::KYOTO GMORegistry::PANDI GMORegistry::SHOP GoDaddy::DNRS GoDaddy::MZB GoDaddy::TWNIC HostmasterUA ICANN IENUMAT IIS IITCNR InternetNZ IRegistry ISPAPI KNET LVRegistry NASK NGTLD NicAT::AT NicAT::RegBox NICEC NICMexico NICRO Nominet::Amazon Nominet::GTLD Nominet::MMX Nominet::UK NORID OpenSRS OVH puntCAT RedES RESTENA SIDN::GTLD SIDN::NL SITA SWITCH TangoRS::CORE TangoRS::TangoRS TCI::GTLD TCI::MSKIX TCI::RF TCI::RU TCI::SU TCI::TCI TELEGreenland TeleInfo TMDB TRA::AE TRA::BH UniRegistry::COOP UniRegistry::UniRegistry UniRegistry::ICM UniRegistry::INC UniRegistry::DM UPU VeriSign::COM_NET VeriSign::NameStore VeriSign::VeriSign ZACR/;
}

####################################################################################################
Expand Down
6 changes: 3 additions & 3 deletions lib/Net/DRI/DRD.pm
Original file line number Diff line number Diff line change
Expand Up @@ -1528,11 +1528,11 @@ sub domain_check_claims
if (defined $rd && exists $rd->{phase} && lc($rd->{phase}) ne 'claims')
{
# By default, most registries do NOT use a sub_phase is claims lookups. Therefore if you specify a phase it will be ignored
# Afilias/ARI/CentralNIC/CoreNic/CRR/Donuts/GMO/KS/PIR/RegBox/Rightside/StartingDot/Tango/UniRegistry
# Afilias/GoDaddy::DNRS/CentralNIC/CoreNic/CRR/Donuts/GMO/KS/PIR/RegBox/Rightside/StartingDot/Tango/UniRegistry

# These registres use claims as phase + phase_name us sub_phase. domain_check_claims('test-validate.tube',{phase=>'landrush'});
# Neustar/MAM/FFM/KNet (Knet seems to work either way - but rather put it here)
$lp->{sub_phase} = $rd->{phase} if ($bep =~ m/^(?:neustar|mam|ffm|knet)/);
# KNet (Knet seems to work either way - but rather put it here)
$lp->{sub_phase} = $rd->{phase} if ($bep =~ m/^(?:knet)/);
# i think there is much more to do here
}
$rd->{lp} = $lp;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
## Domain Registry Interface, Neustar (Narwhal) policies
## Domain Registry Interface, GoDaddy (DNRS) policies
##
## Copyright (c) 2014 Patrick Mevzek <netdri@dotandco.com>. All rights reserved.
## (c) 2014-2017 Michael Holloway <michael@thedarkwinter.com>. All rights reserved.
## (c) 2021 Paulo Castanheira <paulo.s.castanheira@gmail.com>. All rights reserved.
##
## This file is part of Net::DRI
##
Expand All @@ -13,7 +14,7 @@
## See the LICENSE file that comes with this distribution for more details.
####################################################################################################

package Net::DRI::DRD::Neustar::Narwhal;
package Net::DRI::DRD::GoDaddy::DNRS;

use strict;
use warnings;
Expand All @@ -26,14 +27,14 @@ use Net::DRI::Data::Contact::Neustar;

=head1 NAME

Net::DRI::DRD::Neustar::Narwhal - Neustar Driver for Net::DRI
Net::DRI::DRD::GoDaddy::DNRS - GoDaddy DNRS for Net::DRI

=head1 DESCRIPTION

Additional domain extension For Neustar Narwhal platform. Most Neustar TLDs are now operated on this shared platform, including all ARI TLDs, most of the
ngTLDs that Neustar operated on its legacy platform, as well as older gTLDs and ccTLDs, which are gradually getting moved to this platform.
Additional domain extension For GoDaddy DNRS (former Neustar Narwhal) platform. Former Neustar TLDs are now operated on this shared platform, including all ARI TLDs,
most of the ngTLDs that Neustar operated on its legacy platform, as well as older gTLDs and ccTLDs.

Neustar utilises the following standard, and custom extensions, in many cases supporting two versions for the same functionallity.
GoDaddy::DNRS, as did Neustar::Narwhal, utilises the following standard and custom extensions, in many cases supporting two versions for the same functionallity.
Please see the test files for more examples.

=head2 Standard extensions:
Expand Down Expand Up @@ -88,12 +89,14 @@ E<lt>http://www.dotandco.com/services/software/Net-DRI/E<gt>

=head1 AUTHOR

Michael Holloway, E<lt>michael@thedarkwinter.comE<gt>
Paulo Castanheira <paulo.s.castanheira@gmail.com

=head1 COPYRIGHT

Copyright (c) 2014 Patrick Mevzek <netdri@dotandco.com>.
(c) 2014 Patrick Mevzek <netdri@dotandco.com>.
(c) 2014-2017 Michael Holloway <michael@thedarkwinter.com>.
(c) 2021 Paulo Castanheira <paulo.s.castanheira@gmail.com>. All rights reserved.

All rights reserved.

This program is free software; you can redistribute it and/or modify
Expand All @@ -118,7 +121,7 @@ sub new

sub periods { return map { DateTime::Duration->new(years => $_) } (1..10); }

sub name { return 'Neustar::Narwhal'; }
sub name { return 'GoDaddy::DNRS'; }

sub tlds { return qw/aaa able accountant aetna afl aig americanexpress amex amica analytics anz aramco athleta auspost axa banamex bananarepublic bank barclaycard barclays baseball basketball bible bid biz booking boots box buzz calvinklein cancerresearch caravan cartier catholic cba cbn cbre chase chintai chloe cisco citadel citi cloud club co com.co net.co nom.co commbank compare coupon courses cricket cuisinella date dell discover doha download duns dupont earth everbank faith farmers ferrero film flickr flir ford fox frontier ftr gap giving grainger hbo health homegoods homesense honeywell hoteles hotels hsbc htc hyatt ibm ieee insurance intel intuit ipiranga iselect itau iwc jlc jmp jnj jpmorgan kinder kpmg krd kred lanxess latrobe lifeinsurance lilly lincoln loan loft luxury marshalls mattel mcd mcdonalds melbourne men menu mint mlb mobily moe monash montblanc moto mtn mutual nba netbank netflix neustar nfl nike northwesternmutual nyc office olayan olayangroup oldnavy one open osaka pamperedchef panerai party passagens pfizer philips physio piaget ping pramerica praxi pru prudential qvc racing review rmit rocher rugby safety sandvik sandvikcoromant sas saxo schmidt science scor seek select seven skype song staples starhub statefarm stream study sucks swiftcover sydney tab taipei taobao target tdk tel teva tjmaxx tjx tkmaxx tmall trade tube us virgin vista vistaprint vivo voting vu vuelos walter watches weather weatherchannel webcam williamhill win winners woodside wtc xn--1ck2e1b xn--80aqecdr1a xn--bck1b9a5dre4c xn--cck2b3b xn--eckvdtc9d xn--fct429k xn--g2xx48c xn--gckr3f0f xn--gk3at1e xn--jvr189m xn--kcrx77d1x4a xn--kpu716f xn--mgba3a3ejt xn--mgba7c0bbn0a xn--mgbb9fbpob xn--mgbi4ecexp xn--ngbc5azd xn--pbt977c xn--rovu88b xn--tiq49xqyj yahoo yandex zero zippo adult porn sex xxx/; }

Expand Down
Loading