#22220: hs: Move cell encoding/decoding out of hs_intropoint.c to hs_cell.c -------------------------------------------------+------------------------- Reporter: dgoulet | Owner: neel Type: enhancement | Status: | assigned Priority: Low | Milestone: Tor: | unspecified Component: Core Tor/Tor | Version: Severity: Normal | Resolution: Keywords: tor-hs, prop224, prop224-extra | Actual Points: refactor code-movement | Parent ID: | Points: 0.1 Reviewer: | Sponsor: | SponsorR-can -------------------------------------------------+-------------------------
Comment (by neel): In `hs_intropoint.c`, I noticed code like: {{{ encoded_len = trn_cell_intro_established_encoded_len(cell); tor_assert(encoded_len > 0); encoded_cell = tor_malloc_zero(encoded_len); result_len = trn_cell_intro_established_encode(encoded_cell, encoded_len, cell); tor_assert(encoded_len == result_len); }}} in `hs_intro_send_intro_established_cell()`, and: {{{ encoded_len = trn_cell_introduce_ack_encoded_len(cell); tor_assert(encoded_len > 0); encoded_cell = tor_malloc_zero(encoded_len); result_len = trn_cell_introduce_ack_encode(encoded_cell, encoded_len, cell); tor_assert(encoded_len == result_len); }}} in `send_introduce_ack_cell()`. Would it be okay if I have a function in `hs_cell.c` which does the encoding, and I pass in the function calls to get the cell length and encoded cells? The functions I am thinking about passing are: * Either `trn_cell_intro_established_encoded_len()` or `trn_cell_introduce_ack_encoded_len()`, and * Either `trn_cell_intro_established_encode()` or `trn_cell_introduce_ack_encode()` And in the new function, I return a `ssize_t` for `encoded_len`, and pass in the functions, the cell itself, and the pointer to `*encoded_cell` to get returned the cell itself. -- Ticket URL: <https://trac.torproject.org/projects/tor/ticket/22220#comment:5> Tor Bug Tracker & Wiki <https://trac.torproject.org/> The Tor Project: anonymity online
_______________________________________________ tor-bugs mailing list tor-bugs@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs