File Coverage

blib/lib/Net/DRI/DRD/EURid.pm
Criterion Covered Total %
statement 18 41 43.9
branch 0 10 0.0
condition n/a
subroutine 6 15 40.0
pod 4 9 44.4
total 28 75 37.3


line stmt bran cond sub pod time code
1             ## Domain Registry Interface, EURid (.EU) policy on reserved names
2             ##
3             ## Copyright (c) 2005-2011 Patrick Mevzek . All rights reserved.
4             ## 2014 Michael Kefeder . All rights reserved.
5             ##
6             ## This file is part of Net::DRI
7             ##
8             ## Net::DRI is free software; you can redistribute it and/or modify
9             ## it under the terms of the GNU General Public License as published by
10             ## the Free Software Foundation; either version 2 of the License, or
11             ## (at your option) any later version.
12             ##
13             ## See the LICENSE file that comes with this distribution for more details.
14             #########################################################################################
15              
16             package Net::DRI::DRD::EURid;
17              
18 1     1   593 use strict;
  1         1  
  1         21  
19 1     1   3 use warnings;
  1         1  
  1         19  
20              
21 1     1   3 use base qw/Net::DRI::DRD/;
  1         0  
  1         50  
22              
23 1     1   4 use Net::DRI::Util;
  1         0  
  1         13  
24 1     1   2 use Net::DRI::Exception;
  1         1  
  1         22  
25 1     1   3 use DateTime::Duration;
  1         1  
  1         338  
26              
27             __PACKAGE__->make_exception_for_unavailable_operations(qw/domain_transfer_accept domain_transfer_refuse domain_transfer_stop contact_check contact_transfer contact_transfer_start contact_transfer_stop contact_transfer_query contact_transfer_accept contact_transfer_refuse/);
28              
29             =pod
30              
31             =head1 NAME
32              
33             Net::DRI::DRD::EURid - EURid (.EU) policies for Net::DRI
34              
35             =head1 DESCRIPTION
36              
37             Please see the README file for details.
38              
39             =head1 SUPPORT
40              
41             For now, support questions should be sent to:
42              
43             Enetdri@dotandco.comE
44              
45             Please also see the SUPPORT file in the distribution.
46              
47             =head1 SEE ALSO
48              
49             Ehttp://www.dotandco.com/services/software/Net-DRI/E
50              
51             =head1 AUTHOR
52              
53             Patrick Mevzek, Enetdri@dotandco.comE
54              
55             =head1 COPYRIGHT
56              
57             Copyright (c) 2005-2011 Patrick Mevzek .
58             2014 Michael Kefeder .
59             All rights reserved.
60              
61             This program is free software; you can redistribute it and/or modify
62             it under the terms of the GNU General Public License as published by
63             the Free Software Foundation; either version 2 of the License, or
64             (at your option) any later version.
65              
66             See the LICENSE file that comes with this distribution for more details.
67              
68             =cut
69              
70             #####################################################################################
71              
72             our %CCA2_EU=map { $_ => 1 } qw/AT BE BG CZ CY DE DK ES EE FI FR GR GB HU IE IT LT LU LV MT NL PL PT RO SE SK SI AX GF GI GP MQ RE/;
73             our %LANGA2_EU=map { $_ => 1 } qw/bg cs da de el en es et fi fr ga hu it lt lv mt nl pl pt ro sk sl sv/;
74              
75             sub new
76             {
77 0     0 0   my $class=shift;
78 0           my $self=$class->SUPER::new(@_);
79 0           $self->{info}->{host_as_attr}=1;
80 0           $self->{info}->{contact_i18n}=1; ## LOC only
81 0           return $self;
82             }
83              
84 0     0 1   sub periods { return map { DateTime::Duration->new(years => $_) } (1..10); }
  0            
85 0     0 1   sub name { return 'EURid'; }
86 0     0 1   sub tlds { return ('eu'); }
87 0     0 1   sub object_types { return (qw/domain contact nsgroup keygroup/); }
88 0     0 0   sub profile_types { return qw/epp das whois das-registrar whois-registrar/; }
89              
90             sub transport_protocol_default
91             {
92 0     0 0   my ($self,$type)=@_;
93              
94 0 0         return ('Net::DRI::Transport::Socket',{remote_host=>'epp.tryout.registry.eu',remote_port=>700},'Net::DRI::Protocol::EPP::Extensions::EURid',{}) if $type eq 'epp';
95 0 0         return ('Net::DRI::Transport::Socket',{remote_host=>'das.eu'},'Net::DRI::Protocol::DAS',{no_tld=>1,version=>'2.0'}) if $type eq 'das';
96 0 0         return ('Net::DRI::Transport::Socket',{remote_host=>'whois.eu'},'Net::DRI::Protocol::Whois',{}) if $type eq 'whois';
97 0 0         return ('Net::DRI::Transport::Socket',{remote_host=>'das.registry.eu'},'Net::DRI::Protocol::DAS',{no_tld=>1,version=>'2.0'}) if $type eq 'das-registrar';
98 0 0         return ('Net::DRI::Transport::Socket',{remote_host=>'whois.registry.eu'},'Net::DRI::Protocol::Whois',{}) if $type eq 'whois-registrar';
99 0           return;
100             }
101              
102             ######################################################################################
103              
104             ## See terms_and_conditions_v1_0_.pdf, Section 2.2.ii
105             sub verify_name_domain
106             {
107 0     0 0   my ($self,$ndr,$domain,$op)=@_;
108 0           return $self->_verify_name_rules($domain,$op,{check_name => 1,
109             check_name_unicode => 1,
110             my_tld => 1,
111             min_length => 2,
112             no_double_hyphen_except_idn => 1, ## temporary bypass for IDNs
113             no_country_code => 1,
114             });
115             }
116              
117             # sub domain_check_contact_for_transfer
118             # {
119             # my ($self,$ndr,$domain,$rd)=@_;
120             # $self->enforce_domain_name_constraints($ndr,$domain,'check_contact_for_transfer');
121             #
122             # my $rc=$ndr->process('domain','check_contact_for_transfer',[$domain,$rd]);
123             # return $rc;
124             # }
125              
126             sub registrar_info
127             {
128 0     0 0   my ($self,$ndr)=@_;
129 0           my $rc=$ndr->process('registrar','info');
130 0           return $rc;
131             }
132              
133             # sub domain_remind
134             # {
135             # my ($self,$ndr,$domain,$rd)=@_;
136             # $self->enforce_domain_name_constraints($ndr,$domain,'remind');
137             #
138             # my $rc=$ndr->process('domain','remind',[$domain,$rd]);
139             # return $rc;
140             # }
141              
142             #################################################################################################################
143             1;