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&gro...
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.