/* guard_limit must be larger than guard_secs */
/* guard_min must be > 1 */
#define EXPIRY_GUARD_SECS 15 /* How long before expiry do we reregister */
#define EXPIRY_GUARD_MIN 3 /* Below here, we use expiry=1 instead of EXPIRY_GUARD_PCT*expiry */
#define EXPIRY_GUARD_LIMIT 30 /* Below here, we use EXPIRY_GUARD_PCT instead of EXPIRY_GUARD_SECS */
#define EXPIRY_GUARD_PCT 0.2 /* Percentage for grace period */
if(expires <= EXPIRY_GUARD_MIN)
expires = 1;
else
if(expires < EXPIRY_GUARD_LIMIT)
expires -= MAX( (expires * EXPIRY_GUARD_PCT), EXPIRY_GUARD_MIN - 1 );
else
expires -= EXPIRY_GUARD_SECS;