blob: 5b0a87b33ef753a5fe04e6cc9ec52ffdd9ac95f0 [file] [log] [blame]
<!--
! Licensed to the Apache Software Foundation (ASF) under one
! or more contributor license agreements. See the NOTICE file
! distributed with this work for additional information
! regarding copyright ownership. The ASF licenses this file
! to you under the Apache License, Version 2.0 (the
! "License"); you may not use this file except in compliance
! with the License. You may obtain a copy of the License at
!
! http://www.apache.org/licenses/LICENSE-2.0
!
! Unless required by applicable law or agreed to in writing, software
! distributed under the License is distributed on an "AS IS" BASIS,
! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
! See the License for the specific language governing permissions and
! limitations under the License.
!-->
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<body text="#000000" bgcolor="#ffffff" link="#9b37cc"
vlink="#cc1877" alink="#ffffff">
<a name="top">
<title>Release Notes for net.jini.jeri</title>
<center>
<h1><code>net.jini.jeri</code><br>
Apache River v3.0.0 Release Notes</h1>
</center>
<HR>
<UL>
<H3>Description</H3>
<p>The <a
href="../api/net/jini/jeri/package-summary.html"><code>net.jini.jeri</code></a>
package and its subpackages provide APIs for Jini extensible remote
invocation (Jini ERI) and several Jini ERI transport layer providers.
<H3>Changes since the v2.2.0 release</H3>
<li>[<a href='https://issues.apache.org/jira/browse/RIVER-397'>RIVER-397</a>] - Mux.start() can block indefinitely
</li>
<li>[<a href='https://issues.apache.org/jira/browse/RIVER-142'>RIVER-142</a>] - concurrency problem in DGC lease expiration handling
</li>
<H3>Changes since the v2.1.1 release</H3>
<li>[<a href='https://issues.apache.org/jira/browse/RIVER-22'>RIVER-22</a>] -
NPE in net.jini.jeri.tcp.TcpEndpoint$ConnectionImpl.checkConnectPermission
</li>
<li>[<a href='https://issues.apache.org/jira/browse/RIVER-209'>RIVER-209</a>] -
NullPointerException in SslConnection.checkConnectPermission()
</li>
<li>[<a href='https://issues.apache.org/jira/browse/RIVER-212'>RIVER-212</a>] -
use of &quot;enum&quot; as a variable name
</li>
<li>[<a href='https://issues.apache.org/jira/browse/RIVER-229'>RIVER-229</a>] -
reduce number of Reaper threads created by ConnectionManager
</li>
<li>[<a href='https://issues.apache.org/jira/browse/RIVER-230'>RIVER-230</a>] -
(mux) SelectionManager catch Error block assumes getMessage() returns non-null
</li>
<li>[<a href='https://issues.apache.org/jira/browse/RIVER-240'>RIVER-240</a>] -
BasicInvocationDispatcher.dispatch could log more info for some exceptions
</li>
<li>[<a href='https://issues.apache.org/jira/browse/RIVER-254'>RIVER-254</a>] -
request initiation can block on I/O for inapplicable connection
</li>
<H3>Changes since the v2.0.1 release</H3>
<dt><b>Multihomed host support</b></dt>
<dd>
<p>As recommended by RFC 1123, the transport endpoints now attempt connections
to all the IP addresses that a given host name may resolve to, instead of just
the first one.
</dd>
<dt><b>Trust verification restriction</b>
<dd><p><a
href="../api/net/jini/jeri/BasicJeriTrustVerifier.html"><code>BasicJeriTrustVerifier</code></a>
has been changed to trust fewer dynamic proxies. In particular, in addition to
implementing
<a href="../api/net/jini/core/constraint/RemoteMethodControl.html"><code>RemoteMethodControl</code></a>,
the dynamic proxy must now implement one or more well-formed remote interfaces
(ones that extend <code>Remote</code> and for which all methods declare
<code>RemoteException</code> or a superclass in their throws clause), and
must not implement any other interfaces except
<a href="../api/net/jini/security/proxytrust/TrustEquivalence.html"><code>TrustEquivalence</code></a>.
</dd>
<dt><b>New <code>BasicJeriTrustVerifier</code> <code>protected</code>
methods</b>
<dd><p><a
href="../api/net/jini/jeri/BasicJeriTrustVerifier.html"><code>BasicJeriTrustVerifier</code></a>
has five new <code>protected</code> methods to allow for more
convenient implementation of certain behaviors through subclassing:
<ul>
<li><a
href="../api/net/jini/jeri/BasicJeriTrustVerifier.html#hasTrustedProxyClass(java.lang.Object,%20net.jini.security.TrustVerifier.Context)"><code>hasTrustedProxyClass</code></a>
can be overridden by subclasses to control which dynamic proxy classes for
Jini ERI proxies are considered locally trusted.
<li><a
href="../api/net/jini/jeri/BasicJeriTrustVerifier.html#hasTrustedClassLoader(java.lang.Object,%20net.jini.security.TrustVerifier.Context)"><code>hasTrustedClassLoader</code></a>
can be overridden by subclasses to control the set of class loaders
for which the class of a Jini ERI proxy, when defined by one of those
loaders, is considered locally trusted.
<li><a
href="../api/net/jini/jeri/BasicJeriTrustVerifier.html#isTrustedProxyInterface(java.lang.Class,%20net.jini.security.TrustVerifier.Context)"><code>isTrustedProxyInterface</code></a>
can be overridden by subclasses to control which dynamic proxy interfaces for
Jini ERI proxies are considered locally trusted.
<li><a
href="../api/net/jini/jeri/BasicJeriTrustVerifier.html#isTrustedInvocationHandler(java.lang.reflect.InvocationHandler,%20net.jini.security.TrustVerifier.Context)"><code>isTrustedInvocationHandler</code></a>
can be overridden by subclasses to support verification of invocation
handlers that have a locally trusted class other than <a
href="../api/net/jini/jeri/BasicInvocationHandler.html"><code>BasicInvocationHandler</code></a>
(such as a subclass of <code>BasicInvocationHandler</code>).
<li><a
href="../api/net/jini/jeri/BasicJeriTrustVerifier.html#checkInvocationHandlerContent(net.jini.jeri.BasicInvocationHandler,%20net.jini.security.TrustVerifier.Context)"><code>checkInvocationHandlerContent</code></a>
can be invoked by subclasses that override
<code>isTrustedInvocationHandler</code> to perform the verification
steps that the default implementation of
<code>isTrustedInvocationHandler</code> would perform, except that the
class of the invocation handler is not required to be
<code>BasicInvocationHandler</code> exactly, so that trusted
subclasses can be supported.
</ul>
<hr>
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
<ul>
<a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>
</ul>
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
</body>
</html>