commit cddac959e7fb5729956a5250351e0fa1289d719f Author: Nick Mathewson nickm@torproject.org Date: Tue Aug 8 11:54:44 2017 -0400
Replace buf->datalen usage in proto_*.c with buf_datalen() call.
This lets us remove BUFFERS_PRIVATE from two of the modules. --- src/or/proto_cell.c | 5 ++--- src/or/proto_control0.c | 3 +-- src/or/proto_http.c | 4 ++-- src/or/proto_socks.c | 14 +++++++------- 4 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/src/or/proto_cell.c b/src/or/proto_cell.c index 9e5cdff42..4c86b7e4d 100644 --- a/src/or/proto_cell.c +++ b/src/or/proto_cell.c @@ -4,7 +4,6 @@ * Copyright (c) 2007-2017, The Tor Project, Inc. */ /* See LICENSE for licensing information */
-#define BUFFERS_PRIVATE // XXXX remove. #include "or.h" #include "buffers.h" #include "proto_cell.h" @@ -56,7 +55,7 @@ fetch_var_cell_from_buf(buf_t *buf, var_cell_t **out, int linkproto) const int circ_id_len = get_circ_id_size(wide_circ_ids); const unsigned header_len = get_var_cell_header_size(wide_circ_ids); *out = NULL; - if (buf->datalen < header_len) + if (buf_datalen(buf) < header_len) return 0; peek_from_buf(hdr, header_len, buf);
@@ -65,7 +64,7 @@ fetch_var_cell_from_buf(buf_t *buf, var_cell_t **out, int linkproto) return 0;
length = ntohs(get_uint16(hdr + circ_id_len + 1)); - if (buf->datalen < (size_t)(header_len+length)) + if (buf_datalen(buf) < (size_t)(header_len+length)) return 1; result = var_cell_new(length); result->command = command; diff --git a/src/or/proto_control0.c b/src/or/proto_control0.c index 4c505fa6f..5478d07e4 100644 --- a/src/or/proto_control0.c +++ b/src/or/proto_control0.c @@ -4,7 +4,6 @@ * Copyright (c) 2007-2017, The Tor Project, Inc. */ /* See LICENSE for licensing information */
-#define BUFFERS_PRIVATE // XXXX remove. #include "or.h" #include "buffers.h" #include "proto_control0.h" @@ -14,7 +13,7 @@ int peek_buf_has_control0_command(buf_t *buf) { - if (buf->datalen >= 4) { + if (buf_datalen(buf) >= 4) { char header[4]; uint16_t cmd; peek_from_buf(header, sizeof(header), buf); diff --git a/src/or/proto_http.c b/src/or/proto_http.c index 2ba3f93ab..a47644a30 100644 --- a/src/or/proto_http.c +++ b/src/or/proto_http.c @@ -58,7 +58,7 @@ fetch_from_buf_http(buf_t *buf,
crlf_offset = buf_find_string_offset(buf, "\r\n\r\n", 4); if (crlf_offset > (int)max_headerlen || - (crlf_offset < 0 && buf->datalen > max_headerlen)) { + (crlf_offset < 0 && buf_datalen(buf) > max_headerlen)) { log_debug(LD_HTTP,"headers too long."); return -1; } else if (crlf_offset < 0) { @@ -72,7 +72,7 @@ fetch_from_buf_http(buf_t *buf, headerlen = crlf_offset + 4;
headers = buf->head->data; - bodylen = buf->datalen - headerlen; + bodylen = buf_datalen(buf) - headerlen; log_debug(LD_HTTP,"headerlen %d, bodylen %d.", (int)headerlen, (int)bodylen);
if (max_headerlen <= headerlen) { diff --git a/src/or/proto_socks.c b/src/or/proto_socks.c index 20804455c..f1728bde3 100644 --- a/src/or/proto_socks.c +++ b/src/or/proto_socks.c @@ -116,7 +116,7 @@ fetch_from_buf_socks(buf_t *buf, socks_request_t *req, ssize_t n_drain; size_t want_length = 128;
- if (buf->datalen < 2) /* version and another byte */ + if (buf_datalen(buf) < 2) /* version and another byte */ return 0;
do { @@ -133,8 +133,8 @@ fetch_from_buf_socks(buf_t *buf, socks_request_t *req, else if (n_drain > 0) buf_remove_from_front(buf, n_drain);
- } while (res == 0 && buf->head && want_length < buf->datalen && - buf->datalen >= 2); + } while (res == 0 && buf->head && want_length < buf_datalen(buf) && + buf_datalen(buf) >= 2);
return res; } @@ -154,11 +154,11 @@ fetch_ext_or_command_from_buf(buf_t *buf, ext_or_cmd_t **out) char hdr[EXT_OR_CMD_HEADER_SIZE]; uint16_t len;
- if (buf->datalen < EXT_OR_CMD_HEADER_SIZE) + if (buf_datalen(buf) < EXT_OR_CMD_HEADER_SIZE) return 0; peek_from_buf(hdr, sizeof(hdr), buf); len = ntohs(get_uint16(hdr+2)); - if (buf->datalen < (unsigned)len + EXT_OR_CMD_HEADER_SIZE) + if (buf_datalen(buf) < (unsigned)len + EXT_OR_CMD_HEADER_SIZE) return 0; *out = ext_or_cmd_new(len); (*out)->cmd = ntohs(get_uint16(hdr)); @@ -526,7 +526,7 @@ parse_socks(const char *data, size_t datalen, socks_request_t *req, log_warn(LD_APP,"socks4: Destaddr too long. Rejecting."); return -1; } - // tor_assert(next < buf->cur+buf->datalen); + // tor_assert(next < buf->cur+buf_datalen(buf));
if (log_sockstype) log_notice(LD_APP, @@ -591,7 +591,7 @@ fetch_from_buf_socks_client(buf_t *buf, int state, char **reason) { ssize_t drain = 0; int r; - if (buf->datalen < 2) + if (buf_datalen(buf) < 2) return 0;
buf_pullup(buf, MAX_SOCKS_MESSAGE_LEN);
tor-commits@lists.torproject.org