Sha256: 6f5938dd96d5ff697b1d3a7d8adbaba7064e4824d4c33f0c9d51e27d75f15518

Contents?: true

Size: 895 Bytes

Versions: 17

Compression:

Stored size: 895 Bytes

Contents

# frozen_string_literal: true
class NTLMServlet < WEBrick::HTTPServlet::AbstractServlet

  def do_GET(req, res)
    if req['Authorization'] =~ /^NTLM (.*)/ then
      authorization = $1.unpack('m*').first

      if authorization =~ /^NTLMSSP\000\001/ then
        type_2 = 'TlRMTVNTUAACAAAADAAMADAAAAABAoEAASNFZ4mr' \
          'ze8AAAAAAAAAAGIAYgA8AAAARABPAE0AQQBJAE4A' \
          'AgAMAEQATwBNAEEASQBOAAEADABTAEUAUgBWAEUA' \
          'UgAEABQAZABvAG0AYQBpAG4ALgBjAG8AbQADACIA' \
          'cwBlAHIAdgBlAHIALgBkAG8AbQBhAGkAbgAuAGMA' \
          'bwBtAAAAAAA='

        res['WWW-Authenticate'] = "NTLM #{type_2}"
        res.status = 401
      elsif authorization =~ /^NTLMSSP\000\003/ then
        res.body = 'ok'
      else
        res['WWW-Authenticate'] = 'NTLM'
        res.status = 401
      end
    else
      res['WWW-Authenticate'] = 'NTLM'
      res.status = 401
    end
  end

end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
mechanize-2.14.0 lib/mechanize/test_case/ntlm_servlet.rb
mechanize-2.13.0 lib/mechanize/test_case/ntlm_servlet.rb
mechanize-2.12.2 lib/mechanize/test_case/ntlm_servlet.rb
mechanize-2.12.1 lib/mechanize/test_case/ntlm_servlet.rb
mechanize-2.12.0 lib/mechanize/test_case/ntlm_servlet.rb
mechanize-2.11.0 lib/mechanize/test_case/ntlm_servlet.rb
mechanize-2.10.1 lib/mechanize/test_case/ntlm_servlet.rb
mechanize-2.10.0 lib/mechanize/test_case/ntlm_servlet.rb
mechanize-2.9.2 lib/mechanize/test_case/ntlm_servlet.rb
mechanize-2.9.1 lib/mechanize/test_case/ntlm_servlet.rb
mechanize-2.9.0 lib/mechanize/test_case/ntlm_servlet.rb
mechanize-2.8.5 lib/mechanize/test_case/ntlm_servlet.rb
mechanize-2.8.4 lib/mechanize/test_case/ntlm_servlet.rb
mechanize-2.8.3 lib/mechanize/test_case/ntlm_servlet.rb
mechanize-2.8.2 lib/mechanize/test_case/ntlm_servlet.rb
mechanize-2.8.1 lib/mechanize/test_case/ntlm_servlet.rb
mechanize-2.8.0 lib/mechanize/test_case/ntlm_servlet.rb