Fix client_process_auth

svn:r202
This commit is contained in:
Nick Mathewson
2003-03-19 21:34:38 +00:00
parent ad83f5b97c
commit 72d720fa96
+4 -4
View File
@@ -375,7 +375,7 @@ connection_t *connection_or_connect_as_or(routerinfo_t *router) {
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 */
@@ -439,7 +439,7 @@ int or_handshake_client_send_auth(connection_t *conn) {
}
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;
@@ -468,7 +468,7 @@ int or_handshake_client_process_auth(connection_t *conn) {
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);
@@ -496,7 +496,7 @@ int or_handshake_client_process_auth(connection_t *conn) {
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);