diff --git a/CHANGELOG.md b/CHANGELOG.md index 52e9ab9..f18f63a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Jackify Changelog +## v0.2.0.5 - Emergency OAuth Fix +**Release Date:** 2025-12-24 + +### Critical Bug Fixes +- **OAuth Authentication**: Fixed regression in v0.2.0.4 that prevented OAuth token encryption/decryption, breaking Nexus authentication for users + +--- + ## v0.2.0.4 - Bugfixes & Improvements **Release Date:** 2025-12-23 diff --git a/jackify/__init__.py b/jackify/__init__.py index 03efe2a..6174054 100644 --- a/jackify/__init__.py +++ b/jackify/__init__.py @@ -5,4 +5,4 @@ This package provides both CLI and GUI interfaces for managing Wabbajack modlists natively on Linux systems. """ -__version__ = "0.2.0.4" +__version__ = "0.2.0.5" diff --git a/jackify/backend/handlers/oauth_token_handler.py b/jackify/backend/handlers/oauth_token_handler.py index 3408170..9d27d31 100644 --- a/jackify/backend/handlers/oauth_token_handler.py +++ b/jackify/backend/handlers/oauth_token_handler.py @@ -142,11 +142,6 @@ class OAuthTokenHandler: """ try: from Crypto.Cipher import AES - - # Check if MODE_GCM is available (pycryptodome has it, old pycrypto doesn't) - if not hasattr(AES, 'MODE_GCM'): - logger.error("pycryptodome required for token decryption (pycrypto doesn't support MODE_GCM)") - return None # Derive 32-byte AES key from encryption_key key = base64.urlsafe_b64decode(self._encryption_key) @@ -168,9 +163,6 @@ class OAuthTokenHandler: except ImportError: logger.error("pycryptodome package not available for token decryption") return None - except AttributeError: - logger.error("pycryptodome required for token decryption (pycrypto doesn't support MODE_GCM)") - return None except Exception as e: logger.error(f"Failed to decrypt data: {e}") return None