[PATCH v8 0/4] config: add support for http.<url>.* settings
From: Kyle J. McKay <hidden>
Date: 2016-06-15 22:58:14
NOTE: This patch requires the following preparatory change:
f1ff763 http.c: fix parsing of http.sslCertPasswordProtected variable
which is currently in pu.
This patch series adds support for http.<url>.* settings. The patch is
organized as a series of improvements on the functionality:
1/4 - adds basic textual matching support
2/4 - adds URL normalization before matching
3/4 - adds a test for the URL normalization function
4/4 - adds any user matching
With-Feedback-From-jh: Junio C Hamano [off-list ref]
Differences from v7:
1/4 - No changes since v7's 1/4
2/4 - No changes since v7's 2/4
3/4 - Updated from v7's 3/4:
* Add a binary attribute for the url-* files (feedback-jh)
* Make test-url-normalize.c able to run http_options (feedback-jh)
* Add additional tests and corresponding config files (as t/t5200/config-*)
* Remove extraneous comment from t5200-url-normalize.sh (feedback-jh)
4/4 - Updated from v7's 4/4:
* Update http.<url>.* documentation with another example (feedback-jh)
* Add another url normalization config test to match the new example
Applicable comments from earlier cover:
To better support matching URLs that are equivalent but spelled differently, a
url_normalize function has been added. Currently this patch leaves it in
http.c as http_options_url_normalize as I am unclear whether it should go into
url.{h,c} at this time since only http.c uses it.
Since the url_normalize function's behavior is non-trivial, it is presented as
a separate patch on top of the basic http.<url>.* settings support. A new test
for it has also been included as a separate patch. I am unclear on the proper
number for this test, but have gone ahead and put it with the other http tests
since this patch series places the url_normalize function into http.c.
Kyle J. McKay (4):
config: add support for http.<url>.* settings
config: improve support for http.<url>.* settings
tests: add new test for the url_normalize function
config: allow http.<url>.* any user matching
.gitignore | 1 +
Documentation/config.txt | 25 ++
Makefile | 5 +
http.c | 666 +++++++++++++++++++++++++++++++++++++++++++++--
t/.gitattributes | 1 +
t/t5200-url-normalize.sh | 199 ++++++++++++++
t/t5200/README | 18 ++
t/t5200/config-1 | 8 +
t/t5200/config-2 | 3 +
t/t5200/config-3 | 4 +
t/t5200/url-1 | Bin 0 -> 20 bytes
t/t5200/url-10 | Bin 0 -> 23 bytes
t/t5200/url-11 | Bin 0 -> 25 bytes
t/t5200/url-2 | Bin 0 -> 20 bytes
t/t5200/url-3 | Bin 0 -> 23 bytes
t/t5200/url-4 | Bin 0 -> 23 bytes
t/t5200/url-5 | Bin 0 -> 23 bytes
t/t5200/url-6 | Bin 0 -> 23 bytes
t/t5200/url-7 | Bin 0 -> 23 bytes
t/t5200/url-8 | Bin 0 -> 23 bytes
t/t5200/url-9 | Bin 0 -> 23 bytes
test-url-normalize.c | 132 ++++++++++
22 files changed, 1045 insertions(+), 17 deletions(-)
create mode 100755 t/t5200-url-normalize.sh
create mode 100644 t/t5200/README
create mode 100644 t/t5200/config-1
create mode 100644 t/t5200/config-2
create mode 100644 t/t5200/config-3
create mode 100644 t/t5200/url-1
create mode 100644 t/t5200/url-10
create mode 100644 t/t5200/url-11
create mode 100644 t/t5200/url-2
create mode 100644 t/t5200/url-3
create mode 100644 t/t5200/url-4
create mode 100644 t/t5200/url-5
create mode 100644 t/t5200/url-6
create mode 100644 t/t5200/url-7
create mode 100644 t/t5200/url-8
create mode 100644 t/t5200/url-9
create mode 100644 test-url-normalize.c
--
1.8.3