Make the path length of UNIX domain sockets specified by a #define.

Also, add a comment describing the historical context for this length.

Reviewed by:	bz, jhb, kbowling (previous version)
MFC after:	2 weeks
Sponsored by:	Netflix, Inc.
Differential Revision:	https://reviews.freebsd.org/D24272
This commit is contained in:
jtl 2020-04-14 15:27:24 +00:00
parent aa5793e3a1
commit d394258d3b

View File

@ -43,13 +43,21 @@ typedef __sa_family_t sa_family_t;
#define _SA_FAMILY_T_DECLARED
#endif
/*
* Historically, (struct sockaddr) needed to fit inside an mbuf.
* For this reason, UNIX domain sockets were therefore limited to
* 104 bytes. While this limit is no longer necessary, it is kept for
* binary compatibility reasons.
*/
#define SUNPATHLEN 104
/*
* Definitions for UNIX IPC domain.
*/
struct sockaddr_un {
unsigned char sun_len; /* sockaddr len including null */
sa_family_t sun_family; /* AF_UNIX */
char sun_path[104]; /* path name (gag) */
char sun_path[SUNPATHLEN]; /* path name (gag) */
};
#if __BSD_VISIBLE