Hello, the attached patch allows the APR to handle Unix Domain Socket paths longer than the the limit imposed by the size of struct sockaddr_un (for systems that support it, eg. *BSD), with no API/ABI change.
To do so, new functions to manipulate the different type of addresses and socket internals (about local/remote addresses) are implemented in network_io/unix/sockaddr.c, and declared in each include/arch/*/apr_arch_networkio.h, like the existing apr_sockaddr_vars_set(). This allows to also reuse code for non-unix platforms (Windows, OS/2), hence all network_io/*/sockets.c have been modified (aligned) to use them where needed. The corresponding tests have also been added to the suite. Unfortunatly I can't test nor even compile on Windows/OS2 currently, testers welcome (TIA). Thanks for your feedbacks. Regards, Yann.
apr-trunk-sockaddr.patch
Description: application/download
