Files
CyberPanel/plogical
usmannasir 44bc736ee7 Add ModSecurity compatibility handling for custom OLS binaries
Implement automatic detection and update of ModSecurity when upgrading to custom OpenLiteSpeed binaries.

Problem:
- Stock ModSecurity modules are NOT ABI-compatible with custom OLS binaries
- Using stock ModSecurity with custom OLS causes server crashes (segfaults)
- Custom OLS has different memory layout and function signatures
- ModSecurity must be rebuilt against custom OLS headers

Solution:
- Detect if custom OLS binary is installed (check for PHPConfig markers)
- Detect if ModSecurity is currently installed
- Automatically download and install ABI-compatible ModSecurity
- Verify checksums before installation
- Backup existing ModSecurity before replacing

Implementation:
- isCustomOLSBinaryInstalled(): Detects custom OLS by scanning binary for markers
- installCompatibleModSecurity(): Downloads OS-specific compatible ModSecurity
- handleModSecurityCompatibility(): Orchestrates the compatibility check and update
- Integrated into upgrade process after custom binary installation

Binary URLs:
- RHEL/AlmaLinux: https://cyberpanel.net/mod_security-compatible-rhel.so
- Ubuntu/Debian: https://cyberpanel.net/mod_security-compatible-ubuntu.so

Checksums:
- RHEL SHA256: db580afc431fda40d46bdae2249ac74690d9175ff6d8b1843f2837d86f8d602f
- Ubuntu SHA256: 115971fcd44b74bc7c7b097b9cec33ddcfb0fb07bb9b562ec9f4f0691c388a6b

Safety features:
- Checksum verification before installation
- Automatic backup of existing ModSecurity
- Graceful OLS restart with timeout handling
- Non-fatal errors allow upgrade to continue

This prevents server crashes for existing CyberPanel users who have ModSecurity
installed when they upgrade to custom OpenLiteSpeed binaries.
2025-11-08 15:23:59 +05:00
..
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-09-01 13:11:42 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-10-19 23:51:55 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-09-10 20:01:52 +02:00
2025-08-29 22:30:06 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-09-10 20:01:52 +02:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-08-01 14:56:30 +05:00
2025-09-22 13:31:20 +05:00
2025-08-01 14:56:30 +05:00