CLEANUP: protocol: move the l3_addrlen to plug a hole in proto_fam

There's a two-byte hole in proto_fam after sock_family, let's move the
l3_addrlen there as a ushort. Note that contrary to what the comment
says, it's still not used by hash algorithms though it could.
This commit is contained in:
Willy Tarreau 2023-04-22 11:18:54 +02:00
parent df4051cd58
commit 798d6b4124

View File

@ -71,8 +71,9 @@ struct proto_fam {
char name[PROTO_NAME_LEN]; /* family name, zero-terminated */
int sock_domain; /* socket domain, as passed to socket() */
sa_family_t sock_family; /* socket family, for sockaddr */
ushort l3_addrlen; /* layer3 address length, used by hashes */
socklen_t sock_addrlen; /* socket address length, used by bind() */
int l3_addrlen; /* layer3 address length, used by hashes */
/* 4-bytes hole here */
int (*addrcmp)(const struct sockaddr_storage *, const struct sockaddr_storage *); /* compare addresses (like memcmp) */
int (*bind)(struct receiver *rx, char **errmsg); /* bind a receiver */
int (*get_src)(int fd, struct sockaddr *, socklen_t, int dir); /* syscall used to retrieve connection's src addr */