diff --git a/MANIFEST b/MANIFEST index e6fa9715b..943c1a972 100644 --- a/MANIFEST +++ b/MANIFEST @@ -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 @@ -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 @@ -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 @@ -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 diff --git a/README.md b/README.md index 9bdb4c535..8cca3fc8d 100644 --- a/README.md +++ b/README.md @@ -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. @@ -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 ##### Planned/Possible support for providers None @@ -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 @@ -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 diff --git a/lib/Net/DRI.pm b/lib/Net/DRI.pm index 0faea5f59..e0a6c78c9 100644 --- a/lib/Net/DRI.pm +++ b/lib/Net/DRI.pm @@ -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', @@ -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', @@ -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', @@ -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! @@ -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/; } #################################################################################################### diff --git a/lib/Net/DRI/DRD.pm b/lib/Net/DRI/DRD.pm index 3c31fc9fc..eecc67a38 100644 --- a/lib/Net/DRI/DRD.pm +++ b/lib/Net/DRI/DRD.pm @@ -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; diff --git a/lib/Net/DRI/DRD/Neustar/Narwhal.pm b/lib/Net/DRI/DRD/GoDaddy/DNRS.pm similarity index 87% rename from lib/Net/DRI/DRD/Neustar/Narwhal.pm rename to lib/Net/DRI/DRD/GoDaddy/DNRS.pm index 8e54af4f2..0ef8a00a3 100644 --- a/lib/Net/DRI/DRD/Neustar/Narwhal.pm +++ b/lib/Net/DRI/DRD/GoDaddy/DNRS.pm @@ -1,7 +1,8 @@ -## Domain Registry Interface, Neustar (Narwhal) policies +## Domain Registry Interface, GoDaddy (DNRS) policies ## ## Copyright (c) 2014 Patrick Mevzek . All rights reserved. ## (c) 2014-2017 Michael Holloway . All rights reserved. +## (c) 2021 Paulo Castanheira . All rights reserved. ## ## This file is part of Net::DRI ## @@ -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; @@ -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: @@ -88,12 +89,14 @@ Ehttp://www.dotandco.com/services/software/Net-DRI/E =head1 AUTHOR -Michael Holloway, Emichael@thedarkwinter.comE +Paulo Castanheira . +(c) 2014 Patrick Mevzek . (c) 2014-2017 Michael Holloway . +(c) 2021 Paulo Castanheira . All rights reserved. + All rights reserved. This program is free software; you can redistribute it and/or modify @@ -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/; } diff --git a/lib/Net/DRI/DRD/NGTLD.pm b/lib/Net/DRI/DRD/NGTLD.pm index a000194d6..32344c7d0 100644 --- a/lib/Net/DRI/DRD/NGTLD.pm +++ b/lib/Net/DRI/DRD/NGTLD.pm @@ -74,8 +74,8 @@ There are a number of options that can be defined in the hash send to this unit =head3 Selecting a back end provider - $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(....); =head3 Backend providers with shared environments @@ -86,12 +86,12 @@ Donuts is an example of a backend that provides a single platform for all their =head3 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 tube +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 - $dri->add_registry('NGTLD',{clid => 'ClientX',provider=>'neustar',name=>'tube'}); - $dri->target('tube')->add_current_profile(....); + $dri->add_registry('NGTLD',{clid => 'ClientX',provider=>'dnsbelgium',name=>'brussels'}); + $dri->target('brussels')->add_current_profile(....); =cut @@ -699,24 +699,27 @@ Contended TLD's not included =pod -=head2 Neustar Narwhal / ex - ARI +=head2 GoDaddy DNRS (Former Neustar Narwhal/ARI) - $dri->add_registry('NGTLD',{provider=>'ari'}); # To use ARI extensions + $dri->add_registry('NGTLD',{provider=>'godaddy_dnrs'}); # To use Standard/Neustar extensions - $dri->add_registry('NGTLD',{provider=>'narwhal'}); # To use Standard/Nesutar extensions - - $dri->add_registry('NGTLD',{provider=>'neustar'}); # To use neustar legacy system (being phased out) + $dri->add_registry('NGTLD',{provider=>'godaddy_legacy'}); # To use ARI extensions =head3 Status: Working =head3 TLDs -Legacy (use 'neustar') -Neustar operates dedicated connections per TLD, so it is recommended to use the name parameter to select the TLD. +=begin comment + +Godaddy DNRS Legacy Dedicated (use 'godaddy_dedicated' or 'neustar') +Neustar used to operate dedicated connections per TLD, so you could to use the name parameter to select the TLD. +Uncomment the godaddy_dedicated if needed. biz hotels htc ipiranga itau -Narwhal (use 'ari' or 'narwhal') or DRD::Narwhal +=end comment + +GoDaddy DNRS (former Narwhal) (use 'godaddy_dnrs' or 'godaddy_legacy') or DRD::GoDaddy::DNRS 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 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 @@ -732,7 +735,7 @@ L urn:ietf:params:xml:ns:idn-1.0 L urn:ietf:params:xml:ns:allocationToken-1.0 -=head3 Custom extensions (NeuLevel Narwhal) +=head3 Custom extensions (Godaddy DNRS Legacy former Narwhal) L urn:ietf:params:xml:ns:neulevel-1.0 @@ -760,17 +763,16 @@ L urn:ar:params:xml:ns:block-1. =head3 Notes -1. You can select from "narwhal" or "ari" which use different extensions. "ari" uses custom ARI extensions, while "narwhal" uses the more standardizes extensions. -It is recommended that "neustar" legacy is not used, but rather use the DRD::Neustar::* Drivers. +1. You can select from "godaddy_dnrs" or "godaddy_legacy" which use different extensions. "godaddy_legacy" uses custom ARI extensions, while "godaddy_dnrs" uses the more standardizes extensions. 2. ARI's implementation of LaunchPhase (TMCH) differers from the standard, however the units are built to mimic the standard extension's usage 3. In the case of NYC it is required to either set name or tlds parameter in order to load the Nexus extension for contacts and domains. See: L and L - $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 =cut @@ -805,8 +807,8 @@ See: L and L ['Net::DRI::Transport::Socket',{},'Net::DRI::Protocol::EPP::Extensions::ARI',{}], factories => [ {'object'=>'contact','factory' => sub { return Net::DRI::Data::Contact::Neustar->new(@_); } } ], requires => [ 'Net::DRI::Data::Contact::Neustar'], - whois_server => 'whois.aridnrs.net.au', - } if $bep eq 'ari'; + whois_server => (defined $tld && $tld =~ m/\w+/ ? 'whois.nic.' . $tld : undef), + } if $bep eq 'ari' || $bep eq 'godaddy_legacy'; return { bep_type => 2, # shared registry @@ -839,15 +841,17 @@ See: L and L ['Net::DRI::Transport::Socket',{},'Net::DRI::Protocol::EPP::Extensions::Neustar',{ 'brown_fee_version' => '0.6' }], factories => [ {'object'=>'contact','factory' => sub { return Net::DRI::Data::Contact::Neustar->new(@_); } } ], requires => [ 'Net::DRI::Data::Contact::Neustar'], - whois_server => 'whois.aridnrs.net.au', - } if $bep eq 'narwal' || $bep eq 'narwhal'; - - return { - bep_type => 1, # dedicated registry - tlds => ['hotels htc ipiranga itau'], - transport_protocol_default => ['Net::DRI::Transport::Socket',{},'Net::DRI::Protocol::EPP::Extensions::Neustar',{extensions => ['-NeuLevel::WhoisType','-ARI::KeyValue','-NeuLevel::EXTContact'], 'brown_fee_version' => '0.6' }], whois_server => (defined $tld && $tld =~ m/\w+/ ? 'whois.nic.' . $tld : undef), - } if $bep eq 'neustar'; + } if $bep eq 'narwal' || $bep eq 'narwhal' || $bep eq 'godaddy_dnrs'; + +# Legacy Dedicated Servers; uncomment if needed +# +# return { +# bep_type => 1, # dedicated registry +# tlds => ['hotels htc ipiranga itau'], +# transport_protocol_default => ['Net::DRI::Transport::Socket',{},'Net::DRI::Protocol::EPP::Extensions::Neustar',{extensions => ['-NeuLevel::WhoisType','-ARI::KeyValue','-NeuLevel::EXTContact'], 'brown_fee_version' => '0.6' }], +# whois_server => (defined $tld && $tld =~ m/\w+/ ? 'whois.nic.' . $tld : undef), +# } if if $bep eq 'neustar' || $bep eq 'godaddy_dedicated'; =pod diff --git a/t/0_load_mandatory.t b/t/0_load_mandatory.t index e22d2ba0a..d837918fc 100755 --- a/t/0_load_mandatory.t +++ b/t/0_load_mandatory.t @@ -102,6 +102,7 @@ use_ok('Net::DRI::DRD::GMORegistry::JPRS'); use_ok('Net::DRI::DRD::GMORegistry::KYOTO'); use_ok('Net::DRI::DRD::GMORegistry::PANDI'); use_ok('Net::DRI::DRD::GMORegistry::SHOP'); +use_ok('Net::DRI::DRD::GoDaddy::DNRS'); use_ok('Net::DRI::DRD::GoDaddy::MZB'); use_ok('Net::DRI::DRD::GoDaddy::TWNIC'); use_ok('Net::DRI::DRD::HostmasterUA'); @@ -116,7 +117,6 @@ use_ok('Net::DRI::DRD::KNET'); use_ok('Net::DRI::DRD::LVRegistry'); use_ok('Net::DRI::DRD::NASK'); use_ok('Net::DRI::DRD::Neustar::IN'); -use_ok('Net::DRI::DRD::Neustar::Narwhal'); use_ok('Net::DRI::DRD::NGTLD'); use_ok('Net::DRI::DRD::NicAT::AT'); use_ok('Net::DRI::DRD::NicAT::RegBox'); diff --git a/t/Net/DRI/DRD/NGTLD.t b/t/Net/DRI/DRD/NGTLD.t index b5492f3cf..1b8410043 100644 --- a/t/Net/DRI/DRD/NGTLD.t +++ b/t/Net/DRI/DRD/NGTLD.t @@ -11,7 +11,7 @@ use DateTime::Duration; use Data::Dumper; -use Test::More tests => 108; +use Test::More tests => 93; eval { no warnings; require Test::LongString; Test::LongString->import(max => 100); $Test::LongString::Context=50; }; if ( $@ ) { no strict 'refs'; *{'main::is_string'}=\&main::is; } @@ -194,35 +194,35 @@ is($rc->is_success(),1,'teleinfo: add_current_profile'); is_deeply( [$drd->transport_protocol_default('epp')],['Net::DRI::Transport::Socket',{},'Net::DRI::Protocol::EPP::Extensions::NEWGTLD',{custom => ['CentralNic::Fee'], 'disable_idn' => 1, 'brown_fee_version' => '0.9'}],'teleinfo: epp transport_protocol_default'); is_deeply( $dri->protocol()->{loaded_modules},[@core_modules, map { 'Net::DRI::Protocol::EPP::Extensions::'.$_ } qw/GracePeriod SecDNS LaunchPhase CentralNic::Fee/],'teleinfo: loaded_modules'); -# Neustar Legacy (hotels) -$rc = $dri->add_registry('NGTLD',{provider => 'neustar','name'=>'hotels'}); -is($rc->{last_registry},'hotels','neustar: add_registry'); -$rc = $dri->target('hotels')->add_current_profile('p1','epp',{f_send=>\&mysend,f_recv=>\&myrecv}); -is($rc->is_success(),1,'neustar: add_current_profile'); -is($dri->name(),'hotels','neustar: name'); -is_deeply([$dri->tlds()],['hotels'],'neustar: tlds'); -@periods = $dri->periods(); -is($#periods,9,'neustar: periods'); -is_deeply( [$dri->object_types()],['domain','contact','ns'],'neustar: object_types'); -is_deeply( [$dri->profile_types()],['epp','whois'],'neustar: profile_types'); -$drd = $dri->{registries}->{hotels}->{driver}; -is_deeply( [$drd->transport_protocol_default('epp')],['Net::DRI::Transport::Socket',{},'Net::DRI::Protocol::EPP::Extensions::Neustar',{extensions => ['-NeuLevel::WhoisType','-ARI::KeyValue','-NeuLevel::EXTContact'], 'brown_fee_version' => '0.6' }],'neustar: epp transport_protocol_default'); -is_deeply( $dri->protocol()->{loaded_modules},[@core_modules, map { 'Net::DRI::Protocol::EPP::Extensions::'.$_ } qw/GracePeriod SecDNS LaunchPhase IDN AllocationToken NeuLevel::CO NeuLevel::Message CentralNic::Fee/],'neustar: loaded_modules'); -is($drd->{bep}->{bep_type},1,'neustar: bep_type'); - -# Neustar-Narwhal Using ARI extensions -$rc = $dri->add_registry('NGTLD',{provider => 'ari'}); -is($rc->{last_registry},'ari','neustar-ari: add_registry'); -$rc = $dri->target('ari')->add_current_profile('ari','epp',{f_send=>\&mysend,f_recv=>\&myrecv}); -$drd = $dri->{registries}->{ari}->{driver}; -is_deeply( $dri->protocol()->{loaded_modules},[@core_modules, map { 'Net::DRI::Protocol::EPP::Extensions::'.$_ } qw/GracePeriod SecDNS AllocationToken ARI::IDNVariant ARI::KeyValue ARI::ExAvail ARI::Price ARI::TMCHApplication ARI::Block NeuLevel::CO NeuLevel::Message NeuLevel::WhoisType NeuLevel::EXTContact/],'neustar-ari: loaded_modules'); - -# Neustar-Narwhal Using Starndard extensions -$rc = $dri->add_registry('NGTLD',{provider => 'narwhal'}); -is($rc->{last_registry},'narwhal','neustar-narwhal: add_registry'); -$rc = $dri->target('narwhal')->add_current_profile('narwhal','epp',{f_send=>\&mysend,f_recv=>\&myrecv}); -$drd = $dri->{registries}->{'narwhal'}->{driver}; -is_deeply( $dri->protocol()->{loaded_modules},[@core_modules, map { 'Net::DRI::Protocol::EPP::Extensions::'.$_ } qw/GracePeriod SecDNS LaunchPhase IDN AllocationToken NeuLevel::CO NeuLevel::Message NeuLevel::EXTContact NeuLevel::WhoisType ARI::KeyValue CentralNic::Fee/],'neustar-narwhal: loaded_modules'); +## GoDaddy DNRS dedicated (Former Neustar Dedicated Legacy (hotels)); Uncomment godaddy_dedicated in NGTLD.t if needed +#$rc = $dri->add_registry('NGTLD',{provider => 'godaddy_dedicated','name'=>'hotels'}); +#is($rc->{last_registry},'hotels','godaddy_dedicated: add_registry'); +#$rc = $dri->target('hotels')->add_current_profile('p1','epp',{f_send=>\&mysend,f_recv=>\&myrecv}); +#is($rc->is_success(),1,'godaddy_dedicated: add_current_profile'); +#is($dri->name(),'hotels','godaddy_dedicated: name'); +#is_deeply([$dri->tlds()],['hotels'],'godaddy_dedicated: tlds'); +#@periods = $dri->periods(); +#is($#periods,9,'godaddy_dedicated: periods'); +#is_deeply( [$dri->object_types()],['domain','contact','ns'],'godaddy_dedicated: object_types'); +#is_deeply( [$dri->profile_types()],['epp','whois'],'godaddy_dedicated: profile_types'); +#$drd = $dri->{registries}->{hotels}->{driver}; +#is_deeply( [$drd->transport_protocol_default('epp')],['Net::DRI::Transport::Socket',{},'Net::DRI::Protocol::EPP::Extensions::Neustar',{extensions => ['-NeuLevel::WhoisType','-ARI::KeyValue','-NeuLevel::EXTContact'], 'brown_fee_version' => '0.6' }],'godaddy_dedicated: epp transport_protocol_default'); +#is_deeply( $dri->protocol()->{loaded_modules},[@core_modules, map { 'Net::DRI::Protocol::EPP::Extensions::'.$_ } qw/GracePeriod SecDNS LaunchPhase IDN AllocationToken NeuLevel::CO NeuLevel::Message CentralNic::Fee/],'godaddy_dedicated: loaded_modules'); +#is($drd->{bep}->{bep_type},1,'godaddy_dedicated: bep_type'); + +# GoDaddy DNRS Using Legacy ARI extensions +$rc = $dri->add_registry('NGTLD',{provider => 'godaddy_legacy'}); +is($rc->{last_registry},'godaddy_legacy','godaddy_legacy: add_registry'); +$rc = $dri->target('godaddy_legacy')->add_current_profile('godaddy_legacy','epp',{f_send=>\&mysend,f_recv=>\&myrecv}); +$drd = $dri->{registries}->{godaddy_legacy}->{driver}; +is_deeply( $dri->protocol()->{loaded_modules},[@core_modules, map { 'Net::DRI::Protocol::EPP::Extensions::'.$_ } qw/GracePeriod SecDNS AllocationToken ARI::IDNVariant ARI::KeyValue ARI::ExAvail ARI::Price ARI::TMCHApplication ARI::Block NeuLevel::CO NeuLevel::Message NeuLevel::WhoisType NeuLevel::EXTContact/],'godaddy_legacy: loaded_modules'); + +# GoDaddy DNRS Using Standard/Neustar extensions +$rc = $dri->add_registry('NGTLD',{provider => 'godaddy_dnrs'}); +is($rc->{last_registry},'godaddy_dnrs','godaddy_dnrs: add_registry'); +$rc = $dri->target('godaddy_dnrs')->add_current_profile('godaddy_dnrs','epp',{f_send=>\&mysend,f_recv=>\&myrecv}); +$drd = $dri->{registries}->{'godaddy_dnrs'}->{driver}; +is_deeply( $dri->protocol()->{loaded_modules},[@core_modules, map { 'Net::DRI::Protocol::EPP::Extensions::'.$_ } qw/GracePeriod SecDNS LaunchPhase IDN AllocationToken NeuLevel::CO NeuLevel::Message NeuLevel::EXTContact NeuLevel::WhoisType ARI::KeyValue CentralNic::Fee/],'godaddy_dnrs: loaded_modules'); #################################################################################################### #### ngTLD Methods @@ -240,15 +240,15 @@ is($lpres->{'phase'},'claims','domain_check_claims get_info(phase)'); is($lpres->{'claim_key'},'2013041500/2/6/9/rJ1NrDO92vDsAzf7EQzgjX4R0000000001','domain_check_claims get_info(claim_key)'); is($lpres->{'validator_id'},'sample','domain_check_claims get_info(validator_id)'); -# neustar subphase = landrush (required) -$rc = $dri->target('hotels'); -$R2=$E1.''.r().'claimstest.hotels2013041500/2/6/9/rJ1NrDO92vDsAzf7EQzgjX4R0000000001'.$TRID.''.$E2; -$rc = $dri->domain_check_claims('test.hotels',{phase=>'landrush'}); -is ($R1,$E1.'test.hotelsclaimsABC-12345','domain_check_claims build_xml'); -$lpres = $dri->get_info('lp'); -is($lpres->{'exist'},1,'domain_check_claims get_info(exist)'); -is($lpres->{'phase'},'claims','domain_check_claims get_info(phase)'); -is($lpres->{'claim_key'},'2013041500/2/6/9/rJ1NrDO92vDsAzf7EQzgjX4R0000000001','domain_check_claims get_info(claim_key)'); -is($lpres->{'validator_id'},'sample','domain_check_claims get_info(validator_id)'); +# GoDaddy DNRS dedicate (former neustar) subphase = landrush (required). Uncomment godaddy_dedicated in NGTLD.t if needed +#$rc = $dri->target('hotels'); +#$R2=$E1.''.r().'claimstest.hotels2013041500/2/6/9/rJ1NrDO92vDsAzf7EQzgjX4R0000000001'.$TRID.''.$E2; +#$rc = $dri->domain_check_claims('test.hotels',{phase=>'landrush'}); +#is ($R1,$E1.'test.hotelsclaimsABC-12345','domain_check_claims build_xml'); +#$lpres = $dri->get_info('lp'); +#is($lpres->{'exist'},1,'domain_check_claims get_info(exist)'); +#is($lpres->{'phase'},'claims','domain_check_claims get_info(phase)'); +#is($lpres->{'claim_key'},'2013041500/2/6/9/rJ1NrDO92vDsAzf7EQzgjX4R0000000001','domain_check_claims get_info(claim_key)'); +#is($lpres->{'validator_id'},'sample','domain_check_claims get_info(validator_id)'); exit 0; diff --git a/t/Net/DRI/Protocol/EPP/Extensions/CentralNic/Fee-0.6.t b/t/Net/DRI/Protocol/EPP/Extensions/CentralNic/Fee-0.6.t index f8a2dac57..6d0758004 100755 --- a/t/Net/DRI/Protocol/EPP/Extensions/CentralNic/Fee-0.6.t +++ b/t/Net/DRI/Protocol/EPP/Extensions/CentralNic/Fee-0.6.t @@ -22,7 +22,7 @@ sub r { my ($c,$m)=@_; return ''.($m | my $dri=Net::DRI::TrapExceptions->new({cache_ttl => 10}); $dri->{trid_factory}=sub { return 'ABC-12345'; }; # .CO migrated to Narwal, but to keep this 0.6 test working, I have simply forced the extension selection and version -$dri->add_current_registry('Neustar::Narwhal'); +$dri->add_current_registry('GoDaddy::DNRS'); $dri->add_current_profile('p1','epp',{f_send=>\&mysend,f_recv=>\&myrecv}, {extensions=>['-ARI::Price','CentralNic::Fee'],brown_fee_version=>'0.6'}); my $rc; @@ -32,9 +32,9 @@ my ($dh, @c, $fee, $cs, $c1, $c2); #################################################################################################### ## Fee extension version 0.6 http://tools.ietf.org/html/draft-brown-epp-fees-03 -## Fee-0.6 (In use by Charlseston Road Registry, Famous Four Media, and Neustar [at least for .co]) +## Fee-0.6 (In use by Charlseston Road Registry, Famous Four Media, and GoDaddy [at least for .co]) ## We use a greeting here to switch the namespace version here to -0.6 testing -$R2=$E1.'Neustar EPP Server:co2015-06-18T10:03:23.0Z1.0en-USurn:ietf:params:xml:ns:contacturn:ietf:params:xml:ns:hosturn:ietf:params:xml:ns:domainurn:ietf:params:xml:ns:svcsuburn:ietf:params:xml:ns:neulevelurn:ietf:params:xml:ns:secDNS-1.1urn:ietf:params:xml:ns:fee-0.6'.$E2; +$R2=$E1.'GoDaddy DNRS EPP Server:co2015-06-18T10:03:23.0Z1.0en-USurn:ietf:params:xml:ns:contacturn:ietf:params:xml:ns:hosturn:ietf:params:xml:ns:domainurn:ietf:params:xml:ns:svcsuburn:ietf:params:xml:ns:neulevelurn:ietf:params:xml:ns:secDNS-1.1urn:ietf:params:xml:ns:fee-0.6'.$E2; $rc=$dri->process('session','noop',[]); is($dri->protocol()->ns()->{fee}->[0],'urn:ietf:params:xml:ns:fee-0.6','Fee 0.6 loaded correctly'); #################################################################################################### diff --git a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Narwhal.t b/t/Net/DRI/Protocol/EPP/Extensions/GoDaddy/DNRS.pm similarity index 72% rename from t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Narwhal.t rename to t/Net/DRI/Protocol/EPP/Extensions/GoDaddy/DNRS.pm index a24f231ca..82cd1d506 100644 --- a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Narwhal.t +++ b/t/Net/DRI/Protocol/EPP/Extensions/GoDaddy/DNRS.pm @@ -10,7 +10,7 @@ use DateTime; use DateTime::Duration; use Data::Dumper; -use Test::More tests => 3; +use Test::More tests => 2; eval { no warnings; require Test::LongString; Test::LongString->import(max => 100); $Test::LongString::Context=50; }; if ( $@ ) { no strict 'refs'; *{'main::is_string'}=\&main::is; } @@ -33,17 +33,17 @@ $dri=Net::DRI::TrapExceptions->new({cache_ttl => -1, trid_factory => sub { retur # We should probably test these with greetings?? # To use standard -$dri->add_current_registry('Neustar::Narwhal'); +$dri->add_current_registry('GoDaddy::DNRS'); $dri->add_current_profile('p1','epp',{f_send=>\&mysend,f_recv=>\&myrecv}); -is_deeply( $dri->protocol()->{loaded_modules},[@core_modules, map { 'Net::DRI::Protocol::EPP::Extensions::'.$_ } qw/GracePeriod SecDNS LaunchPhase IDN AllocationToken NeuLevel::CO NeuLevel::Message NeuLevel::EXTContact NeuLevel::WhoisType ARI::KeyValue CentralNic::Fee/],'Neustar::Narwhal (standard): loaded_modules'); +is_deeply( $dri->protocol()->{loaded_modules},[@core_modules, map { 'Net::DRI::Protocol::EPP::Extensions::'.$_ } qw/GracePeriod SecDNS LaunchPhase IDN AllocationToken NeuLevel::CO NeuLevel::Message NeuLevel::EXTContact NeuLevel::WhoisType ARI::KeyValue CentralNic::Fee/],'GoDaddy::DNRS (standard): loaded_modules'); # To se ARI extensions instead $dri->add_current_profile('p2','epp_ari',{f_send=>\&mysend,f_recv=>\&myrecv}); -is_deeply( $dri->protocol()->{loaded_modules},[@core_modules, map { 'Net::DRI::Protocol::EPP::Extensions::'.$_ } qw/GracePeriod SecDNS AllocationToken ARI::IDNVariant ARI::KeyValue ARI::ExAvail ARI::Price ARI::TMCHApplication ARI::Block NeuLevel::CO NeuLevel::Message NeuLevel::WhoisType NeuLevel::EXTContact/],'Neustar::Narwhal (Ari): loaded_modules'); +is_deeply( $dri->protocol()->{loaded_modules},[@core_modules, map { 'Net::DRI::Protocol::EPP::Extensions::'.$_ } qw/GracePeriod SecDNS AllocationToken ARI::IDNVariant ARI::KeyValue ARI::ExAvail ARI::Price ARI::TMCHApplication ARI::Block NeuLevel::CO NeuLevel::Message NeuLevel::WhoisType NeuLevel::EXTContact/],'GoDaddy DNRS (Ari): loaded_modules'); -# To use NGTLD with legacy -$dri->add_current_registry('NGTLD',{provider => 'neustar', 'name' => 'hotels'}); -$dri->add_current_profile('p1','epp',{f_send=>\&mysend,f_recv=>\&myrecv}); - -is_deeply( $dri->protocol()->{loaded_modules},[@core_modules, map { 'Net::DRI::Protocol::EPP::Extensions::'.$_ } qw/GracePeriod SecDNS LaunchPhase IDN AllocationToken NeuLevel::CO NeuLevel::Message CentralNic::Fee/],'NGTLD/Neustar (legacy): loaded_modules'); +# To use NGTLD with legacy neustar dedicated servers, uncomment the godaddy_dedicated block in NGTLD +# +# $dri->add_current_registry('NGTLD',{provider => 'godaddy_dedicated', 'name' => 'hotels'}); +# $dri->add_current_profile('p1','epp',{f_send=>\&mysend,f_recv=>\&myrecv}); +#is_deeply( $dri->protocol()->{loaded_modules},[@core_modules, map { 'Net::DRI::Protocol::EPP::Extensions::'.$_ } qw/GracePeriod SecDNS LaunchPhase IDN AllocationToken NeuLevel::CO NeuLevel::Message CentralNic::Fee/],'NGTLD/GoDaddy dedicated (legacy): loaded_modules'); exit 0; diff --git a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Block.t b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Block.t index a1663a12e..4ecf280f7 100644 --- a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Block.t +++ b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Block.t @@ -28,7 +28,7 @@ sub r { my ($c,$m)=@_; return ''.($m | $dri=Net::DRI::TrapExceptions->new({cache_ttl => -1, trid_factory => sub { return 'ABC-12345'}, logging => 'null' }); # $rc = $dri->add_registry('NGTLD',{provider => 'ari'}); # To use ARI extensions instead -$rc = $dri->add_current_registry('Neustar::Narwhal'); +$rc = $dri->add_current_registry('GoDaddy::DNRS'); $dri->add_current_profile('p2','epp_ari',{f_send=>\&mysend,f_recv=>\&myrecv}); ##################### diff --git a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/CO.t b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/CO.t index 038edc1c0..b62428f1a 100644 --- a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/CO.t +++ b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/CO.t @@ -22,7 +22,7 @@ sub r { my ($c,$m)=@_; return ''.($m || 'C my $dri=Net::DRI::TrapExceptions->new({cache_ttl => -1}); $dri->{trid_factory}=sub { return 'ABC-12345'; }; -$dri->add_current_registry('Neustar::Narwhal',{clid => 'ClientX'}); +$dri->add_current_registry('GoDaddy::DNRS',{clid => 'ClientX'}); $dri->add_current_profile('p1','epp',{f_send=>\&mysend,f_recv=>\&myrecv}); my ($rc,$ok,$cs,$st,$p,$c1,$c2,$d,$unspec); @@ -51,7 +51,7 @@ is("".$d,'2001-04-03T22:00:00','domain_create get_info(exDate) value'); # domain info -$R2=$E1.''.r().'EXAMPLE1.COD20342671-USCOUS-7135TEST123TEST123TEST123NS1.TEST.CONS2.TEST.CONS3.TEST.CONEUSTARNEUSTAR2009-06-09T15:55:37.0ZNEUSTAR2009-09-16T12:51:30.0Z2014-06-08T23:59:59.0Zabcdef123DomainSuspendedIndicator=expired'.$TRID.''.$E2; +$R2=$E1.''.r().'EXAMPLE1.COD20342671-USCOUS-7135TEST123TEST123TEST123NS1.TEST.CONS2.TEST.CONS3.TEST.CODNRSDNRS2009-06-09T15:55:37.0ZDNRS2009-09-16T12:51:30.0Z2014-06-08T23:59:59.0Zabcdef123DomainSuspendedIndicator=expired'.$TRID.''.$E2; $rc = $dri->domain_info('example1.co'); is($rc->is_success(),1,'domain_info is_success'); is($dri->get_info('action'),'info','domain_info get_info (action)'); diff --git a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Contact.t b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Contact.t index aff5da0be..f4cb96005 100644 --- a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Contact.t +++ b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Contact.t @@ -22,7 +22,7 @@ sub myrecv { return Net::DRI::Data::Raw->new_from_string($R2? $R2 : $E1.''.($m || 'Command completed successfully').''; } my $dri=Net::DRI::TrapExceptions->new({cache_ttl => 10, trid_factory => sub { return 'ABC-12345'}, logging => 'null' }); -$dri->add_registry('Neustar::Narwhal'); # for testing EXTContact +$dri->add_registry('GoDaddy::DNRS'); # for testing EXTContact $dri->target('nyc')->add_current_profile('p1','epp',{f_send=>\&mysend,f_recv=>\&myrecv},{extensions=>['NeuLevel::EXTContact']}); my $rc; @@ -58,7 +58,7 @@ is($c->nexus_category(),'INDIV','contact_info parse nexus_category (.NYC)'); is($c->ext_contact(),'Y','contact_info parse ext_contact (.NYC)'); ### -## .US - NeuLevel tests - this was basically copy pasted from old US::Contact tests (before migration to Neustar::Narwhal) +## .US - NeuLevel tests - this was basically copy pasted from old US::Contact tests (before migration to Neustar::Narwhal then to GoDaddy DNRS) ### $c=$dri->local_object('contact'); $c->srid('abcde')->name('abc')->org('abc.org')->street(['123 d street'])->city('reston')->pc(20194)->sp('VA')->cc('US')->fax('+1.2345678901x1234')->email('xxx@yyy.com'); diff --git a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Domain.t b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Domain.t index 7d9a898c9..c1babc1b2 100644 --- a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Domain.t +++ b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Domain.t @@ -22,7 +22,7 @@ sub myrecv { return Net::DRI::Data::Raw->new_from_string($R2? $R2 : $E1.''.($m || 'Command completed successfully').''; } my $dri=Net::DRI::TrapExceptions->new({cache_ttl => 10, trid_factory => sub { return 'ABC-12345'}, logging => 'null' }); -$dri->add_registry('Neustar::Narwhal'); # for testing EXTContact +$dri->add_registry('GoDaddy::DNRS'); # for testing EXTContact $dri->target('nyc')->add_current_profile('p1','epp',{f_send=>\&mysend,f_recv=>\&myrecv},{extensions=>['NeuLevel::EXTContact']}); my $rc; my ($fee,$c,$c2,$toc); diff --git a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/ExAvail.t b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/ExAvail.t index aa3218b26..9c9bff13d 100644 --- a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/ExAvail.t +++ b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/ExAvail.t @@ -28,7 +28,7 @@ sub r { my ($c,$m)=@_; return ''.($m | $dri=Net::DRI::TrapExceptions->new({cache_ttl => -1, trid_factory => sub { return 'ABC-12345'}, logging => 'null' }); # $rc = $dri->add_registry('NGTLD',{provider => 'ari'}); # To use ARI extensions instead -$rc = $dri->add_current_registry('Neustar::Narwhal'); +$rc = $dri->add_current_registry('GoDaddy::DNRS'); $dri->add_current_profile('p2','epp_ari',{f_send=>\&mysend,f_recv=>\&myrecv}); ##################### diff --git a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Fee.t b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Fee.t index 8250b8af7..7c2cab99c 100644 --- a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Fee.t +++ b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Fee.t @@ -22,7 +22,7 @@ sub myrecv { return Net::DRI::Data::Raw->new_from_string($R2? $R2 : $E1.''.($m || 'Command completed successfully').''; } my $dri=Net::DRI::TrapExceptions->new({cache_ttl => 10, trid_factory => sub { return 'ABC-12345'}, logging => 'null' }); -$dri->add_current_registry('Neustar::Narwhal'); +$dri->add_current_registry('GoDaddy::DNRS'); $dri->add_current_profile('p1','epp',{f_send=>\&mysend,f_recv=>\&myrecv},{extensions=>['NeuLevel::Fee','-CentralNic::Fee']}); # TODO: I think this extension is no longer in use diff --git a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/IDN.t b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/IDN.t index c2fc2e42b..be9709e69 100755 --- a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/IDN.t +++ b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/IDN.t @@ -24,7 +24,7 @@ sub r { my ($c,$m)=@_; return ''.($m || 'C my $dri=Net::DRI::TrapExceptions->new({cache_ttl => -1}); $dri->{trid_factory}=sub { return 'ABC-12345'; }; -$dri->add_current_registry('Neustar::Narwhal',{clid => 'ClientX'}); +$dri->add_current_registry('GoDaddy::DNRS',{clid => 'ClientX'}); $dri->add_current_profile('p1','epp',{f_send=>\&mysend,f_recv=>\&myrecv},{extensions => ['-IDN', 'NeuLevel::IDNLanguage']}); #################################################################################################### diff --git a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/IDNVariant.t b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/IDNVariant.t index 99babcf0d..6dc9b84ad 100644 --- a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/IDNVariant.t +++ b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/IDNVariant.t @@ -28,7 +28,7 @@ sub r { my ($c,$m)=@_; return ''.($m | $dri=Net::DRI::TrapExceptions->new({cache_ttl => -1, trid_factory => sub { return 'ABC-12345'}, logging => 'null' }); # $rc = $dri->add_registry('NGTLD',{provider => 'ari'}); # To use ARI extensions instead -$rc = $dri->add_current_registry('Neustar::Narwhal'); +$rc = $dri->add_current_registry('GoDaddy::DNRS'); $dri->add_current_profile('p2','epp_ari',{f_send=>\&mysend,f_recv=>\&myrecv}); ##################### diff --git a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Price.t b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Price.t index 99997c06f..5683be46d 100644 --- a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Price.t +++ b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/Price.t @@ -28,7 +28,7 @@ sub r { my ($c,$m)=@_; return ''.($m | $dri=Net::DRI::TrapExceptions->new({cache_ttl => -1, trid_factory => sub { return 'ABC-12345'}, logging => 'null' }); # $rc = $dri->add_registry('NGTLD',{provider => 'ari'}); # To use ARI extensions instead -$rc = $dri->add_current_registry('Neustar::Narwhal'); +$rc = $dri->add_current_registry('GoDaddy::DNRS'); $dri->add_current_profile('p2','epp_ari',{f_send=>\&mysend,f_recv=>\&myrecv}); ##################### diff --git a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/TMCHApplication.t b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/TMCHApplication.t index 3c34785a5..0b484e6a4 100644 --- a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/TMCHApplication.t +++ b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/TMCHApplication.t @@ -28,7 +28,7 @@ sub r { my ($c,$m)=@_; return ''.($m | $dri=Net::DRI::TrapExceptions->new({cache_ttl => -1, trid_factory => sub { return 'ABC-12345'}, logging => 'null' }); # $rc = $dri->add_registry('NGTLD',{provider => 'ari'}); # To use ARI extensions instead -$rc = $dri->add_current_registry('Neustar::Narwhal'); +$rc = $dri->add_current_registry('GoDaddy::DNRS'); $dri->add_current_profile('p2','epp_ari',{f_send=>\&mysend,f_recv=>\&myrecv}); ##################### @@ -200,7 +200,7 @@ $lpres = $dri->get_info('lp'); is($lpres->{application_id},'NEWAPP123','domain_create lp get_info (sunrise application_id)'); ## SUNRISE - SMD XML::Element -my $po=$dri->target('Neustar::Narwhal')->{profiles}->{p1}->{protocol}; +my $po=$dri->target('GoDaddy::DNRS')->{profiles}->{p1}->{protocol}; eval { Net::DRI::Protocol::EPP::Extensions::ICANN::MarkSignedMark::setup(undef,$po,undef);}; my $parser=XML::LibXML->new(); my ($doc,$root,$rh); diff --git a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/WhoisType.t b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/WhoisType.t index cc226aaa3..4e3fe44ac 100755 --- a/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/WhoisType.t +++ b/t/Net/DRI/Protocol/EPP/Extensions/NeuLevel/WhoisType.t @@ -22,7 +22,7 @@ sub myrecv { return Net::DRI::Data::Raw->new_from_string($R2? $R2 : $E1.''.($m || 'Command completed successfully').''; } my $dri=Net::DRI::TrapExceptions->new({cache_ttl => 10, trid_factory => sub { return 'ABC-12345'}, logging => 'null' }); -$dri->add_current_registry('Neustar::Narwhal'); +$dri->add_current_registry('GoDaddy::DNRS'); $dri->add_current_profile('p1','epp',{f_send=>\&mysend,f_recv=>\&myrecv}); my $rc; diff --git a/t/Net/DRI/Protocol/Whois/Domain/NGTLD.t b/t/Net/DRI/Protocol/Whois/Domain/NGTLD.t index 9683b8d1a..97019e9c1 100644 --- a/t/Net/DRI/Protocol/Whois/Domain/NGTLD.t +++ b/t/Net/DRI/Protocol/Whois/Domain/NGTLD.t @@ -196,7 +196,7 @@ is($r->org(),'Afilias Ltd.','domain_info get_info (contact) registrant org'); #################################################################################################### -# ARI (Neustar Narwahl) +# GoDaddy DNRS (Former ARI/Neustar Narwhal) $R2='Domain Name: nic.aaa Domain ID: D215DA75E3E0A4133AE5DD1B3BE26C3E6-ARI @@ -281,10 +281,10 @@ This information has been prepared and published in order to represent administr We may discontinue or amend any part or the whole of these Terms of Service from time to time at our absolute discretion.'; -$dri->add_registry('NGTLD',{provider=>'ari'}); -$dri->target('ari')->add_current_profile('p1','whois',{f_send=>\&mysend,f_recv=>\&myrecv}); +$dri->add_registry('NGTLD',{provider=>'godaddy_legacy'}); +$dri->target('godaddy_legacy')->add_current_profile('p1','whois',{f_send=>\&mysend,f_recv=>\&myrecv}); $rc = $dri->domain_info('nic.aaa'); -is($rc->is_success(),1,'ARI domain_info is_success'); +is($rc->is_success(),1,'Godaddy Legacy domain_info is_success'); is($dri->get_info('action'),'info','domain_info get_info (action)'); is($dri->get_info('name'),'nic.aaa','domain_info get_info (name)'); is($dri->get_info('id'),'D215DA75E3E0A4133AE5DD1B3BE26C3E6-ARI','domain_info get_info (id)');