Copyright (C) 2002, 2003  Internet Software Consortium.

Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

$Id: ISSUES.txt,v 1.8 2003/02/13 21:14:53 lidl Exp $

ISC OpenReg Operational Caveats
===============================

The ISC OpenReg software is currently available under pre-release
conditions: not all protocol features are complete, nor is full
compliance with the current Internet-Drafts of the EPP specification
provided.  This document attempts to provide a list of known
deficiencies in the code, in order to help avoid surprises for the
end-users of the software.


EPP Features Not Yet Supported
==============================

Pending Mode Operations
-----------------------
There is no support for "pending" mode operations.  EPP specifies
that registries provide a mechanism for deferring of database
updates until an external review process is performed on the
requested operation.  The current ISC OpenReg system does not
support a deferral mode of operation.

No support for "poll" command
-----------------------------
The current ISC OpenReg system does not support the EPP "poll"
command, which is how registrars receive notification of completion
of deferred operations and retrieve other operational messages
queued for that registry.

Transfer Operations Not Supported
---------------------------------
There is currently no support for transferring any objects in the
repository (contacts, domains, or implicit host transfers) from
one registrar to another registrar.

Incomplete AuthInfo Handling
----------------------------
AuthInfo objects can be set and modified on objects in the repository.
The AuthInfo objects are not currently checked for validity during
change/update operations.

Incomplete Status Permissions/Handling Support
----------------------------------------------
The status fields mechanism for EPP is very complex.  Objects in
the registry can have multiple simultaneous status conditions.
The current software allows for setting, deleting and changing
status fields for objects.  Any status fields set on objects will
be properly returned to clients in information requests.  The
registry system does not currently honor the meanings of the various
statuses that can be set on each object.  The system also does not
enforce proper conflict handling of status fields on objects.
Proper handling of status fields and enforcement of their restrictions
will be included in a future release.


ISC OpenReg Features and Limitations
====================================

These notes describe features and limitations of the current system
that are not related to the EPP protocol, but focus more on the
software that implements the registry system.

Support For Only A Single Apex
------------------------------
Only a single apex is currently handled by the system.  It is deemed
very important to be able to run multiple apexes from a single ISC
OpenReg system.  This support will be added in a future software
release.  This implies several significant changes to the software,
as permission mappings for registrars must be extended to check for
operational permissions in the relevant apex before any operations
can be performed.

Full Support for non-English Response Codes
-------------------------------------------
Currently, the ISC OpenReg software has partial support in its
internal infrastructure for returning error messages in non-English
languages.  This support is expected to be more fully implemented
in a future release.  Help in translating error messages into other
languages would be appreciated.

Performance Testing Tools
-------------------------
There are no comprehensive performance testing tools shipped with
the system.  A future release is expected to have some performance
measuring tools, so end users can maximize their performance on
their hardware platform.

Performance Tuning Documentation
--------------------------------
The current ISC OpenReg system is fairly complex and very modular,
using a message passing protocol between the various software
components.  A great deal of design engineering for this software
was spent ensuring that the software can be rather easily split
onto a cluster of machines.  This will allow for scaling of the
registry system to support of a very large installation.  The
software allows for splitting of the TLS processing and XML processing
onto separate hosts, as well as whois queries onto separate hosts.
The database processing can trivially be moved to separate host as
well.  By modularizing the software in this manner, greatly increased
performance can be realized.

No detailed documentation exists currently describing exactly how
to setup a multi-machine configuration for the ISC OpenReg software.
A future release will describe this configuration in more detail.

No Support for Database Replication
-----------------------------------
The original ISC OpenReg software specification documents a
transaction replication facility as part of the ISC OpenReg software.
This non-database supported replication facility is incomplete in
the current software release.  Support for the method of transaction
replication will be re-evaluated in a future software release.
Either support for the non-database based replication will be
finished, or a database backend specific replication method will
be used.

The basic database structures for the non-database based transaction
replication are present in the database schema that is currently
implemented.  The non-database transaction replication system does
not rely on a database specific replication/mirroring software
component.  While the independence of replication from the database
engine should make the ISC OpenReg system more easily portable to
other databases than the initial database platform, implementing
a replication system is non-trivial work, and will be carefully
evaluated in the future.

