Aleksi Häkli
9df4f858ed
Add tests for cool off thresholds
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-03-09 21:49:45 +02:00
Aleksi Häkli
180f2b85d6
Use django-appconf to 1.0.3+
...
New Django deprecates six usage and the new
django-appconf version offers six internally,
being compatible with new Django versions.
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-03-09 21:49:45 +02:00
Aleksi Häkli
b46e7cce01
Drop Python 3.5 support
...
Most of our users are already running on Python 3.6+
and dropping 3.5 and below in a future oriented release
allows us to focus on implementing more readable codebases.
Fixes #417
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-03-09 21:49:45 +02:00
Aleksi Häkli
3bece1aaaa
Set Axes request attributes in middleware
...
Fixes #415
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-03-03 22:13:13 +02:00
Aleksi Häkli
e323b1989c
Improve README language
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-03-02 23:09:31 +02:00
Aleksi Häkli
b4f7e71277
Upgrade requirements.txt and pytest-django
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-03-02 22:42:22 +02:00
Aleksi Häkli
757baeb705
Improve README and add functionality chapter
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-03-02 22:40:27 +02:00
Aleksi Häkli
b55cba78e6
Rename migrating to upgrading in docs
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-03-02 22:40:18 +02:00
Aleksi Häkli
488cd04856
Use LocMemCache in the development setup
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-26 16:49:35 +02:00
Aleksi Häkli
62c9dc73e7
Fix cache test parametrization
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-26 16:39:58 +02:00
Aleksi Häkli
5f61b0ae76
Improve documentation on axes.utils.reset
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-26 13:04:56 +02:00
Aleksi Häkli
8df219e976
Add public API documentation on the handler class
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-26 13:04:35 +02:00
Aleksi Häkli
7d9265cd3c
Add check test for missing case branch
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-26 12:45:37 +02:00
Aleksi Häkli
ff6cb8bffd
Move utils to helpers module
...
In order to offer backwards compatible import path for the
axes.utils.reset function it has to have a separate
implementation that can be imported independently from
the axes.helpers functions that are used by the
AxesBaseHandler implementation.
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-25 22:54:40 +02:00
Aleksi Häkli
e50bbd4701
Enumerate documentation source files
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-25 22:35:44 +02:00
Aleksi Häkli
6d8aea8aab
Clean up documentation configuration
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-25 22:02:31 +02:00
Aleksi Häkli
8b3c5e7b5a
Refactor cache checks
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-25 21:05:18 +02:00
Aleksi Häkli
677d4c48f4
Improve documentation
...
- Add information on handlers
- Document configuration options and precedences
- Restructure documentation for better readability
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-25 17:04:03 +02:00
Aleksi Häkli
1ab8d89869
Fix bug in missing cache backends
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-25 16:45:56 +02:00
Aleksi Häkli
ac9950cdf3
Update changelog with handler information
...
Clean up redundant information that is
better suited for documentation.
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-24 22:53:53 +02:00
Aleksi Häkli
1e822a2964
Change suffix on changes to .rst
...
README is already in .rst and both use the same format
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-24 22:45:39 +02:00
Aleksi Häkli
b87ff21774
Remove deprecated CONTRIBUTING.md
...
The contribution instructions are
part of the main README.rst
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-24 22:43:29 +02:00
Aleksi Häkli
13b807d647
Add dummy handler implementation
...
A handler is always loaded if Axes is active,
and the dummy handler is intended for use when
the user wishes to use either the middleware
or authentication backends but does not want
Axes to handle or emit signals from
authentication events.
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-24 22:37:23 +02:00
Aleksi Häkli
7564603d9b
Clean up cache handler implementation
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-24 22:17:01 +02:00
Aleksi Häkli
f36cf2d3d1
Merge pull request #408 from jazzband/development
...
Add six imports for Django master compatibility
2019-02-24 16:05:55 +02:00
Aleksi Häkli
d4c2603ed7
Add six imports for Django master compatibility
...
Implement forwards compatibility for missing
django.utils.six package imports on Django 2.2
Relates to django-compressor/django-appconf#44
and can be removed after django-appconf
has received a new release which deprecates
the use of the integrated Django six library
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-24 15:46:30 +02:00
Aleksi Häkli
fc32a00e50
Merge pull request #405 from jazzband/cache
...
Add cache handler
2019-02-24 13:30:49 +02:00
Aleksi Häkli
7240864e8e
Merge pull request #406 from jazzband/pypy
...
Add PyPy test matrix support
2019-02-23 22:08:03 +02:00
Aleksi Häkli
b6a073d6ac
Add PyPy test matrix support
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-23 21:52:53 +02:00
Aleksi Häkli
b04f11fc1f
Merge pull request #407 from jazzband/travis
...
Update Travis matrix to allow failures on Django master
2019-02-23 21:19:27 +02:00
Aleksi Häkli
d5261f6a7f
Update Travis matrix to allow failures on Django master
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-23 21:09:07 +02:00
Aleksi Häkli
46fc538193
Add cache handler and refactor tests
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-23 20:19:37 +02:00
Aleksi Häkli
b54dda46f2
Merge pull request #402 from jazzband/development
...
Refactor layout to allow better pluggability and specialized handlers in the authentication stack
2019-02-22 20:38:55 +02:00
Aleksi Häkli
ccace29270
Clean up handler naming and documentation
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-22 20:13:20 +02:00
Aleksi Häkli
42f8c86997
Improve handler design
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-22 19:56:05 +02:00
Aleksi Häkli
864bfe3f00
Clean up database handler code and queries
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-22 19:56:03 +02:00
Aleksi Häkli
fadf8be191
Improve login failure database updates
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-22 19:56:01 +02:00
Aleksi Häkli
e69d479f6a
Refactor handlers to a more pluggable format
...
- Define a base handler API with method signatures
- Move proxy handler to a separate path for importability
- Implement a database handler with clean external dependencies
- Change the authentication backend and decorators to use the authentication backend
This enables clean pluggable authentication backend definitions that users
can override and specialize with e.g. cached handlers in their own packages.
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-22 19:55:57 +02:00
Aleksi Häkli
139a2b38fb
Update changelog and documentation
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-22 19:55:55 +02:00
Aleksi Häkli
3279ae1f4b
Fix CHANGES reference to Django LTS
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-22 19:55:53 +02:00
Aleksi Häkli
aec59a97bc
Fix mypy errors in the utils module
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-22 19:55:50 +02:00
Aleksi Häkli
a0b672be6e
Cleanup imports
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-22 19:55:49 +02:00
Aleksi Häkli
f8949ce984
Add configurable client IP attribute on requests
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-22 19:55:47 +02:00
Aleksi Häkli
b07a513b30
Cleanup for utils
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-22 19:55:45 +02:00
Aleksi Häkli
a4c4ba6fb7
Refactor utils and attempts internal API
...
Clean up internal implementations and tests while keeping the
APIs as similar as possible where feasible.
The goal of this change is to not change any documented
or stable APIs that might be in use by users, but to improve
the internal implementations for maintainability and usability.
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-22 19:55:41 +02:00
Aleksi Häkli
bc24d12975
Add support for string type AXES_USERNAME_CALLABLE
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-22 19:55:39 +02:00
Aleksi Häkli
97410a7b06
Clean up old test code
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-22 19:55:37 +02:00
Aleksi Häkli
9b0f664dcd
Remove redundant comment
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-22 19:55:34 +02:00
Aleksi Häkli
8b4c522f5b
Rename Axes appconfig startup method to initialize
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-22 19:55:22 +02:00
Aleksi Häkli
d1eb64679b
Add support for reconfiguring handlers in tests
...
Signed-off-by: Aleksi Häkli <aleksi.hakli@iki.fi>
2019-02-22 19:55:17 +02:00