Commit 93e76276 authored by Roger Dingledine's avatar Roger Dingledine
Browse files

a stopgap measure while we wait for proposal 111: apply the

stricter rate limiting to all OR conns except those that have
been touched by local circuits.


svn:r9882
parent b4f74356
...@@ -1119,10 +1119,8 @@ static int write_buckets_empty_last_second = 0; ...@@ -1119,10 +1119,8 @@ static int write_buckets_empty_last_second = 0;
static int static int
connection_counts_as_relayed_traffic(connection_t *conn) connection_counts_as_relayed_traffic(connection_t *conn)
{ {
#if 0 if (conn->type == CONN_TYPE_OR && !TO_OR_CONN(conn)->client_used)
if (conn->type == CONN_TYPE_OR && TO_OR_CONN(conn)->bandwidth_class)
return 1; return 1;
#endif
if (conn->type == CONN_TYPE_DIR && DIR_CONN_IS_SERVER(conn)) if (conn->type == CONN_TYPE_DIR && DIR_CONN_IS_SERVER(conn))
return 1; return 1;
return 0; return 0;
......
...@@ -1792,6 +1792,11 @@ connection_ap_handshake_send_begin(edge_connection_t *ap_conn, ...@@ -1792,6 +1792,11 @@ connection_ap_handshake_send_begin(edge_connection_t *ap_conn,
log_info(LD_APP,"Address/port sent, ap socket %d, n_circ_id %d", log_info(LD_APP,"Address/port sent, ap socket %d, n_circ_id %d",
ap_conn->_base.s, circ->_base.n_circ_id); ap_conn->_base.s, circ->_base.n_circ_id);
control_event_stream_status(ap_conn, STREAM_EVENT_SENT_CONNECT, 0); control_event_stream_status(ap_conn, STREAM_EVENT_SENT_CONNECT, 0);
if ((TO_CIRCUIT(circ))->n_conn) {
/* mark it so it gets better rate limiting treatment. */
(TO_CIRCUIT(circ))->n_conn->client_used = 1;
}
return 0; return 0;
} }
......
...@@ -790,8 +790,11 @@ typedef struct or_connection_t { ...@@ -790,8 +790,11 @@ typedef struct or_connection_t {
char identity_digest[DIGEST_LEN]; char identity_digest[DIGEST_LEN];
char *nickname; /**< Nickname of OR on other side (if any). */ char *nickname; /**< Nickname of OR on other side (if any). */
tor_tls_t *tls; /**< TLS connection state */ tor_tls_t *tls; /**< TLS connection state. */
int tls_error; /**< Last tor_tls error code */ int tls_error; /**< Last tor_tls error code. */
/** Whether we are using this conn for any client traffic. If we're
* not, we can rate limit it further. */
uint8_t client_used:1;
time_t timestamp_lastempty; /**< When was the outbuf last completely empty?*/ time_t timestamp_lastempty; /**< When was the outbuf last completely empty?*/
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment