This PR adds 2 new config variables to allow for this:
- `AWS_S3_ADDRESSING_STYLE`: Support for selecting the S3 addressing style. It defaults to "auto" as when it's not set, but can also be set to **virtual** and **path**. See https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-bucket-intro.html#access-bucket-console-ex.
- `AWS_S3_CUSTOM_DOMAIN`: Domain that replaces the default one in presigned download URLs.
---------
Co-authored-by: Kevin Chung <kchung@ctfd.io>
* Add linear decay funciton to dynamic value challenges
* Add the ability to choose between decay functions for dynamic value challenges
* Closes#2224
* Closes#865
* Add new envvar `SKIP_DB_PING` to instruct the CTFd Docker image to not test if the database server is available
---------
Co-authored-by: Smyler <smyler@hackademint.org>
This dependency is required to allow compatibility with MySQL instances that enforce specific authentication protocols. This is often the case with managed databases for some public cloud providers.
PyMySQL documentation: https://pymysql.readthedocs.io/en/latest/user/installation.html
* Add a section in the config panel to configure html sanitization
* `HTML_SANITIZTION` in config.ini can still force sanitization regardless of the database configuration
* Closes#2194
# 3.5.2 / 2023-05-01
**General**
- Generate cachable S3 URLs by rounding time down to the previous hour to generate a consistent URL
- Change email whitelist error message to not include the list of allowed domains
- Clean up the language for confirming the password on team password change
- Fix issue where dynamic challenges break if the decay is 0 and prevent users from adding a decay limit of 0 to dynamic value challenges
**Admin Panel**
- Adds support for admins to control `robots.txt`
- Clean up the aesthetics for the 'Pause CTF' and 'View After CTF' configs
- Replaced TLS and SSL checkbox text to match the defaults used by Mozilla Thunderbird to eliminate confusion when configuring SMTP
**Deployment**
- Slim down Docker image by removing several dependencies not needed for production usage
- The image size has been reduced from 648MB to 398MB
- In the Docker image run CTFd in a virtual environment located at `/opt/venv`
- Add freezegun to application dependencies
- Bump dependencies for pybluemonday, redis, SQLAlchemy-Utils, python-geoacumen-city
- Fix race conditions on cache healthcheck
- Fix situations where numeric config items in config.ini could cause CTFd to not start