in lib/omniauth-ldap/adaptor.rb [185:199]
def sasl_bind_setup_gss_spnego(options)
bind_dn = options[:username]
psw = options[:password]
raise LdapError.new( "invalid binding information" ) unless (bind_dn && psw)
nego = proc {|challenge|
t2_msg = Net::NTLM::Message.parse( challenge )
bind_dn, domain = bind_dn.split('\\').reverse
t2_msg.target_name = Net::NTLM::encode_utf16le(domain) if domain
t3_msg = t2_msg.response( {:user => bind_dn, :password => psw}, {:ntlmv2 => true} )
t3_msg.serialize
}
[Net::NTLM::Message::Type1.new.serialize, nego]
end