Version 2.4.0.5

Bug fixes

  • Removed an unnecessary reverse IP address lookup that could occur when receiving a request without a Host header, and no authority in the Request-URI. (#522070)

Version 2.4.0.4

Improvements

  • Use correct sent and received addresses in SAS summary messages for INCOMING_MESSAGE and OUTGOING_MESSAGE events. (HTTP-161)

  • Suppressed "Connection reset by peer" warning when clients request Connection: keep-alive but an intermediary e.g. a load balancer resets the TCP connection on idle. (HTTP-164)

Version 2.4.0.3

Warning
Known issues in this release
  • Responses to HEAD requests are not received. (HTTP-158)

Improvements

  • Add support for new SAS protocol message parameters (introduced in SAS V10.3) that allow HTTP call flow diagrams to be drawn correctly in cases where a load-balancing HTTP proxy is involved. To view the new fields in SAS V10.3, add message_id and call_info_id to the exported SAS bundle. (HTTP-152)

Version 2.4.0.2

  • Fixed a failure to report responses to outgoing messages when a second message was sent on the same channel before the response had arrived. (HTTP-150)

  • Add scope to X-Span-Id marker so it will be used for correlation. (HTTP-151)

Version 2.4.0.1

API and deployment changes

  • Resource adaptor functionality is now disabled if no valid license is found in a Rhino production instance. (HTTP-7)

  • All SLEE component versions have been updated to 2.4.

New features

  • Metaswitch Service Assurance Server (SAS) support. (HTTP-137)
    See the documentation for more information.

Version 2.3.0.5

  • Removed incorrect handling of "Expect: 100-continue" header. (HTTP-136)

Version 2.3.0.4

  • Fixed an AccessControlException thrown when creating HTTP messages in some circumstances. (HTTP-119)

  • Added an extra timeout to prevent threads blocking indefinitely on rare occasions when waiting for a response using the synchronous API. (HTTP-128)

  • The resource adaptor configuration property "MaxContentLength" default value has been increased from 256KB to 1024KB, and is now passed through to the transport layer. (HTTP-125)

Version 2.3.0.3

  • Add a getRequestURI() method to HttpRequest, to expose the Request-URI exactly as it appears in the Request-Line of a request. (HTTP-122)

Version 2.3.0.1

  • New method HttpResponse.isServerResponse() added to allow services to distinguish between responses coming from a remote server and the ones generated by the resource adaptor. Generated responses are listed in the documentation. (HTTP-91)

Version 2.3.0.0

API and deployment changes

  • From release 2.3.0, the HTTP resource adaptor requires Java 7.

  • All SLEE component versions have been updated to 2.3.

  • The version of Netty used by the HTTP transport layer has been upgraded to 4.0.28. (HTTP-80)

New features

  • Added support for marshalling of HTTP messages into a byte array that can be serialized (e.g., stored in a CMP field). This is available through new methods added in HTTP Provider. (HTTP-22)

  • If NeedClientAuth is set, then client certificates will be retrieved from the SSL session and made available via a new method on the request event object. (HTTP-44)

Bug fixes

  • A bug fixed in the new release of Netty eliminates a race condition which meant connections were not returned to the pool on rare occasions. After a long period this could result in no connections being available. (HTTP-94)

Version 2.2.0.10

  • Fixed a bug which caused HTTP message decoding errors under load when acting as a server. (HTTP-83)

  • Fixed a bug which leaked timer threads when a resource adaptor entity was deactivated and reactivated. (HTTP-79)

  • Added support for response content compression and decompression. These are activated by the new config properties: "AutomaticContentCompression" and "AutomaticContentDecompression". (HTTP-72)

Version 2.2.0.9

  • RA now responds with "HTTP/1.0 400 Bad Request" to HTTP Request containing invalid version before closing the connection. Previously connection was closed without a response. (HTTP-24)

  • Add bytesRx / bytesTx client and server RA statistics representing number of bytes received and number of bytes sent respectively. (HTTP-32)

  • Eagerly end activities when corresponding connection is closed by remote peer. Previously such activities where ended lazily when a response was sent by SBB. If response was never generated such an activity would be alive until administratively removed. (HTTP-61)

  • Fixed an issue where URLs of incoming requests were being created with the IP address and port of the client rather than the server. (HTTP-62)

Version 2.2.0.8

  • Add a new config property "BindAddresses" that allows a different bind address (network address and port combination) to be specified for each node in a cluster. It is a string property with the format "{node}address:port,{node}address:port,…​". This allows entities running on two nodes on the same host to use different ports, for example: "{101}0.0.0.0:8000,{102}0.0.0.0:8001". It also allows entities running on different hosts to specify an interface to listen on that is specific to each host, for example: "{101}192.168.1.100:8000,{102}192.168.1.101:8000". (HTTP-46)

  • Add a new config property "SecureBindAddresses" that works the same way as "BindAddresses", but for the HTTPS listeners. (HTTP-47)

  • Additional permissions have been added to allow keystores to be read from more locations without needing to update the security policy. The new locations are the files "http-ra.ks" and "http-ra.trust.ks" in the Rhino base directory (previously there was only a permission for http-ra.ks in the Rhino node directory), and anything in the "keystores" directory under Rhino base. (HTTP-59)

  • Removed the default values for ListenAddress and ListenPort from the resource adaptor configuration properties.

Version 2.2.0.7

  • Add a new config property "NeedClientAuth". When set to true it will set the same flag on the SSL Engine for incoming HTTPS connections, meaning a valid client certificate is required to connect. (HTTP-43)

Version 2.2.0.6

  • Fix a null pointer exception in inactive RA entities, when multiple RA entities exist. (HTTP-39)

Version 2.2.0.5

  • If the URL used to create a request has no path (e.g. "http://localhost"), use "/" as the requested resource. This restores the behaviour of previous releases. (HTTP-37)

Version 2.2.0.4

  • Fixed a bug that prevented response headers from being sent. (HTTP-36)

  • Fixed URL for Netty and Guava libraries in example deployment scripts. (HTTP-35)

Version 2.2.0.2

  • The HTTP transport layer used by the resource adaptor is now implemeted using Netty. (HTTP-28)

  • Added TLS support to the HTTP RA (for both incoming and outgoing connections). (HTTP-15)

  • The packaging of the libraries and examples for the HTTP RA has been improved. (HTTP-20)

  • Incoming requests will now timeout correctly and send an error answer to the client. (HTTP-2)

  • 100 Continue responses will not be fired as events and will not end the activity; the request will remain pending until the full response arrives. (HTTP-13)

  • Renamed ReconnectTimeout configuration property to NewConnectionDelay, which is a better description of its purpose. Changed its default value from 1500ms to 100ms. (HTTP-5)

  • Changed default value of configuration property MaxDepth from 5 to 1. (HTTP-5)

  • Changed default value of configuration property MaxOutgoingConnections from 5 to 30. (HTTP-5)

  • Tracer names are no longer prefixed with "resource.<entity name>". (HTTP-8)

  • An alarm is now raised if no valid license is found when activating HTTP and SOAP RAs. (HTTP-11)

  • The HTTP load generator that was in the old Web Connectivity Pack is not included in this HTTP package. (HTTP-26)