fix: resolve logical errors, bugs, and security issues across codebase
- Fix is_admin() method shadowing is_admin database column in User model - Fix check_password() crash when password_hash is None (OAuth-only users) - Fix SystemSetting.all_settings() formatting error (missing newline) - Fix MAIL_PORT returning string instead of int in config - Fix AUTOMATION_TOKEN config formatting (missing newline before comment) - Fix path traversal vulnerability in serve_user_audio using realpath validation - Fix weak auth in process.py, replace session check with @login_required - Fix int() crash on non-numeric priority in import_songs.py - Add timeout to SMTP connection in email_helper.py - Add timeouts to external API requests in metadata.py and spotify_helper.py - Fix security tests to properly reload config module - Fix metadata test mock data key mismatch (preview_url -> spotify_preview_url) - Add skip decorator to integration test requiring live API credentials Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
@@ -62,7 +62,7 @@ class Config:
|
||||
DROPBOX_REDIRECT_URI = os.getenv("DROPBOX_REDIRECT_URI", "http://localhost:5000/users/dropbox/callback")
|
||||
|
||||
MAIL_HOST = os.getenv("MAIL_HOST", "localhost")
|
||||
MAIL_PORT = os.getenv("MAIL_PORT", 25)
|
||||
MAIL_PORT = int(os.getenv("MAIL_PORT", "25"))
|
||||
MAIL_USE_TLS = os.getenv("MAIL_USE_TLS", "False") == "True"
|
||||
MAIL_USE_SSL = os.getenv("MAIL_USE_SSL", "False") == "True"
|
||||
MAIL_USERNAME = os.getenv("MAIL_USERNAME", "")
|
||||
@@ -73,7 +73,9 @@ class Config:
|
||||
# Automation settings
|
||||
AUTOMATION_TOKEN = os.getenv("AUTOMATION_TOKEN")
|
||||
if not AUTOMATION_TOKEN:
|
||||
raise ValueError("AUTOMATION_TOKEN environment variable must be set. Generate a secure token with: python -c 'import secrets; print(secrets.token_urlsafe(32))'") # Reverse proxy settings
|
||||
raise ValueError("AUTOMATION_TOKEN environment variable must be set. Generate a secure token with: python -c 'import secrets; print(secrets.token_urlsafe(32))'")
|
||||
|
||||
# Reverse proxy settings
|
||||
USE_HTTPS = os.getenv("USE_HTTPS", "False") == "True" # Force HTTPS URL generation
|
||||
PREFERRED_URL_SCHEME = os.getenv("PREFERRED_URL_SCHEME", 'https' if USE_HTTPS else 'http')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user