Pārlūkot izejas kodu

modules_k/pua: Temporary dialogs did not contain all of the required fields.

- Temporary dialogs are created when a SUBSCRIBE is sent to handle the timing
  issue that means that NOTIFYs can be processed before 200 OKs (the real
  dialog is created on 200 OK).
- Not every required field was filled in for the temporary dialogs so dialog
  searches were failing and duplicate dialogs created.
(cherry picked from commit 464d6a353f1de7d7ca38cd856320b973f3341679)
pd 13 gadi atpakaļ
vecāks
revīzija
e84539d3b4
1 mainītis faili ar 4 papildinājumiem un 0 dzēšanām
  1. 4 0
      modules_k/pua/send_subscribe.c

+ 4 - 0
modules_k/pua/send_subscribe.c

@@ -963,8 +963,12 @@ insert:
 		presentity->id.len = subs->id.len;
 		presentity->id.len = subs->id.len;
 		size += subs->id.len;
 		size += subs->id.len;
 
 
+		presentity->event = pres.event;
+		presentity->flag = pres.flag;
+
 		/* Set the temporary record expiry for 2 * 64T1 seconds from now */
 		/* Set the temporary record expiry for 2 * 64T1 seconds from now */
 		presentity->expires= (int)time(NULL) + 64;
 		presentity->expires= (int)time(NULL) + 64;
+		presentity->desired_expires= presentity->expires;
 
 
 		insert_htable(presentity);
 		insert_htable(presentity);