diff options
-rwxr-xr-x | pkg/thirdparty/openvpn/build_openvpn.sh | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/pkg/thirdparty/openvpn/build_openvpn.sh b/pkg/thirdparty/openvpn/build_openvpn.sh index 1810d991..cefae5dd 100755 --- a/pkg/thirdparty/openvpn/build_openvpn.sh +++ b/pkg/thirdparty/openvpn/build_openvpn.sh @@ -3,6 +3,7 @@ ############################################################################# # Builds OpenVPN statically against mbedtls (aka polarssl). # Requirements: cmake +# Output: ~/openvpn_build/sbin/openvpn-x.y.z ############################################################################# set -e @@ -27,6 +28,12 @@ LZO="lzo-2.10" ZLIB="zlib-1.2.11" MBEDTLS="mbedtls-2.6.0" OPENVPN="openvpn-2.4.4" + +# [!] This needs to be updated for every release -------------------------- +LZO_SHA1="4924676a9bae5db58ef129dc1cebce3baa3c4b5d" +MBEDTLS_SHA1="0e657805b5dc9777e0e0333a95d7886ae8f0314e" +# ------------------------------------------------------------------------- +ZLIB_KEYS="https://pgp.mit.edu/pks/lookup?op=get&search=0x783FCD8E58BCAFBA" OPENVPN_KEYS="https://swupdate.openvpn.net/community/keys/security.key.asc" WGET="wget --prefer-family=IPv4" @@ -45,10 +52,12 @@ MAKE="make -j2" function build_zlib() { + gpg --fetch-keys $ZLIB_KEYS mkdir $SRC/zlib && cd $SRC/zlib if [ ! -f $ZLIB.tar.gz ]; then - $WGET http://zlib.net/$ZLIB.tar.gz + $WGET https://zlib.net/$ZLIB.tar.gz + $WGET https://zlib.net/$ZLIB.tar.gz.asc fi tar zxvf $ZLIB.tar.gz cd $ZLIB @@ -74,6 +83,13 @@ function build_mbedtls() if [ ! -f $MBEDTLS-gpl.tgz ]; then $WGET https://tls.mbed.org/download/$MBEDTLS-gpl.tgz fi + sha1=`sha1sum $MBEDTLS-gpl.tgz | cut -d' ' -f 1` + if [ "${MBEDTLS_SHA1}" = "${sha1}" ]; then + echo "[+] sha1 verified ok" + else + echo "[!] problem with sha1 verification" + exit 1 + fi tar zxvf $MBEDTLS-gpl.tgz cd $MBEDTLS mkdir -p build @@ -94,6 +110,13 @@ function build_lzo2() if [ ! -f $LZO.tar.gz ]; then $WGET http://www.oberhumer.com/opensource/lzo/download/$LZO.tar.gz fi + sha1=`sha1sum $LZO.tar.gz | cut -d' ' -f 1` + if [ "${LZO_SHA1}" = "${sha1}" ]; then + echo "[+] sha1 verified ok" + else + echo "[!] problem with sha1 verification" + exit 1 + fi tar zxvf $LZO.tar.gz cd $LZO @@ -114,12 +137,12 @@ function build_lzo2() function build_openvpn() { mkdir $SRC/openvpn && cd $SRC/openvpn - $WGET -q -O - $OPENVPN_KEYS | gpg --import + gpg --fetch-keys $OPENVPN_KEYS if [ ! -f $OPENVPN.tar.gz ]; then $WGET http://swupdate.openvpn.org/community/releases/$OPENVPN.tar.gz $WGET http://swupdate.openvpn.org/community/releases/$OPENVPN.tar.gz.asc fi - gpg --verify $OPENVPN.tar.gz.asc && echo "[+] gpg verification ok" + gpg --verify $OPENVPN.tar.gz.asc && echo "[+] gpg verification ok" tar zxvf $OPENVPN.tar.gz cd $OPENVPN @@ -134,7 +157,7 @@ function build_openvpn() --with-crypto-library=mbedtls \ --enable-small \ --disable-debug \ - --enable-iproute2 + --enable-iproute2 $MAKE LIBS="-all-static -lz -llzo2" make install DESTDIR=$BASE/openvpn |