Mercurial > hg > quicktun
diff src/proto.salty.c @ 62:5b9e742bb704
Fixed compiler warnings, removed redundant version dependencies in debian package
author | Ivo Smits <Ivo@UFO-Net.nl> |
---|---|
date | Sat, 07 Jan 2017 15:47:19 +0100 |
parents | 66d9d80215f0 |
children |
line wrap: on
line diff
--- a/src/proto.salty.c Wed Jan 04 21:42:38 2017 +0100 +++ b/src/proto.salty.c Sat Jan 07 15:47:19 2017 +0100 @@ -209,7 +209,10 @@ memset(d->timestamps, 0, 5 * sizeof(uint32)); if (debug) dumphex("INIT DECODER SK", lkey, 32); if (debug) dumphex("INIT DECODER RK", rkey, 32); - crypto_box_curve25519xsalsa20poly1305_beforenm(d->sharedkey, rkey, lkey); + if (crypto_box_curve25519xsalsa20poly1305_beforenm(d->sharedkey, rkey, lkey)) { + errorexit("Encryption key calculation failed"); + abort(); + } } static void sendkeyupdate(struct qtsession* sess, bool ack) { @@ -291,7 +294,8 @@ } else { return errorexit("Missing PRIVATE_KEY"); } - crypto_box_curve25519xsalsa20poly1305_beforenm(d->controlkey, cpublickey, csecretkey); + if (crypto_box_curve25519xsalsa20poly1305_beforenm(d->controlkey, cpublickey, csecretkey)) + return errorexit("Encryption key calculation failed"); unsigned char cownpublickey[PUBLICKEYBYTES]; crypto_scalarmult_curve25519_base(cownpublickey, csecretkey); int role = memcmp(cownpublickey, cpublickey, PUBLICKEYBYTES); @@ -434,7 +438,10 @@ d->datalocalkeynextid = -1; } if (lkeyid == d->datalocalkeyid) { - crypto_box_curve25519xsalsa20poly1305_beforenm(enckey->sharedkey, d->dataremotekey, enckey->privatekey); + if (crypto_box_curve25519xsalsa20poly1305_beforenm(enckey->sharedkey, d->dataremotekey, enckey->privatekey)) { + errorexit("Encryption key calculation failed"); + abort(); + } d->dataencoder = enckey; } if (debug) fprintf(stderr, "Decoded control packet: rkid=%d, lkid=%d, ack=%d, lkvalid=%d, uptodate=%d\n", d->dataremotekeyid, (cflags >> 5) & 0x01, (cflags >> 4) & 0x01, lkeyid != -1, d->datalocalkeynextid == -1);