Bugzilla – Attachment 71792 Details for
Bug 155701
installation source doesn't provide patches
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
IDP Log In
|
Forgot Password
lib needed to run the script
digest_auth.rb (text/plain), 2.07 KB, created by
Jiří Suchomel
on 2006-03-08 15:47:33 UTC
(
hide
)
Description:
lib needed to run the script
Filename:
MIME Type:
Creator:
Jiří Suchomel
Created:
2006-03-08 15:47:33 UTC
Size:
2.07 KB
patch
obsolete
># Written by Eric Hodel <drbrain@segment7.net> ># made more http://www.faqs.org/rfcs/rfc2617.html complaint ># by dmacvicar@suse.de >require 'digest/md5' >require 'uri' >require 'cgi' > >## ># HTTP Digest Authentication > >module DigestAuth > @@nonce_count = -1 > > CNONCE = Digest::MD5.new("%x" % (Time.now.to_i + rand(65535))).hexdigest > #CNONCE = "MTEzODcy" > def self.gen_auth_header(method, uri, auth_header, is_IIS = false) > @@nonce_count += 1 > > user = CGI.unescape uri.user > password = CGI.unescape uri.password > > auth_header =~ /^(\w+) (.*)/ > > params = {} > $2.gsub(/(\w+)="(.*?)"/) { params[$1] = $2 } > > #digest-response = 1#( username | realm | nonce | digest-uri > # | response | [ algorithm ] | [cnonce] | > # [opaque] | [message-qop] | > # [nonce-count] | [auth-param] ) > > a_1 = "#{user}:#{params['realm']}:#{password}" > a_2 = "#{method}:#{uri.path}" > request_digest = '' > request_digest << Digest::MD5.new(a_1).hexdigest > request_digest << ':' << params['nonce'] > request_digest << ':' << ('%08x' % @@nonce_count) > request_digest << ':' << CNONCE > request_digest << ':' << params['qop'] > request_digest << ':' << Digest::MD5.new(a_2).hexdigest > > header = '' > header << "Digest username=\"#{user}\", " > header << "realm=\"#{params['realm']}\", " > header << "nonce=\"#{params['nonce']}\", " > header << "uri=\"#{uri.path}\", " > header << "cnonce=\"#{CNONCE}\", " > header << "nc=#{'%08x' % @@nonce_count}, " > if is_IIS then > header << "qop=\"#{params['qop']}\", " > else > header << "qop=#{params['qop']}, " > end > header << "response=\"#{Digest::MD5.new(request_digest).hexdigest}\", " > header << "opaque=\"#{params['opaque']}\", " > header << "algorithm=\"MD5\"" > > return header > end >end > >if __FILE__ == $0 then > uri = URI.parse "http://user:password@www.example.com/" > header = "Digest qop=\"auth\", realm=\"www.example.com\", nonce=\"4107baa081a592a6021660200000cd6c5686ff5f579324402b374d83e2c9\"" > > puts DigestAuth.gen_auth_header(uri, header) >end >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
Actions:
View
Attachments on
bug 155701
:
71518
|
71545
|
71546
|
71699
|
71781
| 71792