Loading src/or/dirserv.c +10 −4 Original line number Original line Diff line number Diff line Loading @@ -3296,8 +3296,6 @@ connection_dirserv_add_servers_to_outbuf(dir_connection_t *conn) } } body = signed_descriptor_get_body(sd); body = signed_descriptor_get_body(sd); if (conn->zlib_state) { if (conn->zlib_state) { /* XXXX024 This 'last' business should actually happen on the last * routerinfo, not on the last fingerprint. */ int last = ! smartlist_len(conn->fingerprint_stack); int last = ! smartlist_len(conn->fingerprint_stack); connection_write_to_buf_zlib(body, sd->signed_descriptor_len, conn, connection_write_to_buf_zlib(body, sd->signed_descriptor_len, conn, last); last); Loading @@ -3314,6 +3312,11 @@ connection_dirserv_add_servers_to_outbuf(dir_connection_t *conn) if (!smartlist_len(conn->fingerprint_stack)) { if (!smartlist_len(conn->fingerprint_stack)) { /* We just wrote the last one; finish up. */ /* We just wrote the last one; finish up. */ if (conn->zlib_state) { connection_write_to_buf_zlib("", 0, conn, 1); tor_zlib_free(conn->zlib_state); conn->zlib_state = NULL; } conn->dir_spool_src = DIR_SPOOL_NONE; conn->dir_spool_src = DIR_SPOOL_NONE; smartlist_free(conn->fingerprint_stack); smartlist_free(conn->fingerprint_stack); conn->fingerprint_stack = NULL; conn->fingerprint_stack = NULL; Loading @@ -3339,8 +3342,6 @@ connection_dirserv_add_microdescs_to_outbuf(dir_connection_t *conn) if (!md || !md->body) if (!md || !md->body) continue; continue; if (conn->zlib_state) { if (conn->zlib_state) { /* XXXX024 This 'last' business should actually happen on the last * routerinfo, not on the last fingerprint. */ int last = !smartlist_len(conn->fingerprint_stack); int last = !smartlist_len(conn->fingerprint_stack); connection_write_to_buf_zlib(md->body, md->bodylen, conn, last); connection_write_to_buf_zlib(md->body, md->bodylen, conn, last); if (last) { if (last) { Loading @@ -3352,6 +3353,11 @@ connection_dirserv_add_microdescs_to_outbuf(dir_connection_t *conn) } } } } if (!smartlist_len(conn->fingerprint_stack)) { if (!smartlist_len(conn->fingerprint_stack)) { if (conn->zlib_state) { connection_write_to_buf_zlib("", 0, conn, 1); tor_zlib_free(conn->zlib_state); conn->zlib_state = NULL; } conn->dir_spool_src = DIR_SPOOL_NONE; conn->dir_spool_src = DIR_SPOOL_NONE; smartlist_free(conn->fingerprint_stack); smartlist_free(conn->fingerprint_stack); conn->fingerprint_stack = NULL; conn->fingerprint_stack = NULL; Loading Loading
src/or/dirserv.c +10 −4 Original line number Original line Diff line number Diff line Loading @@ -3296,8 +3296,6 @@ connection_dirserv_add_servers_to_outbuf(dir_connection_t *conn) } } body = signed_descriptor_get_body(sd); body = signed_descriptor_get_body(sd); if (conn->zlib_state) { if (conn->zlib_state) { /* XXXX024 This 'last' business should actually happen on the last * routerinfo, not on the last fingerprint. */ int last = ! smartlist_len(conn->fingerprint_stack); int last = ! smartlist_len(conn->fingerprint_stack); connection_write_to_buf_zlib(body, sd->signed_descriptor_len, conn, connection_write_to_buf_zlib(body, sd->signed_descriptor_len, conn, last); last); Loading @@ -3314,6 +3312,11 @@ connection_dirserv_add_servers_to_outbuf(dir_connection_t *conn) if (!smartlist_len(conn->fingerprint_stack)) { if (!smartlist_len(conn->fingerprint_stack)) { /* We just wrote the last one; finish up. */ /* We just wrote the last one; finish up. */ if (conn->zlib_state) { connection_write_to_buf_zlib("", 0, conn, 1); tor_zlib_free(conn->zlib_state); conn->zlib_state = NULL; } conn->dir_spool_src = DIR_SPOOL_NONE; conn->dir_spool_src = DIR_SPOOL_NONE; smartlist_free(conn->fingerprint_stack); smartlist_free(conn->fingerprint_stack); conn->fingerprint_stack = NULL; conn->fingerprint_stack = NULL; Loading @@ -3339,8 +3342,6 @@ connection_dirserv_add_microdescs_to_outbuf(dir_connection_t *conn) if (!md || !md->body) if (!md || !md->body) continue; continue; if (conn->zlib_state) { if (conn->zlib_state) { /* XXXX024 This 'last' business should actually happen on the last * routerinfo, not on the last fingerprint. */ int last = !smartlist_len(conn->fingerprint_stack); int last = !smartlist_len(conn->fingerprint_stack); connection_write_to_buf_zlib(md->body, md->bodylen, conn, last); connection_write_to_buf_zlib(md->body, md->bodylen, conn, last); if (last) { if (last) { Loading @@ -3352,6 +3353,11 @@ connection_dirserv_add_microdescs_to_outbuf(dir_connection_t *conn) } } } } if (!smartlist_len(conn->fingerprint_stack)) { if (!smartlist_len(conn->fingerprint_stack)) { if (conn->zlib_state) { connection_write_to_buf_zlib("", 0, conn, 1); tor_zlib_free(conn->zlib_state); conn->zlib_state = NULL; } conn->dir_spool_src = DIR_SPOOL_NONE; conn->dir_spool_src = DIR_SPOOL_NONE; smartlist_free(conn->fingerprint_stack); smartlist_free(conn->fingerprint_stack); conn->fingerprint_stack = NULL; conn->fingerprint_stack = NULL; Loading