diff options
Diffstat (limited to 'toxcore/onion_client.c')
-rw-r--r-- | toxcore/onion_client.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/toxcore/onion_client.c b/toxcore/onion_client.c index f8d7630b..a9eb16a0 100644 --- a/toxcore/onion_client.c +++ b/toxcore/onion_client.c | |||
@@ -140,8 +140,15 @@ static uint16_t random_nodes_path_onion(const Onion_Client *onion_c, Node_format | |||
140 | nodes[i] = onion_c->path_nodes[rand() % num_nodes]; | 140 | nodes[i] = onion_c->path_nodes[rand() % num_nodes]; |
141 | } | 141 | } |
142 | } else { | 142 | } else { |
143 | int random_tcp = get_random_tcp_con_number(onion_c->c); | ||
144 | |||
145 | if (random_tcp == -1) { | ||
146 | return 0; | ||
147 | } | ||
148 | |||
143 | if (num_nodes >= 2) { | 149 | if (num_nodes >= 2) { |
144 | nodes[0].ip_port.ip.family = TCP_FAMILY; | 150 | nodes[0].ip_port.ip.family = TCP_FAMILY; |
151 | nodes[0].ip_port.ip.ip4.uint32 = random_tcp; | ||
145 | 152 | ||
146 | for (i = 1; i < max_num; ++i) { | 153 | for (i = 1; i < max_num; ++i) { |
147 | nodes[i] = onion_c->path_nodes[rand() % num_nodes]; | 154 | nodes[i] = onion_c->path_nodes[rand() % num_nodes]; |
@@ -154,6 +161,7 @@ static uint16_t random_nodes_path_onion(const Onion_Client *onion_c, Node_format | |||
154 | return 0; | 161 | return 0; |
155 | 162 | ||
156 | nodes[0].ip_port.ip.family = TCP_FAMILY; | 163 | nodes[0].ip_port.ip.family = TCP_FAMILY; |
164 | nodes[0].ip_port.ip.ip4.uint32 = random_tcp; | ||
157 | 165 | ||
158 | for (i = 1; i < max_num; ++i) { | 166 | for (i = 1; i < max_num; ++i) { |
159 | nodes[i] = onion_c->path_nodes_bs[rand() % num_nodes_bs]; | 167 | nodes[i] = onion_c->path_nodes_bs[rand() % num_nodes_bs]; |
@@ -301,7 +309,7 @@ static int send_onion_packet_tcp_udp(const Onion_Client *onion_c, const Onion_Pa | |||
301 | if (len == -1) | 309 | if (len == -1) |
302 | return -1; | 310 | return -1; |
303 | 311 | ||
304 | return send_tcp_onion_request(onion_c->c, packet, len); | 312 | return send_tcp_onion_request(onion_c->c, path->ip_port1.ip.ip4.uint32, packet, len); |
305 | } else { | 313 | } else { |
306 | return -1; | 314 | return -1; |
307 | } | 315 | } |