[sr-dev] git:master:dc9531af: pv: use parsed uri to compute tosocket

Henning Westerholt henningw at users.noreply.github.com
Sat Mar 9 12:52:50 CET 2019


Module: kamailio
Branch: master
Commit: dc9531affae6336ea3771792a80385de56205ff0
URL: https://github.com/kamailio/kamailio/commit/dc9531affae6336ea3771792a80385de56205ff0

Author: lazedo <luis.azedo at factorlusitano.com>
Committer: Henning Westerholt <henningw at users.noreply.github.com>
Date: 2019-03-09T12:52:43+01:00

pv: use parsed uri to compute tosocket

---

Modified: src/modules/pv/pv_trans.c

---

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

---

diff --git a/src/modules/pv/pv_trans.c b/src/modules/pv/pv_trans.c
index f8074170ac..efbf8e8cf2 100644
--- a/src/modules/pv/pv_trans.c
+++ b/src/modules/pv/pv_trans.c
@@ -1389,29 +1389,24 @@ int tr_eval_uri(struct sip_msg *msg, tr_param_t *tp, int subtype,
 			}
 			break;
 		case TR_URI_TOSOCKET:
-			if(msg==NULL) {
+			if(get_valid_proto_string(_tr_parsed_uri.proto, 1, 0, &sproto)<0) {
+				LM_WARN("unknown transport protocol\n");
+				val->rs = _tr_empty;
+				break;
+			}
+			tr_set_crt_buffer();
+			val->rs.len = snprintf(_tr_buffer, TR_BUFFER_SIZE,
+					"%.*s:%.*s:%d", sproto.len, sproto.s,
+					_tr_parsed_uri.host.len, _tr_parsed_uri.host.s,
+					(_tr_parsed_uri.port_no!=0)
+							?(int)_tr_parsed_uri.port_no:5060);
+			if(val->rs.len<=0 || val->rs.len>=TR_BUFFER_SIZE) {
+				LM_WARN("error converting uri to socket address [%.*s]\n",
+						_tr_uri.len, _tr_uri.s);
 				val->rs = _tr_empty;
 				break;
-			} else {
-				if(get_valid_proto_string(msg->rcv.proto, 1, 0, &sproto)<0) {
-					LM_WARN("unknown transport protocol\n");
-					val->rs = _tr_empty;
-					break;
-				}
-				tr_set_crt_buffer();
-				val->rs.len = snprintf(_tr_buffer, TR_BUFFER_SIZE,
-						"%.*s:%.*s:%d", sproto.len, sproto.s,
-						_tr_parsed_uri.host.len, _tr_parsed_uri.host.s,
-						(_tr_parsed_uri.port_no!=0)
-								?(int)_tr_parsed_uri.port_no:5060);
-				if(val->rs.len<=0 || val->rs.len>=TR_BUFFER_SIZE) {
-					LM_WARN("error converting uri to socket address [%.*s]\n",
-							_tr_uri.len, _tr_uri.s);
-					val->rs = _tr_empty;
-					break;
-				}
-				val->rs.s = _tr_buffer;
 			}
+			val->rs.s = _tr_buffer;
 			break;
 		default:
 			LM_ERR("unknown subtype %d\n",
@@ -2684,7 +2679,7 @@ char* tr_parse_uri(str* in, trans_t *t)
 	} else if(name.len==6 && strncasecmp(name.s, "scheme", 6)==0) {
 		t->subtype = TR_URI_SCHEME;
 		goto done;
-	} else if(name.len==6 && strncasecmp(name.s, "tosocket", 8)==0) {
+	} else if(name.len==8 && strncasecmp(name.s, "tosocket", 8)==0) {
 		t->subtype = TR_URI_TOSOCKET;
 		goto done;
 	}




More information about the sr-dev mailing list