[Swan-dev] addconn: Fix for lsw#86
D. Hugh Redelmeier
hugh at mimosa.com
Thu May 29 21:30:04 EEST 2014
| From: Paul Wouters <paul at vault.libreswan.fi>
| commit a31c9d9610b4755be9bdab766b75a8ffaf975762
| Author: Paul Wouters <pwouters at redhat.com>
| Date: Thu May 29 12:23:40 2014 -0400
| addconn: Fix for lsw#86 left=%defaultroute does not work in a conn
| Various kind of combinations with or without left/right and leftnexthop
| rightnexthop set to %defaultroute would give unexpected different results
This eliminates the only use of dnh in struct starter_config. It was
never set. So that's good. I will delete it.
ip_address dnh; /* next hop value */
But there is also:
ip_address dr; /* default route */
It looks as if that too is used but never set
w->host_addr = cfg->dr;
if (addrtypeof(&w->host_addr) == 0)
w->host_addr = *aftoinfo(l->addr_family)->any;
The difference here is that this code notices that the value hasn't
been set (address type is 0, a kind of rough-and-ready-test) and then
sets it to any.
So I'll delete dr and eliminate its use. And I think that the more
conventional code for setting w->host_addr to %any is
Since this is just what case KH_IPHOSTNAME does, I'll move the case
struct starter_config also has
Which is never used. Coincidentally, so does struct config_parsed.
I'll ditch them too.
Hunting around, I find some more fields that are never used:
include/ipsecconf/confread.h: struct starter_config:
unsigned int keep_alive;
In struct starter_conn's enum called state, half the STATE_ values are
never used. In the same struct, this isn't used:
In struct starter_end, this is unused:
I've eliminated all these and checked in the result.
More information about the Swan-dev