Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Net::EPP::Protocol(3) User Contributed Perl DocumentationNet::EPP::Protocol(3)

       Net::EPP::Protocol - Low-level functions	useful for both	EPP clients
       and servers.

	       use Net::EPP::Protocol;
	       use IO::Socket;
	       use strict;

	       # create	a socket:

	       my $socket = IO::Socket::INET->new( ... );

	       # send a	frame down the socket:

	       Net::EPP::Protocol->send_frame($socket, $xml);

	       # get a frame from the socket:

	       my $xml = Net::EPP::Protocol->get_frame($socket);

       EPP is the Extensible Provisioning Protocol. EPP	(defined in RFC	4930)
       is an application layer client-server protocol for the provisioning and
       management of objects stored in a shared	central	repository. Specified
       in XML, the protocol defines generic object management operations and
       an extensible framework that maps protocol operations to	objects. As of
       writing,	its only well-developed	application is the provisioning	of
       Internet	domain names, hosts, and related contact details.

       This module implements functions	that are common	to both	EPP clients
       and servers that	implement the TCP transport as defined in RFC 4934.
       The main	consumer of this module	is currently Net::EPP::Client.

       At least	one EPP	server implementation sends an unframed	plain text
       error message when a client connects from an unauthorised address. As a
       result, when the	first four bytes of the	message	are unpacked, the
       client tries to read and	allocate a very	large amount of	memory.

       If the apparent frame length received from a server exceeds the value
       of $Net::EPP::Protocol::THRESHOLD, the "get_frame()" method will	croak.

       The default value is 1GB.

	       my $xml = Net::EPP::Protocol->get_frame($socket);

       This method reads a frame from the socket and returns a scalar
       containing the XML. $socket must	be an IO::Handle or one	of its
       subclasses (ie "IO::Socket::*").

       If the transmission fails for whatever reason, this method will
       "croak()", so be	sure to	enclose	it in an "eval()".

	       Net::EPP::Protocol->send_frame($socket, $xml);

       This method prepares an RFC 4934	compliant EPP frame and	transmits it
       to the remote peer. $socket must	be an IO::Handle or one	of its
       subclasses (ie "IO::Socket::*").

       If the transmission fails for whatever reason, this method will
       "croak()", so be	sure to	enclose	it in an "eval()". Otherwise, it will
       return a	true value.

	       my $frame = Net::EPP::Protocol->prep_frame($xml);

       This method returns the XML frame in "wire format" with the protocol
       header prepended	to it. The return value	can be printed directly	to an
       open socket, for	example:

	       print STDOUT Net::EPP::Protocol->prep_frame($frame->toString);

       CentralNic Ltd (<>).

       This module is (c) 2016 CentralNic Ltd. This module is free software;
       you can redistribute it and/or modify it	under the same terms as	Perl

       o   Net::EPP::Client

       o   RFCs	4930 and RFC 4934, available from <>.

       o   The CentralNic EPP site at

perl v5.32.0			  2016-04-06		 Net::EPP::Protocol(3)


Want to link to this manual page? Use this URL:

home | help