3
3
4
4
ARG RESTY_IMAGE_BASE="ubuntu"
5
5
ARG RESTY_IMAGE_TAG="focal"
6
+ ARG LIB_SODIUM_VER=1.0.18-RELEASE
6
7
7
8
FROM ${RESTY_IMAGE_BASE}:${RESTY_IMAGE_TAG}
8
9
@@ -11,15 +12,15 @@ LABEL maintainer="Evan Wies <evan@neomantra.net>"
11
12
# Docker Build Arguments
12
13
ARG RESTY_IMAGE_BASE="ubuntu"
13
14
ARG RESTY_IMAGE_TAG="focal"
14
- ARG RESTY_VERSION="1.25.3.2 "
15
+ ARG RESTY_VERSION="1.25.3.1 "
15
16
ARG RESTY_LUAROCKS_VERSION="3.11.0"
16
17
ARG RESTY_OPENSSL_VERSION="1.1.1w"
17
18
ARG RESTY_OPENSSL_PATCH_VERSION="1.1.1f"
18
19
ARG RESTY_OPENSSL_URL_BASE="https://www.openssl.org/source/old/1.1.1"
19
20
ARG RESTY_PCRE_VERSION="8.45"
20
21
ARG RESTY_PCRE_BUILD_OPTIONS="--enable-jit"
21
22
ARG RESTY_PCRE_SHA256="4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09"
22
- ARG RESTY_J="2 "
23
+ ARG RESTY_J="1 "
23
24
ARG RESTY_CONFIG_OPTIONS="\
24
25
--with-compat \
25
26
--with-file-aio \
@@ -40,7 +41,6 @@ ARG RESTY_CONFIG_OPTIONS="\
40
41
--with-http_stub_status_module \
41
42
--with-http_sub_module \
42
43
--with-http_v2_module \
43
- --with-http_v3_module \
44
44
--with-http_xslt_module=dynamic \
45
45
--with-ipv6 \
46
46
--with-mail \
@@ -50,6 +50,7 @@ ARG RESTY_CONFIG_OPTIONS="\
50
50
--with-stream \
51
51
--with-stream_ssl_module \
52
52
--with-threads \
53
+ --with-cc-opt='-fstack-protector-strong' \
53
54
--add-module=/usr/local/src/ngx_waf \
54
55
"
55
56
ARG RESTY_CONFIG_OPTIONS_MORE=""
@@ -93,6 +94,7 @@ COPY ngx_waf /usr/local/src/ngx_waf
93
94
94
95
RUN DEBIAN_FRONTEND=noninteractive apt-get update \
95
96
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
97
+ git \
96
98
build-essential \
97
99
ca-certificates \
98
100
curl \
@@ -108,8 +110,19 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update \
108
110
unzip \
109
111
wget \
110
112
zlib1g-dev \
113
+ libcurl4-openssl-dev \
114
+ libmodsecurity-dev \
115
+ libmodsecurity3 \
111
116
${RESTY_ADD_PACKAGE_BUILDDEPS} \
112
117
${RESTY_ADD_PACKAGE_RUNDEPS} \
118
+ && git clone -b v1.7.15 https://github.com/DaveGamble/cJSON.git /tmp/ngx_waf/lib/cjson \
119
+ && git clone -b v2.3.0 https://github.com/troydhanson/uthash.git /tmp/ngx_waf/lib/uthash \
120
+ && git clone https://github.com/jedisct1/libsodium.git --branch 1.0.18-RELEASE /tmp/libsodium \
121
+ && cd /tmp/libsodium \
122
+ && ./configure --prefix=/usr/local/libsodium --with-pic \
123
+ && make \
124
+ && make check \
125
+ && make install \
113
126
&& cd /tmp \
114
127
&& if [ -n "${RESTY_EVAL_PRE_CONFIGURE}" ]; then eval $(echo ${RESTY_EVAL_PRE_CONFIGURE}); fi \
115
128
&& curl -fSL "${RESTY_OPENSSL_URL_BASE}/openssl-${RESTY_OPENSSL_VERSION}.tar.gz" -o openssl-${RESTY_OPENSSL_VERSION}.tar.gz \
@@ -149,6 +162,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update \
149
162
&& curl -fSL https://openresty.org/download/openresty-${RESTY_VERSION}.tar.gz -o openresty-${RESTY_VERSION}.tar.gz \
150
163
&& tar xzf openresty-${RESTY_VERSION}.tar.gz \
151
164
&& cd /tmp/openresty-${RESTY_VERSION} \
165
+ && export LIB_SODIUM=/usr/local/libsodium \
152
166
&& if [ -n "${RESTY_EVAL_POST_DOWNLOAD_PRE_CONFIGURE}" ]; then eval $(echo ${RESTY_EVAL_POST_DOWNLOAD_PRE_CONFIGURE}); fi \
153
167
&& eval ./configure -j${RESTY_J} ${_RESTY_CONFIG_DEPS} ${RESTY_CONFIG_OPTIONS} ${RESTY_CONFIG_OPTIONS_MORE} ${RESTY_LUAJIT_OPTIONS} ${RESTY_PCRE_OPTIONS} \
154
168
&& make -j${RESTY_J} \
@@ -164,6 +178,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update \
164
178
&& ./configure \
165
179
--prefix=/usr/local/openresty/luajit \
166
180
--with-lua=/usr/local/openresty/luajit \
181
+ --lua-suffix=jit-2.1.0-beta3 \
167
182
--with-lua-include=/usr/local/openresty/luajit/include/luajit-2.1 \
168
183
&& make build \
169
184
&& make install \
@@ -183,7 +198,7 @@ ENV PATH=$PATH:/usr/local/openresty/luajit/bin:/usr/local/openresty/nginx/sbin:/
183
198
# If OpenResty changes, these may need updating:
184
199
# /usr/local/openresty/bin/resty -e 'print(package.path)'
185
200
# /usr/local/openresty/bin/resty -e 'print(package.cpath)'
186
- ENV LUA_PATH="/usr/local/openresty/site/lualib/?.ljbc;/usr/local/openresty/site/lualib/?/init.ljbc;/usr/local/openresty/lualib/?.ljbc;/usr/local/openresty/lualib/?/init.ljbc;/usr/local/openresty/site/lualib/?.lua;/usr/local/openresty/site/lualib/?/init.lua;/usr/local/openresty/lualib/?.lua;/usr/local/openresty/lualib/?/init.lua;./?.lua;/usr/local/openresty/luajit/share/luajit-2.1/?.lua;/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/init.lua;/usr/local/openresty/luajit/share/lua/5.1/?.lua;/usr/local/openresty/luajit/share/lua/5.1/?/init.lua"
201
+ ENV LUA_PATH="/usr/local/openresty/site/lualib/?.ljbc;/usr/local/openresty/site/lualib/?/init.ljbc;/usr/local/openresty/lualib/?.ljbc;/usr/local/openresty/lualib/?/init.ljbc;/usr/local/openresty/site/lualib/?.lua;/usr/local/openresty/site/lualib/?/init.lua;/usr/local/openresty/lualib/?.lua;/usr/local/openresty/lualib/?/init.lua;./?.lua;/usr/local/openresty/luajit/share/luajit-2.1.0-beta3 /?.lua;/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/init.lua;/usr/local/openresty/luajit/share/lua/5.1/?.lua;/usr/local/openresty/luajit/share/lua/5.1/?/init.lua"
187
202
188
203
ENV LUA_CPATH="/usr/local/openresty/site/lualib/?.so;/usr/local/openresty/lualib/?.so;./?.so;/usr/local/lib/lua/5.1/?.so;/usr/local/openresty/luajit/lib/lua/5.1/?.so;/usr/local/lib/lua/5.1/loadall.so;/usr/local/openresty/luajit/lib/lua/5.1/?.so"
189
204
0 commit comments