[sr-dev] git:5.0:a32b6da2: dialog: parse tm callback reply in early phase to detect broken format

Daniel-Constantin Mierla miconda at gmail.com
Thu Apr 4 13:02:39 CEST 2019


Module: kamailio
Branch: 5.0
Commit: a32b6da224872bb831ff3014ad553336c7d295cb
URL: https://github.com/kamailio/kamailio/commit/a32b6da224872bb831ff3014ad553336c7d295cb

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2019-04-04T12:59:49+02:00

dialog: parse tm callback reply in early phase to detect broken format

(cherry picked from commit 6b9837c30f9d2a2ca937d7e6d8c1c496fe4d7d30)
(cherry picked from commit c2995f731ab3a94f302af63bdad9c3bf61d4e995)
(cherry picked from commit a9fb58a83ec8738a371d6be995d457b88e16a2f4)

---

Modified: src/modules/dialog/dlg_handlers.c

---

Diff:  https://github.com/kamailio/kamailio/commit/a32b6da224872bb831ff3014ad553336c7d295cb.diff
Patch: https://github.com/kamailio/kamailio/commit/a32b6da224872bb831ff3014ad553336c7d295cb.patch

---

diff --git a/src/modules/dialog/dlg_handlers.c b/src/modules/dialog/dlg_handlers.c
index 8621836ad2..303513b065 100644
--- a/src/modules/dialog/dlg_handlers.c
+++ b/src/modules/dialog/dlg_handlers.c
@@ -435,6 +435,13 @@ static void dlg_onreply(struct cell* t, int type, struct tmcb_params *param)
 	if(dlg==0)
 		return;
 
+	if (rpl != FAKED_REPLY) {
+		if(parse_headers(rpl, HDR_EOH_F, 0) < 0) {
+			LM_ERR("failed to parse the reply headers\n");
+			goto done_early;
+		}
+	}
+
 	unref = 0;
 	if (type & (TMCB_RESPONSE_IN|TMCB_ON_FAILURE)) {
 		/* Set the dialog context so it is available in onreply_route and failure_route*/




More information about the sr-dev mailing list