Mercurial > hg > quicktun
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... |