From 24cb993cb8623f89a45b3b20650db29537676e53 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Mon, 2 Jan 2023 20:11:28 +0100 Subject: [PATCH] Remove parameter client_num from fastcgi_init() --- src/lib/fastcgi.c | 14 ++++---------- src/lib/fastcgi.h | 3 +-- src/worker/fastcgi_handler.c | 2 +- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/lib/fastcgi.c b/src/lib/fastcgi.c index 5ec062e..b21e306 100644 --- a/src/lib/fastcgi.c +++ b/src/lib/fastcgi.c @@ -53,15 +53,9 @@ char *fastcgi_add_param(char *buf, const char *key, const char *value) { return ptr; } -int fastcgi_init(fastcgi_cnx_t *conn, int mode, unsigned int client_num, unsigned int req_num, const sock *client, const http_req *req, const http_uri *uri) { - unsigned short req_id = (client_num & 0xFFF) << 4; - if (client_num == 0) { - req_id |= (req_num + 1) & 0xF; - } else { - req_id |= req_num & 0xF; - } +int fastcgi_init(fastcgi_cnx_t *conn, int mode, unsigned int req_num, const sock *client, const http_req *req, const http_uri *uri) { conn->mode = mode; - conn->req_id = req_id; + conn->req_id = (req_num + 1) & 0xFFFF; conn->out_buf = NULL; conn->out_off = 0; conn->webroot = uri->webroot; @@ -87,8 +81,8 @@ int fastcgi_init(fastcgi_cnx_t *conn, int mode, unsigned int client_num, unsigne FCGI_Header header = { .version = FCGI_VERSION_1, - .requestIdB1 = req_id >> 8, - .requestIdB0 = req_id & 0xFF, + .requestIdB1 = conn->req_id >> 8, + .requestIdB0 = conn->req_id & 0xFF, .paddingLength = 0, .reserved = 0 }; diff --git a/src/lib/fastcgi.h b/src/lib/fastcgi.h index b6d741c..eb1dd82 100644 --- a/src/lib/fastcgi.h +++ b/src/lib/fastcgi.h @@ -42,8 +42,7 @@ typedef struct { char *fastcgi_add_param(char *buf, const char *key, const char *value); -int fastcgi_init(fastcgi_cnx_t *conn, int mode, unsigned int client_num, unsigned int req_num, const sock *client, - const http_req *req, const http_uri *uri); +int fastcgi_init(fastcgi_cnx_t *conn, int mode, unsigned int req_num, const sock *client, const http_req *req, const http_uri *uri); int fastcgi_close_stdin(fastcgi_cnx_t *conn); diff --git a/src/worker/fastcgi_handler.c b/src/worker/fastcgi_handler.c index eee4198..69ae4b5 100644 --- a/src/worker/fastcgi_handler.c +++ b/src/worker/fastcgi_handler.c @@ -62,7 +62,7 @@ static int fastcgi_handler_1(client_ctx_t *ctx, fastcgi_cnx_t *fcgi_cnx) { http_add_header_field(&res->hdr, "Last-Modified", last_modified); res->status = http_get_status(200); - if (fastcgi_init(fcgi_cnx, mode, 0 /* TODO */, ctx->req_num, client, req, uri) != 0) { + if (fastcgi_init(fcgi_cnx, mode, ctx->req_num, client, req, uri) != 0) { res->status = http_get_status(503); sprintf(err_msg, "Unable to communicate with FastCGI socket."); return 2;