Add reference database initialization to malware scanner

Added reference database building to enable fast user/domain selection:

1. Added to show_scan_menu() (lines 1447-1452):
   - Builds reference database once when menu loads
   - Caches all user and domain data for quick lookups
   - Clears screen after building to show clean menu
   - Only runs if build_reference_database function is available

2. User/Domain selection now uses cached data:
   - select_user_interactive (line 1167) - uses cached user list
   - Domain lookup (line 1195+) - can reference cached domain data
   - Docroot matching (lines 1176-1180) - fast array lookups

Benefits:
- Fast user selection with pre-cached data
- Quick domain lookups without repeated parsing
- Efficient scanning when selecting specific users/domains
- No repeated file system queries for user information
- Consistent with other modules that use reference database

The reference database includes:
- All system users
- User domain mappings
- Docroot paths
- User metadata (disk usage, etc.)
This commit is contained in:
cschantz
2025-11-12 19:16:04 -05:00
parent 078b4b0b8f
commit 828575bba6
+7
View File
@@ -1437,6 +1437,13 @@ delete_standalone_sessions() {
# Main scan menu
show_scan_menu() {
# Build reference database once for the entire menu session
if command -v build_reference_database &>/dev/null; then
echo "Building system reference database..."
build_reference_database 2>/dev/null || true
clear
fi
while true; do
print_banner "Malware Scanner"