Matt Harbison <matt_harbison@yahoo.com> [Tue, 05 Feb 2019 17:02:40 -0500] rev 41603
py3: ensure the HTTP password manager returns strings, not bytes
The digest handler calls into the password manager on its own, and it apparently
expects strings. Perhaps the Basic authentication handler didn't hit this
because of its manual password fetch and format in retry_http_basic_auth().
The `pycompat.bytesurl()` on the user and password just above the first url.py
diff seems unnecessary, because the password proxy in ui is converting to bytes
IIUC.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 05 Feb 2019 16:47:19 -0500] rev 41602
tests: enable HTTP digest testing
I suppose we could spin the client side extension off to a *.py file if it gets
more use. I was basically just looking to avoid killing the server and
relaunching it just to change authentication schemes, because that doesn't
always work on Windows.
The test changes capture the problem with py3.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 05 Feb 2019 16:16:14 -0500] rev 41601
wsgiheaders: make sure __repr__() returns a string
When printing `req.headers` on the server side to debug, it complained that '%b'
needed to take a string, not bytes. Changing '%s' to '%r' caused it to complain
that __repr__ didn't return a string.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 05 Feb 2019 13:32:39 -0500] rev 41600
tests: add code to handle HTTP digests on the server side
It's not hooked up yet. Mostly this was cargoculted and simplified from some
python.org code[1]. It's not trying to test the security as much as it is
trying to make sure that clients are sending out the right data when challenged.
(And they aren't on py3.)
[1] http://svn.python.org/projects/sandbox/trunk/digestauth/digestauth.py
Matt Harbison <matt_harbison@yahoo.com> [Tue, 05 Feb 2019 13:30:48 -0500] rev 41599
run-tests: allow spaces in the --view tool
Most tools on Windows are in Program Files, and not necessarily on PATH.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 05 Feb 2019 09:37:23 -0500] rev 41598
tests: extract the http server authentication extension to a single module
We had 4 copy/pastes of this, and no coverage for http digests (which are
currently broken on py3).
Ludovic Chabant <ludovic@chabant.com> [Sat, 02 Feb 2019 21:58:49 -0800] rev 41597
extdiff: support tools that can be run simultaneously