SASL

RFC 4422: tools.ietf.org/html/rfc4422

Public Class Methods

new(mechanisms, preferences) click to toggle source
# File lib/sasl/base.rb, line 41
def SASL.new(mechanisms, preferences)
  best_mechanism = if preferences.want_anonymous? && mechanisms.include?('ANONYMOUS')
                     'ANONYMOUS'
                   elsif preferences.has_password?
                     if mechanisms.include?('DIGEST-MD5')
                       'DIGEST-MD5'
                     elsif preferences.allow_plaintext?
                       'PLAIN'
                     else
                       raise UnknownMechanism.new(mechanisms)
                     end
                   else
                     raise UnknownMechanism.new(mechanisms)
                   end
  new_mechanism(best_mechanism, preferences)
end
new_mechanism(mechanism, preferences) click to toggle source

Create a SASL Mechanism for the named mechanism

mechanism

String

mechanism name

# File lib/sasl/base.rb, line 62
def SASL.new_mechanism(mechanism, preferences)
  mechanism_class = case mechanism
                    when 'DIGEST-MD5'
                      DigestMD5
                    when 'PLAIN'
                      Plain
                    when 'ANONYMOUS'
                      Anonymous
                    else
                      raise UnknownMechanism.new(mechanism)
                    end
  mechanism_class.new(mechanism, preferences)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.