Oliver Falk
41f8c3c402
🚀 Major Release: ivatar 2.0 - Performance, Security, and Instrumentation Overhaul
2025-11-03 10:18:33 +01:00
Oliver Falk
2b799ba83b
Merge latest enhancements and bugfixes from devel to master
2025-10-29 17:18:49 +01:00
Oliver Falk
aecc8e8477
Add configurable defaults for gravatarproxy and gravatarredirect
2025-10-29 11:30:48 +01:00
Oliver Falk
a7b04dc2f4
Performance optimization and Django 5.x compatibility fixes
2025-10-29 09:55:28 +01:00
Oliver Falk
b44ee42398
Speed up robohash generation
2025-10-24 17:42:00 +02:00
Oliver Falk
9cf1cb4745
Enhance performance tests
2025-10-24 13:51:45 +02:00
Oliver Falk
8b2675591e
Merge latest devel fixes
2025-10-17 16:56:13 +02:00
Oliver Falk
6db3450b20
Enhance the version endpoint and fix OTEL deployment
2025-10-17 14:49:10 +02:00
Oliver Falk
780dc18fa4
File upload security (iteration 1), security enhancements and OpenTelemetry (OTEL) implementation (sending data disabled by default)
2025-10-17 11:16:48 +02:00
Oliver Falk
368aa5bf27
feat: enhance security with improved password hashing and logging
...
- Add Argon2PasswordHasher with high security settings as primary hasher
- Implement fallback to PBKDF2PasswordHasher for CentOS 7/Python 3.6 compatibility
- Add argon2-cffi dependency to requirements.txt
- Replace all print statements with proper logging calls across codebase
- Implement comprehensive logging configuration with multiple handlers:
* ivatar.log - General application logs (INFO level)
* ivatar_debug.log - Detailed debug logs (DEBUG level)
* security.log - Security events (WARNING level)
- Add configurable LOGS_DIR setting with local config override support
- Create config_local.py.example with logging configuration examples
- Fix code quality issues (flake8, black formatting, import conflicts)
- Maintain backward compatibility with existing password hashes
Security improvements:
- New passwords use Argon2 (memory-hard, ASIC-resistant)
- Enhanced PBKDF2 iterations for fallback scenarios
- Structured logging for security monitoring and debugging
- Production-ready configuration with flexible log locations
Tests: 85/113 passing (failures due to external DNS/API dependencies)
Code quality: All pre-commit hooks passing
2025-10-15 15:13:09 +02:00
Oliver Falk
d720fcfa50
Rename the custom middleware to ensure it's know this is a localemiddleware. Also ensure we delete the Vary header, it could be empty - still problematic
2025-09-11 19:54:40 +02:00
Oliver Falk
5114b4d5d0
We actually need to implement this via Middleware, as the Locale Middleware comes later in the process and hinders us from removing the header. Anyway, it's cleaner, since we're not duplicating code
2025-09-11 14:22:34 +02:00
Oliver Falk
0d16b1f518
Remove the token auth - that was a bad idea. We may look into implementing a full oauth solution at a later point in time
2025-09-09 10:42:16 +02:00
Oliver Falk
aa742ea181
Implement ExternalAuth for token based authorization
2025-09-06 10:28:50 +02:00
Oliver Falk
a1d13ba3ce
MAX_ENTRIES for PyMemcacheCache doesn't work with all versions - remove it.
2025-08-13 21:40:37 +02:00
Oliver Falk
1892e9585e
Increase cache entries
2025-05-24 16:15:02 +02:00
Oliver Falk
e3b0782082
Merge branch 'oidc' into 'devel'
...
Add support for OIDC authentication with Fedora
See merge request oliver/ivatar!242
2025-04-15 11:10:30 +00:00
Aurélien Bompard
99b4fdcbcd
Add support for OIDC authentication with Fedora
...
This adds support for authenticating with Fedora's OpenID Connect (OIDC) provider.
Existing users will be matched by email address, they should be able to use the new authentication method transparently.
This requires getting a `client_id` and a `client_secret` from Fedora Infra, see `INSTALL.md`.
Signed-off-by: Aurélien Bompard <aurelien@bompard.org >
2025-04-07 11:03:33 +02:00
Oliver Falk
04a39f7693
Bump version - new feature deserves it
2025-02-10 10:59:24 +01:00
Oliver Falk
3aaaac51f0
Bluesky integration
...
* Centralize the our urlopen for consistency.
* Fix a few tests
2025-02-07 11:34:24 +00:00
Oliver Falk
dcbd2c5df5
Patch release - no major changes
...
Testing fixes and stabilization
Test improvement / speed up
PostgreSQL side container for building
2025-02-07 10:43:37 +00:00
Oliver Falk
1fa5dddce5
Use real database (side container)
2024-06-25 08:32:34 +00:00
Oliver Falk
2fe8af6fab
JSONSerializer has been deprecated: https://docs.djangoproject.com/en/4.2/releases/4.1/
2023-12-07 09:41:22 +01:00
Oliver Falk
6deea2758f
Add new dicebear endpoint ( Fixes #92 )
2023-02-01 16:02:10 +00:00
Oliver Falk
d2e4162b6b
Yes, this deserves a version increase
2022-11-22 21:03:46 +01:00
Oliver Falk
9565ccc54e
Changes required for Django > 4
2022-11-22 19:38:08 +01:00
Oliver Falk
9221da5805
Inc version
2022-10-24 09:46:25 +02:00
Oliver Falk
899e8db661
Merge branch 'adapt-old-config' into 'devel'
...
fix: resolve backward compability in config
See merge request oliver/ivatar!209
2022-09-15 17:03:07 +00:00
Seth Falco
cf65ea2c6a
fix: resolve backward compability in config
2022-09-15 17:03:06 +00:00
Oliver Falk
ce18bb58bd
Since this includes the new trusted URLs handling, increas the version a bit
2022-09-15 19:01:17 +02:00
Seth Falco
2578e804b6
fix: validation for trusted urls
2022-07-16 07:36:12 +01:00
Oliver Falk
67ac0ad973
Add www.gravatar.com to the list of trusted URIs
2022-07-15 15:12:53 +02:00
Oliver Falk
00aa1a45cb
Add a few more trusted URLs gathered from the logs
2022-02-18 09:33:01 +01:00
Oliver Falk
0c3686beef
First preparations for Django >= 4.x
...
- Slight reformatting in some parts; Non-functional changes
- ugettext(_lazy) no longer available in Django > 4, changing to
gettext(_lazy)
- Since django-openid-auth doesn't work with Django > 4 yet, we need to
pin this project to Django < 4 until that issue is solved
2021-12-10 09:21:49 +01:00
Oliver Falk
a1c1da81e1
A few more sites known to use default param
2021-11-24 08:35:19 +01:00
Oliver Falk
56f90412bf
Enhance the list. It's possible some non-ssl sites still use gravatar without https and some sites use secure.gravatar.com
2021-11-22 13:57:12 +01:00
Oliver Falk
e260e6ff2f
Increase version
2021-11-22 13:22:47 +01:00
Oliver Falk
ff9bfdefb5
Fix CWE-601 - Open URL redirection
...
- Only a few URLs are allowed now and this _will_ break some implementations
- Print information in the log about which URL was kicked
2021-11-22 13:17:20 +01:00
Oliver Falk
a3f7575726
v1.5 - massive code update
2021-09-16 09:23:38 +02:00
Oliver Falk
f37fc4de09
Central place for the schema root
2021-09-15 13:14:56 +02:00
Oliver Falk
7ca34aea1b
Clean up with black
2021-09-14 15:54:37 +02:00
Oliver Falk
635951ff4d
Make pylint happier, enhance a few tests and add missing schemas
2020-11-13 13:36:16 +01:00
Oliver Falk
e74365e788
Now that this source is 2 years old, time to upgrade the version
...
Signed-off-by: Oliver Falk <oliver@linux-kernel.at >
2020-05-11 13:25:41 +02:00
Oliver Falk
060a664d26
Make response caching default and increase cache timeout to 15 minutes
2020-03-04 15:25:18 +01:00
Oliver Falk
6bc0390b48
Fix some debug prints + HttpResponse for Gravatar
2020-03-04 15:11:05 +01:00
Oliver Falk
b463f9f95a
Add setting to easily be able to disable the response caching
2020-03-04 14:30:28 +01:00
Oliver Falk
476bddb21c
A caching HttpResponse in order to reduce the roundtrip (a lot)
2020-03-04 14:23:58 +01:00
Oliver Falk
e9fe81a8bc
The OpenID changes deserve a version increase :-)
2020-02-25 13:55:30 +01:00
Oliver Falk
180056f8c2
New design and cropping fixes/JCrop update
2019-08-09 09:20:43 +02:00
Oliver Falk
6814be78d7
Change cache for issue #50
2019-03-11 11:03:24 +01:00