/* guard_limit must be larger than guard_secs */ /* guard_min must be > 1 */ #define EXPIRY_GUARD_SECS 15 #define EXPIRY_GUARD_MIN 3 #define EXPIRY_GUARD_LIMIT 30 #define EXPIRY_GUARD_PCT 0.2 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;