From 9ea43c6c97d3653cb58c1934f8770b951917bf9a Mon Sep 17 00:00:00 2001
From: rpm-build <rpm-build>
Date: Mon, 20 Oct 2014 13:26:38 +0200
Subject: [PATCH 7/8] Introduce -nn option

This changes the semantics on -n option so only namelookups are skipped. Port
numbers *are* translated to their string representations. Option -nn then has
the same semantics as -n had originally.
---
 addrtoname.c | 4 ++--
 tcpdump.1.in | 6 +++++-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/addrtoname.c b/addrtoname.c
index 949acb7..9dd78d8 100644
--- a/addrtoname.c
+++ b/addrtoname.c
@@ -810,7 +810,7 @@ init_servarray(netdissect_options *ndo)
 
 		while (table->name)
 			table = table->nxt;
-		if (ndo->ndo_nflag) {
+		if (ndo->ndo_nflag > 1) {
 			(void)snprintf(buf, sizeof(buf), "%d", port);
 			table->name = strdup(buf);
 		} else
@@ -1233,7 +1233,7 @@ init_addrtoname(netdissect_options *ndo, uint32_t localnet, uint32_t mask)
 		f_localnet = localnet;
 		f_netmask = mask;
 	}
-	if (ndo->ndo_nflag)
+	if (ndo->ndo_nflag > 1)
 		/*
 		 * Simplest way to suppress names.
 		 */
diff --git a/tcpdump.1.in b/tcpdump.1.in
index ca5cff2..c711a24 100644
--- a/tcpdump.1.in
+++ b/tcpdump.1.in
@@ -547,7 +547,11 @@ Use \fIsecret\fP as a shared secret for validating the digests found in
 TCP segments with the TCP-MD5 option (RFC 2385), if present.
 .TP
 .B \-n
-Don't convert addresses (i.e., host addresses, port numbers, etc.) to names.
+Don't convert host addresses to names.  This can be used to avoid
+DNS lookups.
+.TP
+.B \-nn
+Don't convert protocol and port numbers etc. to names either.
 .TP
 .B \-N
 Don't print domain name qualification of host names.
-- 
2.9.3

