076be62f99
CRITICAL FIXES: - Plesk command timeout: Added 5-10s timeouts to prevent indefinite hangs - FRESHCLAM timeout: Added 120s timeout in standalone scanner ClamAV scan - Hardcoded /opt path: Replaced with fallback system (/opt → /var/tmp → /tmp → home) - Session directory discovery: New find_all_session_dirs() function for robustness HIGH PRIORITY FIXES: - CLAMAV detection: Enhanced to verify functionality, not just binary existence - IMUNIFY detection: Improved with version check and execution verification - Control panel detection: Now verifies Plesk/InterWorx actually work, not just files exist - Domain case sensitivity: All domain comparisons now case-insensitive - Domain/docroot matching: Added symlink resolution and better edge case handling MEDIUM PRIORITY FIXES: - Memory checking: Added periodic memory monitoring during scans - Cleanup handlers: Comprehensive trap for EXIT/INT/TERM to kill background processes - Menu input validation: Added 10-retry limit and 10s read timeout per input - IDN support: Internationalized domain name conversion to punycode - Session directory references: Updated all references to use new fallback system BENEFITS: - Prevents script hangs on slow Plesk systems - Handles systems without writable /opt directory - Better detection of broken scanner installations - Safer domain matching prevents false positives - Improved resource management during long scans - More robust cleanup on interrupts - Support for non-ASCII domain names Fixes 14 of 16 architectural issues identified. Remaining 2 (standalone heredoc complexity, RKHUNTER edge cases) are lower priority and don't affect core functionality.