Hi,

there's an open bug in trac

https://community.openvpn.net/openvpn/ticket/340

that asks us to remove structures used in route.c that were copy-pasted
from <net/route.h>, because OpenBSD will change some structure elements,
leading to incompatibility with OpenVPN, and include <net/route.h> instead.

This makes sense, from a portability perspective, even if it needs
careful testing across all supported platforms to see whether everything
affected still works (this seems to primarily be the default gateway
querying code, get-default_gateway()).

There is a catch to it: <net/route.h> defines a "struct route", while
OpenVPN's route.h also has a "struct route", which are wildly different,
so including <net/route.h> would require is to change all occurrences
of "struct route" to "struct route_ipv4" or such.  Which we can do,
and I think it makes sense (we have "struct route_ipv6" for IPv6, so
that would avoid the conflict while still aligning IPv4/IPv6 somewhat).

Now comes the catch: git master/2.4 only, or 2.3.3?


It's not exactly a bugfix, but is needed for portability, and since 2.3.x
will be around a while, it would be good to have there.

Also, changing it in master and 2.3.3 would make Arne's and my life much 
easier in future should we have to fix a bug relating to (then) 
"struct openvpn_route", as we wouldn't be able to cherry-pick master->2.3
anymore otherwise...


So I'm tempted to go for "git master and 2.3.3", but want to put this
up for discussion here.

gert
-- 
USENET is *not* the non-clickable part of WWW!
                                                           //www.muc.de/~gert/
Gert Doering - Munich, Germany                             g...@greenie.muc.de
fax: +49-89-35655025                        g...@net.informatik.tu-muenchen.de

Attachment: pgpuRmQ5POaq6.pgp
Description: PGP signature

Reply via email to