[Date Prev][Date Next] [Chronological] [Thread] [Top]

CLDAP with IPv6: address storage


Concerning storage of IPv6 addresses (that won't fit in a struct

I mentioned in my followup 3 to ITS#2018 that the same problem seems
to be present in


and saw now that this hadn't been fixed yet in HEAD. However, this
seems to concern CLDAP only, where, as the comment in
libraries/liblber/sockbuf.c says: "All data reads and writes are
prefixed with a sockaddr containing the address of the remote entity."

This is simply not going to work with IPv6 addresses.

One way to fix this would be to use a struct sockaddr_storage instead,
but that would break compatibility. A possible workaround could be
checking the address family and use a struct sockaddr_storage for
IPv6, otherwise a struct sockaddr, but that looks a bit ugly to
me. What do you people think?

Thorild Selén
Datorföreningen Update / Update Computer Club, Uppsala, SE