Page MenuHomeFreeBSD

D38475.diff
No OneTemporary

D38475.diff

diff --git a/sbin/ping/ping.c b/sbin/ping/ping.c
--- a/sbin/ping/ping.c
+++ b/sbin/ping/ping.c
@@ -227,7 +227,6 @@
static void pr_icmph(struct icmp *, struct ip *, const u_char *const);
static void pr_iph(struct ip *, const u_char *);
static void pr_pack(char *, ssize_t, struct sockaddr_in *, struct timespec *);
-static void pr_retip(struct ip *, const u_char *);
static void status(int);
static void stopit(int);
@@ -1571,11 +1570,11 @@
break;
}
/* Print returned IP header information */
- pr_retip(oip, oicmp_raw);
+ pr_iph(oip, oicmp_raw);
break;
case ICMP_SOURCEQUENCH:
(void)printf("Source Quench\n");
- pr_retip(oip, oicmp_raw);
+ pr_iph(oip, oicmp_raw);
break;
case ICMP_REDIRECT:
switch(icp->icmp_code) {
@@ -1596,7 +1595,7 @@
break;
}
(void)printf("(New addr: %s)\n", inet_ntoa(icp->icmp_gwaddr));
- pr_retip(oip, oicmp_raw);
+ pr_iph(oip, oicmp_raw);
break;
case ICMP_ECHO:
(void)printf("Echo Request\n");
@@ -1615,12 +1614,12 @@
icp->icmp_code);
break;
}
- pr_retip(oip, oicmp_raw);
+ pr_iph(oip, oicmp_raw);
break;
case ICMP_PARAMPROB:
(void)printf("Parameter problem: pointer = 0x%02x\n",
icp->icmp_hun.ih_pptr);
- pr_retip(oip, oicmp_raw);
+ pr_iph(oip, oicmp_raw);
break;
case ICMP_TSTAMP:
(void)printf("Timestamp\n");
@@ -1712,28 +1711,6 @@
return(buf);
}
-/*
- * pr_retip --
- * Dump some info on a returned (via ICMP) IP packet.
- */
-static void
-pr_retip(struct ip *ip, const u_char *cp)
-{
- int8_t hlen;
-
- pr_iph(ip, cp);
-
- hlen = ip->ip_hl << 2;
- cp = cp + hlen;
-
- if (ip->ip_p == 6)
- (void)printf("TCP: from port %u, to port %u (decimal)\n",
- (*cp * 256 + *(cp + 1)), (*(cp + 2) * 256 + *(cp + 3)));
- else if (ip->ip_p == 17)
- (void)printf("UDP: from port %u, to port %u (decimal)\n",
- (*cp * 256 + *(cp + 1)), (*(cp + 2) * 256 + *(cp + 3)));
-}
-
static char *
pr_ntime(n_time timestamp)
{
diff --git a/sbin/ping/tests/test_ping.py b/sbin/ping/tests/test_ping.py
--- a/sbin/ping/tests/test_ping.py
+++ b/sbin/ping/tests/test_ping.py
@@ -920,6 +920,54 @@
},
id="_3_1_flags_DF",
),
+ pytest.param(
+ {
+ "src": "192.0.2.1",
+ "dst": "192.0.2.2",
+ "icmp_type": 3,
+ "icmp_code": 1,
+ "special": "tcp",
+ },
+ {
+ "returncode": 2,
+ "stdout": """\
+PATTERN: 0x01
+PING 192.0.2.2 (192.0.2.2): 56 data bytes
+
+--- 192.0.2.2 ping statistics ---
+1 packets transmitted, 0 packets received, 100.0% packet loss
+""",
+ "stderr": """\
+ping: quoted data too short (40 bytes) from 192.0.2.2
+""",
+ "redacted": False,
+ },
+ id="_3_1_special_tcp",
+ ),
+ pytest.param(
+ {
+ "src": "192.0.2.1",
+ "dst": "192.0.2.2",
+ "icmp_type": 3,
+ "icmp_code": 1,
+ "special": "udp",
+ },
+ {
+ "returncode": 2,
+ "stdout": """\
+PATTERN: 0x01
+PING 192.0.2.2 (192.0.2.2): 56 data bytes
+
+--- 192.0.2.2 ping statistics ---
+1 packets transmitted, 0 packets received, 100.0% packet loss
+""",
+ "stderr": """\
+ping: quoted data too short (28 bytes) from 192.0.2.2
+""",
+ "redacted": False,
+ },
+ id="_3_1_special_udp",
+ ),
]
@pytest.mark.parametrize("pinger_kargs, expected", pinger_testdata)

File Metadata

Mime Type
text/plain
Expires
Fri, Mar 6, 10:23 PM (12 h, 18 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29340952
Default Alt Text
D38475.diff (3 KB)

Event Timeline