class RubySMB::Gss::Provider::Authenticator::Base

The base class for a GSS provider's unique authenticator. This provides a common interface and is not usable on it's own. The provider-specific authentication logic is defined within this authenticator class which actually runs the authentication routine.

Attributes

session_key[RW]

Public Class Methods

new(provider, server_client) click to toggle source

@param [Provider::Base] provider the GSS provider that this instance is an authenticator for @param server_client the client instance that this will be an authenticator for

# File lib/ruby_smb/gss/provider/authenticator.rb, line 13
def initialize(provider, server_client)
  @provider = provider
  @server_client = server_client
  @session_key = nil
  reset!
end

Public Instance Methods

process(request_buffer=nil) click to toggle source

Process a GSS authentication buffer. If no buffer is specified, the request is assumed to be the first in the negotiation sequence.

@param [String, nil] buffer the request GSS request buffer that should be processed @return [Gss::Provider::Result] the result of the processed GSS request

# File lib/ruby_smb/gss/provider/authenticator.rb, line 26
def process(request_buffer=nil)
  raise NotImplementedError
end
reset!() click to toggle source

Reset the authenticator's state, wiping anything related to a partial or complete authentication process.

# File lib/ruby_smb/gss/provider/authenticator.rb, line 33
def reset!
  @session_key = nil
end