Class OncRpcClientAuthUnix

java.lang.Object
org.acplt.oncrpc.OncRpcClientAuth
org.acplt.oncrpc.OncRpcClientAuthUnix

public class OncRpcClientAuthUnix extends OncRpcClientAuth
The OncRpcClientAuthUnix class handles protocol issues of ONC/RPC AUTH_UNIX (and thus AUTH_SHORT) authentication.
Version:
$Revision: 1.1.1.1 $ $Date: 2003/08/13 12:03:40 $ $State: Exp $ $Locker: $
Author:
Harald Albrecht
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private int
    Contains the group ID of caller supplied through credential.
    private int[]
    Contains a set of group IDs the caller belongs to, as supplied through credential.
    private String
    Contains the machine name of caller supplied through credential.
    static final int[]
    Contains an empty array of group IDs.
    private byte[]
    Holds the "shorthand" credentials of type AUTH_SHORT optionally returned by an ONC/RPC server to be used on subsequent ONC/RPC calls.
    private int
    Contains timestamp as supplied through credential.
    private int
    Contains the user ID of caller supplied through credential.
  • Constructor Summary

    Constructors
    Constructor
    Description
    OncRpcClientAuthUnix(String machinename, int uid, int gid)
    Constructs a new OncRpcClientAuthUnix authentication protocol handling object capable of handling AUTH_UNIX and AUTH_SHORT.
    OncRpcClientAuthUnix(String machinename, int uid, int gid, int[] gids)
    Constructs a new OncRpcClientAuthUnix authentication protocol handling object capable of handling AUTH_UNIX and AUTH_SHORT.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
    Indicates whether the ONC/RPC authentication credential can be refreshed.
    int
    Returns the group ID from the credential.
    int[]
    Returns the group IDs from the credential.
    Returns the machine name information from the credential.
    int
    Returns the timestamp information from the credential.
    int
    Returns the user ID from the credential.
    void
    setGid(int gid)
    Sets the group ID in the credential.
    void
    setGids(int[] gids)
    Sets the group IDs in the credential.
    void
    setMachinename(String machinename)
    Sets the machine name information in the credential.
    void
    setStamp(int stamp)
    Sets the timestamp information in the credential.
    void
    setUid(int uid)
    Sets the user ID in the credential.
    protected void
    Decodes ONC/RPC authentication information in form of a verifier when receiving an ONC/RPC reply message.
    protected void
    Encodes ONC/RPC authentication information in form of a credential and a verifier when sending an ONC/RPC call message.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • stamp

      private int stamp
      Contains timestamp as supplied through credential.
    • machinename

      private String machinename
      Contains the machine name of caller supplied through credential.
    • uid

      private int uid
      Contains the user ID of caller supplied through credential.
    • gid

      private int gid
      Contains the group ID of caller supplied through credential.
    • gids

      private int[] gids
      Contains a set of group IDs the caller belongs to, as supplied through credential.
    • shorthandCred

      private byte[] shorthandCred
      Holds the "shorthand" credentials of type AUTH_SHORT optionally returned by an ONC/RPC server to be used on subsequent ONC/RPC calls.
    • NO_GIDS

      public static final int[] NO_GIDS
      Contains an empty array of group IDs.
  • Constructor Details

    • OncRpcClientAuthUnix

      public OncRpcClientAuthUnix(String machinename, int uid, int gid, int[] gids)
      Constructs a new OncRpcClientAuthUnix authentication protocol handling object capable of handling AUTH_UNIX and AUTH_SHORT.

      Please note that the credential information is typically only unique within a particular domain of machines, user IDs and group IDs.

      Parameters:
      machinename - Name of the caller's machine (like "ebankruptcy-dot-com", just for instance...).
      uid - Caller's effective user ID.
      gid - Caller's effective group ID.
      gids - Array of group IDs the caller is a member of.
    • OncRpcClientAuthUnix

      public OncRpcClientAuthUnix(String machinename, int uid, int gid)
      Constructs a new OncRpcClientAuthUnix authentication protocol handling object capable of handling AUTH_UNIX and AUTH_SHORT.

      Please note that the credential information is typically only unique within a particular domain of machines, user IDs and group IDs.

      Parameters:
      machinename - Name of the caller's machine (like "ebankruptcy-dot-com", just for instance...).
      uid - Caller's effective user ID.
      gid - Caller's effective group ID.
  • Method Details

    • xdrEncodeCredVerf

      protected void xdrEncodeCredVerf(XdrEncodingStream xdr) throws OncRpcException, IOException
      Encodes ONC/RPC authentication information in form of a credential and a verifier when sending an ONC/RPC call message. The AUTH_UNIX authentication method only uses the credential but no verifier. If the ONC/RPC server sent a AUTH_SHORT "shorthand" credential together with the previous reply message, it is used instead of the original credential.
      Specified by:
      xdrEncodeCredVerf in class OncRpcClientAuth
      Parameters:
      xdr - XDR stream where to encode the credential and the verifier to.
      Throws:
      OncRpcException - if an ONC/RPC error occurs.
      IOException - if an I/O error occurs.
    • xdrDecodeVerf

      protected void xdrDecodeVerf(XdrDecodingStream xdr) throws OncRpcException, IOException
      Decodes ONC/RPC authentication information in form of a verifier when receiving an ONC/RPC reply message.
      Specified by:
      xdrDecodeVerf in class OncRpcClientAuth
      Parameters:
      xdr - XDR stream from which to receive the verifier sent together with an ONC/RPC reply message.
      Throws:
      OncRpcAuthenticationException - if the received verifier is not kosher.
      OncRpcException - if an ONC/RPC error occurs.
      IOException - if an I/O error occurs.
    • canRefreshCred

      protected boolean canRefreshCred()
      Indicates whether the ONC/RPC authentication credential can be refreshed.
      Specified by:
      canRefreshCred in class OncRpcClientAuth
      Returns:
      true, if the credential can be refreshed
    • setStamp

      public void setStamp(int stamp)
      Sets the timestamp information in the credential.
      Parameters:
      stamp - New timestamp
    • getStamp

      public int getStamp()
      Returns the timestamp information from the credential.
      Returns:
      timestamp from credential.
    • setMachinename

      public void setMachinename(String machinename)
      Sets the machine name information in the credential.
      Parameters:
      machinename - Machine name.
    • getMachinename

      public String getMachinename()
      Returns the machine name information from the credential.
      Returns:
      machine name.
    • setUid

      public void setUid(int uid)
      Sets the user ID in the credential.
      Parameters:
      uid - User ID.
    • getUid

      public int getUid()
      Returns the user ID from the credential.
      Returns:
      user ID.
    • setGid

      public void setGid(int gid)
      Sets the group ID in the credential.
      Parameters:
      gid - Group ID.
    • getGid

      public int getGid()
      Returns the group ID from the credential.
      Returns:
      group ID.
    • setGids

      public void setGids(int[] gids)
      Sets the group IDs in the credential.
      Parameters:
      gids - Array of group IDs.
    • getGids

      public int[] getGids()
      Returns the group IDs from the credential.
      Returns:
      array of group IDs.