summaryrefslogtreecommitdiff
path: root/wsgitools
AgeCommit message (Collapse)Author
2011-11-30shrink AuthenticationMiddleware.authenticate interfaceHelmut Grohne
The method no longer receives a start_response and is no longer responsible for calling self.app. Instead it returns a dictionary with the result of the authentication.
2011-11-28added format_digestHelmut Grohne
This is the inverse of parse_digest_response and also supports escaping of backslashes and quotes.
2011-11-28rewrite parse_digest_response for escapesHelmut Grohne
The previous version did not handle escapes at all. Now I added two test cases for escaping and rewrote the function to meet all test cases.
2011-11-28digest: generate Authentication-Info before invoking appHelmut Grohne
This shrinks the possibility of raising something from start_response and maybe enables to factor out this start_response modification later.
2011-11-27added new base class AuthenticationMiddlewareHelmut Grohne
The BasicAuthMiddleware and AuthDigestMiddleware now derive from AuthenticationMiddleware which provides common functionality.
2011-11-26broaden AuthDigestMiddleware.authorization_requiredHelmut 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-02improved extensibility of error handling in digest.pyHelmut 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-01digest: support gentoken without algoHelmut Grohne
2011-08-19scgi: support reusing a listen socketHelmut Grohne
This is useful when used in combination with e.g. systemd.
2011-07-25fixed epydoc markup errors in digest moduleHelmut Grohne
2011-07-25added more nonce store test cases to digest moduleHelmut Grohne
2011-07-24add more assertions for types of passed parametersHelmut Grohne
2011-07-24filters.escape_string: do not consider \ printableHelmut Grohne
Otherwise escape_string is not reversible.
2011-07-24removed execute bit from wsgitools/digest.pyHelmut 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-22BasicAuthMiddleware docstring: mention REMOTE_USERHelmut Grohne
2011-07-18adapt exc_info handling for python 3Helmut Grohne
2011-06-01reworked digest.AuthTokenGeneratorHelmut 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-01improved doc string for middlewares.ContentLengthMiddlewareHelmut Grohne
2011-01-12DictAuthChecker.__call__ should take an environwsgitools-0.2.2Helmut Grohne
as this is tried by BasicAuthMiddleware first.
2011-01-12improved AuthDigestMiddleware doc stringHelmut Grohne
2011-01-12scgi.asynchronous catches more errors nowHelmut 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-12bug fix for StaticContent and CachingMiddlewareHelmut 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-04added note about ContentLengthMiddleware's wsgi conformanceHelmut Grohne
2010-09-04CachingMiddleware: automatic cache pruning implementedHelmut Grohne
2010-09-04middlewares.CachingMiddleware: include request method in keyHelmut Grohne
2010-09-02improved digest documentationHelmut Grohne
2010-08-31bugfix: io module from py2.6 provides incompatible StringIOHelmut Grohne
2010-06-04flush log file in RequestLogWSGIFilter by defaultHelmut Grohne
2010-05-29security fix: filters.RequestLogWSGIFilter must escape stringsHelmut Grohne
2010-05-25bugfix: endless loop for closed connection in scgi.forkpoolHelmut Grohne
2010-01-31fix shared default argument to parse_digest_responseHelmut Grohne
2009-10-25observed SocketFileWrapper bug fixedHelmut Grohne
2009-10-25more SocketFileWrapper (forkpool) bugsHelmut Grohne
2009-10-25SocketFileWrapper from forkpool contained more bugsHelmut Grohne
2009-10-25socket.socket.recv requires a parameterHelmut Grohne
2009-10-25extended application.StaticContentHelmut 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-25added enable_sighandler for scgi.forkpoolHelmut Grohne
2009-07-04two new digest doctestsHelmut Grohne
2009-07-04more docstring/epydoc improvementsHelmut Grohne
2009-06-24fixed an epydoc comment in digestHelmut Grohne
2009-06-24added doctest for DBAPI2NonceStoreHelmut Grohne
2009-06-24added dbapi2 (sql) backed noncestore! yeah :-)Helmut Grohne
2009-06-24except ImportError in filters on importsHelmut Grohne
2009-06-24documented potential overflow in digestHelmut Grohne
2009-06-24auth_response should not return ValueError in digestHelmut Grohne
2009-06-24fixed RequestLogMiddleware to work at allHelmut Grohne
2009-06-23made RequestLogWSGIFilter define attrs in __init__Helmut Grohne
2009-03-29improve 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-29get rid of old builtin longHelmut Grohne
Even Py2.4 can handle large parameters to int, so long is not needed.
2009-03-29quite some changes for py3Helmut 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.