Age | Commit message (Collapse) | Author | |
---|---|---|---|
2011-11-28 | digest: generate Authentication-Info before invoking app | Helmut Grohne | |
This shrinks the possibility of raising something from start_response and maybe enables to factor out this start_response modification later. | |||
2011-11-27 | added new base class AuthenticationMiddleware | Helmut Grohne | |
The BasicAuthMiddleware and AuthDigestMiddleware now derive from AuthenticationMiddleware which provides common functionality. | |||
2011-11-26 | broaden AuthDigestMiddleware.authorization_required | Helmut Grohne | |
The interface of this internal function has changed in a backwards incompatible way. The last parameter is no longer the bool stale, but an exception now, which encodes more information than the previous bool. This was made possible by the previous commit. This exception can then be used by the new method www_authenticate to generate a suitable WWW-Authenticate header. The idea behind this change is that at some point it should be possible to override authorization_required (still internal now) to evaluate what condition lead to the failure and to generate custom error pages. | |||
2011-11-02 | improved extensibility of error handling in digest.py | Helmut Grohne | |
Instead of randomly raising KeyErrors or ValueErrors we can now see more meaningful ProtocolViolations and StaleNonces. Note that this change should be invisible to users who do not mess with internals. | |||
2011-11-01 | digest: support gentoken without algo | Helmut Grohne | |
2011-08-19 | scgi: support reusing a listen socket | Helmut Grohne | |
This is useful when used in combination with e.g. systemd. | |||
2011-07-25 | fixed epydoc markup errors in digest module | Helmut Grohne | |
2011-07-25 | added more nonce store test cases to digest module | Helmut Grohne | |
2011-07-24 | add more assertions for types of passed parameters | Helmut Grohne | |
2011-07-24 | filters.escape_string: do not consider \ printable | Helmut Grohne | |
Otherwise escape_string is not reversible. | |||
2011-07-24 | removed execute bit from wsgitools/digest.py | Helmut Grohne | |
It probably gained this bit later than shown in history due to darcs not tracking execute bits. The bit was probably added for doc tests which moved to a designated file later. | |||
2011-07-22 | BasicAuthMiddleware docstring: mention REMOTE_USER | Helmut Grohne | |
2011-07-18 | adapt exc_info handling for python 3 | Helmut Grohne | |
2011-06-01 | reworked digest.AuthTokenGenerator | Helmut Grohne | |
AuthTokenGenerator gained a base class AbstractTokenGenerator. This class provides an additional method check_password implementing the interface required by BasicAuthMiddleware. In addition AbstractTokenGenerator gained two subclasses HtdigestTokenGenerator and UpdatingHtdigestTokenGenerator. They both read authentication information from a apache htdigest file. The latter also checks the file for updates. | |||
2011-06-01 | improved doc string for middlewares.ContentLengthMiddleware | Helmut Grohne | |
2011-01-12 | DictAuthChecker.__call__ should take an environwsgitools-0.2.2 | Helmut Grohne | |
as this is tried by BasicAuthMiddleware first. | |||
2011-01-12 | improved AuthDigestMiddleware doc string | Helmut Grohne | |
2011-01-12 | scgi.asynchronous catches more errors now | Helmut Grohne | |
This addresses a disputed denial of service condition described in http://bugs.python.org/issue6706. Note that wsgitools is not hit as hard as pyftplib. | |||
2011-01-12 | bug fix for StaticContent and CachingMiddleware | Helmut Grohne | |
PEP333 says that the headers list passed to start_response may be modified by servers or middlewares. In fact this happens in DigestAuthMiddleware. The StaticContent and CachingMiddleware classes did not take this into account and returned the same headers list multiple times which is wrong and can lead to denial of service. | |||
2010-09-04 | added note about ContentLengthMiddleware's wsgi conformance | Helmut Grohne | |
2010-09-04 | CachingMiddleware: automatic cache pruning implemented | Helmut Grohne | |
2010-09-04 | middlewares.CachingMiddleware: include request method in key | Helmut Grohne | |
2010-09-02 | improved digest documentation | Helmut Grohne | |
2010-08-31 | bugfix: io module from py2.6 provides incompatible StringIO | Helmut Grohne | |
2010-06-04 | flush log file in RequestLogWSGIFilter by default | Helmut Grohne | |
2010-05-29 | security fix: filters.RequestLogWSGIFilter must escape strings | Helmut Grohne | |
2010-05-25 | bugfix: endless loop for closed connection in scgi.forkpool | Helmut Grohne | |
2010-01-31 | fix shared default argument to parse_digest_response | Helmut Grohne | |
2009-10-25 | observed SocketFileWrapper bug fixed | Helmut Grohne | |
2009-10-25 | more SocketFileWrapper (forkpool) bugs | Helmut Grohne | |
2009-10-25 | SocketFileWrapper from forkpool contained more bugs | Helmut Grohne | |
2009-10-25 | socket.socket.recv requires a parameter | Helmut Grohne | |
2009-10-25 | extended application.StaticContent | Helmut Grohne | |
It gained the capability to server content to unknown methods. For a backwards-compatible API this has to be enabled by an optional boolean. | |||
2009-08-25 | added enable_sighandler for scgi.forkpool | Helmut Grohne | |
2009-07-04 | two new digest doctests | Helmut Grohne | |
2009-07-04 | more docstring/epydoc improvements | Helmut Grohne | |
2009-06-24 | fixed an epydoc comment in digest | Helmut Grohne | |
2009-06-24 | added doctest for DBAPI2NonceStore | Helmut Grohne | |
2009-06-24 | added dbapi2 (sql) backed noncestore! yeah :-) | Helmut Grohne | |
2009-06-24 | except ImportError in filters on imports | Helmut Grohne | |
2009-06-24 | documented potential overflow in digest | Helmut Grohne | |
2009-06-24 | auth_response should not return ValueError in digest | Helmut Grohne | |
2009-06-24 | fixed RequestLogMiddleware to work at all | Helmut Grohne | |
2009-06-23 | made RequestLogWSGIFilter define attrs in __init__ | Helmut Grohne | |
2009-03-29 | improve digest module (killed isnonce method) | Helmut Grohne | |
Prior to this change the digest module would check whether a nonce looks like a nonce, verify the response and then verify the nonce. This left a bit more room for brute forcing passwords, as the same nonce could be used in arbitrary many tries and a stale response would indicate an authentication success. Now authentication is only tried for valid nonces. This also makes the NonceStoreBase.isnonce method superfluous. | |||
2009-03-29 | get rid of old builtin long | Helmut Grohne | |
Even Py2.4 can handle large parameters to int, so long is not needed. | |||
2009-03-29 | quite some changes for py3 | Helmut Grohne | |
These changes introduce some compatibility code. They don't make wsgitools usable with Python 3.0, but they also don't break compatibility with Python 2.5. | |||
2009-03-29 | make digest.gen_rand_str forward compatible (py3) | Helmut Grohne | |
2009-02-27 | except binascii.Error instead of Exception in middlewares | Helmut Grohne | |
2009-02-27 | extract common code to gen_rand_str in digest | Helmut Grohne | |