--- gvpe/src/connection.C 2004/01/17 01:18:36 1.25 +++ gvpe/src/connection.C 2004/01/29 18:55:10 1.29 @@ -60,14 +60,14 @@ crypto_ctx::crypto_ctx (const rsachallenge &challenge, int enc) { EVP_CIPHER_CTX_init (&cctx); - EVP_CipherInit_ex (&cctx, CIPHER, 0, &challenge[CHG_CIPHER_KEY], 0, enc); + require (EVP_CipherInit_ex (&cctx, CIPHER, 0, &challenge[CHG_CIPHER_KEY], 0, enc)); HMAC_CTX_init (&hctx); HMAC_Init_ex (&hctx, &challenge[CHG_HMAC_KEY], HMAC_KEYLEN, DIGEST, 0); } crypto_ctx::~crypto_ctx () { - EVP_CIPHER_CTX_cleanup (&cctx); + require (EVP_CIPHER_CTX_cleanup (&cctx)); HMAC_CTX_cleanup (&hctx); } @@ -77,10 +77,10 @@ EVP_MD_CTX ctx; EVP_MD_CTX_init (&ctx); - EVP_DigestInit (&ctx, RSA_HASH); - EVP_DigestUpdate(&ctx, &chg, sizeof chg); - EVP_DigestUpdate(&ctx, &id, sizeof id); - EVP_DigestFinal (&ctx, (unsigned char *)&h, 0); + require (EVP_DigestInit (&ctx, RSA_HASH)); + require (EVP_DigestUpdate(&ctx, &chg, sizeof chg)); + require (EVP_DigestUpdate(&ctx, &id, sizeof id)); + require (EVP_DigestFinal (&ctx, (unsigned char *)&h, 0)); EVP_MD_CTX_cleanup (&ctx); } @@ -312,7 +312,7 @@ #define MAXVPNDATA (MAX_MTU - 6 - 6) #define DATAHDR (sizeof (u32) + RAND_SIZE) -struct vpndata_packet:vpn_packet +struct vpndata_packet : vpn_packet { u8 data[MAXVPNDATA + DATAHDR]; // seqno @@ -349,7 +349,7 @@ } #endif - EVP_EncryptInit_ex (cctx, 0, 0, 0, 0); + require (EVP_EncryptInit_ex (cctx, 0, 0, 0, 0)); struct { #if RAND_SIZE @@ -363,17 +363,17 @@ RAND_pseudo_bytes ((unsigned char *) datahdr.rnd, RAND_SIZE); #endif - EVP_EncryptUpdate (cctx, + require (EVP_EncryptUpdate (cctx, (unsigned char *) data + outl, &outl2, - (unsigned char *) &datahdr, DATAHDR); + (unsigned char *) &datahdr, DATAHDR)); outl += outl2; - EVP_EncryptUpdate (cctx, + require (EVP_EncryptUpdate (cctx, (unsigned char *) data + outl, &outl2, - (unsigned char *) d, l); + (unsigned char *) d, l)); outl += outl2; - EVP_EncryptFinal_ex (cctx, (unsigned char *) data + outl, &outl2); + require (EVP_EncryptFinal_ex (cctx, (unsigned char *) data + outl, &outl2)); outl += outl2; len = outl + data_hdr_size (); @@ -392,7 +392,7 @@ u8 *d; u32 l = len - data_hdr_size (); - EVP_DecryptInit_ex (cctx, 0, 0, 0, 0); + require (EVP_DecryptInit_ex (cctx, 0, 0, 0, 0)); #if ENABLE_COMPRESSION u8 cdata[MAX_MTU]; @@ -404,12 +404,12 @@ d = &(*p)[6 + 6 - DATAHDR]; /* this overwrites part of the src mac, but we fix that later */ - EVP_DecryptUpdate (cctx, + require (EVP_DecryptUpdate (cctx, d, &outl2, - (unsigned char *)&data, len - data_hdr_size ()); + (unsigned char *)&data, len - data_hdr_size ())); outl += outl2; - EVP_DecryptFinal_ex (cctx, (unsigned char *)d + outl, &outl2); + require (EVP_DecryptFinal_ex (cctx, (unsigned char *)d + outl, &outl2)); outl += outl2; seqno = ntohl (*(u32 *)(d + RAND_SIZE)); @@ -506,7 +506,7 @@ { char magic[8]; u8 initiate; // false if this is just an automatic reply - u8 protocols; // supported protocols (will get patches on forward) + u8 protocols; // supported protocols (will be patched on forward) u8 pad2, pad3; rsaid id; rsaencrdata encr; @@ -726,7 +726,7 @@ && conf != THISNODE && connectmode != conf_node::C_NEVER && connectmode != conf_node::C_DISABLED - && w.at <= NOW) + && NOW > w.at) { double retry_int = double (retry_cnt & 3 ? (retry_cnt & 3) : 1 << (retry_cnt >> 2)) * 0.6; @@ -834,7 +834,7 @@ send_vpn_packet (pkt, si, tos); else { - vpn_queue.put (new vpn_packet (*pkt)); + vpn_queue.put ((vpn_packet *)new data_packet (*(data_packet *)pkt)); establish_connection (); } @@ -962,7 +962,7 @@ if (!p->hmac_chk (cctx)) { slog (L_ERR, _("%s(%s): hmac authentication error on auth response, received invalid packet\n" - "could be an attack, or just corruption or an synchronization error"), + "could be an attack, or just corruption or a synchronization error"), conf->nodename, (const char *)rsi); break; } @@ -1021,7 +1021,7 @@ if (!p->hmac_chk (ictx)) slog (L_ERR, _("%s(%s): hmac authentication error, received invalid packet\n" - "could be an attack, or just corruption or an synchronization error"), + "could be an attack, or just corruption or a synchronization error"), conf->nodename, (const char *)rsi); else {