[reSIProcate] Record-Route handling by stack
Jason Fischl
jason at counterpath.com
Mon Dec 18 16:33:58 CST 2006
This does indeed appear to be a bug that should be fixed immediately.
I'll take a look.
Jason
On 12/12/06, Alex <alt at kaluga.ru> wrote:
>
>
>
>
> Hi
>
>
>
> There is some code within TransportSelector.cxx to stamping
> host/port/transport into Record-Route:
>
>
>
> if (msg->exists(h_RecordRoutes) &&
> !msg->header(h_RecordRoutes).empty())
>
> {
>
> NameAddr& rr =
> msg->header(h_RecordRoutes).back(); //!!!!!!!!!!!!!!!!!!!
>
> if (rr.uri().host().empty())
>
> {
>
> rr.uri().host() = Tuple::inet_ntop(source);
>
> rr.uri().port() = target.transport->port();
>
> if (target.transport->transport() != UDP &&
> !rr.uri().exists(p_transport))
>
> {
>
> rr.uri().param(p_transport) =
> Tuple::toData(target.transport->transport());
>
> }
>
> }
>
> }
>
>
>
> I don't understand why we try to stamp header(h_RecordRoutes).back() - the
> oldest, possible not our Record-Route?
>
> It works when we have only one such header, but does not work if there some
> Record-Routes (inserted by others proxies).
>
>
>
> I also have some questions about Repro concerning Record-Route, but I think
> it is good idea to clarify my first question before.
>
>
>
> With best regards
>
> Alexander Altshuler
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel at list.resiprocate.org
> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
>
>
More information about the resiprocate-devel
mailing list