int or_handshake_client_send_auth(connection_t *conn) {
int retval;
- char buf[46];
+ char buf[48];
char cipher[128];
struct sockaddr_in me; /* my router identity */
}
int or_handshake_client_process_auth(connection_t *conn) {
- char buf[128]; /* only 48 of this is expected to be used */
+ char buf[128]; /* only 56 of this is expected to be used */
char cipher[128];
uint32_t bandwidth;
int retval;
crypto_perror());
return -1;
}
- else if (retval != 48)
+ else if (retval != 56)
{
log(LOG_ERR,"Received an incorrect response from router %s:%u during authentication.",
conn->address,conn->port);
conn->bandwidth = bandwidth;
/* reply is just local addr/port, remote addr/port, nonce */
- memcpy(buf+12, buf+32, 8);
+ memcpy(buf+12, buf+48, 8);
/* encrypt reply */
retval = crypto_pk_public_encrypt(conn->pkey, buf, 20, cipher,RSA_PKCS1_PADDING);