BUG/MINOR: mux-fcgi: Correctly set pathinfo
authorPaul Barnetta <paul@barnetta.com>
Mon, 16 Jan 2023 22:44:11 +0000 (09:44 +1100)
committerWilly Tarreau <w@1wt.eu>
Wed, 18 Jan 2023 06:53:05 +0000 (07:53 +0100)
commit26a9ac5f2f34ff9fd030004a490add53fc6db766
tree62a5e20f1aa2660a614e9e7c8ad8ed017851bb41
parent21c4c9b854bd13ab47a7fc1063da1334c119d32e
BUG/MINOR: mux-fcgi: Correctly set pathinfo

Existing logic for checking whether a regex subexpression for pathinfo
is matched results in valid matches being ignored and non-matches having
a new zero length string stored in params->pathinfo. This patch reverses
the logic so params->pathinfo is set when the subexpression is matched.

Without this patch the example configuration in the documentation:

path-info ^(/.+\.php)(/.*)?$

does not result in PATH_INFO being sent to the FastCGI application, as
expected, when the second subexpression is matched (in which case both
pmatch[2].rm_so and pmatch[2].rm_eo will be non-negative integers).

This patch may be backported as far as 2.2, the first release that made
the capture of this second subexpression optional.
src/mux_fcgi.c