diff -Naur libreswan-3.15-orig/programs/pluto/timer.c libreswan-3.15/programs/pluto/timer.c
--- libreswan-3.15-orig/programs/pluto/timer.c 2015-08-24 22:28:32.000000000 -0400
+++ libreswan-3.15/programs/pluto/timer.c 2016-06-14 11:02:52.232524053 -0400
@@ -180,7 +180,7 @@
st->st_retransmit,
enum_show(&state_names, st->st_state),
details);
- if (try != 0 && try <= try_limit) {
+ if (try != 0 && (try <= try_limit || try_limit == 0)) {
/*
* A lot like EVENT_SA_REPLACE, but over again.
* Since we know that st cannot be in use,
@@ -296,7 +296,7 @@
details);
}
- if (try != 0 && try <= try_limit) {
+ if (try != 0 && (try <= try_limit || try_limit == 0)) {
/*
* A lot like EVENT_SA_REPLACE, but over again.
* Since we know that st cannot be in use,