mirror of
http://git.haproxy.org/git/haproxy.git
synced 2026-02-15 04:02:13 +02:00
REORG: listener: move unix perms from the listener to the bind_conf
Unix permissions are per-bind configuration line and not per listener, so let's concretize this in the way the config is stored. This avoids some unneeded loops to set permissions on all listeners. The access level is not part of the unix perms so it has been moved away. Once we can use str2listener() to set all listener addresses, we'll have a bind keyword parser for this one.
This commit is contained in:
@@ -105,6 +105,12 @@ struct bind_conf {
|
||||
struct eb_root sni_w_ctx; /* sni_ctx tree of all known certs wildcards sorted by name */
|
||||
#endif
|
||||
int is_ssl; /* SSL is required for these listeners */
|
||||
struct { /* UNIX socket permissions */
|
||||
uid_t uid; /* -1 to leave unchanged */
|
||||
gid_t gid; /* -1 to leave unchanged */
|
||||
mode_t mode; /* 0 to leave unchanged */
|
||||
} ux;
|
||||
int level; /* stats access level (ACCESS_LVL_*) */
|
||||
struct list by_fe; /* next binding for the same frontend, or NULL */
|
||||
struct list listeners; /* list of listeners using this bind config */
|
||||
char *arg; /* argument passed to "bind" for better error reporting */
|
||||
@@ -136,14 +142,6 @@ struct listener {
|
||||
struct list wait_queue; /* link element to make the listener wait for something (LI_LIMITED) */
|
||||
unsigned int analysers; /* bitmap of required protocol analysers */
|
||||
int nice; /* nice value to assign to the instanciated tasks */
|
||||
union { /* protocol-dependant access restrictions */
|
||||
struct { /* UNIX socket permissions */
|
||||
uid_t uid; /* -1 to leave unchanged */
|
||||
gid_t gid; /* -1 to leave unchanged */
|
||||
mode_t mode; /* 0 to leave unchanged */
|
||||
int level; /* access level (ACCESS_LVL_*) */
|
||||
} ux;
|
||||
} perm;
|
||||
char *interface; /* interface name or NULL */
|
||||
int maxseg; /* for TCP, advertised MSS */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user