mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
Merge branch 'tor-github/pr/867' into maint-0.4.0
This commit is contained in:
commit
42aae0e693
4
changes/ticket28816
Normal file
4
changes/ticket28816
Normal file
@ -0,0 +1,4 @@
|
||||
o Code simplification and refactoring:
|
||||
- Introduce a connection_dir_buf_add() helper function that checks for
|
||||
compress_state of dir_connection_t and automatically writes a string to
|
||||
directory connection with or without compression. Resolves issue 28816.
|
3
changes/ticket29897
Normal file
3
changes/ticket29897
Normal file
@ -0,0 +1,3 @@
|
||||
o Code simplification and refactoring:
|
||||
- Refactor handle_get_next_bandwidth() to use connection_dir_buf_add().
|
||||
Implements ticket 29897.
|
@ -4341,6 +4341,23 @@ connection_write_to_buf_impl_,(const char *string, size_t len,
|
||||
connection_write_to_buf_commit(conn, written);
|
||||
}
|
||||
|
||||
/**
|
||||
* Write a <b>string</b> (of size <b>len</b> to directory connection
|
||||
* <b>dir_conn</b>. Apply compression if connection is configured to use
|
||||
* it and finalize it if <b>done</b> is true.
|
||||
*/
|
||||
void
|
||||
connection_dir_buf_add(const char *string, size_t len,
|
||||
dir_connection_t *dir_conn, int done)
|
||||
{
|
||||
if (dir_conn->compress_state != NULL) {
|
||||
connection_buf_add_compress(string, len, dir_conn, done);
|
||||
return;
|
||||
}
|
||||
|
||||
connection_buf_add(string, len, TO_CONN(dir_conn));
|
||||
}
|
||||
|
||||
void
|
||||
connection_buf_add_compress(const char *string, size_t len,
|
||||
dir_connection_t *conn, int done)
|
||||
|
@ -226,6 +226,8 @@ MOCK_DECL(void, connection_write_to_buf_impl_,
|
||||
/* DOCDOC connection_write_to_buf */
|
||||
static void connection_buf_add(const char *string, size_t len,
|
||||
connection_t *conn);
|
||||
void connection_dir_buf_add(const char *string, size_t len,
|
||||
dir_connection_t *dir_conn, int done);
|
||||
static inline void
|
||||
connection_buf_add(const char *string, size_t len, connection_t *conn)
|
||||
{
|
||||
|
@ -1486,13 +1486,10 @@ handle_get_next_bandwidth(dir_connection_t *conn,
|
||||
conn->compress_state = tor_compress_new(1, compress_method,
|
||||
choose_compression_level(len/2));
|
||||
log_debug(LD_DIR, "Compressing bandwidth file.");
|
||||
connection_buf_add_compress(bandwidth, len, conn, 0);
|
||||
/* Flush the compression state. */
|
||||
connection_buf_add_compress("", 0, conn, 1);
|
||||
} else {
|
||||
log_debug(LD_DIR, "Not compressing bandwidth file.");
|
||||
connection_buf_add(bandwidth, len, TO_CONN(conn));
|
||||
}
|
||||
connection_dir_buf_add((const char*)bandwidth, len, conn, 1);
|
||||
tor_free(bandwidth);
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user