56ad1cddd0bd240c0d9a41b99f6f3edf8f2fbab9
TIER 1 - CRITICAL LOGIC BUG FIXED:
Issue 3A (Lines 1238-1249): RKH_EXIT subshell exit code capture bug
CRITICAL: The exit code was being captured from 'tee' (always 0) instead of 'timeout'
Result: RKH_EXIT always 0 even if rkhunter times out or fails
Fix: Captured output to variable first, then RKH_EXIT=$? before logging
Impact: RKHunter timeout/failure now correctly reported
TIER 2 - LOG FORMAT SENSITIVITY FIXES:
Issue 1B (Lines 1109-1115): ClamAV column-based parsing
Problem: Used awk '{print $3}' assuming fixed column position
Risk: Changes in output format break parsing
Fix: Use grep -oE '[0-9]+' to extract numbers position-independently
Impact: Robust to ClamAV output format variations
Issue 2A (Lines 1200-1201): Maldet complex grep chain parsing
Problem: Assumed exact phrase "files [0-9]+" and "malware hits [0-9]+"
Risk: Format variations cause parsing failure
Fix: Store last_line, extract numbers with more flexible regex
Impact: Handles Maldet format variations gracefully
Issue 4A (Lines 1004-1011): ImunifyAV timeout handling
Problem: All non-zero exit codes treated identically
Risk: Exit 124 (timeout) not distinguished from other errors
Fix: Use case statement to handle 0, 124, and other exits separately
Impact: Timeout events now logged distinctly
Issue 5A (Line 1054): ClamAV file extraction sed pattern
Problem: Complex sed regex 's/^.*\(\/.* \).*/\1/p' too specific
Risk: Brittle to ClamAV output format changes
Fix: Use simpler grep -oE '\./[^ ]+|/[^ ]+' for path extraction
Impact: More robust to output format variations
TIER 3 - EDGE CASES & DEFENSIVE IMPROVEMENTS:
Issue 2B (Line 1193): Event log path search order
Problem: find /usr searches entire tree, could find wrong event_log
Fix: Search /usr/local/maldetect first, then /opt, then broader
Impact: Correct event_log file selection
Issue 3B (Line 1266): Warning count validation
Problem: No numeric validation after grep -c
Fix: Added if ! [[ "$RKH_WARNINGS" =~ ^[0-9]+$ ]]
Impact: Defensive programming for edge cases
Issue 4B (Line 1004): ImunifyAV header detection
Problem: Assumed header line always exists (tail -n +2)
Fix: Check if first line contains header keywords before skipping
Impact: Handles varying output formats gracefully
Issue 5B (Line 1051): stat error handling improvement
Problem: Minor - stat error not explicitly handled
Fix: Explicit check if current_size is empty
Impact: More defensive error handling
All fixes verified with:
- bash -n syntax check ✓
- Manual logic review ✓
- Comprehensive format testing ✓
Files modified: modules/security/malware-scanner.sh
Total issues fixed: 10 (1 critical logic bug + 6 format sensitivity + 3 edge cases)
Lines changed: ~50 (additions for robustness)
🧪 Linux Server Toolkit - DEV Branch
STATUS: 🚀 Development & Testing Branch (Separate from Production)
This is the
devbranch for testing, development, and experimentation. Changes here are isolated from production and can be safely tested before merging to main.
🚀 Quick Start
One command - pulls dev branch with YELLOW ⚠️ BETA banner:
curl -sL https://git.mull.lol/cschantz/Linux-Server-Management-Toolkit/archive/dev.tar.gz | tar xz && source linux-server-management-toolkit/run.sh
When exiting (option 0), answer "yes" and cleanup happens automatically - no extra steps.
📍 Key Differences (Dev vs Production)
| Feature | Dev Branch | Production |
|---|---|---|
| Cache | .sysref.beta |
.sysref |
| Version | 2.1.0-BETA |
2.1.0 |
| Banner | 🟨 Yellow (⚠️) | 🔵 Cyan |
| Git Branch | dev |
main |
| Purpose | Testing & Development | Stable/Production |
📦 Features
Comprehensive multi-panel server management suite supporting cPanel, InterWorx, Plesk, and standalone Apache with:
- 🛡️ Security & Monitoring: Live attack monitor, bot blocker, malware scanner, IP reputation
- 💾 Backup & Recovery: Acronis management, MySQL database restore
- 🌐 Website Diagnostics: Error analysis, WordPress tools, Cloudflare detection
- 📧 Email Diagnostics: Mail queue, blacklist checker, SPF/DKIM/DMARC validation
- 📊 Performance Analysis: MySQL optimization, PHP tuning, hardware health, Varnish cache
- 🔍 System Diagnostics: Health checks, loadwatch analysis, bandwidth monitoring
📖 Documentation
For detailed documentation, see the main repository: https://git.mull.lol/cschantz/Linux-Server-Management-Toolkit
Version: 2.1.0-BETA Repository: https://git.mull.lol/cschantz/Linux-Server-Management-Toolkit Branch: dev
Languages
Shell
100%