Module: kamailio
Branch: 5.2
Commit: b6f40ec3016961d9e2f97b40bc6a05c752780b4f
URL: https://github.com/kamailio/kamailio/commit/b6f40ec3016961d9e2f97b40bc6a05c…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Federico Cabiddu <federico.cabiddu(a)gmail.com>
Date: 2020-04-20T09:51:59+02:00
http_async_client: do not set global avp lists from t on async callback
- they are done by fake_env() used inside t_continue()
- they were set without reset, living in the process context, resulting
in invalid access when async callback was executed with faked_msg
- related to #2286
(cherry picked from commit 1bc3bbd010705ee247345c1ed9b36210bb8d9ed1)
---
Modified: src/modules/http_async_client/async_http.c
---
Diff: https://github.com/kamailio/kamailio/commit/b6f40ec3016961d9e2f97b40bc6a05c…
Patch: https://github.com/kamailio/kamailio/commit/b6f40ec3016961d9e2f97b40bc6a05c…
---
diff --git a/src/modules/http_async_client/async_http.c b/src/modules/http_async_client/async_http.c
index c459d564a8..2aa6681a7d 100644
--- a/src/modules/http_async_client/async_http.c
+++ b/src/modules/http_async_client/async_http.c
@@ -212,7 +212,7 @@ void async_http_cb(struct http_m_reply *reply, void *param)
}
strncpy(q_id, aq->id, strlen(aq->id));
-
+
q_id[strlen(aq->id)] = '\0';
cfg_update();
@@ -227,16 +227,10 @@ void async_http_cb(struct http_m_reply *reply, void *param)
free_async_query(aq);
return;
}
- // we bring the list of AVPs of the transaction to the current context
- set_avp_list(AVP_TRACK_FROM | AVP_CLASS_URI, &t->uri_avps_from);
- set_avp_list(AVP_TRACK_TO | AVP_CLASS_URI, &t->uri_avps_to);
- set_avp_list(AVP_TRACK_FROM | AVP_CLASS_USER, &t->user_avps_from);
- set_avp_list(AVP_TRACK_TO | AVP_CLASS_USER, &t->user_avps_to);
- set_avp_list(AVP_TRACK_FROM | AVP_CLASS_DOMAIN, &t->domain_avps_from);
- set_avp_list(AVP_TRACK_TO | AVP_CLASS_DOMAIN, &t->domain_avps_to);
-
- if (t)
+
+ if (t) {
tmb.unref_cell(t);
+ }
LM_DBG("resuming transaction (%d:%d)\n", tindex, tlabel);
Module: kamailio
Branch: 5.3
Commit: ff48cc5311d55176118ad57cf2d4417a2d229766
URL: https://github.com/kamailio/kamailio/commit/ff48cc5311d55176118ad57cf2d4417…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Federico Cabiddu <federico.cabiddu(a)gmail.com>
Date: 2020-04-20T09:51:42+02:00
http_async_client: do not set global avp lists from t on async callback
- they are done by fake_env() used inside t_continue()
- they were set without reset, living in the process context, resulting
in invalid access when async callback was executed with faked_msg
- related to #2286
(cherry picked from commit 1bc3bbd010705ee247345c1ed9b36210bb8d9ed1)
---
Modified: src/modules/http_async_client/async_http.c
---
Diff: https://github.com/kamailio/kamailio/commit/ff48cc5311d55176118ad57cf2d4417…
Patch: https://github.com/kamailio/kamailio/commit/ff48cc5311d55176118ad57cf2d4417…
---
diff --git a/src/modules/http_async_client/async_http.c b/src/modules/http_async_client/async_http.c
index e468a955dc..5edf67ee5d 100644
--- a/src/modules/http_async_client/async_http.c
+++ b/src/modules/http_async_client/async_http.c
@@ -212,7 +212,7 @@ void async_http_cb(struct http_m_reply *reply, void *param)
}
strncpy(q_id, aq->id, strlen(aq->id));
-
+
q_id[strlen(aq->id)] = '\0';
cfg_update();
@@ -227,16 +227,10 @@ void async_http_cb(struct http_m_reply *reply, void *param)
free_async_query(aq);
return;
}
- // we bring the list of AVPs of the transaction to the current context
- set_avp_list(AVP_TRACK_FROM | AVP_CLASS_URI, &t->uri_avps_from);
- set_avp_list(AVP_TRACK_TO | AVP_CLASS_URI, &t->uri_avps_to);
- set_avp_list(AVP_TRACK_FROM | AVP_CLASS_USER, &t->user_avps_from);
- set_avp_list(AVP_TRACK_TO | AVP_CLASS_USER, &t->user_avps_to);
- set_avp_list(AVP_TRACK_FROM | AVP_CLASS_DOMAIN, &t->domain_avps_from);
- set_avp_list(AVP_TRACK_TO | AVP_CLASS_DOMAIN, &t->domain_avps_to);
-
- if (t)
+
+ if (t) {
tmb.unref_cell(t);
+ }
LM_DBG("resuming transaction (%d:%d)\n", tindex, tlabel);
* New Feature
* Changes Tested Locally
This sel variable allows a kam script to get access to not just the peer certificate (at index 0), but when a certificate is successfully verified, the entire chain of certificates that were used to verify the peer certificate (at index 1, 2, 3, etc).
This functionality is provided by OpenSSL's SSL_get0_verified_chain() function, which is only available in OpenSSL 1.1.0+ (which is why there is an #if for this feature)
This is important when a server trusts many CAs - without this addition, I don't think that it is definitively possible to tell which CA signed the verified certificate, leading to security issues if one of the trusted CAs was compromised and was used to sign certificates that look like they were signed by another issuing CA.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2289
-- Commit Summary --
* tls: add sel for tls verified cert chain (requires OpenSSL 1.1+)
-- File Changes --
M src/modules/tls/tls_select.c (121)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2289.patchhttps://github.com/kamailio/kamailio/pull/2289.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/2289