Class 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 gid
      Contains the group ID of caller supplied through credential.
      private int[] gids
      Contains a set of group IDs the caller belongs to, as supplied through credential.
      private java.lang.String machinename
      Contains the machine name of caller supplied through credential.
      static int[] NO_GIDS
      Contains an empty array of group IDs.
      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.
      private int stamp
      Contains timestamp as supplied through credential.
      private int uid
      Contains the user ID of caller supplied through credential.
    • Constructor Summary

      Constructors 
      Constructor Description
      OncRpcClientAuthUnix​(java.lang.String machinename, int uid, int gid)
      Constructs a new OncRpcClientAuthUnix authentication protocol handling object capable of handling AUTH_UNIX and AUTH_SHORT.
      OncRpcClientAuthUnix​(java.lang.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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean canRefreshCred()
      Indicates whether the ONC/RPC authentication credential can be refreshed.
      int getGid()
      Returns the group ID from the credential.
      int[] getGids()
      Returns the group IDs from the credential.
      java.lang.String getMachinename()
      Returns the machine name information from the credential.
      int getStamp()
      Returns the timestamp information from the credential.
      int getUid()
      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​(java.lang.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 xdrDecodeVerf​(XdrDecodingStream xdr)
      Decodes ONC/RPC authentication information in form of a verifier when receiving an ONC/RPC reply message.
      protected void xdrEncodeCredVerf​(XdrEncodingStream xdr)
      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 Detail

      • stamp

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

        private java.lang.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 Detail

      • OncRpcClientAuthUnix

        public OncRpcClientAuthUnix​(java.lang.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​(java.lang.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 Detail

      • xdrEncodeCredVerf

        protected void xdrEncodeCredVerf​(XdrEncodingStream xdr)
                                  throws OncRpcException,
                                         java.io.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.
        java.io.IOException - if an I/O error occurs.
      • xdrDecodeVerf

        protected void xdrDecodeVerf​(XdrDecodingStream xdr)
                              throws OncRpcException,
                                     java.io.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.
        java.io.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​(java.lang.String machinename)
        Sets the machine name information in the credential.
        Parameters:
        machinename - Machine name.
      • getMachinename

        public java.lang.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.