NAME Bundle Software Development Kits Change Log Dotname SDK Changelog =================== Changes in version 1.2.0.2 (08.12.2008) ----------------------------------- * Added EPPUtil.removeWhitespace(String), EPPUtil.encodeIntegerList(Document, List, String), and EPPUtil.decodeIntegerList(Element, String, String). (James F. Gould) * Updated the description of the error text "Corresponding service exists" to "Corresponding Service exists that prohibits the operation" to the EPP-PersReg-Mapping.pdf to address a future server-side change. (James F. Gould) Changes in version 1.2.0.1 (27.10.2008) ----------------------------------- * Fixed EPPPurpose(boolean, boolean, boolean, boolean) constructor to set the property based on the parameters instead of setting the properties to false. Also updated EPPCodecTst.testGreeting to add assertions for the fix. (James F. Gould) * Added the initMaxActive EPPSessionPool property to set if at initialization whether maxActive sessions should be created. The default behavior is "false" which will create sessions on demand. (James F. Gould) * Added the for borrowRetries EPPSessionPool property to set the number of retries that should be executed if on call to borrowObject() or borrowObject(String) there is a failure getting/creating a session. The default value is 0 and setting the property to a positive value will result in one attempt plus the number of borrowRetries attempts. (James F. Gould) Changes in version 1.2.0.0 (16.01.2008) ----------------------------------- * In com.verisign.epp.codec.domain.EPPDomainTst, changed to load the EPPHostMapFactory prior to the EPPDomainMapFactory based on the dependency of the domain-1.0.xsd to the host-1.0.xsd. (James F. Gould) * Fixed issue that the XML Parser Pool needs to be initialized after the CODEC to properly pre-load all of the dependency XML schemas. (James F. Gould) * Changed (!theResponse instanceof CLASS) calls in EPPDomain.java, EPPHost.java, and EPPContact.java, EPPEmailFwd.java, EPPDefReg.java, EPPNameWatch.java to use the new EPPSession.processDocument(EPPCommand, Class) : EPPResponse calls to allow for the new EPPSession.MODE_ASYNC mode where null can be returned from EPPSession.processDocument(EPPCommand) and EPPSession.processDocument(EPPCommand, Class). (James F. Gould) * Added doAsyncPoll() to EPPSessionTst.java to test poll messaging with the EPPSession mode set to MODE_ASYNC. (James F. Gould) * Added MODE_SYNC constant, MODE_ASYNC constant, setMode(int) : int method, getMode() : int method, isModeSupported(int) : boolean method, processDocument(aCommand : EPPCommand, aExpectedResponse Class) method, readResponse() : EPPResponse to support asynchronous mode for implementing pipelining. (James F. Gould) * Added support for the EPP.ConfigFile Ant system property to explictely specifiy the location of the epp.config file for the emailfwd, defref, namewatch, and persreg tests. (James F. Gould) Changes in version 1.1.1.0 (26.09.2007) ----------------------------------- * Added "getXmlSchemas() : Set" method to EPPFactory, EPPMapFactory, EPPExtFactory, and the derived classes of EPPMapFactory and EPPExtFactory to specify the XML schemas that need to be pre-loaded. The schemaLocation attribute is optional with EPP RFC 4930, so dynamically loading the XML schemas will not consistently work. All XML schemas will be pre-loaded by EPPSchemaCachingParser based on the configured EPP.MapFactories and EPP.CmdRspExtensions. The order of the factories is signifant, where EPPHostMapFactory should precede EPPDomainMapFactory since the domain-1.0.xsd depends on the host-1.0.xsd. (James F. Gould) * Updated the gen, domain, host, contact, and tcp specifications and XML schemas to match the May 2007 RFC's. (James F. Gould) * Updated the copyright dates in license.txt to include 2004-2007. * Updated com.verisign.epp.domain.interfaces.EPPDomainTst, com.verisign.epp.domain.interfaces.EPPHostTst, com.verisign.epp.domain.interfaces.EPPContactTst to get the EPPResponse from the EPPCommandException within handleException(Exception) instead of relying on the EPPResponse.getResponse() method. (James F. Gould) * Updated com.verisign.epp.domain.interfaces.EPPDomain, com.verisign.epp.domain.interfaces.EPPHost, com.verisign.epp.domain.interfaces.EPPContact to not use a response attribute, but to use a local variable. Updated the getResponse() : EPPResponse method to call the session.getResponse() method to get the last response. (James F. Gould) * Updated EPPSession.processDocument to using the myResponse attribute instead of a local variable and to set it to null at the start of the method to properly support the public getResponse() : EPP Response method, which returns that last response of the last command if one was returned. (James F. Gould) * Added the EPP.MaxPacketSize configuration property to override the EPPXMLStream maximum packet size that was previous defined by the constant MAX_PACKET_SIZE. The EPPXMLStream.MAX_PACKET_SIZE has been renamed to EPPXMLStream.DEFAULT_MAX_PACKET_SIZE and used if the EPP.MaxPacketSize property is not set. (James F. Gould) * Added support for specifying a period of 0 to match the EPP specification as identified in SR 1288144. (James F. Gould) * Fixed EPPDomainInfoCmd.HOSTS_NONE constant to have a value of "none" instead of "del". (James F. Gould) * Updated EPPSession.endSession to ensure that the connection is closed even if the logout fails. (James F. Gould) * Added diagnostic logs to EPPSession to better track information associated with the state of the session. (James F. Gould) * Added EPPSessionPoolTst.testCloseSession() test and added a supporting change to GenHandler to test the server closing the connection before the client. (James F. Gould) * Added diagnostic logs to EPPServerThread to capture when a thread is started, when it is closing the connection, and when it is ending. (James F. Gould) * Changed "services mismatch" log from warn to debug level in EPPLoginCmd since this is a common use case. (James F. Gould) Changes in version 1.1.0.0 (25.09.2006) ----------------------------------- * Made EPPSession.endConnection public and added a call to EPPSession.endConnection within EPPSessionPoolableFactory.makeObject when an EPPCommandException is raised from EPPSession.initSession() which could cause a connection leak. (James F. Gould) * Updated EPPSessionPool to check that the aSession parameter is not null at the start of the invalidateObject and returnObject methods to ensure that numActive pool count does not go negative. which is an issue with the Jakarta Commons Object Pool. (James F. Gould) * Updated EPPSSLImpl.initialize() to reference EPPEnv.getSSLEnabledCipherSuites() and EPPEnv.getSSLEnabledProtocols. (James F. Gould) * Added EPPEnv.getSSLEnabledCipherSuites() : String[] based on the optional EPP.SSLEnabledCipherSuites property. (James F. Gould) * Added debug level logging of the supported protocols and cipher suites when a connection is made in com.verisign.epp.transport.client.EPPSSLClientSocket. (James F. Gould) * Updated gen epp.config and common-targets.xml to the com.verisign.epp.pool.EPPSystemSessionPoolTst test for local testing of the system pools under the gen build. (James F. Gould) * Allowed the setting of the authInfo when invoking any transfer operation with EPPDomain.sendTransfer(), EPPEmailFwd.sendTransfer(), EPPDefReg.sendTransfer(), and EPPNameWatch.sendTransfer(), which previously was only supported with the transfer request. This is based on SR 1156493. (James F. Gould) * Added support for mixed XML content in the msg element of the msgQ element of poll responses per SR #1020533 by updating EPPMsgQueue and adding a test case to EPPCodecTst. (James F. Gould) * Added support for timeinstant strings without the millisecond element in EPPUtil.decodeTimeInstance(String) : Date since milliseconds is optional. (James F. Gould) * Added optional EPP.SSLEnabledProtocols property based on SR #1017545. Added EPPEnv.getSSLEnabledProtocols() : String[], EPPSSLImpl.hasSSLEnabledProtocols() : boolean, and EPPSSLImpl.getSSLEnabledProtocols() : String[] methods. Updated EPPSSLClientSocket and HTTPSSocketFactory to set the enabled protocols based on the EPPSSL.getSSLEnabledProtocols method. (James F. Gould) Changes in version 1.0.3.0 (23.05.2006) ----------------------------------- * Explicitely set the pool minEvictableIdleTimeMillis configuration property to 0 in EPPSessionPool.initSinglePool and EPPSystemSessionPool.init to ensure that Generic Object Pool idle timeout checking is disabled. The EPPSessionPool handles EPP absoluate and idle timeouts. (James F. Gould) * Fix for SR #907237 where the epp.config Session Pool idleTimeout properties higher than timeBetweenEvictionRunsMillis properties resulted in the EPP Hello not be sent since the Evictor Thread called the EPPSessionPoolableFactory.passivateObject(Object) method which touched the session. The touch was moved up to EPPSessionPool.returnObject methods, removed from EPPSessionPoolableFactory, and a test was added to EPPSessionPoolTst for idle timeout. (James F. Gould). * Added test utility classes InvalidateSessionException and TestUtil, and updated EPPSessionPoolTst to use the new classes for providing a better sample of when to invalidate a session based on an exception. (James F. Gould) * Added the EPPResult.shouldCloseSession() : boolean method to for use in determine whether a server error should result in the closing/invalidation of the session. (James F. Gould) * Added support for either a boolean "1" or "true" and "0" or "false" in the EPPDomainCheckResult, EPPHostCheckResult, EPPEmailFwdCheckResult, and EPPDefRegCheckResult with use of new EPPUtil.decodeBooleanAttr and EPPUtil.encodeBooleanAttr methods. (James F. Gould) * Removed the validation for the authInfo with a transfer request in EPPNameWatchTransferCmd to allow the Stub Server to handle this validation. (James F. Gould) Changes in version 1.0.2.0 (21.12.2005) ----------------------------------- * Added handling empty reason element in EPPExtValue.decode(). (James F. Gould) * Fixed a bug in com.verisign.epp.codec.gen.EPPValue.decode where it required the namespace definition as an attribute of the sub-element. The namespace can now be defined anywhere in the XML. (James F. Gould) * Changed log level of services mismatch from error to warn in com.verisign.epp.codec.gen.EPPLoginCmd based on SR 652869. (James F. Gould) Changes in version 1.0.1.0 (14.11.2005) ----------------------------------- * Fixed an issue with EPPDomainInfoCmd when the hosts attribute is not set, which is the default, that caused the com.verisign.epp.codec.domain.EPPDomainTst test to fail. (James F. Gould) * Added the ability to set the client host name or IP address when creating a TCP or SSL connection. This ability was also added to the pools with the EPP.ClientHost or EPP.SessionPool..clientHost properties. Many files were modified to accommadate this feature. (James F. Gould) * Changed the EPPDomainPendActionMsg isSuccess and setSuccess methods to isPASuccess and setPASuccess so that they don't incorrectly override the same methods in the EPPResponse base class. Added additional codec and interfaces test code. (James F. Gould) * Fixed adding the svcExtension elements in EPPLoginCmd. The extservices attributes had to be set with EPPFactory.getInstance().getExtensions(). (James F. Gould)