Rewrite pfe_route() to actually work on 64bit archs since IPv6 had to be
authorclaudio <claudio@openbsd.org>
Thu, 29 Jun 2023 16:11:02 +0000 (16:11 +0000)
committerclaudio <claudio@openbsd.org>
Thu, 29 Jun 2023 16:11:02 +0000 (16:11 +0000)
commit137f9002269ec56522cf1cb335bb0fdf03c4a810
tree79eab7cd5383f9235d224cb9733d0bdc5b915ed2
parent74a82ef4280e44f4e49a4bb03951b60d0da0da29
Rewrite pfe_route() to actually work on 64bit archs since IPv6 had to be
special. One can not define a struct for the route message since there is
different padding between 32 and 64 bit systems for struct sockaddr_in6.
Instead do what all other daemons do and use struct sockaddr_storage,
iovec and writev.
Problem reported by Joerg Streckfuss (streckfuss at dfn-cert.de)
OK tb@
usr.sbin/relayd/pfe_route.c