El Lunes, 27 de Agosto de 2007, Iñaki Baz Castillo escribió:
El ejemplo para el que se me ocurre puede interesar
poner y acto seguido
quitar una cabecera es cuando se hace "append_branch" de tal forma que
queremos que el nuevo branch tenga la cabecera y el original no:
append_hf("New-Branch: Yes\r\n");
append_branch();
remove_hf("New-Branch");
Así sólo el nuevo branch tendría esa cabecera.
Lástima que **no** funcione XD
Hola, es peor aún. Acabo de comprobar que si añades una cabecera después de
un "append_branch" dicha cabecera también se aplica al nuevo branch. No lo
entiendo, se supone que en cuanto aparece un "append_branch" debería ser
independiente del actual proceso, generarse un mensaje nuevo y rutarlo desde
cero, ¿por qué se le añade también la cabecera que sólo debería añadirse al
branch original?
Bueno, por si os interesa acabo de reportarlo:
http://sourceforge.net/tracker/index.php?func=detail&aid=1786664&gr…
La verdad es que esto del manejo de cabeceras es bastante limitado.
Por cierto, ¿hay alguna otra forma de identificar que un mensaje viene fruto
de un "append_branch"? porque claro, es una nueva transacción así que no
sirve poner un AVP. La única distinción es que viene de la Ip de OpenSer pero
eso no es suficiente.
Sólo se me ocurre jugar con añadir una cabecera y luego en el route comprobar
si el mensaje tiene esa cabecera y además viene de la IP de OpenSer, lo cuál
también estoy pensando podría ser vulnerable si un "atacante" añade
un "Route: IP_mi_OpenSer" y la cabecera, ¿no?
Buff, qué complejo.
--
Iñaki Baz Castillo