mirror of
https://github.com/openappsec/attachment.git
synced 2025-11-17 09:45:30 +03:00
Add docket support
This commit is contained in:
66
attachments/nginx/ngx_module/nginx_version_configuration.sh
Executable file
66
attachments/nginx/ngx_module/nginx_version_configuration.sh
Executable file
@@ -0,0 +1,66 @@
|
||||
#!/bin/bash
|
||||
|
||||
NGINX_VERSION_CONF_INPUT_PATH=/tmp/nginx.sourcefile.ver
|
||||
if [ "${1}" == "--docker" ]; then
|
||||
docker run -it ${2} nginx -V > ${NGINX_VERSION_CONF_INPUT_PATH}
|
||||
elif [ "${1}" == "--conf" ]; then
|
||||
cp ${2} ${NGINX_VERSION_CONF_INPUT_PATH}
|
||||
else
|
||||
echo "Usage: ${0} [--conf <input nginx compilation flags file> | --docker <input docker name>] <compilation artifacts directory>"
|
||||
exit 1
|
||||
fi
|
||||
NGINX_VERSION_CONF_OUTPUT_PATH=/tmp/nginx.sourcefile.conf
|
||||
$(dirname $0)/nginx_version_extractor.sh -i ${NGINX_VERSION_CONF_INPUT_PATH} -o ${NGINX_VERSION_CONF_OUTPUT_PATH}
|
||||
BUILD_OUTPUT_DIR=${3}
|
||||
|
||||
if [[ ${BUILD_OUTPUT_DIR} != /* ]]; then
|
||||
BUILD_OUTPUT_DIR=$(pwd)/${BUILD_OUTPUT_DIR}
|
||||
fi
|
||||
|
||||
source ${NGINX_VERSION_CONF_OUTPUT_PATH}
|
||||
|
||||
CURRENT_PWD=$(pwd)
|
||||
|
||||
mkdir -p ${BUILD_OUTPUT_DIR}
|
||||
cd ${BUILD_OUTPUT_DIR}
|
||||
|
||||
wget --no-check-certificate https://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz
|
||||
|
||||
tar -xzvf nginx-${NGINX_VERSION}.tar.gz
|
||||
|
||||
rm nginx-${NGINX_VERSION}.tar.gz
|
||||
|
||||
mv nginx-${NGINX_VERSION} nginx-src
|
||||
cd nginx-src
|
||||
|
||||
if test ! -f configured.ok; then
|
||||
echo "Configuring nginx compiler: ./configure ${CONFIGURE_OPT} --with-cc-opt=\"${EXTRA_CC_OPT} ${LOCAL_CC_OPT}\" && touch configured.ok"
|
||||
./configure ${CONFIGURE_OPT} --with-cc-opt="${EXTRA_CC_OPT} ${LOCAL_CC_OPT}" && touch configured.ok
|
||||
else
|
||||
echo "Nginx compiler already Configured...\n"
|
||||
fi
|
||||
|
||||
make && echo "${EXTRA_CC_OPT}" > cc_flags.mk
|
||||
|
||||
|
||||
OUTPUT_FILE_NAME=include_paths.mk
|
||||
|
||||
ALL_INCS=$(cat objs/Makefile|grep -v \$\(ALL_INCS\) | awk '/ALL_INCS/' RS="\n\n" ORS="\n\n" | tr '\\' ' ')
|
||||
ALL_INCS=${ALL_INCS/ALL_INCS =/}
|
||||
ALL_INCS=$(sed "s/-I//g" <<< "${ALL_INCS}")
|
||||
|
||||
echo > include_paths.mk
|
||||
for include in ${ALL_INCS}; do
|
||||
echo $include >> include_paths.mk
|
||||
done
|
||||
|
||||
cd ${CURRENT_PWD}
|
||||
|
||||
if [ "${1}" == "--docker" ]; then
|
||||
cp -f $(dirname $0)/../../../docker/Dockerfile ${BUILD_OUTPUT_DIR}/Dockerfile
|
||||
sed -i "s|<DOCKER BASE IMAGE>|${2}|g" ${BUILD_OUTPUT_DIR}/Dockerfile
|
||||
docker run -it ${2} whoami > /tmp/usertouse
|
||||
USER_NAME="$(cat /tmp/usertouse)"
|
||||
rm /tmp/usertouse
|
||||
sed -i "s|<DOCKER USER>|${USER_NAME}|g" ${BUILD_OUTPUT_DIR}/Dockerfile
|
||||
fi
|
||||
Reference in New Issue
Block a user