Skip to content

Commit 02b3725

Browse files
committed
fix HasLicense and RunAsNonRoot
1 parent 4404f03 commit 02b3725

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

Dockerfile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ RUN microdnf update -y
55
# If you edit this version number, edit it here *and* the LABEL below:
66
RUN microdnf install -y haproxy && rpm -q haproxy-2.4.22
77

8+
RUN microdnf install -y shadow-utils
9+
RUN groupadd haproxygroup
10+
RUN useradd -g haproxygroup haproxyuser
11+
812
# Only install qatengine package when building on x86_64 arch.
913
RUN if [ $(uname --hardware-platform) == "linux/amd64" ]; then microdnf install -y qatengine; fi
1014

@@ -22,6 +26,9 @@ LABEL org.opencontainers.image.created="${BUILD_DATE}"
2226

2327
STOPSIGNAL SIGUSR1
2428

29+
RUN mkdir /licenses
30+
COPY ./licenses /licenses
31+
2532
COPY docker-entrypoint.sh /usr/local/bin/
2633
RUN ln -s usr/local/bin/docker-entrypoint.sh /
2734
ENTRYPOINT ["docker-entrypoint.sh"]

licenses/LICENSE

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
HAPROXY's license - 2006/06/15
2+
3+
Historically, haproxy has been covered by GPL version 2. However, an issue
4+
appeared in GPL which will prevent external non-GPL code from being built
5+
using the headers provided with haproxy. My long-term goal is to build a core
6+
system able to load external modules to support specific application protocols.
7+
8+
Since some protocols are found in rare environments (finance, industry, ...),
9+
some of them might be accessible only after signing an NDA. Enforcing GPL on
10+
such modules would only prevent them from ever being implemented, while not
11+
providing anything useful to ordinary users.
12+
13+
For this reason, I *want* to be able to support binary only external modules
14+
when needed, with a GPL core and GPL modules for standard protocols, so that
15+
people fixing bugs don't keep them secretly to try to stay over competition.
16+
17+
The solution was then to apply the LGPL license to the exportable include
18+
files, while keeping the GPL for all the rest. This way, it still is mandatory
19+
to redistribute modified code under customer request, but at the same time, it
20+
is expressly permitted to write, compile, link and load non-GPL code using the
21+
LGPL header files and not to distribute them if it causes a legal problem.
22+
23+
Of course, users are strongly encouraged to continue the work under GPL as long
24+
as possible, since this license has allowed useful enhancements, contributions
25+
and fixes from talented people around the world.
26+
27+
Due to the incompatibility between the GPL and the OpenSSL licence, you must
28+
apply the GPL/LGPL licence with the following exception:
29+
This program is released under the GPL with the additional exemption that
30+
compiling, linking, and/or using OpenSSL is allowed.
31+
32+
The text of the licenses lies in the "doc" directory. All the files provided in
33+
this package are covered by the GPL unless expressly stated otherwise in them.
34+
Every patch or contribution provided by external people will by default comply
35+
with the license of the files it affects, or be rejected.
36+
37+
Willy Tarreau - [email protected]

0 commit comments

Comments
 (0)