]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUILD: systemd: fix usage of reserved name "sun" in the address field
authorWilly Tarreau <w@1wt.eu>
Mon, 25 Nov 2024 07:04:09 +0000 (08:04 +0100)
committerWilly Tarreau <w@1wt.eu>
Mon, 25 Nov 2024 07:09:09 +0000 (08:09 +0100)
commitf0548302bb258ff22673e6869888bd029dcebda2
treed5513200a2101808f3b4e73ddb7d26e1046687e8
parenta941c92c1265ad9525d5c0562617aabae42f571f
BUILD: systemd: fix usage of reserved name "sun" in the address field

systemd.c doesn't build on Solaris / Illumos because it uses "sun" as
the field name in a structure, while "sun" is the name of the macro
used to detect Solaris:

  src/systemd.c: In function 'sd_notify':
  src/systemd.c:43:22: error: expected identifier or '(' before numeric constant
     struct sockaddr_un sun;
                        ^
  src/systemd.c:44:2: warning: no semicolon at end of struct or union
    } socket_addr = {
    ^

Admittedly, the OS could have instead defined "sun" to itself to avoid
this. Any other name will work, let's just use "ux" for the short form
of "unix".

The problem appeared in 3.0-dev with commit aa3632962f ("MEDIUM:
mworker: get rid of libsystemd"), though by then this file was only
built when USE_SYSTEMD was set, which was not the case for non-linux
platforms. However since 3.1-dev14 with commit 15845247db ("MEDIUM:
mworker: remove USE_SYSTEMD requirement for -Ws"), all platforms
now build this file.

No backport is needed even though it will not hurt to have it in 3.0
for completeness.
src/systemd.c