@@ -2739,48 +2739,48 @@ static enum rule_result http_req_get_intercept_rule(struct proxy *px, struct lis
27392739 break ;
27402740 case ACT_RET_STOP :
27412741 rule_ret = HTTP_RULE_RES_STOP ;
2742- s -> last_rule_file = rule -> conf . file ;
2743- s -> last_rule_line = rule -> conf . line ;
2742+ s -> last_entity . type = 1 ;
2743+ s -> last_entity . ptr = rule ;
27442744 goto end ;
27452745 case ACT_RET_YIELD :
27462746 s -> current_rule = rule ;
27472747 if (act_opts & ACT_OPT_FINAL ) {
27482748 send_log (s -> be , LOG_WARNING ,
27492749 "Internal error: action yields while it is no long allowed "
27502750 "for the http-request actions." );
2751- s -> last_rule_file = rule -> conf . file ;
2752- s -> last_rule_line = rule -> conf . line ;
2751+ s -> last_entity . type = 1 ;
2752+ s -> last_entity . ptr = rule ;
27532753 rule_ret = HTTP_RULE_RES_ERROR ;
27542754 goto end ;
27552755 }
27562756 rule_ret = HTTP_RULE_RES_YIELD ;
27572757 goto end ;
27582758 case ACT_RET_ERR :
27592759 rule_ret = HTTP_RULE_RES_ERROR ;
2760- s -> last_rule_file = rule -> conf . file ;
2761- s -> last_rule_line = rule -> conf . line ;
2760+ s -> last_entity . type = 1 ;
2761+ s -> last_entity . ptr = rule ;
27622762 goto end ;
27632763 case ACT_RET_DONE :
27642764 rule_ret = HTTP_RULE_RES_DONE ;
2765- s -> last_rule_file = rule -> conf . file ;
2766- s -> last_rule_line = rule -> conf . line ;
2765+ s -> last_entity . type = 1 ;
2766+ s -> last_entity . ptr = rule ;
27672767 goto end ;
27682768 case ACT_RET_DENY :
27692769 if (txn -> status == -1 )
27702770 txn -> status = 403 ;
27712771 rule_ret = HTTP_RULE_RES_DENY ;
2772- s -> last_rule_file = rule -> conf . file ;
2773- s -> last_rule_line = rule -> conf . line ;
2772+ s -> last_entity . type = 1 ;
2773+ s -> last_entity . ptr = rule ;
27742774 goto end ;
27752775 case ACT_RET_ABRT :
27762776 rule_ret = HTTP_RULE_RES_ABRT ;
2777- s -> last_rule_file = rule -> conf . file ;
2778- s -> last_rule_line = rule -> conf . line ;
2777+ s -> last_entity . type = 1 ;
2778+ s -> last_entity . ptr = rule ;
27792779 goto end ;
27802780 case ACT_RET_INV :
27812781 rule_ret = HTTP_RULE_RES_BADREQ ;
2782- s -> last_rule_file = rule -> conf . file ;
2783- s -> last_rule_line = rule -> conf . line ;
2782+ s -> last_entity . type = 1 ;
2783+ s -> last_entity . ptr = rule ;
27842784 goto end ;
27852785 }
27862786 continue ; /* eval the next rule */
@@ -2790,25 +2790,25 @@ static enum rule_result http_req_get_intercept_rule(struct proxy *px, struct lis
27902790 switch (rule -> action ) {
27912791 case ACT_ACTION_ALLOW :
27922792 rule_ret = HTTP_RULE_RES_STOP ;
2793- s -> last_rule_file = rule -> conf . file ;
2794- s -> last_rule_line = rule -> conf . line ;
2793+ s -> last_entity . type = 1 ;
2794+ s -> last_entity . ptr = rule ;
27952795 goto end ;
27962796
27972797 case ACT_ACTION_DENY :
27982798 txn -> status = rule -> arg .http_reply -> status ;
27992799 txn -> http_reply = rule -> arg .http_reply ;
28002800 rule_ret = HTTP_RULE_RES_DENY ;
2801- s -> last_rule_file = rule -> conf . file ;
2802- s -> last_rule_line = rule -> conf . line ;
2801+ s -> last_entity . type = 1 ;
2802+ s -> last_entity . ptr = rule ;
28032803 goto end ;
28042804
28052805 case ACT_HTTP_REQ_TARPIT :
28062806 txn -> flags |= TX_CLTARPIT ;
28072807 txn -> status = rule -> arg .http_reply -> status ;
28082808 txn -> http_reply = rule -> arg .http_reply ;
28092809 rule_ret = HTTP_RULE_RES_DENY ;
2810- s -> last_rule_file = rule -> conf . file ;
2811- s -> last_rule_line = rule -> conf . line ;
2810+ s -> last_entity . type = 1 ;
2811+ s -> last_entity . ptr = rule ;
28122812 goto end ;
28132813
28142814 case ACT_HTTP_REDIR : {
@@ -2818,8 +2818,8 @@ static enum rule_result http_req_get_intercept_rule(struct proxy *px, struct lis
28182818 break ;
28192819
28202820 rule_ret = ret ? HTTP_RULE_RES_ABRT : HTTP_RULE_RES_ERROR ;
2821- s -> last_rule_file = rule -> conf . file ;
2822- s -> last_rule_line = rule -> conf . line ;
2821+ s -> last_entity . type = 1 ;
2822+ s -> last_entity . ptr = rule ;
28232823 goto end ;
28242824 }
28252825
@@ -2913,48 +2913,48 @@ static enum rule_result http_res_get_intercept_rule(struct proxy *px, struct lis
29132913 break ;
29142914 case ACT_RET_STOP :
29152915 rule_ret = HTTP_RULE_RES_STOP ;
2916- s -> last_rule_file = rule -> conf . file ;
2917- s -> last_rule_line = rule -> conf . line ;
2916+ s -> last_entity . type = 1 ;
2917+ s -> last_entity . ptr = rule ;
29182918 goto end ;
29192919 case ACT_RET_YIELD :
29202920 s -> current_rule = rule ;
29212921 if (act_opts & ACT_OPT_FINAL ) {
29222922 send_log (s -> be , LOG_WARNING ,
29232923 "Internal error: action yields while it is no long allowed "
29242924 "for the http-response/http-after-response actions." );
2925- s -> last_rule_file = rule -> conf . file ;
2926- s -> last_rule_line = rule -> conf . line ;
2925+ s -> last_entity . type = 1 ;
2926+ s -> last_entity . ptr = rule ;
29272927 rule_ret = HTTP_RULE_RES_ERROR ;
29282928 goto end ;
29292929 }
29302930 rule_ret = HTTP_RULE_RES_YIELD ;
29312931 goto end ;
29322932 case ACT_RET_ERR :
29332933 rule_ret = HTTP_RULE_RES_ERROR ;
2934- s -> last_rule_file = rule -> conf . file ;
2935- s -> last_rule_line = rule -> conf . line ;
2934+ s -> last_entity . type = 1 ;
2935+ s -> last_entity . ptr = rule ;
29362936 goto end ;
29372937 case ACT_RET_DONE :
29382938 rule_ret = HTTP_RULE_RES_DONE ;
2939- s -> last_rule_file = rule -> conf . file ;
2940- s -> last_rule_line = rule -> conf . line ;
2939+ s -> last_entity . type = 1 ;
2940+ s -> last_entity . ptr = rule ;
29412941 goto end ;
29422942 case ACT_RET_DENY :
29432943 if (txn -> status == -1 )
29442944 txn -> status = 502 ;
29452945 rule_ret = HTTP_RULE_RES_DENY ;
2946- s -> last_rule_file = rule -> conf . file ;
2947- s -> last_rule_line = rule -> conf . line ;
2946+ s -> last_entity . type = 1 ;
2947+ s -> last_entity . ptr = rule ;
29482948 goto end ;
29492949 case ACT_RET_ABRT :
29502950 rule_ret = HTTP_RULE_RES_ABRT ;
2951- s -> last_rule_file = rule -> conf . file ;
2952- s -> last_rule_line = rule -> conf . line ;
2951+ s -> last_entity . type = 1 ;
2952+ s -> last_entity . ptr = rule ;
29532953 goto end ;
29542954 case ACT_RET_INV :
29552955 rule_ret = HTTP_RULE_RES_BADREQ ;
2956- s -> last_rule_file = rule -> conf . file ;
2957- s -> last_rule_line = rule -> conf . line ;
2956+ s -> last_entity . type = 1 ;
2957+ s -> last_entity . ptr = rule ;
29582958 goto end ;
29592959 }
29602960 continue ; /* eval the next rule */
@@ -2964,16 +2964,16 @@ static enum rule_result http_res_get_intercept_rule(struct proxy *px, struct lis
29642964 switch (rule -> action ) {
29652965 case ACT_ACTION_ALLOW :
29662966 rule_ret = HTTP_RULE_RES_STOP ; /* "allow" rules are OK */
2967- s -> last_rule_file = rule -> conf . file ;
2968- s -> last_rule_line = rule -> conf . line ;
2967+ s -> last_entity . type = 1 ;
2968+ s -> last_entity . ptr = rule ;
29692969 goto end ;
29702970
29712971 case ACT_ACTION_DENY :
29722972 txn -> status = rule -> arg .http_reply -> status ;
29732973 txn -> http_reply = rule -> arg .http_reply ;
29742974 rule_ret = HTTP_RULE_RES_DENY ;
2975- s -> last_rule_file = rule -> conf . file ;
2976- s -> last_rule_line = rule -> conf . line ;
2975+ s -> last_entity . type = 1 ;
2976+ s -> last_entity . ptr = rule ;
29772977 goto end ;
29782978
29792979 case ACT_HTTP_REDIR : {
@@ -2983,8 +2983,8 @@ static enum rule_result http_res_get_intercept_rule(struct proxy *px, struct lis
29832983 break ;
29842984
29852985 rule_ret = ret ? HTTP_RULE_RES_ABRT : HTTP_RULE_RES_ERROR ;
2986- s -> last_rule_file = rule -> conf . file ;
2987- s -> last_rule_line = rule -> conf . line ;
2986+ s -> last_entity . type = 1 ;
2987+ s -> last_entity . ptr = rule ;
29882988 goto end ;
29892989 }
29902990 /* other flags exists, but normally, they never be matched. */
0 commit comments