[ https://issues.apache.org/jira/browse/TS-4993?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Leif Hedstrom updated TS-4993: ------------------------------ Backport to Version: 7.0.0 > backslash/escape removed from header_rewrite rule when unquoted > --------------------------------------------------------------- > > Key: TS-4993 > URL: https://issues.apache.org/jira/browse/TS-4993 > Project: Traffic Server > Issue Type: Bug > Components: Plugins > Affects Versions: 7.0.0 > Reporter: Randall Meyer > Assignee: Leif Hedstrom > Fix For: 7.1.0 > > Time Spent: 2h 20m > Remaining Estimate: 0h > > Loading up a configuration with a header_rewrite rule of: > {noformat} > cond %{READ_RESPONSE_HDR_HOOK} [AND] > cond %{PATH} /(\.html|\.js|\.png)(?:\?(.*))*$/ [AND] > cond %{STATUS} >199 [AND] > cond %{STATUS} <300 > set-header Cache-Control "max-age=31536000, public > {noformat} > results in an call to abort() in matcher.h under ATS 7.0.0. This worked fine > under ATS 6.x (and probably 5.3.x) > {noformat} > (gdb) where > #0 0x00007ffff4f64625 in *__GI_raise (sig=<optimized out>) at > ../nptl/sysdeps/unix/sysv/linux/raise.c:64 > #1 0x00007ffff4f65e05 in *__GI_abort () at abort.c:92 > #2 0x00007fffe71dd3ff in Matchers<std::string>::setRegex > (this=this@entry=0x7fffe5ac0f80) at matcher.h:98 > #3 0x00007fffe71d7baa in Matchers<std::string>::set (d=..., > this=0x7fffe5ac0f80) at matcher.h:119 > #4 ConditionPath::initialize (this=0x7fffe59a6d00, p=...) at > conditions.cc:260 > {noformat} > The string comes to matcher with the escapes removed: > {noformat} > Adding condition: %{PATH} with arg: /(.html|.js|.png)(?:?(.*))*$/ > {noformat} > If I add quotes around the regex, this regex is passed through correctly > escaped. > Not sure if this is expected behavior or not. > This also seems related to TS-4797 and TS-4940. -- This message was sent by Atlassian JIRA (v6.3.4#6332)