Brian Geffon created TS-3956:
--------------------------------

             Summary: Header_rewrite applies strange logic with = operator and 
whitespace
                 Key: TS-3956
                 URL: https://issues.apache.org/jira/browse/TS-3956
             Project: Traffic Server
          Issue Type: Bug
          Components: Plugins
            Reporter: Brian Geffon


It appears that whitespace causes weird behavior with header_rewrite, for 
example:

If you remove the white space before the = and the quotes it appears to behave 
correctly. This whitespace issue is likely to cause strange bugs and needs to 
be fixed.

{code}
cond %{READ_REQUEST_HDR_HOOK}
cond %{CLIENT-HEADER:Host} /^localhost$/ [AND]
cond %{CLIENT-HEADER:non_existent_header} = "shouldnt_exist_anyway" [AND]
add-header X-HeaderRewriteApplied true
{code}

With the following request:
{code}
curl -v localhost/
{code}

Header_rewrite will incorrectly apply the rule:

{code}
[Oct  4 20:56:49.245] Server {0x7ffff61b5700} DIAG: (header_rewrite) Building 
resources, hook=TS_HTTP_READ_REQUEST_HDR_HOOK
[Oct  4 20:56:49.245] Server {0x7ffff61b5700} DIAG: (header_rewrite)    Adding 
TXN client request header buffers
[Oct  4 20:56:49.245] Server {0x7ffff61b5700} DIAG: (header_rewrite) Getting 
Header: Host, field_loc: 0x7fffd02070d0
[Oct  4 20:56:49.245] Server {0x7ffff61b5700} DIAG: (header_rewrite) Appending 
HEADER(Host) to evaluation value -> localhost
[Oct  4 20:56:49.245] Server {0x7ffff61b5700} DIAG: (header_rewrite) Test 
regular expression ^localhost$ : localhost
[Oct  4 20:56:49.245] Server {0x7ffff61b5700} DIAG: (header_rewrite) 
Successfully found regular expression match
[Oct  4 20:56:49.245] Server {0x7ffff61b5700} DIAG: (header_rewrite) Evaluating 
HEADER(): localhost - rval: 1
[Oct  4 20:56:49.245] Server {0x7ffff61b5700} DIAG: (header_rewrite) Getting 
Header: non_existent_header, field_loc: (nil)
[Oct  4 20:56:49.245] Server {0x7ffff61b5700} DIAG: (header_rewrite) Evaluating 
HEADER():  - rval: 1
[Oct  4 20:56:49.245] Server {0x7ffff61b5700} DIAG: (header_rewrite) 
OperatorAddHeader::exec() invoked on header X-HeaderRewriteApplied: true
[Oct  4 20:56:49.245] Server {0x7ffff61b5700} DIAG: (header_rewrite)    Adding 
header X-HeaderRewriteApplied
{code}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to