~bzr-pqm/bzr/bzr.dev

  • Committer: Vincent Ladeuil
  • Date: 2007-04-21 20:39:06 UTC
  • mto: (2420.1.21 bzr.http.auth)
  • Revision ID: v.ladeuil+lp@free.fr-20070421203906-hta5jt0nmauyl9qy
Implement digest authentication. Test suite passes. Tested against apache-2.x.

* bzrlib/transport/http/_urllib2_wrappers.py:
(AbstractAuthHandler.auth_required): Do not attempt to
authenticate if we don't have a user. Rework the detection of
already tried authentications. Avoid building the auth header two
times, save the auth info at the right places.
(AbstractAuthHandler.build_auth_header): Add a request parameter
for digest needs.
(BasicAuthHandler.auth_match): Simplify.
(get_digest_algorithm_impls, DigestAuthHandler): Implements client
digest authentication. MD5 and SHA algorithms are supported. Only
'auth' qop is suppoted.
(HTTPBasicAuthHandler, ProxyBasicAuthHandler): Renamed HTTPHandler
and ProxyAuthHandler respectively.
(HTTPBasicAuthHandler, ProxyBasicAuthHandler,
HTTPDigestAuthHandler, ProxyDigestAuthHandler): New classes
implementing the combinations between (http, proxy) and (basic,
digest).
(Opener.__init__): No more handlers in comment ! One TODO less !

* bzrlib/transport/http/_urllib.py:
(HttpTransport_urllib.__init__): self.base is not suitable for an
auth uri, it can contain decorators.

* bzrlib/tests/test_http.py:
(TestAuth.test_no_user): New test to check the behavior with no
user when authentication is required.

* bzrlib/tests/HTTPTestUtil.py:
(DigestAuthRequestHandler.authorized): Delegate most of the work
to the server that control the needed persistent infos.
(AuthServer): Define an auth_relam attribute.
(DigestAuthServer): Implement a first version of digest
authentication. Only the MD5 algorithm and the 'auth' qop are
supported so far.
(HTTPAuthServer.init_http_auth): New method to simplify
the [http|proxy], [basic|digest] server combinations writing.
Filename Latest Rev Last Changed Committer Comment Size
..
doc_generate 1534.7.158 18 years ago Aaron Bentley Merged John Meinel's integration Diff
win32 1821.1.1 18 years ago Alexander Belchenko win32 installer for bzr.dev.0.9 Diff
__init__.py 1534.7.158 18 years ago Aaron Bentley Merged John Meinel's integration Empty Diff Download File
File biobench.py 1185.44.26 19 years ago Martin Pool Make biobench directly executable 2.3 KB Diff Download File
capture_tree.py 1393.1.39 19 years ago Martin Pool - tweak capture_tree formatting 1 KB Diff Download File
convertfile.py 1887.1.1 18 years ago Adeodato Simó Do not separate paragraphs in the copyright statem 2.1 KB Diff Download File
convertinv.py 1887.1.1 18 years ago Adeodato Simó Do not separate paragraphs in the copyright statem 2 KB Diff Download File
history2revfiles.py 1887.1.1 18 years ago Adeodato Simó Do not separate paragraphs in the copyright statem 2.8 KB Diff Download File
http_client.py 1963.2.6 18 years ago Robey Pointer pychecker is on crack; go back to using 'is None'. 15 KB Diff Download File
riodemo.py 1185.47.1 19 years ago Martin Pool [broken] start converting basic_io to more rfc822- 1.9 KB Diff Download File
File rst2html.py 1928.2.1 18 years ago Alexander Belchenko New target to produce html docs to upload on serve 643 bytes Diff Download File
File rst2prettyhtml.py 2054.2.16 18 years ago Aaron Bentley More updates from review comments 1.7 KB Diff Download File
File trace-revisions 1185.16.154 19 years ago Martin Pool Add trace-revisions utility, which can recover los 320 bytes Diff Download File
weavebench.py 1887.1.1 18 years ago Adeodato Simó Do not separate paragraphs in the copyright statem 2.6 KB Diff Download File
weavemerge.sh 1185.1.29 19 years ago Robert Collins merge merge tweaks from aaron, which includes late 584 bytes Diff Download File