Merge branch 'js/http-custom-headers'
authorJunio C Hamano <gitster@pobox.com>
Tue, 17 May 2016 21:38:35 +0000 (14:38 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 17 May 2016 21:38:35 +0000 (14:38 -0700)
Update tests for "http.extraHeaders=<header>" to be portable back
to Apache 2.2 (the original depended on <RequireAll/> which is a
more recent feature).

* js/http-custom-headers:
submodule: ensure that -c http.extraheader is heeded
t5551: make the test for extra HTTP headers more robust
tests: adjust the configuration for Apache 2.2

1  2 
t/lib-httpd/apache.conf
diff --combined t/lib-httpd/apache.conf
index b8ed96fac6e2e8a371b7caf8716b671585022382,2dcbb00865b0a918c015541588a34bb1671d3514..018a83a5a18431f120672b7cd8874bfb72e8d8fb
@@@ -74,7 -74,6 +74,7 @@@ PassEnv GIT_VALGRIND_OPTION
  PassEnv GNUPGHOME
  PassEnv ASAN_OPTIONS
  PassEnv GIT_TRACE
 +PassEnv GIT_CONFIG_NOSYSTEM
  
  Alias /dumb/ www/
  Alias /auth/dumb/ www/auth/dumb/
        Header set Set-Cookie name=value
  </LocationMatch>
  <LocationMatch /smart_headers/>
-       <RequireAll>
-               Require expr %{HTTP:x-magic-one} == 'abra'
-               Require expr %{HTTP:x-magic-two} == 'cadabra'
-       </RequireAll>
        SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
        SetEnv GIT_HTTP_EXPORT_ALL
  </LocationMatch>
@@@ -136,6 -131,18 +132,18 @@@ RewriteRule ^/ftp-redir/(.*)$ ftp://loc
  RewriteRule ^/loop-redir/x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-(.*) /$1 [R=302]
  RewriteRule ^/loop-redir/(.*)$ /loop-redir/x-$1 [R=302]
  
+ # Apache 2.2 does not understand <RequireAll>, so we use RewriteCond.
+ # And as RewriteCond does not allow testing for non-matches, we match
+ # the desired case first (one has abra, two has cadabra), and let it
+ # pass by marking the RewriteRule as [L], "last rule, do not process
+ # any other matching RewriteRules after this"), and then have another
+ # RewriteRule that matches all other cases and lets them fail via '[F]',
+ # "fail the request".
+ RewriteCond %{HTTP:x-magic-one} =abra
+ RewriteCond %{HTTP:x-magic-two} =cadabra
+ RewriteRule ^/smart_headers/.* - [L]
+ RewriteRule ^/smart_headers/.* - [F]
  <IfDefine SSL>
  LoadModule ssl_module modules/mod_ssl.so