Module: kamailio Branch: master Commit: 82593a09f8ef6d53e7e88238c057bbcdd9ab287b URL: https://github.com/kamailio/kamailio/commit/82593a09f8ef6d53e7e88238c057bbcd...
Author: Xenofon Karamanos xk@gilawa.com Committer: Daniel-Constantin Mierla miconda@gmail.com Date: 2024-02-02T10:56:41+01:00
core: properly handle drop() action for kemi engines
- GH #3718
---
Modified: src/core/onsend.c
---
Diff: https://github.com/kamailio/kamailio/commit/82593a09f8ef6d53e7e88238c057bbcd... Patch: https://github.com/kamailio/kamailio/commit/82593a09f8ef6d53e7e88238c057bbcd...
---
diff --git a/src/core/onsend.c b/src/core/onsend.c index a4d81781de7..84186cd67ed 100644 --- a/src/core/onsend.c +++ b/src/core/onsend.c @@ -87,7 +87,18 @@ int run_onsend(sip_msg_t *orig_msg, dest_info_t *dst, char *buf, int len) orig_msg->fwd_send_flags = fwd_snd_flags_bak; orig_msg->rpl_send_flags = rpl_snd_flags_bak; exec_post_script_cb(orig_msg, ONSEND_CB_TYPE); - if((ret == 0) && !(ra_ctx.run_flags & DROP_R_F)) { + /* - handle drop action with flag DROP_R_F + * KEMI case (python,lua,jsdt) + * ret = 1 always + * Native case: + * ret = 1 success + * ret = 0 drop the message + */ + if(ra_ctx.run_flags & DROP_R_F) { + ret = 0; + } else if(ret == 0) { + /* native case where run_actions return 0 + * but DROP_R_F is not set */ ret = 1; } } else {