[Swan-dev] DPD code mystery
D. Hugh Redelmeier
hugh at mimosa.com
Mon Oct 9 02:07:53 UTC 2017
Can someone who understands DPD have a look at this?
in complete_v1_state_transition:
/*
* make sure that a DPD event gets created for a new phase 1
* SA.
*/
if (IS_ISAKMP_SA_ESTABLISHED(st->st_state)) {
if (deltasecs(st->st_connection->dpd_delay) > 0 &&
deltasecs(st->st_connection->dpd_timeout) > 0) {
/* don't ignore failure */
/* ??? in fact, we do ignore this:
* result is NEVER used
* (clang 3.4 noticed this)
*/
stf_status s = dpd_init(st);
pexpect(s != STF_FAIL);
if (s == STF_FAIL)
result = STF_FAIL; /* ??? fall through !?! */
/* ??? result not subsequently used */
}
}
The code claims that failure should not be ignored, and then ignores
it. The code has been like this for years.
see 98eed4a91ea93e69807f1236b82f61325c4c831f
and 993e9312f195f54a3e3a00126aaf926ad566e2ae
More information about the Swan-dev
mailing list