RFC 4422: tools.ietf.org/html/rfc4422
# 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
Create a SASL Mechanism for the named mechanism
mechanism |
|
# 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
Generated with the Darkfish Rdoc Generator 2.