mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 14:23:30 +01:00
Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2
Conflicts: src/or/routerparse.c
This commit is contained in:
commit
66039d9843
@ -2082,7 +2082,8 @@ circuit_extend(cell_t *cell, circuit_t *circ)
|
||||
n_addr32 = ntohl(get_uint32(cell->payload+RELAY_HEADER_SIZE));
|
||||
n_port = ntohs(get_uint16(cell->payload+RELAY_HEADER_SIZE+4));
|
||||
onionskin = (char*) cell->payload+RELAY_HEADER_SIZE+4+2;
|
||||
id_digest = (char*) cell->payload+RELAY_HEADER_SIZE+4+2+ONIONSKIN_CHALLENGE_LEN;
|
||||
id_digest = (char*) cell->payload+RELAY_HEADER_SIZE+4+2+
|
||||
ONIONSKIN_CHALLENGE_LEN;
|
||||
tor_addr_from_ipv4h(&n_addr, n_addr32);
|
||||
|
||||
if (!n_port || !n_addr32) {
|
||||
@ -2237,7 +2238,7 @@ circuit_finish_handshake(origin_circuit_t *circ, uint8_t reply_type,
|
||||
tor_assert(hop->state == CPATH_STATE_AWAITING_KEYS);
|
||||
|
||||
if (reply_type == CELL_CREATED && hop->dh_handshake_state) {
|
||||
if (onion_skin_client_handshake(hop->dh_handshake_state, (char*)reply, keys,
|
||||
if (onion_skin_client_handshake(hop->dh_handshake_state, (char*)reply,keys,
|
||||
DIGEST_LEN*2+CIPHER_KEY_LEN*2) < 0) {
|
||||
log_warn(LD_CIRC,"onion_skin_client_handshake failed.");
|
||||
return -END_CIRC_REASON_TORPROTOCOL;
|
||||
|
@ -600,7 +600,8 @@ command_process_netinfo_cell(cell_t *cell, or_connection_t *conn)
|
||||
/* Consider all the other addresses; if any matches, this connection is
|
||||
* "canonical." */
|
||||
tor_addr_t addr;
|
||||
const uint8_t *next = decode_address_from_payload(&addr, cp, (int)(end-cp));
|
||||
const uint8_t *next =
|
||||
decode_address_from_payload(&addr, cp, (int)(end-cp));
|
||||
if (next == NULL) {
|
||||
log_fn(LOG_PROTOCOL_WARN, LD_OR,
|
||||
"Bad address in netinfo cell; closing connection.");
|
||||
|
@ -392,8 +392,8 @@ fast_server_handshake(const uint8_t *key_in, /* DIGEST_LEN bytes */
|
||||
* and protected by TLS).
|
||||
*/
|
||||
int
|
||||
fast_client_handshake(const uint8_t *handshake_state, /* DIGEST_LEN bytes */
|
||||
const uint8_t *handshake_reply_out, /* DIGEST_LEN*2 bytes */
|
||||
fast_client_handshake(const uint8_t *handshake_state,/*DIGEST_LEN bytes*/
|
||||
const uint8_t *handshake_reply_out,/*DIGEST_LEN*2 bytes*/
|
||||
uint8_t *key_out,
|
||||
size_t key_out_len)
|
||||
{
|
||||
|
@ -69,7 +69,8 @@ rend_mid_establish_intro(or_circuit_t *circ, const uint8_t *request,
|
||||
}
|
||||
/* Rest of body: signature of previous data */
|
||||
note_crypto_pk_op(REND_MID);
|
||||
if (crypto_pk_public_checksig_digest(pk, (char*)request, 2+asn1len+DIGEST_LEN,
|
||||
if (crypto_pk_public_checksig_digest(pk,
|
||||
(char*)request, 2+asn1len+DIGEST_LEN,
|
||||
(char*)(request+2+DIGEST_LEN+asn1len),
|
||||
request_len-(2+DIGEST_LEN+asn1len))<0) {
|
||||
log_warn(LD_PROTOCOL,
|
||||
@ -130,7 +131,8 @@ rend_mid_establish_intro(or_circuit_t *circ, const uint8_t *request,
|
||||
* INTRODUCE2 cell.
|
||||
*/
|
||||
int
|
||||
rend_mid_introduce(or_circuit_t *circ, const uint8_t *request, size_t request_len)
|
||||
rend_mid_introduce(or_circuit_t *circ, const uint8_t *request,
|
||||
size_t request_len)
|
||||
{
|
||||
or_circuit_t *intro_circ;
|
||||
char serviceid[REND_SERVICE_ID_LEN_BASE32+1];
|
||||
|
Loading…
Reference in New Issue
Block a user