Module Name: src Committed By: roy Date: Wed Feb 3 11:53:43 UTC 2021
Modified Files: src/sys/net: if_arp.h if_ether.h if_gre.h src/sys/netinet: if_ether.h igmp.h in.h ip.h ip6.h ip_icmp.h ip_mroute.h ip_var.h tcp.h tcp_var.h udp.h udp_var.h Log Message: Sprinkle CTASSERT to enforce on-wire layout without __packed To generate a diff of this commit: cvs rdiff -u -r1.35 -r1.36 src/sys/net/if_arp.h cvs rdiff -u -r1.82 -r1.83 src/sys/net/if_ether.h cvs rdiff -u -r1.45 -r1.46 src/sys/net/if_gre.h cvs rdiff -u -r1.35 -r1.36 src/sys/netinet/if_ether.h src/sys/netinet/tcp.h cvs rdiff -u -r1.13 -r1.14 src/sys/netinet/igmp.h cvs rdiff -u -r1.112 -r1.113 src/sys/netinet/in.h cvs rdiff -u -r1.36 -r1.37 src/sys/netinet/ip.h cvs rdiff -u -r1.27 -r1.28 src/sys/netinet/ip6.h cvs rdiff -u -r1.41 -r1.42 src/sys/netinet/ip_icmp.h cvs rdiff -u -r1.33 -r1.34 src/sys/netinet/ip_mroute.h cvs rdiff -u -r1.131 -r1.132 src/sys/netinet/ip_var.h cvs rdiff -u -r1.193 -r1.194 src/sys/netinet/tcp_var.h cvs rdiff -u -r1.17 -r1.18 src/sys/netinet/udp.h cvs rdiff -u -r1.47 -r1.48 src/sys/netinet/udp_var.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/net/if_arp.h diff -u src/sys/net/if_arp.h:1.35 src/sys/net/if_arp.h:1.36 --- src/sys/net/if_arp.h:1.35 Wed Feb 3 10:31:10 2021 +++ src/sys/net/if_arp.h Wed Feb 3 11:53:43 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: if_arp.h,v 1.35 2021/02/03 10:31:10 roy Exp $ */ +/* $NetBSD: if_arp.h,v 1.36 2021/02/03 11:53:43 roy Exp $ */ /* * Copyright (c) 1986, 1993 @@ -72,6 +72,9 @@ struct arphdr { uint8_t ar_tpa[]; /* target protocol address */ #endif }; +#ifdef CTASSERT +CTASSERT(sizeof(struct arphdr) == 8); +#endif static __inline uint8_t * ar_data(struct arphdr *ap) Index: src/sys/net/if_ether.h diff -u src/sys/net/if_ether.h:1.82 src/sys/net/if_ether.h:1.83 --- src/sys/net/if_ether.h:1.82 Wed Feb 3 05:51:40 2021 +++ src/sys/net/if_ether.h Wed Feb 3 11:53:43 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: if_ether.h,v 1.82 2021/02/03 05:51:40 roy Exp $ */ +/* $NetBSD: if_ether.h,v 1.83 2021/02/03 11:53:43 roy Exp $ */ /* * Copyright (c) 1982, 1986, 1993 @@ -90,6 +90,11 @@ struct ether_header { uint16_t ether_type; }; +#ifdef CTASSERT +CTASSERT(sizeof(struct ether_addr) == 6); +CTASSERT(sizeof(struct ether_header) == 14); +#endif + #include <net/ethertypes.h> #define ETHER_IS_MULTICAST(addr) (*(addr) & 0x01) /* is address mcast/bcast? */ Index: src/sys/net/if_gre.h diff -u src/sys/net/if_gre.h:1.45 src/sys/net/if_gre.h:1.46 --- src/sys/net/if_gre.h:1.45 Wed Feb 3 05:51:40 2021 +++ src/sys/net/if_gre.h Wed Feb 3 11:53:43 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: if_gre.h,v 1.45 2021/02/03 05:51:40 roy Exp $ */ +/* $NetBSD: if_gre.h,v 1.46 2021/02/03 11:53:43 roy Exp $ */ /* * Copyright (c) 1998, 2008 The NetBSD Foundation, Inc. @@ -131,6 +131,9 @@ struct gre_h { Present if (rt_pres == 1) */ }; +#ifdef CTASSERT +CTASSERT(sizeof(struct gre_h) == 4); +#endif #define GRE_CP 0x8000 /* Checksum Present */ #define GRE_RP 0x4000 /* Routing Present */ Index: src/sys/netinet/if_ether.h diff -u src/sys/netinet/if_ether.h:1.35 src/sys/netinet/if_ether.h:1.36 --- src/sys/netinet/if_ether.h:1.35 Wed Feb 3 05:51:40 2021 +++ src/sys/netinet/if_ether.h Wed Feb 3 11:53:43 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: if_ether.h,v 1.35 2021/02/03 05:51:40 roy Exp $ */ +/* $NetBSD: if_ether.h,v 1.36 2021/02/03 11:53:43 roy Exp $ */ /* * Copyright (c) 1982, 1986, 1993 @@ -76,6 +76,7 @@ struct ether_arp { u_int8_t arp_tha[ETHER_ADDR_LEN]; /* target hardware address */ u_int8_t arp_tpa[4]; /* target protocol address */ }; +CTASSERT(sizeof(struct ether_arp) == 28); #define arp_hrd ea_hdr.ar_hrd #define arp_pro ea_hdr.ar_pro #define arp_hln ea_hdr.ar_hln Index: src/sys/netinet/tcp.h diff -u src/sys/netinet/tcp.h:1.35 src/sys/netinet/tcp.h:1.36 --- src/sys/netinet/tcp.h:1.35 Wed Feb 3 05:51:40 2021 +++ src/sys/netinet/tcp.h Wed Feb 3 11:53:43 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: tcp.h,v 1.35 2021/02/03 05:51:40 roy Exp $ */ +/* $NetBSD: tcp.h,v 1.36 2021/02/03 11:53:43 roy Exp $ */ /* * Copyright (c) 1982, 1986, 1993 @@ -73,6 +73,9 @@ struct tcphdr { uint16_t th_sum; /* checksum */ uint16_t th_urp; /* urgent pointer */ }; +#ifdef CTASSERT +CTASSERT(sizeof(struct tcphdr) == 20); +#endif #define TCPOPT_EOL 0 #define TCPOLEN_EOL 1 Index: src/sys/netinet/igmp.h diff -u src/sys/netinet/igmp.h:1.13 src/sys/netinet/igmp.h:1.14 --- src/sys/netinet/igmp.h:1.13 Wed Feb 3 05:51:40 2021 +++ src/sys/netinet/igmp.h Wed Feb 3 11:53:43 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: igmp.h,v 1.13 2021/02/03 05:51:40 roy Exp $ */ +/* $NetBSD: igmp.h,v 1.14 2021/02/03 11:53:43 roy Exp $ */ /* * Copyright (c) 1992, 1993 @@ -89,6 +89,9 @@ struct igmp { uint16_t igmp_cksum; /* IP-style checksum */ struct in_addr igmp_group; /* group address being reported */ }; /* (zero for queries) */ +#ifdef CTASSERT +CTASSERT(sizeof(struct igmp) == 8); +#endif #define IGMP_MINLEN 8 Index: src/sys/netinet/in.h diff -u src/sys/netinet/in.h:1.112 src/sys/netinet/in.h:1.113 --- src/sys/netinet/in.h:1.112 Wed Feb 3 05:51:40 2021 +++ src/sys/netinet/in.h Wed Feb 3 11:53:43 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: in.h,v 1.112 2021/02/03 05:51:40 roy Exp $ */ +/* $NetBSD: in.h,v 1.113 2021/02/03 11:53:43 roy Exp $ */ /* * Copyright (c) 1982, 1986, 1990, 1993 @@ -158,6 +158,9 @@ typedef __sa_family_t sa_family_t; struct in_addr { in_addr_t s_addr; }; +#ifdef CTASSERT +CTASSERT(sizeof(struct in_addr) == 4); +#endif /* * Definitions of bits in internet address integers. Index: src/sys/netinet/ip.h diff -u src/sys/netinet/ip.h:1.36 src/sys/netinet/ip.h:1.37 --- src/sys/netinet/ip.h:1.36 Wed Feb 3 05:51:40 2021 +++ src/sys/netinet/ip.h Wed Feb 3 11:53:43 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: ip.h,v 1.36 2021/02/03 05:51:40 roy Exp $ */ +/* $NetBSD: ip.h,v 1.37 2021/02/03 11:53:43 roy Exp $ */ /* * Copyright (c) 1982, 1986, 1993 @@ -248,4 +248,10 @@ struct ippseudo { u_int16_t ippseudo_len; /* protocol length */ }; +#ifdef CTASSERT +CTASSERT(sizeof(struct ip) == 20); +CTASSERT(sizeof(struct ip_timestamp) == 12); +CTASSERT(sizeof(struct ippseudo) == 12); +#endif + #endif /* !_NETINET_IP_H_ */ Index: src/sys/netinet/ip6.h diff -u src/sys/netinet/ip6.h:1.27 src/sys/netinet/ip6.h:1.28 --- src/sys/netinet/ip6.h:1.27 Wed Feb 3 05:51:40 2021 +++ src/sys/netinet/ip6.h Wed Feb 3 11:53:43 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: ip6.h,v 1.27 2021/02/03 05:51:40 roy Exp $ */ +/* $NetBSD: ip6.h,v 1.28 2021/02/03 11:53:43 roy Exp $ */ /* $KAME: ip6.h,v 1.45 2003/06/05 04:46:38 keiichi Exp $ */ /* @@ -120,6 +120,8 @@ struct ip6_hdr_pseudo { u_int8_t ip6ph_zero[3]; u_int8_t ip6ph_nxt; }; +CTASSERT(sizeof(struct ip6_hdr) == 40); +CTASSERT(sizeof(struct ip6_hdr_pseudo) == 40); #endif /* Index: src/sys/netinet/ip_icmp.h diff -u src/sys/netinet/ip_icmp.h:1.41 src/sys/netinet/ip_icmp.h:1.42 --- src/sys/netinet/ip_icmp.h:1.41 Wed Feb 3 05:51:40 2021 +++ src/sys/netinet/ip_icmp.h Wed Feb 3 11:53:43 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: ip_icmp.h,v 1.41 2021/02/03 05:51:40 roy Exp $ */ +/* $NetBSD: ip_icmp.h,v 1.42 2021/02/03 11:53:43 roy Exp $ */ /* * Copyright (c) 1982, 1986, 1993 @@ -160,6 +160,13 @@ struct icmp_ext_obj_hdr { uint8_t c_type; }; +#ifdef CTASSERT +CTASSERT(sizeof(struct icmp_ra_addr) == 8); +CTASSERT(sizeof(struct icmp) == 28); +CTASSERT(sizeof(struct icmp_ext_hdr) == 4); +CTASSERT(sizeof(struct icmp_ext_obj_hdr) == 4); +#endif + /* * Lower bounds on packet lengths for various types. * For the error advice packets must first insure that the Index: src/sys/netinet/ip_mroute.h diff -u src/sys/netinet/ip_mroute.h:1.33 src/sys/netinet/ip_mroute.h:1.34 --- src/sys/netinet/ip_mroute.h:1.33 Wed Feb 3 05:51:40 2021 +++ src/sys/netinet/ip_mroute.h Wed Feb 3 11:53:43 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: ip_mroute.h,v 1.33 2021/02/03 05:51:40 roy Exp $ */ +/* $NetBSD: ip_mroute.h,v 1.34 2021/02/03 11:53:43 roy Exp $ */ #ifndef _NETINET_IP_MROUTE_H_ #define _NETINET_IP_MROUTE_H_ @@ -284,6 +284,9 @@ struct igmpmsg { u_int8_t unused3; struct in_addr im_src, im_dst; }; +#ifdef CTASSERT +CTASSERT(sizeof(struct igmpmsg) == 20); +#endif /* * Argument structure used for pkt info. while upcall is made. Index: src/sys/netinet/ip_var.h diff -u src/sys/netinet/ip_var.h:1.131 src/sys/netinet/ip_var.h:1.132 --- src/sys/netinet/ip_var.h:1.131 Wed Feb 3 05:51:40 2021 +++ src/sys/netinet/ip_var.h Wed Feb 3 11:53:43 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: ip_var.h,v 1.131 2021/02/03 05:51:40 roy Exp $ */ +/* $NetBSD: ip_var.h,v 1.132 2021/02/03 11:53:43 roy Exp $ */ /* * Copyright (c) 1982, 1986, 1993 @@ -47,6 +47,9 @@ struct ipovly { struct in_addr ih_src; /* source internet address */ struct in_addr ih_dst; /* destination internet address */ }; +#ifdef CTASSERT +CTASSERT(sizeof(struct ipovly) == 20); +#endif /* * IP Flow structure Index: src/sys/netinet/tcp_var.h diff -u src/sys/netinet/tcp_var.h:1.193 src/sys/netinet/tcp_var.h:1.194 --- src/sys/netinet/tcp_var.h:1.193 Wed Feb 3 05:51:40 2021 +++ src/sys/netinet/tcp_var.h Wed Feb 3 11:53:43 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: tcp_var.h,v 1.193 2021/02/03 05:51:40 roy Exp $ */ +/* $NetBSD: tcp_var.h,v 1.194 2021/02/03 11:53:43 roy Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -169,6 +169,9 @@ struct tcpiphdr { struct ipovly ti_i; /* overlaid ip structure */ struct tcphdr ti_t; /* tcp header */ }; +#ifdef CTASSERT +CTASSERT(sizeof(struct tcpiphdr) == 40); +#endif #define ti_x1 ti_i.ih_x1 #define ti_pr ti_i.ih_pr #define ti_len ti_i.ih_len Index: src/sys/netinet/udp.h diff -u src/sys/netinet/udp.h:1.17 src/sys/netinet/udp.h:1.18 --- src/sys/netinet/udp.h:1.17 Wed Feb 3 05:51:40 2021 +++ src/sys/netinet/udp.h Wed Feb 3 11:53:43 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: udp.h,v 1.17 2021/02/03 05:51:40 roy Exp $ */ +/* $NetBSD: udp.h,v 1.18 2021/02/03 11:53:43 roy Exp $ */ /* * Copyright (c) 1982, 1986, 1993 @@ -45,6 +45,9 @@ struct udphdr { uint16_t uh_ulen; /* udp length */ uint16_t uh_sum; /* udp checksum */ }; +#ifdef CTASSERT +CTASSERT(sizeof(struct udphdr) == 8); +#endif /* socket options for UDP */ #define UDP_ENCAP 100 Index: src/sys/netinet/udp_var.h diff -u src/sys/netinet/udp_var.h:1.47 src/sys/netinet/udp_var.h:1.48 --- src/sys/netinet/udp_var.h:1.47 Wed Feb 3 05:51:40 2021 +++ src/sys/netinet/udp_var.h Wed Feb 3 11:53:43 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: udp_var.h,v 1.47 2021/02/03 05:51:40 roy Exp $ */ +/* $NetBSD: udp_var.h,v 1.48 2021/02/03 11:53:43 roy Exp $ */ /* * Copyright (c) 1982, 1986, 1989, 1993 @@ -41,6 +41,9 @@ struct udpiphdr { struct ipovly ui_i; /* overlaid ip structure */ struct udphdr ui_u; /* udp header */ }; +#ifdef CTASSERT +CTASSERT(sizeof(struct udpiphdr) == 28); +#endif #define ui_x1 ui_i.ih_x1 #define ui_pr ui_i.ih_pr #define ui_len ui_i.ih_len