1
0
mirror of https://github.com/graygnuorg/pound.git synced 2026-10-28 11:35:07 +03:00

6 Commits

Author SHA1 Message Date
Sergey Poznyakoff
aeda6aaced Version 4.19.90 2026-01-24 18:39:34 +02:00
Sergey Poznyakoff
e5c4a38439 Implement percent-encoding/decoding in matching and rewriting directives
The -encode option is allowed for SetPath and SetQueryParam.  It enables
percent-encoding of the last argument.

The -decode option is allowed for Path and QueryParam.  It enables
percent-decoding of the values.

* NEWS: Document changes.
* doc/pound.8: Likewise.
* doc/pound.texi: Likewise.
* src/cctype.h (CCTYPE_UNRSRV): New flag.
* src/cctype.c: Implement CCTYPE_UNRSRV flag.
* src/config.c (parse_match_mode): Change calling sequence.
All uses changed.
Handle -decode, if requested.
(parse_set_query_param): Handle -encode option.
(parse_set_path): Likewise.
* src/http.c (urlencode, urldecode): New functions.
(submatch_exec_decode,expand_string_encode): New functions.
(match_cond, rewrite_op_apply): Handle percent-decoding and encoding,
if requested.
* src/pound.h (SERVICE_COND): New field: decode.
(REWRITE_OP): New field: encode.

* tests/lstset.at: New new options.
* tests/queryparam.at: Likewise.
* tests/set.at: Likewise.
2025-11-14 15:42:12 +02:00
Sergey Poznyakoff
dbd58e29b1 Update copyleft statements 2025-01-02 15:06:02 +02:00
Sergey Poznyakoff
ae865798fb Add test for BasicAuth conditional 2024-11-17 15:39:12 +02:00
Sergey Poznyakoff
a586ddd05f Update copyright years 2024-01-03 16:43:41 +02:00
Sergey Poznyakoff
9292e783de Implement StringMatch matcher, host and port accessors.
* NEWS: Document changes.
* configure.ac: Version 4.8.90.
* doc/pound.8: Likewise.
* src/config.c (build_regex): Fix the exact matching,
* src/http.c (parse_cond_matcher): Implement COND_STRING_MATCH.
(MATCH_CONDITIONS): Add StringMatch.
(accessors): change signatures.
(accessor_host, accessor_port): New accessors.
(rewrite_apply): Change signature: take struct submatch_queue pointer
as last argument. All uses changed.
(match_cond): Implement COND_STRING_MATCH.
* src/pound.h (query_param_match): Remove struct definition.
(STRING_REF, struct string_match): New types.
(SERVICE_COND): Replace struct query_param_match with string_match.
* tests/Makefile.am: Add new tests.
* tests/testsuite.at: Include new tests.
2023-08-07 20:05:28 +03:00