Class ConnectionContext

java.lang.Object
com.hierynomus.smbj.connection.ConnectionContext

public class ConnectionContext extends Object
  • Field Details

  • Constructor Details

    • ConnectionContext

      ConnectionContext(UUID clientGuid, String hostname, int port, SmbConfig config)
  • Method Details

    • negotiated

      void negotiated(SMBProtocolNegotiator.NegotiationContext negotiationContext)
    • getClientGuid

      public UUID getClientGuid()
    • isServerRequiresSigning

      public boolean isServerRequiresSigning()
    • isServerSigningEnabled

      public boolean isServerSigningEnabled()
    • getServerSecurityMode

      int getServerSecurityMode()
    • getServerCapabilities

      Set<SMB2GlobalCapability> getServerCapabilities()
    • getNegotiatedProtocol

      public NegotiatedProtocol getNegotiatedProtocol()
    • getGssNegotiateToken

      public byte[] getGssNegotiateToken()
    • getServerGuid

      public UUID getServerGuid()
    • getServerName

      public String getServerName()
    • supports

      private boolean supports(SMB2GlobalCapability capability)
    • getClientCapabilities

      public EnumSet<SMB2GlobalCapability> getClientCapabilities()
    • getWindowsVersion

      public WindowsVersion getWindowsVersion()
    • setWindowsVersion

      public void setWindowsVersion(WindowsVersion windowsVersion)
    • getNetBiosName

      public String getNetBiosName()
    • setNetBiosName

      public void setNetBiosName(String netBiosName)
    • getCipherId

      public SMB3EncryptionCipher getCipherId()
    • supportsEncryption

      public boolean supportsEncryption()
    • clientPrefersEncryption

      public boolean clientPrefersEncryption()
      Indicates that the client prefers encryption on this connection. This will only be enabled if the established Session has an encryptionkey set.
      Returns:
      true iff the negotiated protocol is at least SMB3 and both client and server have indicated they support encryption
    • supportsDFS

      public boolean supportsDFS()
    • supportsFileLeasing

      public boolean supportsFileLeasing()
      If the client implements SMB 2.1 or SMB 3.x dialect family, the client MUST perform the following: If SMB2_GLOBAL_CAP_LEASING is set in the Capabilities field of the SMB2 NEGOTIATE Response, the client MUST set Connection.SupportsFileLeasing to TRUE. Otherwise, it MUST be set to FALSE.
      Returns:
    • supportsMultiCredit

      public boolean supportsMultiCredit()
      If the client implements SMB 2.1 or SMB 3.x dialect family, the client MUST perform the following: If SMB2_GLOBAL_CAP_LARGE_MTU is set in the Capabilities field of the SMB2 NEGOTIATE Response, the client MUST set Connection.SupportsMultiCredit to TRUE. Otherwise, it MUST be set to FALSE.
      Returns:
    • supportsDirectoryLeasing

      public boolean supportsDirectoryLeasing()
      If Connection.Dialect belongs to the SMB 3.x dialect family, the client MUST perform the following: If SMB2_GLOBAL_CAP_DIRECTORY_LEASING is set in the Capabilities field of the SMB2 NEGOTIATE Response, the client MUST set Connection.SupportsDirectoryLeasing to TRUE. Otherwise, it MUST be set to FALSE.
      Returns:
    • supportsMultiChannel

      public boolean supportsMultiChannel()
      If Connection.Dialect belongs to the SMB 3.x dialect family, the client MUST perform the following: If SMB2_GLOBAL_CAP_MULTI_CHANNEL is set in the Capabilities field of the SMB2 NEGOTIATE Response, the client MUST set Connection.SupportsMultiChannel to TRUE. Otherwise, it MUST be set to FALSE.
      Returns:
    • getTimeOffsetMillis

      public Long getTimeOffsetMillis()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getServer

      public Server getServer()
    • setServer

      public void setServer(Server server)
    • getPreauthIntegrityHashId

      public SMB3HashAlgorithm getPreauthIntegrityHashId()
    • getPreauthIntegrityHashValue

      public byte[] getPreauthIntegrityHashValue()
    • getCompressionIds

      public Set<SMB3CompressionAlgorithm> getCompressionIds()