You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by bu...@apache.org on 2010/12/24 22:05:30 UTC

svn commit: r781509 [1/3] - /websites/staging/river/trunk/content/river/doc/api/net/jini/jeri/kerberos/

Author: buildbot
Date: Fri Dec 24 21:05:29 2010
New Revision: 781509

Log:
Staging update by buildbot

Added:
    websites/staging/river/trunk/content/river/doc/api/net/jini/jeri/kerberos/
    websites/staging/river/trunk/content/river/doc/api/net/jini/jeri/kerberos/KerberosEndpoint.html
    websites/staging/river/trunk/content/river/doc/api/net/jini/jeri/kerberos/KerberosServerEndpoint.html
    websites/staging/river/trunk/content/river/doc/api/net/jini/jeri/kerberos/KerberosTrustVerifier.html
    websites/staging/river/trunk/content/river/doc/api/net/jini/jeri/kerberos/package-frame.html
    websites/staging/river/trunk/content/river/doc/api/net/jini/jeri/kerberos/package-summary.html
    websites/staging/river/trunk/content/river/doc/api/net/jini/jeri/kerberos/package-tree.html
    websites/staging/river/trunk/content/river/doc/api/net/jini/jeri/kerberos/package-use.html

Added: websites/staging/river/trunk/content/river/doc/api/net/jini/jeri/kerberos/KerberosEndpoint.html
==============================================================================
--- websites/staging/river/trunk/content/river/doc/api/net/jini/jeri/kerberos/KerberosEndpoint.html (added)
+++ websites/staging/river/trunk/content/river/doc/api/net/jini/jeri/kerberos/KerberosEndpoint.html Fri Dec 24 21:05:29 2010
@@ -0,0 +1,818 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_15) on Mon Mar 08 17:46:20 EST 2010 -->
+<TITLE>
+KerberosEndpoint (Apache River v2.1.2-SNAPSHOT API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="net.jini.jeri.kerberos.KerberosEndpoint class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="KerberosEndpoint (Apache River v2.1.2-SNAPSHOT API Documentation)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/KerberosEndpoint.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../net/jini/jeri/kerberos/KerberosServerEndpoint.html" title="class in net.jini.jeri.kerberos"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?net/jini/jeri/kerberos/KerberosEndpoint.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="KerberosEndpoint.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+net.jini.jeri.kerberos</FONT>
+<BR>
+Class KerberosEndpoint</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>net.jini.jeri.kerberos.KerberosEndpoint</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A>, <A HREF="../../../../net/jini/jeri/Endpoint.html" title="interface in net.jini.jeri">Endpoint</A>, <A HREF="../../../../net/jini/security/proxytrust/TrustEquivalence.html" title="interface in net.jini.security.proxytrust">TrustEquivalence</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public final class <B>KerberosEndpoint</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../net/jini/jeri/Endpoint.html" title="interface in net.jini.jeri">Endpoint</A>, <A HREF="../../../../net/jini/security/proxytrust/TrustEquivalence.html" title="interface in net.jini.security.proxytrust">TrustEquivalence</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Serializable.html" title="class or interface in java.io">Serializable</A></DL>
+</PRE>
+
+<P>
+An <A HREF="../../../../net/jini/jeri/Endpoint.html" title="interface in net.jini.jeri"><CODE>Endpoint</CODE></A> implementation that uses Kerberos as the
+ underlying network security protocol to support security related
+ invocation constraints its caller specified for the corresponding
+ remote request.  Instances of this class are referred to as the
+ endpoints of the Kerberos provider, while instances of <A HREF="../../../../net/jini/jeri/kerberos/KerberosServerEndpoint.html" title="class in net.jini.jeri.kerberos"><CODE>KerberosServerEndpoint</CODE></A> are referred to as the server endpoints of
+ the provider.<p>
+
+ Instances of this class are intended to be created by the <A HREF="../../../../net/jini/jeri/BasicJeriExporter.html" title="class in net.jini.jeri"><CODE>BasicJeriExporter</CODE></A> class when it calls <A HREF="../../../../net/jini/jeri/ServerEndpoint.html#enumerateListenEndpoints(net.jini.jeri.ServerEndpoint.ListenContext)"><CODE>enumerateListenEndpoints</CODE></A> on instances of
+ <code>KerberosServerEndpoint</code>. <p>
+
+ The <A HREF="../../../../net/jini/jeri/kerberos/KerberosTrustVerifier.html" title="class in net.jini.jeri.kerberos"><CODE>KerberosTrustVerifier</CODE></A> may be used for establishing
+ trust in remote proxies that use instances of this class. <p>
+
+ This class supports at least the following standard constraints: <p>
+
+ <ul>
+ <li><A HREF="../../../../net/jini/core/constraint/Integrity.html#YES"><CODE>Integrity.YES</CODE></A>
+ <li><A HREF="../../../../net/jini/core/constraint/Confidentiality.html" title="class in net.jini.core.constraint"><CODE>Confidentiality</CODE></A>
+ <li><A HREF="../../../../net/jini/core/constraint/ClientAuthentication.html#YES"><CODE>ClientAuthentication.YES</CODE></A>
+ <li><A HREF="../../../../net/jini/core/constraint/ConnectionAbsoluteTime.html" title="class in net.jini.core.constraint"><CODE>ConnectionAbsoluteTime</CODE></A>
+ <li><A HREF="../../../../net/jini/core/constraint/ServerAuthentication.html#YES"><CODE>ServerAuthentication.YES</CODE></A>
+ <li><A HREF="../../../../net/jini/core/constraint/ClientMaxPrincipal.html" title="class in net.jini.core.constraint"><CODE>ClientMaxPrincipal</CODE></A>, when it
+     contains at least one <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/javax/security/auth/kerberos/KerberosPrincipal.html" title="class or interface in javax.security.auth.kerberos"><CODE>KerberosPrincipal</CODE></A>
+ <li><A HREF="../../../../net/jini/core/constraint/ClientMaxPrincipalType.html" title="class in net.jini.core.constraint"><CODE>ClientMaxPrincipalType</CODE></A>, when
+     it contains the <code>KerberosPrincipal</code> class
+ <li><A HREF="../../../../net/jini/core/constraint/ClientMinPrincipal.html" title="class in net.jini.core.constraint"><CODE>ClientMinPrincipal</CODE></A>, when it
+     contains exactly one <code>KerberosPrincipal</code>
+ <li><A HREF="../../../../net/jini/core/constraint/ClientMinPrincipalType.html" title="class in net.jini.core.constraint"><CODE>ClientMinPrincipalType</CODE></A>, when
+     it contains only the <code>KerberosPrincipal</code> class
+ <li><A HREF="../../../../net/jini/core/constraint/ServerMinPrincipal.html" title="class in net.jini.core.constraint"><CODE>ServerMinPrincipal</CODE></A>, when it
+     contains exactly one <code>KerberosPrincipal</code>
+ <li><A HREF="../../../../net/jini/core/constraint/Delegation.html" title="class in net.jini.core.constraint"><CODE>Delegation</CODE></A>
+ <li><A HREF="../../../../net/jini/core/constraint/ConstraintAlternatives.html" title="class in net.jini.core.constraint"><CODE>ConstraintAlternatives</CODE></A>, if the
+     elements all have the same actual class and at least one
+     element is supported
+ </ul> <p>
+
+ An endpoint of this provider uses Kerberos Ticket Granting Tickets
+ (TGTs), which are stored as private credentials in the <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/javax/security/auth/Subject.html" title="class or interface in javax.security.auth"><CODE>Subject</CODE></A> associated with the access control context of the current
+ thread, to authenticate the caller of the remote request to the
+ server. <p>
+
+ A TGT is an instance of <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/javax/security/auth/kerberos/KerberosTicket.html" title="class or interface in javax.security.auth.kerberos"><CODE>KerberosTicket</CODE></A> whose server
+ principal is of the form <code>"krbtgt/REALM1@REALM2"</code>.  The
+ client principal of the TGT indicates what principal the endpoint
+ can use the TGT to authenticate the caller as to the server. <p>
+
+ Instances of this class contain a server host name, a server TCP
+ port number, a server principal, as well as an optional <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/javax/net/SocketFactory.html" title="class or interface in javax.net"><CODE>SocketFactory</CODE></A> for customizing the type of <code>Socket</code> to
+ use. <p>
+
+ A <code>SocketFactory</code> used with instances of this class
+ should be serializable, and should implement <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang"><CODE>Object.equals</CODE></A> to return <code>true</code> when passed an instance
+ that represents the same (functionally equivalent) socket
+ factory. <p>
+
+ To make a remote request through an endpoint of this provider, the
+ caller or initiator of the request supplies the endpoint with a set
+ of <code>InvocationConstraints</code>.  The client principal used
+ for the request is a <code>KerberosPrincipal</code> that appears in
+ the principal set of the current subject, allowable by the given
+ set of constraints, whose corresponding TGT is in the private
+ credential set of the subject, and the <code>connect</code>
+ <code>AuthenticationPermission</code> has been granted to the
+ current access control context with the client principal as the
+ <code>local</code> principal and the <code>serverPrincipal</code>
+ contained in this endpoint as the <code>peer</code> principal. <p>
+
+ If the set of constraints for the request specifies that encryption
+ and/or delegation is required or preferred, they will be enforced
+ by the provider.  If encryption is unspecified in the constraints,
+ the provider may or may not encrypt messages exchanged with the
+ server.  If delegation is unspecified in the constraints, the
+ provider will not do delegation for the request.  For delegation to
+ happen, the TGT for the request has to be forwardable. <p>
+
+ This class uses the <a
+ href="../connection/doc-files/mux.html">Jini extensible remote
+ invocation (Jini ERI) multiplexing protocol</a> to map outgoing
+ requests to the underlying secure connection streams. <p>
+
+ The secure connection streams in this provider are implemented
+ using the Kerberos Version 5 GSS-API Mechanism, defined in <a
+ href="http://www.ietf.org/rfc/rfc1964.txt">RFC 1964</a>, over
+ socket connections between client and server endpoints. <p>
+
+ Note that, because Kerberos inherently requires client authentication,
+ this transport provider does not support distributed garbage collection
+ (DGC); if DGC is enabled using <A HREF="../../../../net/jini/jeri/BasicJeriExporter.html" title="class in net.jini.jeri"><CODE>BasicJeriExporter</CODE></A>,
+ all DGC remote calls through this provider will silently fail.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+<DT><B>Author:</B></DT>
+  <DD>Sun Microsystems, Inc.</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../../net/jini/jeri/kerberos/KerberosServerEndpoint.html" title="class in net.jini.jeri.kerberos"><CODE>KerberosServerEndpoint</CODE></A>, 
+<A HREF="../../../../net/jini/jeri/kerberos/KerberosTrustVerifier.html" title="class in net.jini.jeri.kerberos"><CODE>KerberosTrustVerifier</CODE></A>, 
+<A HREF="../../../../serialized-form.html#net.jini.jeri.kerberos.KerberosEndpoint">Serialized Form</A><DT><B>Implementation Specifics:</B></DT>
+  <DD><!-- Implementation Specifics -->
+
+ This Kerberos provider implementation uses the <a
+ href="http://www.ietf.org/rfc/rfc2853.txt"> Java(TM) GSS-API</a> to
+ provide the underlying Kerberos network authentication protocol
+ support. <p>
+
+ The implementation does not automatically renew any renewable TGTs
+ in the <code>Subject</code> corresponding to any outbound
+ request. The assumption is that an endpoint of this provider should
+ merely be a consumer of the principals and credentials of the
+ <code>Subject</code>, and never change its content. But if new TGTs
+ are added into the <code>Subject</code> or old TGTs in the
+ <code>Subject</code> are renewed by means outside this provider,
+ the endpoint will pick up and use these new TGTs for new requests
+ after the old ones have expired. <p>
+
+ This class uses the following <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/Logger.html" title="class or interface in java.util.logging"><CODE>Logger</CODE></A> to log information at
+ the following logging levels: <p>
+
+ <table border="1" cellpadding="5" summary="Describes logging to the
+     client logger performed by endpoint classes in this package at
+     different logging levels">
+ 
+     <caption halign="center" valign="top"><b><code>
+        net.jini.jeri.kerberos.client</code></b></caption>
+ 
+     <tr> <th scope="col"> Level <th scope="col"> Description
+ 
+     <tr> <td> <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/Level.html#WARNING" title="class or interface in java.util.logging"><CODE>WARNING</CODE></A>
+          <td> failure to register with discovery provider
+     <tr> <td> <A HREF="../../../../com/sun/jini/logging/Levels.html#FAILED"><CODE>FAILED</CODE></A>
+          <td> problem to support constraint requirements, connect to
+               server through socket, establish <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/org/ietf/jgss/GSSContext.html" title="class or interface in org.ietf.jgss"><CODE>GSSContext</CODE></A> to server over established
+               connections, or wrap/unwrap GSS tokens
+     <tr> <td> <A HREF="../../../../com/sun/jini/logging/Levels.html#HANDLED"><CODE>HANDLED</CODE></A>
+          <td> exceptions caught attempting to set TCP no delay or keep
+               alive properties on sockets, connect a socket, or reuse
+               a connection
+     <tr> <td> <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/Level.html#FINE" title="class or interface in java.util.logging"><CODE>FINE</CODE></A>
+          <td> endpoint creation, <A HREF="../../../../net/jini/jeri/Endpoint.html#newRequest(net.jini.core.constraint.InvocationConstraints)"><CODE>newRequest</CODE></A>
+               invocation, request handle creation, connection
+               configuration decesions, socket creation, connection
+               open/close, connection reuse decesions,
+               <code>GSSContext</code> establishment
+     <tr> <td> <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/Level.html#FINEST" title="class or interface in java.util.logging"><CODE>FINEST</CODE></A>
+          <td> data message encoding/decoding using
+               <code>GSSContext</code>
+ </table> <p>
+
+ Instances of this class recognize the following system properties:
+ <p>
+ 
+ <ul>
+ <li>com.sun.jini.jeri.kerberos.KerberosEndpoint.minGssContextLifetime -
+     Minimum number of seconds of remaining lifetime a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/org/ietf/jgss/GSSContext.html" title="class or interface in org.ietf.jgss"><CODE>GSSContext</CODE></A> of an existing connection has to have before it can
+     be considered as a candidate connection to be chosen for a new
+     request. The default is 30.
+ <li>com.sun.jini.jeri.kerberos.KerberosEndpoint.maxGssContextRetries -
+     <a href="http://www.ietf.org/rfc/rfc1510.txt">RFC 1510</a>
+     specifies that if a KDC or server receives two authenticators
+     with the same client and server pair and timestamps of the
+     same microsecond, the second will be considered a replay
+     and will be rejected.  This means if multiple session ticket
+     requests of the same client and server principal pair and
+     microsecond timestamps are received at a KDC, only the first
+     one will succeed, and the rest will be considered replays
+     and will be rejected by the KDC.  For this reason, the Kerberos
+     provider catches the "replay" exception and retries the
+     corresponding <code>GSSContext</code> initialization
+     handshake.  This system property controls the maximum number
+     of retries a <code>KerberosEndpoint</code> will conduct.  The
+     default is 3.
+ </ul> <p></DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../net/jini/jeri/kerberos/KerberosEndpoint.html#checkTrustEquivalence(java.lang.Object)">checkTrustEquivalence</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;obj)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if the argument is an instance of
+ <code>KerberosEndpoint</code> with the same values for server
+ principal, server host, and port; and either both this instance
+ and the argument have <code>null</code> socket factories, or
+ the factories have the same actual class and are equal; and
+ returns <code>false</code> otherwise.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../net/jini/jeri/kerberos/KerberosEndpoint.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;obj)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Two instances of this class are equal if they contain the same
+ server principal, host, and port, and their socket factories
+ are both <code>null</code> or have the same actual class and
+ are equal.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../net/jini/jeri/kerberos/KerberosEndpoint.html#getHost()">getHost</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the server host that this endpoint connects to.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../../net/jini/jeri/kerberos/KerberosEndpoint.html" title="class in net.jini.jeri.kerberos">KerberosEndpoint</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../net/jini/jeri/kerberos/KerberosEndpoint.html#getInstance(java.lang.String, int, javax.security.auth.kerberos.KerberosPrincipal)">getInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;serverHost,
+            int&nbsp;serverPort,
+            <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/javax/security/auth/kerberos/KerberosPrincipal.html" title="class or interface in javax.security.auth.kerberos">KerberosPrincipal</A>&nbsp;serverPrincipal)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>KerberosEndpoint</code> instance for the given
+ server host name, TCP port number, and server
+ principal.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../../net/jini/jeri/kerberos/KerberosEndpoint.html" title="class in net.jini.jeri.kerberos">KerberosEndpoint</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../net/jini/jeri/kerberos/KerberosEndpoint.html#getInstance(java.lang.String, int, javax.security.auth.kerberos.KerberosPrincipal, javax.net.SocketFactory)">getInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;serverHost,
+            int&nbsp;serverPort,
+            <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/javax/security/auth/kerberos/KerberosPrincipal.html" title="class or interface in javax.security.auth.kerberos">KerberosPrincipal</A>&nbsp;serverPrincipal,
+            <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/javax/net/SocketFactory.html" title="class or interface in javax.net">SocketFactory</A>&nbsp;csf)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>KerberosEndpoint</code> instance for the given
+ server host name, TCP port number, server principal, and
+ <code>SocketFactory</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../net/jini/jeri/kerberos/KerberosEndpoint.html#getPort()">getPort</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the TCP port that this endpoint connects to.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/javax/security/auth/kerberos/KerberosPrincipal.html" title="class or interface in javax.security.auth.kerberos">KerberosPrincipal</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../net/jini/jeri/kerberos/KerberosEndpoint.html#getPrincipal()">getPrincipal</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the principal this endpoint requires the server
+ to authenticate as.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/javax/net/SocketFactory.html" title="class or interface in javax.net">SocketFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../net/jini/jeri/kerberos/KerberosEndpoint.html#getSocketFactory()">getSocketFactory</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the <code>SocketFactory</code> that this endpoint uses
+ to create <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/net/Socket.html" title="class or interface in java.net"><CODE>Socket</CODE></A> objects.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../net/jini/jeri/kerberos/KerberosEndpoint.html#hashCode()">hashCode</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a hash code value for this object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../net/jini/jeri/OutboundRequestIterator.html" title="interface in net.jini.jeri">OutboundRequestIterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../net/jini/jeri/kerberos/KerberosEndpoint.html#newRequest(net.jini.core.constraint.InvocationConstraints)">newRequest</A></B>(<A HREF="../../../../net/jini/core/constraint/InvocationConstraints.html" title="class in net.jini.core.constraint">InvocationConstraints</A>&nbsp;constraints)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an <code>OutboundRequestIterator</code> to use to send
+ a new request to this remote endpoint using the specified
+ constraints.
+
+ The returned <code>OutboundRequestIterator</code>'s <A HREF="../../../../net/jini/jeri/OutboundRequestIterator.html#next()"><CODE>next</CODE></A> method behaves as follows:
+
+ 
+
+ Initiates an attempt to communicate the request to this remote
+ endpoint.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../net/jini/jeri/kerberos/KerberosEndpoint.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a string representation of this endpoint.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/
 docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getInstance(java.lang.String, int, javax.security.auth.kerberos.KerberosPrincipal)"><!-- --></A><H3>
