comparison build.sh @ 64:fa53d1c54886

Use default RNG for key generation, added options to generate public key from private key, use bundled tweetnacl as fallback instead of nacl download
author Ivo Smits <Ivo@UFO-Net.nl>
date Sat, 07 Jan 2017 18:07:27 +0100
parents 4c083d81f5a8
children e0bd3a4993c2
comparison
equal deleted inserted replaced
63:fa4983c5f7ea 64:fa53d1c54886
24 24
25 mkdir -p out 25 mkdir -p out
26 echo Creating source archive... 26 echo Creating source archive...
27 $tar --transform "s,^,quicktun-`cat version`/," -czf "out/quicktun-`cat version`.tgz" build.sh clean.sh debian src version --exclude "debian/data" 27 $tar --transform "s,^,quicktun-`cat version`/," -czf "out/quicktun-`cat version`.tgz" build.sh clean.sh debian src version --exclude "debian/data"
28 28
29 mkdir -p obj tmp tmp/include 29 mkdir -p obj tmp tmp/include tmp/lib
30 30
31 export LIBRARY_PATH="/usr/local/lib/:${LIBRARY_PATH}" 31 export LIBRARY_PATH="/usr/local/lib/:${LIBRARY_PATH}"
32 32
33 echo '#include <sodium/crypto_box_curve25519xsalsa20poly1305.h>' > tmp/libtest1.c 33 echo '#include <sodium/crypto_box_curve25519xsalsa20poly1305.h>' > tmp/libtest1.c
34 echo '#include <nacl/crypto_box_curve25519xsalsa20poly1305.h>' > tmp/libtest2.c 34 echo '#include <nacl/crypto_box_curve25519xsalsa20poly1305.h>' > tmp/libtest2.c
43 echo '#include <nacl/crypto_box_curve25519xsalsa20poly1305.h>' > tmp/include/crypto_box_curve25519xsalsa20poly1305.h 43 echo '#include <nacl/crypto_box_curve25519xsalsa20poly1305.h>' > tmp/include/crypto_box_curve25519xsalsa20poly1305.h
44 echo '#include <nacl/crypto_scalarmult_curve25519.h>' > tmp/include/crypto_scalarmult_curve25519.h 44 echo '#include <nacl/crypto_scalarmult_curve25519.h>' > tmp/include/crypto_scalarmult_curve25519.h
45 export CPATH="./tmp/include/:${CPATH}" 45 export CPATH="./tmp/include/:${CPATH}"
46 export CRYPTLIB="nacl" 46 export CRYPTLIB="nacl"
47 else 47 else
48 mkdir -p lib include 48 echo Building TweetNaCl...
49 echo Checking for NaCl library... 49 echo 'The TweetNaCl cryptography library is not optimized for performance. Please install libsodium or libnacl before building QuickTun for best performance.'
50 if [ -e lib/libnacl.a -a -e include/crypto_box_curve25519xsalsa20poly1305.h -a -e include/crypto_scalarmult_curve25519.h ]; then 50 $cc $CFLAGS -shared -fPIC src/tweetnacl.c src/randombytes.c -o tmp/lib/libtweetnacl.a
51 echo Found. 51 echo '#include <src/tweetnacl.h>' > tmp/include/crypto_box_curve25519xsalsa20poly1305.h
52 else 52 echo '#include <src/tweetnacl.h>' > tmp/include/crypto_scalarmult_curve25519.h
53 echo Not found, building... 53 export CPATH="./tmp/include/:${CPATH}"
54 mkdir tmp/nacl 54 export LIBRARY_PATH="./tmp/lib/:${LIBRARY_PATH}"
55 cd tmp/nacl 55 export CRYPTLIB="tweetnacl"
56 NACLURL="http://hyperelliptic.org/nacl/nacl-20110221.tar.bz2"
57 (wget -q -O- "${NACLURL}" || curl -q "${NACLURL}") | bunzip2 | $tar -xf - --strip-components 1
58 ./do
59 cd ../../
60 NACLDIR="tmp/nacl/build/`hostname | sed 's/\..*//' | tr -cd '[a-z][A-Z][0-9]'`"
61 ABI=`"${NACLDIR}/bin/okabi" | head -n 1`
62 cp "${NACLDIR}/lib/${ABI}/libnacl.a" lib/
63 cp "${NACLDIR}/include/${ABI}/crypto_box_curve25519xsalsa20poly1305.h" include/
64 cp "${NACLDIR}/include/${ABI}/crypto_scalarmult_curve25519.h" include/
65 echo Done.
66 fi
67 export CPATH="./include/:${CPATH}"
68 export LIBRARY_PATH="./lib/:${LIBRARY_PATH}"
69 export CRYPTLIB="nacl"
70 fi 56 fi
71 57
72 CFLAGS="$CFLAGS -DQT_VERSION=\"`cat version`\"" 58 CFLAGS="$CFLAGS -DQT_VERSION=\"`cat version`\""
73 59
74 echo Building combined binary... 60 echo Building combined binary...