From aad1e0ad3f96786e0fb10d8dd144e5e6ebe93258 Mon Sep 17 00:00:00 2001 From: "Gregory Mullen (grayhatter)" Date: Mon, 22 Aug 2016 14:44:58 -0700 Subject: Make friend requests stateless Messenger is slightly twisty when it comes to sending connection status callbacks It will very likely need at the very least a partial refactor to clean it up a bit. Toxcore shouldn't need void *userdata as deep as is currently does. (amend 1) Because of the nature of toxcore connection callbacks, I decided to change this commit from statelessness for connections changes to statelessness for friend requests. It's simpler this was and doesn't include doing anything foolish in the time between commits. group fixup because grayhatter doesn't want to do it "arguably correct" is not how you write security sensitive code Clear a compiler warning about types within a function. --- toxcore/TCP_connection.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'toxcore/TCP_connection.c') diff --git a/toxcore/TCP_connection.c b/toxcore/TCP_connection.c index 922bf0df..623aeb4f 100644 --- a/toxcore/TCP_connection.c +++ b/toxcore/TCP_connection.c @@ -375,7 +375,8 @@ void set_packet_tcp_connection_callback(TCP_Connections *tcp_c, int (*tcp_data_c /* Set the callback for TCP onion packets. */ void set_oob_packet_tcp_connection_callback(TCP_Connections *tcp_c, int (*tcp_oob_callback)(void *object, - const uint8_t *public_key, unsigned int tcp_connections_number, const uint8_t *data, uint16_t length), void *object) + const uint8_t *public_key, unsigned int tcp_connections_number, const uint8_t *data, uint16_t length, void *userdata), + void *object) { tcp_c->tcp_oob_callback = tcp_oob_callback; tcp_c->tcp_oob_callback_object = object; @@ -985,7 +986,7 @@ static int tcp_oob_callback(void *object, const uint8_t *public_key, const uint8 } if (tcp_c->tcp_oob_callback) { - tcp_c->tcp_oob_callback(tcp_c->tcp_oob_callback_object, public_key, tcp_connections_number, data, length); + tcp_c->tcp_oob_callback(tcp_c->tcp_oob_callback_object, public_key, tcp_connections_number, data, length, userdata); } return 0; -- cgit v1.2.3