Skip Menu |

This queue is for tickets about the Net-OpenSRS CPAN distribution.

Report information
The Basics
Id: 113312
Status: new
Priority: 0/
Queue: Net-OpenSRS

People
Owner: Nobody in particular
Requestors: ian.romansky [...] execulink.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: check_transfer() bug
Date: Thu, 24 Mar 2016 19:06:30 +0000
To: "bug-Net-OpenSRS [...] rt.cpan.org" <bug-Net-OpenSRS [...] rt.cpan.org>
From: Ian Romansky <ian.romansky [...] execulink.com>
Hi, The check_transfer() subroutine in Net::OpenSRS (starting on line 472) is supposed to find and return any transfers found in the system for a specific domain. If a domain transfer is found, it returns the following information, and deems the domain 'non-transferrable': contact_email status last_update_time If no domain transfer is found, it is deemed 'transferrable' and returns: transferrable (boolean) reason The problem is that this system will pick up status:'cancelled' transfer requests, and will assume that the domain isn't transferrable, when I've confirmed with OpenSRS that the domain is actually transferrable. The returned attributes from the API request (line 477): "transferrable" => 1, "noservice" => 0, "timestamp" => "Tue Feb 2 13:40:34 2016", "status" => "cancelled", "reason" => undef, "type" => "rsp2rsp", "unixtime" => "1454438434", "request_address" => "transfers\@private-whois.net" And check_transfer() returns: "status" => "cancelled", "reason" => "undef", "contact_email" => "transfers\@private-whois.net" This domain would be deemed non-transferrable since the "transferrable" value is never returned. Is this a legitimate problem? I'm surprised that this hasn't come up at all in the last 7 years, so I'm thinking this 'cancelled' status may have been a newer addition to the domain transfer system. The documentation is very clear and concise, but doesn't seem to acknowledge this scenario. ---- Recommended fix (line 490+): if ( $rv->{attributes}->{status} && $rv->{attributes}->{status} ne 'cancelled') { return { status => $rv->{attributes}->{status}, last_update_time => $rv->{attributes}->{unixtime}, contact_email => $rv->{attributes}->{request_address} }; } else { return $rv->{attributes}; #(transferrable bool and reason) } OR: if ( $rv->{attributes}->{status}) { my %ret = { status => $rv->{attributes}->{status}, last_update_time => $rv->{attributes}->{unixtime}, contact_email => $rv->{attributes}->{request_address} }; $ret{transferrable} = 1 if ($rv->{attributes}->{status} eq 'cancelled'); return \%ret; } else { return $rv->{attributes}; #(transferrable bool and reason) } ---- System info: cpan-installed Net::OpenSRS v0.07_01 Perl v5.10.1 x86_64-linux-thread-multi RHEL6 2.6.32-573.18.1.el6.x86_64 Distributor ID: RedHatEnterpriseServer Release: 6.7 If you need any more information, please inquire. execulink TELECOM Ian Romansky Software Developer 1127 Ridgeway Rd, Woodstock tel: 519.456.7200 ext. 517 toll free: 1.877.393.2854 email: ian.romansky@execulink.com<mailto:ian.romansky@execulink.com> www.execulink.ca<http://www.execulink.ca>