+getInstance</H3>
+<PRE>
+public static <A HREF="../../../../net/jini/jeri/kerberos/KerberosEndpoint.html" title="class in net.jini.jeri.kerberos">KerberosEndpoint</A> <B>getInstance</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;serverHost,
+                                           int&nbsp;serverPort,
+                                           <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/javax/security/auth/kerberos/KerberosPrincipal.html" title="class or interface in javax.security.auth.kerberos">KerberosPrincipal</A>&nbsp;serverPrincipal)</PRE>
+<DL>
+<DD>Returns a <code>KerberosEndpoint</code> instance for the given
+ server host name, TCP port number, and server
+ principal. Internally this endpoint uses <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/net/Socket.html" title="class or interface in java.net"><CODE>Socket</CODE></A> objects
+ to connect to its server endpoint.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHost</CODE> - the host for the endpoint to connect to<DD><CODE>serverPort</CODE> - the TCP port on the given host for the
+        endpoint to connect to<DD><CODE>serverPrincipal</CODE> - principal the server can authenticate as
+<DT><B>Returns:</B><DD>a <code>KerberosEndpoint</code> instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/NullPointerException.html" title="class or interface in java.lang">NullPointerException</A></CODE> - if <code>serverHost</code> or
+         <code>serverPrincipal</code> is <code>null</code>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if <code>serverPort</code> is
+         not in the range of <code>1</code> to
+         <code>65535</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInstance(java.lang.String, int, javax.security.auth.kerberos.KerberosPrincipal, javax.net.SocketFactory)"><!-- --></A><H3>
+getInstance</H3>
+<PRE>
+public static <A HREF="../../../../net/jini/jeri/kerberos/KerberosEndpoint.html" title="class in net.jini.jeri.kerberos">KerberosEndpoint</A> <B>getInstance</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A>&nbsp;serverHost,
+                                           int&nbsp;serverPort,
+                                           <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/javax/security/auth/kerberos/KerberosPrincipal.html" title="class or interface in javax.security.auth.kerberos">KerberosPrincipal</A>&nbsp;serverPrincipal,
+                                           <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/javax/net/SocketFactory.html" title="class or interface in javax.net">SocketFactory</A>&nbsp;csf)</PRE>
+<DL>
+<DD>Returns a <code>KerberosEndpoint</code> instance for the given
+ server host name, TCP port number, server principal, and
+ <code>SocketFactory</code>.
+
+ <p>If the socket factory argument is <code>null</code>, then
+ this endpoint will create <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/net/Socket.html" title="class or interface in java.net"><CODE>Socket</CODE></A> objects directly.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverHost</CODE> - the host for the endpoint to connect to<DD><CODE>serverPort</CODE> - the TCP port on the given host for the
+        endpoint to connect to<DD><CODE>serverPrincipal</CODE> - principal the server can authenticate as<DD><CODE>csf</CODE> - the <code>SocketFactory</code> to use for this
+        <code>KerberosEndpoint</code>, or <code>null</code>
+<DT><B>Returns:</B><DD>a <code>KerberosEndpoint</code> instance
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/NullPointerException.html" title="class or interface in java.lang">NullPointerException</A></CODE> - if <code>serverHost</code> or
+         <code>serverPrincipal</code> is <code>null</code>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/IllegalArgumentException.html" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if <code>serverPort</code> is
+         not in the range of <code>1</code> to
+         <code>65535</code><DT><B>See Also:</B><DD><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/javax/net/SocketFactory.html" title="class or interface in javax.net"><CODE>SocketFactory</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getHost()"><!-- --></A><H3>
+getHost</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>getHost</B>()</PRE>
+<DL>
+<DD>Returns the server host that this endpoint connects to.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the server host that this endpoint connects to</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPort()"><!-- --></A><H3>
+getPort</H3>
+<PRE>
+public int <B>getPort</B>()</PRE>
+<DL>
+<DD>Returns the TCP port that this endpoint connects to.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the TCP port that this endpoint connects to</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPrincipal()"><!-- --></A><H3>
+getPrincipal</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/javax/security/auth/kerberos/KerberosPrincipal.html" title="class or interface in javax.security.auth.kerberos">KerberosPrincipal</A> <B>getPrincipal</B>()</PRE>
+<DL>
+<DD>Returns the principal this endpoint requires the server
+ to authenticate as.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the server principal</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSocketFactory()"><!-- --></A><H3>
+getSocketFactory</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/javax/net/SocketFactory.html" title="class or interface in javax.net">SocketFactory</A> <B>getSocketFactory</B>()</PRE>
+<DL>
+<DD>Returns the <code>SocketFactory</code> that this endpoint uses
+ to create <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/net/Socket.html" title="class or interface in java.net"><CODE>Socket</CODE></A> objects.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the socket factory that this endpoint uses to create
+         sockets, or <code>null</code> if no factory is used</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="newRequest(net.jini.core.constraint.InvocationConstraints)"><!-- --></A><H3>
+newRequest</H3>
+<PRE>
+public <A HREF="../../../../net/jini/jeri/OutboundRequestIterator.html" title="interface in net.jini.jeri">OutboundRequestIterator</A> <B>newRequest</B>(<A HREF="../../../../net/jini/core/constraint/InvocationConstraints.html" title="class in net.jini.core.constraint">InvocationConstraints</A>&nbsp;constraints)</PRE>
+<DL>
+<DD>Returns an <code>OutboundRequestIterator</code> to use to send
+ a new request to this remote endpoint using the specified
+ constraints.
+
+ <p>The constraints must be the complete, absolute constraints
+ for the request.
+
+ <p>The returned <code>OutboundRequestIterator</code>'s <A HREF="../../../../net/jini/jeri/OutboundRequestIterator.html#next()"><CODE>next</CODE></A> method behaves as follows:
+
+ <blockquote>
+
+ Initiates an attempt to communicate the request to this remote
+ endpoint.
+
+ <p>When the implementation of this method needs to create a new
+ <code>Socket</code>, it will do so by invoking one of the
+ <code>createSocket</code> methods on the
+ <code>SocketFactory</code> of this <code>KerberosEndpoint</code>
+ (which produced this iterator) if non-<code>null</code>, or it
+ will create a <code>Socket</code> directly otherwise.
+
+ <p>When the implementation needs to connect a
+ <code>Socket</code>, if the host name to connect to (this
+ <code>KerberosEndpoint</code>'s host name) resolves to multiple
+ addresses (according to <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/net/InetAddress.html#getAllByName(java.lang.String)" title="class or interface in java.net"><CODE>InetAddress.getAllByName</CODE></A>), it attempts to connect to the first
+ resolved address; if that attempt fails with an
+ <code>IOException</code> or a <code>SecurityException</code>,
+ it then attempts to connect to the next address; and this
+ iteration continues as long as there is another resolved
+ address and the attempt to connect to the previous address
+ fails with an <code>IOException</code> or a
+ <code>SecurityException</code>.  If the host name resolves to
+ just one address, the implementation makes one attempt to
+ connect to that address.  If the host name does not resolve to
+ any addresses (<code>InetAddress.getAllByName</code> would
+ throw an <code>UnknownHostException</code>), the implementation
+ still makes an attempt to connect the <code>Socket</code> to
+ that host name, which could result in an
+ <code>UnknownHostException</code>.  If the final connection
+ attempt fails with an <code>IOException</code> or a
+ <code>SecurityException</code>, then if any connection attempt
+ failed with an <code>IOException</code>, this method throws an
+ <code>IOException</code>, and otherwise (if all connection
+ attempts failed with a <code>SecurityException</code>), this
+ method throws a <code>SecurityException</code>.
+
+ <p>If there is a security manager:
+
+ <ul>
+
+ <li>If a new connection is to be created, the security
+ manager's <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/SecurityManager.html#checkConnect(java.lang.String, int)" title="class or interface in java.lang"><CODE>checkConnect</CODE></A> method is invoked with this
+ <code>KerberosEndpoint</code>'s host and <code>-1</code> for the
+ port; if this results in a <code>SecurityException</code>, this
+ method throws that exception.  <code>checkConnect</code> is
+ also invoked for each connection attempt, with the remote IP
+ address (or the host name, if it could not be resolved) and
+ port to connect to; this could result in a
+ <code>SecurityException</code> for that attempt.  (Note that
+ the implementation may carry out these security checks
+ indirectly, such as through invocations of
+ <code>InetAddress.getAllByName</code> or <code>Socket</code>'s
+ constructors or <code>connect</code> method.)
+
+ <li><p>In order to reuse an existing connection for the
+ communication, the current security context must have the
+ <code>KerberosPrincipal</code>, and permissions required to use it,
+ that would be necessary if the the connection were being created.  In
+ addition, it must be possible to invoke <code>checkConnect</code> in the
+ current security context with this <code>KerberosEndpoint</code>'s host
+ and <code>-1</code> for the port without resulting in a
+ <code>SecurityException</code>, and it also must be possible to invoke
+ <code>checkConnect</code> with the remote IP address and port
+ of the <code>Socket</code> without resulting in a
+ <code>SecurityException</code> (if the remote socket address is
+ unresolved, its host name is used instead).  If no existing
+ connection satisfies these requirements, then this method must
+ behave as if there are no existing connections.
+
+ </ul>
+
+ <p>Throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/NoSuchElementException.html" title="class or interface in java.util"><CODE>NoSuchElementException</CODE></A>
+ if this iterator does not support making another attempt to communicate
+ the request (that is, if <code>hasNext</code> would return
+ <code>false</code>).
+
+ <p>Throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html" title="class or interface in java.io"><CODE>IOException</CODE></A> if an I/O exception occurs while
+ performing this operation, such as if a connection attempt
+ timed out or was refused or there are unsupported or conflicting
+ constraints.
+
+ <p>Throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/SecurityException.html" title="class or interface in java.lang"><CODE>SecurityException</CODE></A> if there is a security
+ manager and an invocation of its <code>checkConnect</code>
+ method fails.  Also, a <code>SecurityException</code> may be thrown if
+ the caller does not have the appropriate
+ <code>AuthenticationPermission</code>.
+
+ </blockquote>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jini/jeri/Endpoint.html#newRequest(net.jini.core.constraint.InvocationConstraints)">newRequest</A></CODE> in interface <CODE><A HREF="../../../../net/jini/jeri/Endpoint.html" title="interface in net.jini.jeri">Endpoint</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>constraints</CODE> - the complete, absolute constraints
+<DT><B>Returns:</B><DD>an <code>OutboundRequestIterator</code> to use to send
+ a new request to this remote endpoint
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/NullPointerException.html" title="class or interface in java.lang">NullPointerException</A></CODE> - if <code>constraints</code> is
+ <code>null</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="checkTrustEquivalence(java.lang.Object)"><!-- --></A><H3>
+checkTrustEquivalence</H3>
+<PRE>
+public boolean <B>checkTrustEquivalence</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;obj)</PRE>
+<DL>
+<DD>Returns <code>true</code> if the argument is an instance of
+ <code>KerberosEndpoint</code> with the same values for server
+ principal, server host, and port; and either both this instance
+ and the argument have <code>null</code> socket factories, or
+ the factories have the same actual class and are equal; and
+ returns <code>false</code> otherwise.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/jini/security/proxytrust/TrustEquivalence.html#checkTrustEquivalence(java.lang.Object)">checkTrustEquivalence</A></CODE> in interface <CODE><A HREF="../../../../net/jini/security/proxytrust/TrustEquivalence.html" title="interface in net.jini.security.proxytrust">TrustEquivalence</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>obj</CODE> - object to check that is not yet known to be trusted
+<DT><B>Returns:</B><DD><code>true</code> if the specified object (that is not yet
+ known to be trusted) is equivalent in trust, content, and function to
+ this known trusted object, and returns <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hashCode()"><!-- --></A><H3>
+hashCode</H3>
+<PRE>
+public int <B>hashCode</B>()</PRE>
+<DL>
+<DD>Returns a hash code value for this object.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A>&nbsp;obj)</PRE>
+<DL>
+<DD>Two instances of this class are equal if they contain the same
+ server principal, host, and port, and their socket factories
+ are both <code>null</code> or have the same actual class and
+ are equal.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD>Returns a string representation of this endpoint.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/KerberosEndpoint.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../net/jini/jeri/kerberos/KerberosServerEndpoint.html" title="class in net.jini.jeri.kerberos"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?net/jini/jeri/kerberos/KerberosEndpoint.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="KerberosEndpoint.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright 2007, multiple authors.<br>Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="child" >Apache License, Version 2.0</a>, see the <a href="../../../../doc-files/NOTICE" target="child" >NOTICE</a> file for attributions.
+</BODY>
+</HTML>