git: 9front

Download patch

ref: 961c35a3993dee84911074e253d36f2a75ede60b
parent: 98c39c15996ffa0febc25c48dcfdd44e60a02643
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Fri Dec 30 10:09:07 EST 2022

icmp: only forward EchoRequest, Timestamp(request), InfoRequest and AddrMaskRequest

--- a/sys/src/9/ip/icmp.c
+++ b/sys/src/9/ip/icmp.c
@@ -564,6 +564,17 @@
 	Translation *q;
 
 	p = (Icmp*)(bp->rp);
+	switch(p->type){
+	case EchoRequest:
+	case Timestamp:
+	case InfoRequest:
+	case AddrMaskRequest:
+		break;
+	default:
+		/* no icmpid, can't translate back */
+		freeblist(bp);
+		return nil;
+	}
 	v4tov6(sa, p->src);
 	v4tov6(da, p->dst);
 	id = nhgets(p->icmpid);
--