LIBEPP-NICBR
Copyright (C) 2006-2026 Registro.br. All rights reserved.

About This Software
-------------------

This is the LIBEPP-NICBR C++ library that partially implements the
Extensible Provisioning Protocol (EPP), as described in the Internet
drafts RFC5730 to RFC5734 and RFC3735.

RFC5731 - EPP Domain Name Mapping - was implemented with hosts as
attributes of the Domain Object.

In order to conform to the .BR model, extensions to the EPP Domain
Name and Contact Mapping were made (draft-neves-epp-brdomain and
draft-neves-epp-brorg), supported since version 0.2. The documentation
for these extensions is available at EPP References.

The source code is known to compile on supported versions of FreeBSD, 
Linux. We successfully compiled it on Ubuntu 22.04 and 24.04 and
on FreeBSD 14.4. There is also a report of successful build
on MacOS X 15.2 using Brew.

Comments can be sent to <libepp at registro.br>.
Further information at https://registro.br/epp/


Restrictions
------------

- This release does not implement the transfer and delete commands for
  any object, nor it implements RFC5732 - EPP Host Mapping.

- Certificate validation not available.


Known Issues
------------

- Unit tests may fail due to a possible ratelimit when acessing the
  XML schema multiple times: https://www.w3.org/2001/XMLSchema.dtd


Brief Overview
--------------

include/   - All library header files

src/lib/   - EPP classes implementation

src/shepp/ - Interactive EPP shell client; type "?" inside it for online help

samples/   - A simple fully-commented sample client application

docs/      - XML schemas and templates for all implemented commands

lib/       - Where compiled libraries stay

unit_test/ - UnitTests for all library classes; also provide usage samples
