Class SessionTrackingControl

  • All Implemented Interfaces:
    Control, RequestControl, ResponseControl

    public class SessionTrackingControl
    extends AbstractControl
    implements RequestControl, ResponseControl
    Request/response control for session tracking. See https://tools.ietf.org/html/draft-wahl-ldap-session-03. Control is defined as:
       LDAPString ::= OCTET STRING -- UTF-8 encoded
       LDAPOID ::= OCTET STRING -- Constrained to numericoid
    
       SessionIdentifierControlValue ::= SEQUENCE {
       sessionSourceIp                 LDAPString,
       sessionSourceName               LDAPString,
       formatOID                       LDAPOID,
       sessionTrackingIdentifier       LDAPString
       }
     
    Note that criticality must be either false or absent.
    • Field Detail

      • RADIUS_ACCT_OID

        public static final String RADIUS_ACCT_OID
        OID for the Acct-Session-Id RADIUS attribute format.
        See Also:
        Constant Field Values
      • RADIUS_ACCT_MULTI_OID

        public static final String RADIUS_ACCT_MULTI_OID
        OID for the Acct-Multi-Session-Id RADIUS attribute format.
        See Also:
        Constant Field Values
      • USERNAME_ACCT_OID

        public static final String USERNAME_ACCT_OID
        OID for the SASL authorization identity string format.
        See Also:
        Constant Field Values
      • HASH_CODE_SEED

        private static final int HASH_CODE_SEED
        hash code seed.
        See Also:
        Constant Field Values
      • sessionSourceIp

        private String sessionSourceIp
        Session source ip.
      • sessionSourceName

        private String sessionSourceName
        Session source name.
      • formatOID

        private String formatOID
        Format OID.
      • sessionTrackingIdentifier

        private String sessionTrackingIdentifier
        Session tracking identifier.
    • Constructor Detail

      • SessionTrackingControl

        public SessionTrackingControl()
        Default constructor.
      • SessionTrackingControl

        public SessionTrackingControl​(boolean critical)
        Creates a new session tracking control.
        Parameters:
        critical - whether this control is critical
      • SessionTrackingControl

        public SessionTrackingControl​(String sourceIP,
                                      String sourceName,
                                      String oid,
                                      String trackingIdentifier)
        Creates a new session tracking control.
        Parameters:
        sourceIP - session source ip
        sourceName - session source name
        oid - format OID
        trackingIdentifier - session tracking identifier
      • SessionTrackingControl

        public SessionTrackingControl​(String sourceIP,
                                      String sourceName,
                                      String oid,
                                      String trackingIdentifier,
                                      boolean critical)
        Creates a new session tracking control.
        Parameters:
        sourceIP - session source ip
        sourceName - session source name
        oid - format OID
        trackingIdentifier - session tracking identifier
        critical - whether this control is critical
    • Method Detail

      • hasValue

        public boolean hasValue()
        Description copied from interface: RequestControl
        Returns whether the control has a value associated with it.
        Specified by:
        hasValue in interface RequestControl
        Returns:
        whether the control has a value
      • getSessionSourceIp

        public String getSessionSourceIp()
        Returns the session source ip.
        Returns:
        session source ip
      • setSessionSourceIp

        public void setSessionSourceIp​(String s)
        Sets the session source ip.
        Parameters:
        s - session source ip
      • getSessionSourceName

        public String getSessionSourceName()
        Returns the session source name.
        Returns:
        session source name
      • setSessionSourceName

        public void setSessionSourceName​(String s)
        Sets the session source name.
        Parameters:
        s - session source name
      • getFormatOID

        public String getFormatOID()
        Returns the format OID.
        Returns:
        format OID
      • setFormatOID

        public void setFormatOID​(String s)
        Sets the format OID.
        Parameters:
        s - format OID
      • getSessionTrackingIdentifier

        public String getSessionTrackingIdentifier()
        Returns the session tracking identifier.
        Returns:
        session tracking identifier
      • setSessionTrackingIdentifier

        public void setSessionTrackingIdentifier​(String s)
        Sets the session tracking identifier.
        Parameters:
        s - session tracking identifier
      • hashCode

        public int hashCode()
        Description copied from class: AbstractControl
        Returns the hash code for this object.
        Specified by:
        hashCode in class AbstractControl
        Returns:
        hash code
      • encode

        public byte[] encode()
        Description copied from interface: RequestControl
        Provides the BER encoding of this control.
        Specified by:
        encode in interface RequestControl
        Returns:
        BER encoded request control
      • decode

        public void decode​(DERBuffer encoded)
        Description copied from interface: ResponseControl
        Initializes this response control with the supplied BER encoded data.
        Specified by:
        decode in interface ResponseControl
        Parameters:
        encoded - BER encoded response control