From 8dbdaa7b99d057e93723e80830f366b2acc28013 Mon Sep 17 00:00:00 2001 From: dmiller Date: Sat, 24 Jun 2023 01:53:00 +0000 Subject: [PATCH] Permit -p wildcards to match 'unknown' --- services.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/services.cc b/services.cc index d0cee1350..a0899c750 100644 --- a/services.cc +++ b/services.cc @@ -278,6 +278,7 @@ void free_services() { int addportsfromservmask(const char *mask, u8 *porttbl, int range_type) { ServiceMap::const_iterator i; + const char *name = NULL; int t = 0; if (!services_initialized && nmap_services_init() == -1) @@ -286,8 +287,10 @@ int addportsfromservmask(const char *mask, u8 *porttbl, int range_type) { for (i = service_table.begin(); i != service_table.end(); i++) { const service_node& current = i->second; if (!current.s_name) - continue; - if (wildtest(mask, current.s_name)) { + name = "unknown"; + else + name = current.s_name; + if (wildtest(mask, name)) { if ((range_type & SCAN_TCP_PORT) && strcmp(current.s_proto, "tcp") == 0) { porttbl[current.s_port] |= SCAN_TCP_PORT; t++;