Commit 6263028e authored by Youness Alaoui's avatar Youness Alaoui Committed by Olivier Crête

Rename turn files and API to be UDP specific

The TURN-TCP RFC is very different from TURN-UDP, the current turn and tcp-turn
files were only for UDP TURN RFC and UDP TURN using TCP transport.
When we implement TCP-TURN, we'll need a different algorithm, so I
renamed the files and API to avoid any confusion.
parent b59c4bb5
...@@ -1645,8 +1645,8 @@ void agent_signal_new_selected_pair (NiceAgent *agent, guint stream_id, ...@@ -1645,8 +1645,8 @@ void agent_signal_new_selected_pair (NiceAgent *agent, guint stream_id,
&stream, &component)) &stream, &component))
return; return;
if (component->selected_pair.local->type == NICE_CANDIDATE_TYPE_RELAYED) { if (((NiceSocket *)lcandidate->sockptr)->type == NICE_SOCKET_TYPE_UDP_TURN) {
nice_turn_socket_set_peer (lcandidate->sockptr, &rcandidate->addr); nice_udp_turn_socket_set_peer (lcandidate->sockptr, &rcandidate->addr);
} }
if(agent->reliable) { if(agent->reliable) {
...@@ -1841,7 +1841,7 @@ priv_add_new_candidate_discovery_turn (NiceAgent *agent, ...@@ -1841,7 +1841,7 @@ priv_add_new_candidate_discovery_turn (NiceAgent *agent,
nicesock = nice_pseudossl_socket_new (nicesock, nicesock = nice_pseudossl_socket_new (nicesock,
NICE_PSEUDOSSL_SOCKET_COMPATIBILITY_MSOC); NICE_PSEUDOSSL_SOCKET_COMPATIBILITY_MSOC);
} }
cdisco->nicesock = nice_tcp_turn_socket_new (nicesock, cdisco->nicesock = nice_udp_turn_over_tcp_socket_new (nicesock,
agent_to_turn_socket_compatibility (agent)); agent_to_turn_socket_compatibility (agent));
component_attach_socket (component, cdisco->nicesock); component_attach_socket (component, cdisco->nicesock);
...@@ -2779,7 +2779,7 @@ agent_recv_message_unlocked ( ...@@ -2779,7 +2779,7 @@ agent_recv_message_unlocked (
if (cand->type == NICE_CANDIDATE_TYPE_RELAYED && if (cand->type == NICE_CANDIDATE_TYPE_RELAYED &&
cand->stream_id == stream->id && cand->stream_id == stream->id &&
cand->component_id == component->id) { cand->component_id == component->id) {
retval = nice_turn_socket_parse_recv_message (cand->sockptr, &nicesock, retval = nice_udp_turn_socket_parse_recv_message (cand->sockptr, &nicesock,
message); message);
break; break;
} }
......
...@@ -2518,8 +2518,10 @@ static gboolean priv_map_reply_to_relay_request (NiceAgent *agent, StunMessage * ...@@ -2518,8 +2518,10 @@ static gboolean priv_map_reply_to_relay_request (NiceAgent *agent, StunMessage *
d->turn); d->turn);
if (relay_cand) { if (relay_cand) {
nice_turn_socket_set_ms_realm(relay_cand->sockptr, &d->stun_message); nice_udp_turn_socket_set_ms_realm(relay_cand->sockptr,
nice_turn_socket_set_ms_connection_id(relay_cand->sockptr, resp); &d->stun_message);
nice_udp_turn_socket_set_ms_connection_id(relay_cand->sockptr,
resp);
} }
relay_cand = discovery_add_relay_candidate ( relay_cand = discovery_add_relay_candidate (
...@@ -2550,8 +2552,10 @@ static gboolean priv_map_reply_to_relay_request (NiceAgent *agent, StunMessage * ...@@ -2550,8 +2552,10 @@ static gboolean priv_map_reply_to_relay_request (NiceAgent *agent, StunMessage *
* response arrives to _nice_agent_recv(). We must set them right * response arrives to _nice_agent_recv(). We must set them right
* after socket gets created in discovery_add_relay_candidate(), * after socket gets created in discovery_add_relay_candidate(),
* so we are doing it here. */ * so we are doing it here. */
nice_turn_socket_set_ms_realm(relay_cand->sockptr, &d->stun_message); nice_udp_turn_socket_set_ms_realm(relay_cand->sockptr,
nice_turn_socket_set_ms_connection_id(relay_cand->sockptr, resp); &d->stun_message);
nice_udp_turn_socket_set_ms_connection_id(relay_cand->sockptr,
resp);
} else } else
priv_add_new_turn_refresh (d, relay_cand, lifetime); priv_add_new_turn_refresh (d, relay_cand, lifetime);
} }
......
...@@ -624,7 +624,7 @@ discovery_add_relay_candidate ( ...@@ -624,7 +624,7 @@ discovery_add_relay_candidate (
} }
/* step: link to the base candidate+socket */ /* step: link to the base candidate+socket */
relay_socket = nice_turn_socket_new (agent->main_context, address, relay_socket = nice_udp_turn_socket_new (agent->main_context, address,
base_socket, &turn->server, base_socket, &turn->server,
turn->username, turn->password, turn->username, turn->password,
agent_to_turn_socket_compatibility (agent)); agent_to_turn_socket_compatibility (agent));
...@@ -779,7 +779,7 @@ NiceCandidate *discovery_learn_remote_peer_reflexive_candidate ( ...@@ -779,7 +779,7 @@ NiceCandidate *discovery_learn_remote_peer_reflexive_candidate (
candidate->transport = conn_check_match_transport (local->transport); candidate->transport = conn_check_match_transport (local->transport);
else { else {
if (nicesock->type == NICE_SOCKET_TYPE_UDP_BSD || if (nicesock->type == NICE_SOCKET_TYPE_UDP_BSD ||
nicesock->type == NICE_SOCKET_TYPE_TURN) nicesock->type == NICE_SOCKET_TYPE_UDP_TURN)
candidate->transport = NICE_CANDIDATE_TRANSPORT_UDP; candidate->transport = NICE_CANDIDATE_TRANSPORT_UDP;
else else
candidate->transport = NICE_CANDIDATE_TRANSPORT_TCP_ACTIVE; candidate->transport = NICE_CANDIDATE_TRANSPORT_TCP_ACTIVE;
......
...@@ -32,9 +32,9 @@ libsocket_la_SOURCES = \ ...@@ -32,9 +32,9 @@ libsocket_la_SOURCES = \
socks5.c \ socks5.c \
http.h \ http.h \
http.c \ http.c \
turn.h \ udp-turn.h \
turn.c \ udp-turn.c \
tcp-turn.h \ udp-turn-over-tcp.h \
tcp-turn.c udp-turn-over-tcp.c
...@@ -61,8 +61,8 @@ typedef enum { ...@@ -61,8 +61,8 @@ typedef enum {
NICE_SOCKET_TYPE_PSEUDOSSL, NICE_SOCKET_TYPE_PSEUDOSSL,
NICE_SOCKET_TYPE_HTTP, NICE_SOCKET_TYPE_HTTP,
NICE_SOCKET_TYPE_SOCKS5, NICE_SOCKET_TYPE_SOCKS5,
NICE_SOCKET_TYPE_TURN, NICE_SOCKET_TYPE_UDP_TURN,
NICE_SOCKET_TYPE_TCP_TURN, NICE_SOCKET_TYPE_UDP_TURN_OVER_TCP,
NICE_SOCKET_TYPE_TCP_ACTIVE, NICE_SOCKET_TYPE_TCP_ACTIVE,
NICE_SOCKET_TYPE_TCP_PASSIVE, NICE_SOCKET_TYPE_TCP_PASSIVE,
NICE_SOCKET_TYPE_TCP_SO NICE_SOCKET_TYPE_TCP_SO
...@@ -117,8 +117,8 @@ nice_socket_free (NiceSocket *sock); ...@@ -117,8 +117,8 @@ nice_socket_free (NiceSocket *sock);
#include "pseudossl.h" #include "pseudossl.h"
#include "socks5.h" #include "socks5.h"
#include "http.h" #include "http.h"
#include "turn.h" #include "udp-turn.h"
#include "tcp-turn.h" #include "udp-turn-over-tcp.h"
G_END_DECLS G_END_DECLS
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
# include "config.h" # include "config.h"
#endif #endif
#include "tcp-turn.h" #include "udp-turn-over-tcp.h"
#include "agent-priv.h" #include "agent-priv.h"
#include <string.h> #include <string.h>
...@@ -84,7 +84,7 @@ static gint socket_send_messages_reliable (NiceSocket *sock, ...@@ -84,7 +84,7 @@ static gint socket_send_messages_reliable (NiceSocket *sock,
static gboolean socket_is_reliable (NiceSocket *sock); static gboolean socket_is_reliable (NiceSocket *sock);
NiceSocket * NiceSocket *
nice_tcp_turn_socket_new (NiceSocket *base_socket, nice_udp_turn_over_tcp_socket_new (NiceSocket *base_socket,
NiceTurnSocketCompatibility compatibility) NiceTurnSocketCompatibility compatibility)
{ {
TurnTcpPriv *priv; TurnTcpPriv *priv;
...@@ -94,7 +94,7 @@ nice_tcp_turn_socket_new (NiceSocket *base_socket, ...@@ -94,7 +94,7 @@ nice_tcp_turn_socket_new (NiceSocket *base_socket,
priv->compatibility = compatibility; priv->compatibility = compatibility;
priv->base_socket = base_socket; priv->base_socket = base_socket;
sock->type = NICE_SOCKET_TYPE_TCP_TURN; sock->type = NICE_SOCKET_TYPE_UDP_TURN_OVER_TCP;
sock->fileno = priv->base_socket->fileno; sock->fileno = priv->base_socket->fileno;
sock->addr = priv->base_socket->addr; sock->addr = priv->base_socket->addr;
sock->send_messages = socket_send_messages; sock->send_messages = socket_send_messages;
......
...@@ -34,8 +34,8 @@ ...@@ -34,8 +34,8 @@
* file under either the MPL or the LGPL. * file under either the MPL or the LGPL.
*/ */
#ifndef _TCP_TURN_H #ifndef _UDP_TURN_OVER_TCP_H
#define _TCP_TURN_H #define _UDP_TURN_OVER_TCP_H
#include "socket.h" #include "socket.h"
#include "agent.h" #include "agent.h"
...@@ -44,11 +44,11 @@ G_BEGIN_DECLS ...@@ -44,11 +44,11 @@ G_BEGIN_DECLS
NiceSocket * NiceSocket *
nice_tcp_turn_socket_new (NiceSocket *base_socket, nice_udp_turn_over_tcp_socket_new (NiceSocket *base_socket,
NiceTurnSocketCompatibility compatibility); NiceTurnSocketCompatibility compatibility);
G_END_DECLS G_END_DECLS
#endif /* _TCP_TURN_H */ #endif /* _UDP_TURN_OVER_TCP_H */
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
#include <fcntl.h> #include <fcntl.h>
#include <stdlib.h> #include <stdlib.h>
#include "turn.h" #include "udp-turn.h"
#include "stun/stunagent.h" #include "stun/stunagent.h"
#include "stun/usages/timer.h" #include "stun/usages/timer.h"
#include "agent-priv.h" #include "agent-priv.h"
...@@ -98,13 +98,13 @@ typedef struct { ...@@ -98,13 +98,13 @@ typedef struct {
GHashTable *send_data_queues; /* stores a send data queue for per peer */ GHashTable *send_data_queues; /* stores a send data queue for per peer */
GSource *permission_timeout_source; /* timer used to invalidate GSource *permission_timeout_source; /* timer used to invalidate
permissions */ permissions */
} TurnPriv; } UdpTurnPriv;
typedef struct { typedef struct {
StunTransactionId id; StunTransactionId id;
GSource *source; GSource *source;
TurnPriv *priv; UdpTurnPriv *priv;
} SendRequest; } SendRequest;
/* used to store data sent while obtaining a permission */ /* used to store data sent while obtaining a permission */
...@@ -123,20 +123,20 @@ static gint socket_send_messages_reliable (NiceSocket *sock, ...@@ -123,20 +123,20 @@ static gint socket_send_messages_reliable (NiceSocket *sock,
const NiceAddress *to, const NiceOutputMessage *messages, guint n_messages); const NiceAddress *to, const NiceOutputMessage *messages, guint n_messages);
static gboolean socket_is_reliable (NiceSocket *sock); static gboolean socket_is_reliable (NiceSocket *sock);
static void priv_process_pending_bindings (TurnPriv *priv); static void priv_process_pending_bindings (UdpTurnPriv *priv);
static gboolean priv_retransmissions_tick_unlocked (TurnPriv *priv); static gboolean priv_retransmissions_tick_unlocked (UdpTurnPriv *priv);
static gboolean priv_retransmissions_tick (gpointer pointer); static gboolean priv_retransmissions_tick (gpointer pointer);
static void priv_schedule_tick (TurnPriv *priv); static void priv_schedule_tick (UdpTurnPriv *priv);
static void priv_send_turn_message (TurnPriv *priv, TURNMessage *msg); static void priv_send_turn_message (UdpTurnPriv *priv, TURNMessage *msg);
static gboolean priv_send_create_permission (TurnPriv *priv, StunMessage *resp, static gboolean priv_send_create_permission (UdpTurnPriv *priv, StunMessage *resp,
const NiceAddress *peer); const NiceAddress *peer);
static gboolean priv_send_channel_bind (TurnPriv *priv, StunMessage *resp, static gboolean priv_send_channel_bind (UdpTurnPriv *priv, StunMessage *resp,
uint16_t channel, uint16_t channel,
const NiceAddress *peer); const NiceAddress *peer);
static gboolean priv_add_channel_binding (TurnPriv *priv, static gboolean priv_add_channel_binding (UdpTurnPriv *priv,
const NiceAddress *peer); const NiceAddress *peer);
static gboolean priv_forget_send_request (gpointer pointer); static gboolean priv_forget_send_request (gpointer pointer);
static void priv_clear_permissions (TurnPriv *priv); static void priv_clear_permissions (UdpTurnPriv *priv);
static guint static guint
priv_nice_address_hash (gconstpointer data) priv_nice_address_hash (gconstpointer data)
...@@ -164,19 +164,19 @@ priv_send_data_queue_destroy (gpointer user_data) ...@@ -164,19 +164,19 @@ priv_send_data_queue_destroy (gpointer user_data)
} }
NiceSocket * NiceSocket *
nice_turn_socket_new (GMainContext *ctx, NiceAddress *addr, nice_udp_turn_socket_new (GMainContext *ctx, NiceAddress *addr,
NiceSocket *base_socket, NiceAddress *server_addr, NiceSocket *base_socket, NiceAddress *server_addr,
gchar *username, gchar *password, gchar *username, gchar *password,
NiceTurnSocketCompatibility compatibility) NiceTurnSocketCompatibility compatibility)
{ {
TurnPriv *priv; UdpTurnPriv *priv;
NiceSocket *sock = g_slice_new0 (NiceSocket); NiceSocket *sock = g_slice_new0 (NiceSocket);
if (!sock) { if (!sock) {
return NULL; return NULL;
} }
priv = g_new0 (TurnPriv, 1); priv = g_new0 (UdpTurnPriv, 1);
if (compatibility == NICE_TURN_SOCKET_COMPATIBILITY_DRAFT9 || if (compatibility == NICE_TURN_SOCKET_COMPATIBILITY_DRAFT9 ||
compatibility == NICE_TURN_SOCKET_COMPATIBILITY_RFC5766) { compatibility == NICE_TURN_SOCKET_COMPATIBILITY_RFC5766) {
...@@ -231,7 +231,7 @@ nice_turn_socket_new (GMainContext *ctx, NiceAddress *addr, ...@@ -231,7 +231,7 @@ nice_turn_socket_new (GMainContext *ctx, NiceAddress *addr,
(GDestroyNotify) nice_address_free, (GDestroyNotify) nice_address_free,
priv_send_data_queue_destroy); priv_send_data_queue_destroy);
sock->type = NICE_SOCKET_TYPE_TURN; sock->type = NICE_SOCKET_TYPE_UDP_TURN;
sock->fileno = base_socket->fileno; sock->fileno = base_socket->fileno;
sock->addr = *addr; sock->addr = *addr;
sock->send_messages = socket_send_messages; sock->send_messages = socket_send_messages;
...@@ -249,7 +249,7 @@ nice_turn_socket_new (GMainContext *ctx, NiceAddress *addr, ...@@ -249,7 +249,7 @@ nice_turn_socket_new (GMainContext *ctx, NiceAddress *addr,
static void static void
socket_close (NiceSocket *sock) socket_close (NiceSocket *sock)
{ {
TurnPriv *priv = (TurnPriv *) sock->priv; UdpTurnPriv *priv = (UdpTurnPriv *) sock->priv;
GList *i = NULL; GList *i = NULL;
for (i = priv->channels; i; i = i->next) { for (i = priv->channels; i; i = i->next) {
...@@ -319,7 +319,7 @@ static gint ...@@ -319,7 +319,7 @@ static gint
socket_recv_messages (NiceSocket *sock, socket_recv_messages (NiceSocket *sock,
NiceInputMessage *recv_messages, guint n_recv_messages) NiceInputMessage *recv_messages, guint n_recv_messages)
{ {
TurnPriv *priv = (TurnPriv *) sock->priv; UdpTurnPriv *priv = (UdpTurnPriv *) sock->priv;
gint n_messages; gint n_messages;
guint i; guint i;
gboolean error = FALSE; gboolean error = FALSE;
...@@ -370,7 +370,7 @@ socket_recv_messages (NiceSocket *sock, ...@@ -370,7 +370,7 @@ socket_recv_messages (NiceSocket *sock,
} }
/* Parse in-place. */ /* Parse in-place. */
parsed_buffer_length = nice_turn_socket_parse_recv (sock, &dummy, parsed_buffer_length = nice_udp_turn_socket_parse_recv (sock, &dummy,
&from, buffer_length, buffer, &from, buffer_length, buffer,
message->from, buffer, buffer_length); message->from, buffer, buffer_length);
message->length = MAX (parsed_buffer_length, 0); message->length = MAX (parsed_buffer_length, 0);
...@@ -407,7 +407,7 @@ socket_recv_messages (NiceSocket *sock, ...@@ -407,7 +407,7 @@ socket_recv_messages (NiceSocket *sock,
} }
static GSource * static GSource *
priv_timeout_add_with_context (TurnPriv *priv, guint interval, priv_timeout_add_with_context (UdpTurnPriv *priv, guint interval,
gboolean seconds, GSourceFunc function, gpointer data) gboolean seconds, GSourceFunc function, gpointer data)
{ {
GSource *source; GSource *source;
...@@ -468,26 +468,26 @@ priv_is_peer_in_list (const GList *list, const NiceAddress *peer) ...@@ -468,26 +468,26 @@ priv_is_peer_in_list (const GList *list, const NiceAddress *peer)
} }
static gboolean static gboolean
priv_has_permission_for_peer (TurnPriv *priv, const NiceAddress *peer) priv_has_permission_for_peer (UdpTurnPriv *priv, const NiceAddress *peer)
{ {
return priv_is_peer_in_list (priv->permissions, peer); return priv_is_peer_in_list (priv->permissions, peer);
} }
static gboolean static gboolean
priv_has_sent_permission_for_peer (TurnPriv *priv, const NiceAddress *peer) priv_has_sent_permission_for_peer (UdpTurnPriv *priv, const NiceAddress *peer)
{ {
return priv_is_peer_in_list (priv->sent_permissions, peer); return priv_is_peer_in_list (priv->sent_permissions, peer);
} }
static void static void
priv_add_permission_for_peer (TurnPriv *priv, const NiceAddress *peer) priv_add_permission_for_peer (UdpTurnPriv *priv, const NiceAddress *peer)
{ {
priv->permissions = priv->permissions =
g_list_append (priv->permissions, nice_address_dup (peer)); g_list_append (priv->permissions, nice_address_dup (peer));
} }
static void static void
priv_add_sent_permission_for_peer (TurnPriv *priv, const NiceAddress *peer) priv_add_sent_permission_for_peer (UdpTurnPriv *priv, const NiceAddress *peer)
{ {
priv->sent_permissions = priv->sent_permissions =
g_list_append (priv->sent_permissions, nice_address_dup (peer)); g_list_append (priv->sent_permissions, nice_address_dup (peer));
...@@ -516,14 +516,14 @@ priv_remove_peer_from_list (GList *list, const NiceAddress *peer) ...@@ -516,14 +516,14 @@ priv_remove_peer_from_list (GList *list, const NiceAddress *peer)
} }
static void static void
priv_remove_sent_permission_for_peer (TurnPriv *priv, const NiceAddress *peer) priv_remove_sent_permission_for_peer (UdpTurnPriv *priv, const NiceAddress *peer)
{ {
priv->sent_permissions = priv->sent_permissions =
priv_remove_peer_from_list (priv->sent_permissions, peer); priv_remove_peer_from_list (priv->sent_permissions, peer);
} }
static void static void
priv_clear_permissions (TurnPriv *priv) priv_clear_permissions (UdpTurnPriv *priv)
{ {
g_list_foreach (priv->permissions, (GFunc) nice_address_free, NULL); g_list_foreach (priv->permissions, (GFunc) nice_address_free, NULL);
g_list_free (priv->permissions); g_list_free (priv->permissions);
...@@ -531,7 +531,7 @@ priv_clear_permissions (TurnPriv *priv) ...@@ -531,7 +531,7 @@ priv_clear_permissions (TurnPriv *priv)
} }
static void static void
socket_enqueue_data(TurnPriv *priv, const NiceAddress *to, socket_enqueue_data(UdpTurnPriv *priv, const NiceAddress *to,
guint len, const gchar *buf, gboolean reliable) guint len, const gchar *buf, gboolean reliable)
{ {
SendData *data = g_slice_new0 (SendData); SendData *data = g_slice_new0 (SendData);
...@@ -550,7 +550,7 @@ socket_enqueue_data(TurnPriv *priv, const NiceAddress *to, ...@@ -550,7 +550,7 @@ socket_enqueue_data(TurnPriv *priv, const NiceAddress *to,
} }
static void static void
socket_dequeue_all_data (TurnPriv *priv, const NiceAddress *to) socket_dequeue_all_data (UdpTurnPriv *priv, const NiceAddress *to)
{ {
GQueue *send_queue = g_hash_table_lookup (priv->send_data_queues, to); GQueue *send_queue = g_hash_table_lookup (priv->send_data_queues, to);
...@@ -581,7 +581,7 @@ static gssize ...@@ -581,7 +581,7 @@ static gssize
socket_send_message (NiceSocket *sock, const NiceAddress *to, socket_send_message (NiceSocket *sock, const NiceAddress *to,
const NiceOutputMessage *message, gboolean reliable) const NiceOutputMessage *message, gboolean reliable)
{ {
TurnPriv *priv = (TurnPriv *) sock->priv; UdpTurnPriv *priv = (UdpTurnPriv *) sock->priv;
StunMessage msg; StunMessage msg;
uint8_t buffer[STUN_MAX_MESSAGE_SIZE]; uint8_t buffer[STUN_MAX_MESSAGE_SIZE];
size_t msg_len; size_t msg_len;
...@@ -798,7 +798,7 @@ static gint ...@@ -798,7 +798,7 @@ static gint
socket_send_messages_reliable (NiceSocket *sock, const NiceAddress *to, socket_send_messages_reliable (NiceSocket *sock, const NiceAddress *to,
const NiceOutputMessage *messages, guint n_messages) const NiceOutputMessage *messages, guint n_messages)
{ {
TurnPriv *priv = (TurnPriv *) sock->priv; UdpTurnPriv *priv = (UdpTurnPriv *) sock->priv;
guint i; guint i;
/* TURN can depend either on tcp-turn or udp-bsd as a base socket /* TURN can depend either on tcp-turn or udp-bsd as a base socket
...@@ -830,7 +830,7 @@ socket_send_messages_reliable (NiceSocket *sock, const NiceAddress *to, ...@@ -830,7 +830,7 @@ socket_send_messages_reliable (NiceSocket *sock, const NiceAddress *to,
static gboolean static gboolean
socket_is_reliable (NiceSocket *sock) socket_is_reliable (NiceSocket *sock)
{ {
TurnPriv *priv = (TurnPriv *) sock->priv; UdpTurnPriv *priv = (UdpTurnPriv *) sock->priv;
return nice_socket_is_reliable (priv->base_socket); return nice_socket_is_reliable (priv->base_socket);
} }
...@@ -867,7 +867,7 @@ priv_forget_send_request (gpointer pointer) ...@@ -867,7 +867,7 @@ priv_forget_send_request (gpointer pointer)
static gboolean static gboolean
priv_permission_timeout (gpointer data) priv_permission_timeout (gpointer data)
{ {
TurnPriv *priv = (TurnPriv *) data; UdpTurnPriv *priv = (UdpTurnPriv *) data;
nice_debug ("Permission is about to timeout, schedule renewal"); nice_debug ("Permission is about to timeout, schedule renewal");
...@@ -883,7 +883,7 @@ priv_permission_timeout (gpointer data) ...@@ -883,7 +883,7 @@ priv_permission_timeout (gpointer data)
static gboolean static gboolean
priv_binding_expired_timeout (gpointer data) priv_binding_expired_timeout (gpointer data)
{ {
TurnPriv *priv = (TurnPriv *) data; UdpTurnPriv *priv = (UdpTurnPriv *) data;
GList *i; GList *i;
GSource *source = NULL; GSource *source = NULL;
...@@ -943,7 +943,7 @@ priv_binding_expired_timeout (gpointer data) ...@@ -943,7 +943,7 @@ priv_binding_expired_timeout (gpointer data)
static gboolean static gboolean
priv_binding_timeout (gpointer data) priv_binding_timeout (gpointer data)
{ {
TurnPriv *priv = (TurnPriv *) data; UdpTurnPriv *priv = (UdpTurnPriv *) data;
GList *i; GList *i;
GSource *source = NULL; GSource *source = NULL;
...@@ -981,7 +981,7 @@ priv_binding_timeout (gpointer data) ...@@ -981,7 +981,7 @@ priv_binding_timeout (gpointer data)
} }
guint guint
nice_turn_socket_parse_recv_message (NiceSocket *sock, NiceSocket **from_sock, nice_udp_turn_socket_parse_recv_message (NiceSocket *sock, NiceSocket **from_sock,
NiceInputMessage *message) NiceInputMessage *message)
{ {
/* TODO: Speed this up in the common reliable case of having a 24-byte header /* TODO: Speed this up in the common reliable case of having a 24-byte header
...@@ -994,7 +994,7 @@ nice_turn_socket_parse_recv_message (NiceSocket *sock, NiceSocket **from_sock, ...@@ -994,7 +994,7 @@ nice_turn_socket_parse_recv_message (NiceSocket *sock, NiceSocket **from_sock,
message->buffers[0].buffer != NULL && message->buffers[0].buffer != NULL &&
message->buffers[1].buffer == NULL)) { message->buffers[1].buffer == NULL)) {
/* Fast path. Single massive buffer. */ /* Fast path. Single massive buffer. */
len = nice_turn_socket_parse_recv (sock, from_sock, len = nice_udp_turn_socket_parse_recv (sock, from_sock,
message->from, message->length, message->buffers[0].buffer, message->from, message->length, message->buffers[0].buffer,
message->from, message->buffers[0].buffer, message->length); message->from, message->buffers[0].buffer, message->length);
...@@ -1009,7 +1009,7 @@ nice_turn_socket_parse_recv_message (NiceSocket *sock, NiceSocket **from_sock, ...@@ -1009,7 +1009,7 @@ nice_turn_socket_parse_recv_message (NiceSocket *sock, NiceSocket **from_sock,
nice_debug ("%s: **WARNING: SLOW PATH**", G_STRFUNC); nice_debug ("%s: **WARNING: SLOW PATH**", G_STRFUNC);
buf = compact_input_message (message, &buf_len); buf = compact_input_message (message, &buf_len);
len = nice_turn_socket_parse_recv (sock, from_sock, len = nice_udp_turn_socket_parse_recv (sock, from_sock,
message->from, buf_len, buf, message->from, buf_len, buf,
message->from, buf, buf_len); message->from, buf, buf_len);
len = memcpy_buffer_to_input_message (message, buf, len); len = memcpy_buffer_to_input_message (message, buf, len);
...@@ -1018,12 +1018,12 @@ nice_turn_socket_parse_recv_message (NiceSocket *sock, NiceSocket **from_sock, ...@@ -1018,12 +1018,12 @@ nice_turn_socket_parse_recv_message (NiceSocket *sock, NiceSocket **from_sock,
} }
gsize gsize
nice_turn_socket_parse_recv (NiceSocket *sock, NiceSocket **from_sock, nice_udp_turn_socket_parse_recv (NiceSocket *sock, NiceSocket **from_sock,
NiceAddress *from, gsize len, guint8 *buf, NiceAddress *from, gsize len, guint8 *buf,
NiceAddress *recv_from, guint8 *_recv_buf, gsize recv_len) NiceAddress *recv_from, guint8 *_recv_buf, gsize recv_len)
{ {
TurnPriv *priv = (TurnPriv *) sock->priv; UdpTurnPriv *priv = (UdpTurnPriv *) sock->priv;
StunValidationStatus valid; StunValidationStatus valid;
StunMessage msg; StunMessage msg;
GList *l; GList *l;
...@@ -1398,15 +1398,15 @@ nice_turn_socket_parse_recv (NiceSocket *sock, NiceSocket **from_sock, ...@@ -1398,15 +1398,15 @@ nice_turn_socket_parse_recv (NiceSocket *sock, NiceSocket **from_sock,
} }
gboolean gboolean
nice_turn_socket_set_peer (NiceSocket *sock, NiceAddress *peer) nice_udp_turn_socket_set_peer (NiceSocket *sock, NiceAddress *peer)
{ {
TurnPriv *priv = (TurnPriv *) sock->priv; UdpTurnPriv *priv = (UdpTurnPriv *) sock->priv;
return priv_add_channel_binding (priv, peer); return priv_add_channel_binding (priv, peer);
} }
static void static void
priv_process_pending_bindings (TurnPriv *priv) priv_process_pending_bindings (UdpTurnPriv *priv)
{ {
gboolean ret = FALSE; gboolean ret = FALSE;
...@@ -1435,7 +1435,7 @@ priv_process_pending_bindings (TurnPriv *priv) ...@@ -1435,7 +1435,7 @@ priv_process_pending_bindings (TurnPriv *priv)
static gboolean static gboolean
priv_retransmissions_tick_unlocked (TurnPriv *priv) priv_retransmissions_tick_unlocked (UdpTurnPriv *priv)
{ {
gboolean ret = FALSE; gboolean ret = FALSE;
...@@ -1480,7 +1480,7 @@ priv_retransmissions_tick_unlocked (TurnPriv *priv) ...@@ -1480,7 +1480,7 @@ priv_retransmissions_tick_unlocked (TurnPriv *priv)
} }
static gboolean static gboolean
priv_retransmissions_create_permission_tick_unlocked (TurnPriv *priv, GList *list_element) priv_retransmissions_create_permission_tick_unlocked (UdpTurnPriv *priv, GList *list_element)
{ {
gboolean ret = FALSE; gboolean ret = FALSE;
TURNMessage *current_create_permission_msg; TURNMessage *current_create_permission_msg;
...@@ -1547,7 +1547,7 @@ priv_retransmissions_create_permission_tick_unlocked (TurnPriv *priv, GList *lis ...@@ -1547,7 +1547,7 @@ priv_retransmissions_create_permission_tick_unlocked (TurnPriv *priv, GList *lis
static gboolean static gboolean
priv_retransmissions_tick (gpointer pointer) priv_retransmissions_tick (gpointer pointer)
{ {
TurnPriv *priv = pointer; UdpTurnPriv *priv = pointer;
agent_lock (); agent_lock ();
if (g_source_is_destroyed (g_main_current_source ())) { if (g_source_is_destroyed (g_main_current_source ())) {
...@@ -1572,7 +1572,7 @@ priv_retransmissions_tick (gpointer pointer) ...@@ -1572,7 +1572,7 @@ priv_retransmissions_tick (gpointer pointer)
static gboolean static gboolean
priv_retransmissions_create_permission_tick (gpointer pointer) priv_retransmissions_create_permission_tick (gpointer pointer)
{ {
TurnPriv *priv = pointer; UdpTurnPriv *priv = pointer;
GList *i, *next; GList *i, *next;
agent_lock (); agent_lock ();
...@@ -1600,7 +1600,7 @@ priv_retransmissions_create_permission_tick (gpointer pointer) ...@@ -1600,7 +1600,7 @@ priv_retransmissions_create_permission_tick (gpointer pointer)
} }
static void static void
priv_schedule_tick (TurnPriv *priv) priv_schedule_tick (UdpTurnPriv *priv)
{ {
GList *i, *next; GList *i, *next;
TURNMessage *current_create_permission_msg; TURNMessage *current_create_permission_msg;
...@@ -1647,7 +1647,7 @@ priv_schedule_tick (TurnPriv *priv) ...@@ -1647,7 +1647,7 @@ priv_schedule_tick (TurnPriv *priv)
} }
static void static void
priv_send_turn_message (TurnPriv *priv, TURNMessage *msg) priv_send_turn_message (UdpTurnPriv *priv, TURNMessage *msg)
{ {
size_t stun_len = stun_message_length (&msg->message); size_t stun_len = stun_message_length (&msg->message);
...@@ -1675,7 +1675,7 @@ priv_send_turn_message (TurnPriv *priv, TURNMessage *msg) ...@@ -1675,7 +1675,7 @@ priv_send_turn_message (TurnPriv *priv, TURNMessage *msg)
} }
static gboolean static gboolean
priv_send_create_permission(TurnPriv *priv, StunMessage *resp, priv_send_create_permission(UdpTurnPriv *priv, StunMessage *resp,
const NiceAddress *peer) const NiceAddress *peer)
{ {
guint msg_buf_len; guint msg_buf_len;
...@@ -1747,7 +1747,7 @@ priv_send_create_permission(TurnPriv *priv, StunMessage *resp, ...@@ -1747,7 +1747,7 @@ priv_send_create_permission(TurnPriv *priv, StunMessage *resp,
} }
static gboolean static gboolean
priv_send_channel_bind (TurnPriv *priv, StunMessage *resp, priv_send_channel_bind (UdpTurnPriv *priv, StunMessage *resp,
uint16_t channel, const NiceAddress *peer) uint16_t channel, const NiceAddress *peer)
{ {
uint32_t channel_attr = channel << 16; uint32_t channel_attr = channel << 16;
...@@ -1828,7 +1828,7 @@ priv_send_channel_bind (TurnPriv *priv, StunMessage *resp, ...@@ -1828,7 +1828,7 @@ priv_send_channel_bind (TurnPriv *priv, StunMessage *resp,
} }
static gboolean static gboolean
priv_add_channel_binding (TurnPriv *priv, const NiceAddress *peer) priv_add_channel_binding (UdpTurnPriv *priv, const NiceAddress *peer)
{ {
size_t stun_len; size_t stun_len;
union { union {
...@@ -1935,9 +1935,9 @@ priv_add_channel_binding (TurnPriv *priv, const NiceAddress *peer) ...@@ -1935,9 +1935,9 @@ priv_add_channel_binding (TurnPriv *priv, const NiceAddress *peer)
} }
void void
nice_turn_socket_set_ms_realm(NiceSocket *sock, StunMessage *msg) nice_udp_turn_socket_set_ms_realm(NiceSocket *sock, StunMessage *msg)
{ {
TurnPriv *priv = (TurnPriv *)sock->priv; UdpTurnPriv *priv = (UdpTurnPriv *)sock->priv;
uint16_t alen; uint16_t alen;
const uint8_t *realm = stun_message_find(msg, STUN_ATTRIBUTE_REALM, &alen); const uint8_t *realm = stun_message_find(msg, STUN_ATTRIBUTE_REALM, &alen);
...@@ -1948,9 +1948,9 @@ nice_turn_socket_set_ms_realm(NiceSocket *sock, StunMessage *msg) ...@@ -1948,9 +1948,9 @@ nice_turn_socket_set_ms_realm(NiceSocket *sock, StunMessage *msg)
} }
void void
nice_turn_socket_set_ms_connection_id (NiceSocket *sock, StunMessage *msg) nice_udp_turn_socket_set_ms_connection_id (NiceSocket *sock, StunMessage *msg)
{ {
TurnPriv *priv = (TurnPriv *)sock->priv; UdpTurnPriv *priv = (UdpTurnPriv *)sock->priv;
uint16_t alen; uint16_t alen;
const uint8_t *ms_seq_num = stun_message_find(msg, const uint8_t *ms_seq_num = stun_message_find(msg,
STUN_ATTRIBUTE_MS_SEQUENCE_NUMBER, &alen); STUN_ATTRIBUTE_MS_SEQUENCE_NUMBER, &alen);
......
...@@ -34,8 +34,8 @@ ...@@ -34,8 +34,8 @@
* file under either the MPL or the LGPL. * file under either the MPL or the LGPL.
*/ */
#ifndef _TURN_H #ifndef _UDP_TURN_H
#define _TURN_H #define _UDP_TURN_H
typedef enum { typedef enum {
...@@ -53,30 +53,30 @@ typedef enum { ...@@ -53,30 +53,30 @@ typedef enum {
G_BEGIN_DECLS G_BEGIN_DECLS
guint guint
nice_turn_socket_parse_recv_message (NiceSocket *sock, NiceSocket **from_sock, nice_udp_turn_socket_parse_recv_message (NiceSocket *sock, NiceSocket **from_sock,
NiceInputMessage *message); NiceInputMessage *message);
gsize gsize
nice_turn_socket_parse_recv (NiceSocket *sock, NiceSocket **from_sock, nice_udp_turn_socket_parse_recv (NiceSocket *sock, NiceSocket **from_sock,
NiceAddress *from, gsize len, guint8 *buf, NiceAddress *from, gsize len, guint8 *buf,
NiceAddress *recv_from, guint8 *recv_buf, gsize recv_len); NiceAddress *recv_from, guint8 *recv_buf, gsize recv_len);
gboolean gboolean
nice_turn_socket_set_peer (NiceSocket *sock, NiceAddress *peer); nice_udp_turn_socket_set_peer (NiceSocket *sock, NiceAddress *peer);
NiceSocket * NiceSocket *
nice_turn_socket_new (GMainContext *ctx, NiceAddress *addr, nice_udp_turn_socket_new (GMainContext *ctx, NiceAddress *addr,
NiceSocket *base_socket, NiceAddress *server_addr, NiceSocket *base_socket, NiceAddress *server_addr,
gchar *username, gchar *password, NiceTurnSocketCompatibility compatibility); gchar *username, gchar *password, NiceTurnSocketCompatibility compatibility);
void void
nice_turn_socket_set_ms_realm(NiceSocket *sock, StunMessage *msg); nice_udp_turn_socket_set_ms_realm(NiceSocket *sock, StunMessage *msg);
void void
nice_turn_socket_set_ms_connection_id (NiceSocket *sock, StunMessage *msg); nice_udp_turn_socket_set_ms_connection_id (NiceSocket *sock, StunMessage *msg);
G_END_DECLS G_END_DECLS
#endif /* _TURN_H */ #endif /* _UDP_TURN_H */
Markdown is supported
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