gsup_router.c: gsup_route_find(): support blob

Do not require the blob (addr, addr_len) passed to gsup_route_find()
to be nul-terminated. We already have the length, so the nul-termination
is redundant.

This is needed for the upcoming gsup message forwarding patch [1]: we
want to be able to directly pass non-nul-terminated source and
destination name blobs to gsup_route_find().

I have looked into fixing all code that calls gsup_route_find() to never
pass a nul-terminated blob combination. But this is a can of worms,
because it involves both gsup client and server code. Wireshark shows
that clients are sending the nul-terminated string in TLV IEs of IPA
messages. The server assumes that this is the case in various places.
So we would need to fix it in both (server and client), but then we
would lose backwards compatibility with old servers and clients.

[1]: change-id Ia4f345abc877baaf0a8f73b8988e6514d9589bf5

Related: OS#3793
Change-Id: I01a45900e14d41bcd338f50ad85d9fabf2c61405
1 file changed