# HG changeset patch # User Ivo Smits # Date 1312474626 -7200 # Node ID 6f0e6b7dc08822c84a2b065ce4b3b0b408e0df8a # Parent 7c5e5be876bb3fe1592f346653bdb21244603af8 Fixed build script to support multiple abis on one machine, bugfix in code, minor improvements diff -r 7c5e5be876bb -r 6f0e6b7dc088 build.sh --- a/build.sh Sat Apr 09 23:34:06 2011 +0200 +++ b/build.sh Thu Aug 04 18:17:06 2011 +0200 @@ -8,6 +8,10 @@ tar="gtar" CFLAGS="$CFLAGS -DSOLARIS -m64" LDFLAGS="$LDFLAGS -lnsl -lsocket" +elif [ "$(uname -s)" = "Darwin" ]; then + echo "Detected Mac OS X (Darwin)" + CFLAGS="$CFLAGS -arch i686" + LDFLAGS="$LDFLAGS -arch i686" else tar="tar" fi @@ -31,12 +35,14 @@ echo Not found, building... mkdir tmp/nacl cd tmp/nacl - wget -q -O- http://hyperelliptic.org/nacl/nacl-20110221.tar.bz2 | bunzip2 | $tar -xf - --strip-components 1 + NACLURL="http://hyperelliptic.org/nacl/nacl-20110221.tar.bz2" + (wget -q -O- "${NACLURL}" || curl -q "${NACLURL}") | bunzip2 | $tar -xf - --strip-components 1 ./do cd ../../ - cp tmp/nacl/build/*/lib/*/libnacl.a lib/ - cp tmp/nacl/build/*/include/*/crypto_box_curve25519xsalsa20poly1305.h include/ - cp tmp/nacl/build/*/include/*/crypto_scalarmult_curve25519.h include/ + ABI=`nacl/build/*/bin/okabi | head -n 1` + cp "tmp/nacl/build/*/lib/${ABI}/libnacl.a" lib/ + cp "tmp/nacl/build/*/include/${ABI}/crypto_box_curve25519xsalsa20poly1305.h" include/ + cp "tmp/nacl/build/*/include/${ABI}/crypto_scalarmult_curve25519.h" include/ echo Done. fi export CPATH="./include/:${CPATH}" diff -r 7c5e5be876bb -r 6f0e6b7dc088 src/common.c --- a/src/common.c Sat Apr 09 23:34:06 2011 +0200 +++ b/src/common.c Thu Aug 04 18:17:06 2011 +0200 @@ -273,3 +273,4 @@ return 0; } #endif + diff -r 7c5e5be876bb -r 6f0e6b7dc088 src/proto.nacltai.c --- a/src/proto.nacltai.c Sat Apr 09 23:34:06 2011 +0200 +++ b/src/proto.nacltai.c Thu Aug 04 18:17:06 2011 +0200 @@ -118,7 +118,7 @@ } static int encode(struct qtsession* sess, char* raw, char* enc, int len) { - if (debug) fprintf(stderr, "Encoding packet of %d bytes from %d to %d\n", len, (int)raw, (int)enc); + if (debug) fprintf(stderr, "Encoding packet of %d bytes from %p to %p\n", len, raw, enc); struct qt_proto_data_nacltai* d = (struct qt_proto_data_nacltai*)sess->protocol_data; memset(raw, 0, crypto_box_curve25519xsalsa20poly1305_ZEROBYTES); taia_now(&d->cdtaie); @@ -126,12 +126,12 @@ if (crypto_box_curve25519xsalsa20poly1305_afternm(enc, raw, len + crypto_box_curve25519xsalsa20poly1305_ZEROBYTES, d->cenonce, d->cbefore)) return errorexit("Encryption failed"); memcpy((void*)(enc + crypto_box_curve25519xsalsa20poly1305_BOXZEROBYTES - noncelength), d->cenonce + nonceoffset, noncelength); len += overhead; - if (debug) fprintf(stderr, "Encoded packet of %d bytes from %d to %d\n", len, (int)raw, (int)enc); + if (debug) fprintf(stderr, "Encoded packet of %d bytes from %p to %p\n", len, raw, enc); return len; } static int decode(struct qtsession* sess, char* enc, char* raw, int len) { - if (debug) fprintf(stderr, "Decoding packet of %d bytes from %d to %d\n", len, (int)enc, (int)raw); + if (debug) fprintf(stderr, "Decoding packet of %d bytes from %p to %p\n", len, enc, raw); struct qt_proto_data_nacltai* d = (struct qt_proto_data_nacltai*)sess->protocol_data; struct taia cdtaic; int i; @@ -152,7 +152,7 @@ return 0; } d->cdtaip = cdtaic; - if (debug) fprintf(stderr, "Decoded packet of %d bytes from %d to %d\n", len, (int)enc, (int)raw); + if (debug) fprintf(stderr, "Decoded packet of %d bytes from %p to %p\n", len, enc, raw); return len; } diff -r 7c5e5be876bb -r 6f0e6b7dc088 src/run.combined.c --- a/src/run.combined.c Sat Apr 09 23:34:06 2011 +0200 +++ b/src/run.combined.c Thu Aug 04 18:17:06 2011 +0200 @@ -25,9 +25,9 @@ #include "common.c" -struct qtproto qtproto_raw; -struct qtproto qtproto_nacl0; -struct qtproto qtproto_nacltai; +extern struct qtproto qtproto_raw; +extern struct qtproto qtproto_nacl0; +extern struct qtproto qtproto_nacltai; #ifdef DEBIAN_BINARY char* getenvdeb(const char* name) { @@ -67,3 +67,4 @@ return qtrun(&qtproto_raw); } } +