MINOR: channel: Don't test CF_READ_NULL while CF_SHUTR is enough

If CF_READ_NULL flag is set on a channel, it implies a shutdown for reads
was performed and CF_SHUTR is also set on this channel. Thus, there is no
reason to test is any of these flags is present, testing CF_SHUTR is enough.
This commit is contained in:
Christopher Faulet 2022-12-12 07:53:18 +01:00
parent 14419ebf2b
commit 446d8037ce
2 changed files with 4 additions and 4 deletions

View File

@ -2694,7 +2694,7 @@ int pcli_wait_for_response(struct stream *s, struct channel *rep, int an_bit)
return 0;
}
if ((rep->flags & (CF_SHUTR|CF_READ_NULL))) {
if (rep->flags & CF_SHUTR) {
/* stream cleanup */
pcli_write_prompt(s);

View File

@ -1142,7 +1142,7 @@ int http_request_forward_body(struct stream *s, struct channel *req, int an_bit)
* it can be abused to exhaust source ports. */
if (s->be->options & PR_O_ABRT_CLOSE) {
channel_auto_read(req);
if ((req->flags & (CF_SHUTR|CF_READ_NULL)) && !(txn->flags & TX_CON_WANT_TUN))
if ((req->flags & CF_SHUTR) && !(txn->flags & TX_CON_WANT_TUN))
s->scb->flags |= SC_FL_NOLINGER;
channel_auto_close(req);
}
@ -2833,7 +2833,7 @@ static enum rule_result http_req_get_intercept_rule(struct proxy *px, struct lis
/* Always call the action function if defined */
if (rule->action_ptr) {
if ((s->req.flags & CF_READ_ERROR) ||
((s->req.flags & (CF_SHUTR|CF_READ_NULL)) &&
((s->req.flags & CF_SHUTR) &&
(px->options & PR_O_ABRT_CLOSE)))
act_opts |= ACT_OPT_FINAL;
@ -2996,7 +2996,7 @@ resume_execution:
/* Always call the action function if defined */
if (rule->action_ptr) {
if ((s->req.flags & CF_READ_ERROR) ||
((s->req.flags & (CF_SHUTR|CF_READ_NULL)) &&
((s->req.flags & CF_SHUTR) &&
(px->options & PR_O_ABRT_CLOSE)))
act_opts |= ACT_OPT_FINAL;