ce8babe62fd435261ada5874ac1b363199e660eb
ISSUE: Pipe-to-while loops created subshells, preventing seen_domains array updates from persisting to parent shell. This caused: 1. Duplicate domains in reference database 2. Database corruption 3. Inefficient double processing of domains FIXES: 1. Lines 416-444: Changed pipe-based while to here-document - BEFORE: get_user_domains "$user" | while IFS= read -r domain; do - AFTER: while IFS= read -r domain; do ... done <<< "$user_domains" - Result: seen_domains updates now persist to parent shell 2. Lines 416-417: Call get_user_domains() only once - BEFORE: Called twice (lines 417 and 420) - AFTER: Called once, stored in $user_domains - Result: No duplicate function calls 3. Line 422: Added check for empty primary_domain - BEFORE: [ "$domain" = "$primary_domain" ] - AFTER: [ -n "$primary_domain" ] && [ "$domain" = "$primary_domain" ] - Result: Handles edge case where user has no domains 4. Lines 405-412: Fixed alias iteration subshell issue - BEFORE: echo ... | tr ... | while IFS= read -r alias; do - AFTER: while IFS= read -r alias; do ... done <<< "$(echo ... | tr ...)" - Result: seen_domains["alias"] updates persist TESTING: - bash -n validates syntax - Logic verified for subshell fix - Array updates will now persist to parent shell Impact: - Reference database no longer corrupted with duplicates - Proper domain deduplication via seen_domains array - Database building now works correctly Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
🧪 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%