UDS: align struct sockaddr_un with NetBSD

Well, make a start, anyway. Our copy was missing a legacy field from
the structure, that could very well cause applications to fail trying
to set, clear, or check it. As a consequence, SUN_LEN now yields the
same result as on NetBSD.

Change-Id: I80f6aff7769be402b3bd3959f64d314509ed138c
This commit is contained in:
David van Moolenbroek 2013-10-04 18:00:42 +02:00 committed by Lionel Sambuc
parent 3e8346a8e8
commit 10a344c3fd
2 changed files with 3 additions and 2 deletions

View file

@ -16,6 +16,7 @@ typedef __sa_family_t sa_family_t;
* Definitions for UNIX IPC domain.
*/
struct sockaddr_un {
uint8_t sun_len;
sa_family_t sun_family;
char sun_path[UNIX_PATH_MAX];
};

View file

@ -302,8 +302,8 @@ void test_header(void)
sun.sun_path[2] = 'x';
sun.sun_path[3] = '\0';
if (SUN_LEN(&sun) != 4) {
test_fail("SUN_LEN(&sun) should be 4");
if (SUN_LEN(&sun) != 5) {
test_fail("SUN_LEN(&sun) should be 5");
}
if (PF_UNIX != PF_LOCAL || PF_UNIX != PF_FILE || PF_UNIX != AF_UNIX) {