Forráskód Böngészése

registrar: expires_range should not make expires < min_expires

(cherry picked from commit c753932ebfa055d923c92b916937eec99cd14d23)
(cherry picked from commit a6f117620f97fd8dd22e160938d6d322cce955bd)
Kristian F. Høgh 5 éve
szülő
commit
24e041cfc1
1 módosított fájl, 7 hozzáadás és 4 törlés
  1. 7 4
      src/modules/registrar/sip_msg.c

+ 7 - 4
src/modules/registrar/sip_msg.c

@@ -277,14 +277,17 @@ void calc_contact_expires(struct sip_msg* _m, param_t* _ep, int* _e, int novaria
 
 	if ( *_e != 0 )
 	{
-		if (!novariation) {
-			*_e = randomize_expires( *_e, range );
-		}
-
 		if (*_e < cfg_get(registrar, registrar_cfg, min_expires)) {
 			*_e = cfg_get(registrar, registrar_cfg, min_expires);
 		}
 
+		if (!novariation) {
+			*_e = randomize_expires( *_e, range );
+			if (*_e < cfg_get(registrar, registrar_cfg, min_expires)) {
+				*_e = cfg_get(registrar, registrar_cfg, min_expires);
+			}
+		}
+
 		if (cfg_get(registrar, registrar_cfg, max_expires) && (*_e > cfg_get(registrar, registrar_cfg, max_expires))) {
 			*_e = cfg_get(registrar, registrar_cfg, max_expires);
 		}