}
#endif
-/** Encode the first <b>fromlen</b> bytes stored at <b>from</b> in hexidecimal;
- * write the result as a NUL-terminated string to <b>to</b>. <b>to</b> must
- * have at least (2*fromlen)+1 bytes of free space.
- */
-void hex_encode(const char *from, int fromlen, char *to)
-{
- const unsigned char *fp = from;
- static const char TABLE[] = "0123456789abcdef";
- tor_assert(from && fromlen>=0 && to);
- while (fromlen--) {
- *to++ = TABLE[*fp >> 4];
- *to++ = TABLE[*fp & 7];
- ++fp;
- }
- *to = '\0';
-}
/** Return a pointer to a NUL-terminated hexidecimal string encoding
* the first <b>fromlen</b> bytes of <b>from</b>. (fromlen must be \<= 32.) The
static char buf[65];
if (fromlen>(sizeof(buf)-1)/2)
fromlen = (sizeof(buf)-1)/2;
- hex_encode(from,fromlen,buf);
+ base16_encode(buf,64,from,fromlen);
return buf;
}
#endif
#endif
-void hex_encode(const char *from, int fromlen, char *to);
const char *hex_str(const char *from, int fromlen);
/** Generic resizeable array. */
memcpy(circ->rend_cookie, request, REND_COOKIE_LEN);
- hex_encode(request,4,hexid);
+ base16_encode(hexid,9,request,4);
log_fn(LOG_INFO, "Established rendezvous point on circuit %d for cookie %s",
circ->p_circ_id, hexid);
char hexid[9];
if (request_len>=4) {
- hex_encode(request,4,hexid);
+ base16_encode(hexid,9,request,4);
log_fn(LOG_INFO, "Got request for rendezvous from circuit %d to cookie %s",
circ->p_circ_id, hexid);
}
return -1;
}
r_cookie = ptr;
- hex_encode(r_cookie,4,hexcookie);
+ base16_encode(hexcookie,9,r_cookie,4);
/* Try DH handshake... */
dh = crypto_dh_new();
hop = circuit->build_state->pending_final_cpath;
tor_assert(hop);
- hex_encode(circuit->rend_cookie, 4, hexcookie);
+ base16_encode(hexcookie,9,circuit->rend_cookie,4);
base32_encode(serviceid, REND_SERVICE_ID_LEN+1,
circuit->rend_pk_digest,10);