header_rewrite: rm-destination after set-destination URL crashes traffic_server
Los mantenedores suelen responder en 2 días
@moonchen ya está trabajando en esto.
Desde el 5/10/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
In a remap rule, rm-destination crashes traffic_server if set-destination URL ran earlier for the same request.
The two operators don't have to be in the same rule. For example, a conditional set-destination URL that routes canary traffic, plus a separate rule that strips a tracking parameter from every request:
remap.config:
map http://www.example.com/ http://127.0.0.1:8081/ @plugin=header_rewrite.so @pparam=rules.conf
rules.conf:
cond %{CLIENT-HEADER:X-Canary} ="1"
set-destination URL "http://127.0.0.1:8081/canary/?%{CLIENT-URL:QUERY}"
cond %{TRUE}
rm-destination QUERY "utm_source"
Requests without X-Canary are proxied normally. This one crashes traffic_server:
curl -x http://127.0.0.1:8080 -H 'X-Canary: 1' 'http://www.example.com/?utm_source=x&a=1'
Fatal: src/api/InkAPI.cc:1077: failed assertion `sdk_sanity_check_url_handle(obj) == TS_SUCCESS`
set-destination URL replaces the request's URL object with TSHttpHdrUrlSet(). rm-destination still uses _rri->requestUrl, which points at the old, deallocated object. #12278 fixed the same problem for set-destination by checking res.changed_url and re-reading the URL from the header; rm-destination needs the same check.
- Lenguaje dominante
- C++
- Estrellas
- 2k
- Forks
- 878
- Merge medio
- 3 d 15 h
- PR fusionados (30 d)
- 96
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/trafficserver
-
Bug HTTP Support
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
apache/trafficserver#13118 ·
Los mantenedores suelen responder en 2 días
-
Branch build clones: mirror stalls, clone timeout and controller memoryPosiblemente ocupada @bryancall la tomó hace 1 día. AbiertoCI
apache/trafficserver#13839 · 1 asignado ·
Los mantenedores suelen responder en 2 días
-
traffic_ctl: apply --error-level to config reload resultsPosiblemente ocupada @brbzull0 la tomó hace 2 días. Abierto
apache/trafficserver#13832 · 1 asignado ·
Los mantenedores suelen responder en 2 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
apache/trafficserver#13798 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
apache/trafficserver#13784 ·
Los mantenedores suelen responder en 2 días
Todos los issues de apache/trafficserver
Issues similares
-
bug core p3
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
RunanywhereAI/runanywhere-sdks#1083 ·
Los mantenedores suelen responder en 5 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
FriendsofECCE/ECCE#336 · 1 comentario ·
-
Real literal with a 'd' exponent and a kind suffix (1.0d0_4) is accepted; the suffix is ignoredAbiertoerror not reported low priority semantics
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
bitcoin-core/gui-qml#1030 ·
Los mantenedores suelen responder en 3 días