Browse Source

core: drop reply in K compatible style

- drop reply in default onreply_route when using 'drop'
Daniel-Constantin Mierla 16 năm trước cách đây
mục cha
commit
0621319542
1 tập tin đã thay đổi với 8 bổ sung2 xóa
  1. 8 2
      receive.c

+ 8 - 2
receive.c

@@ -91,6 +91,7 @@ unsigned int inc_msg_no(void)
 int receive_msg(char* buf, unsigned int len, struct receive_info* rcv_info) 
 {
 	struct sip_msg* msg;
+	struct run_act_ctx ctx;
 	int ret;
 #ifdef STATS
 	int skipped = 1;
@@ -236,12 +237,15 @@ int receive_msg(char* buf, unsigned int len, struct receive_info* rcv_info)
 		/* exec the onreply routing script */
 		if (onreply_rt.rlist[DEFAULT_RT]){
 			set_route_type(ONREPLY_ROUTE);
-			ret=run_top_route(onreply_rt.rlist[DEFAULT_RT], msg, 0);
+			ret=run_top_route(onreply_rt.rlist[DEFAULT_RT], msg, &ctx);
+#if 0
 			if (ret<0){
 				LOG(L_WARN, "WARNING: receive_msg: "
 						"error while trying onreply script\n");
 				goto error_rpl;
-			}else if (ret==0){
+			}else
+#endif
+			if (ctx.run_flags&DROP_R_F){
 				sr_event_exec(SREV_CORE_STATS, (void*)4);
 				goto skip_send_reply; /* drop the message, no error */
 			}
@@ -274,11 +278,13 @@ end:
 	if (skipped) STATS_RX_DROPS;
 #endif
 	return 0;
+#if 0
 error_rpl:
 	/* execute post reply-script callbacks */
 	exec_post_script_cb(msg, ONREPLY_CB_TYPE);
 	reset_avps();
 	goto error02;
+#endif
 error_req:
 	DBG("receive_msg: error:...\n");
 	/* execute post request-script callbacks */