This message has been marked as Public on 03/19/2024 09:40Z. On Friday, March 15, 2024 5:27 PM Rémi Denis-Courmont wrote:
>> >> localaddr option now properly works with IPv6 addresses. Properly >> resolved interface index in places where default 0 interface index is >> used (marked with TODO: within udp.c). Added SO_BINDTODEVICE for mcast >> sockets that are used for reading from the network. > > AFAIK, that is privileged, and is not intended for the purpose of scoping > multicast.Where the need arises to specify an interface for multicast, there > is typically a dedicated ioctl or field of an ioctl. I agree, although it gets the job done, in this case it is more acceptable to modify `sin6_scope_id` field to point to the desired interface. Will change within V2 of the patch. >> + /* Special case for link-local addresses, relevant interface is >> + stored >> in sin6_scope_id */ +#if HAVE_STRUCT_SOCKADDR_IN6 && >> defined(IN6_IS_ADDR_LINKLOCAL) >> + if (local_addr->ss_family == AF_INET6 && >> IN6_IS_ADDR_LINKLOCAL(&((struct sockaddr_in6*)local_addr)->sin6_addr)) >> { > > Invalid cast, breaks aliasing, AFAICT. AFAIK the primary purpose of `sockaddr_storage` is to store sockaddr regardles of address family. In this case it is used to store local addr, wether it is V4 or V6. With checking that the `ss_family` is in fact `AF_INET6`, `sockaddr_storage` can be safely cast into `sockaddr_in6`. Maybe I'm missing something here. Would you mind further elaborating your comment? Thank you for your time! Sincirely, Lazar Ignjatović Associate Software Engineer Cubic Defense cubic.com _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".