From: sashan Date: Tue, 7 Feb 2023 17:58:43 +0000 (+0000) Subject: internal representation of icmp type/code in pfctl(8)/pf(4) does not X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=1fdb608f55af06552858daaa549822514987da72;p=openbsd internal representation of icmp type/code in pfctl(8)/pf(4) does not fit into u_int8_t. Issue has been noticed and kindly reported by amalinin _at_ bh0.amt.ru via bugs@. OK bluhm@ --- diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y index 2c5a49772ff..de1506cda8a 100644 --- a/sbin/pfctl/parse.y +++ b/sbin/pfctl/parse.y @@ -1,4 +1,4 @@ -/* $OpenBSD: parse.y,v 1.712 2022/09/23 21:33:17 bluhm Exp $ */ +/* $OpenBSD: parse.y,v 1.713 2023/02/07 17:58:43 sashan Exp $ */ /* * Copyright (c) 2001 Markus Friedl. All rights reserved. @@ -134,8 +134,8 @@ struct node_gid { }; struct node_icmp { - u_int8_t code; - u_int8_t type; + u_int16_t code; /* aux. value 256 is legit */ + u_int16_t type; /* aux. value 256 is legit */ u_int8_t proto; struct node_icmp *next; struct node_icmp *tail; diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 1453bc35c04..3a7ff6b295c 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: pfvar.h,v 1.528 2023/01/06 17:44:34 sashan Exp $ */ +/* $OpenBSD: pfvar.h,v 1.529 2023/02/07 17:58:43 sashan Exp $ */ /* * Copyright (c) 2001 Daniel Hartmeier @@ -572,8 +572,8 @@ struct pf_rule { u_int8_t keep_state; sa_family_t af; u_int8_t proto; - u_int8_t type; - u_int8_t code; + u_int16_t type; /* aux. value 256 is legit */ + u_int16_t code; /* aux. value 256 is legit */ u_int8_t flags; u_int8_t flagset; u_int8_t min_ttl; @@ -592,7 +592,6 @@ struct pf_rule { u_int8_t set_prio[2]; sa_family_t naf; u_int8_t rcvifnot; - u_int8_t pad[2]; struct { struct pf_addr addr;