FS-9903: [msrp] fix namespacing and visibility of some structs and defines for ssl private header

This commit is contained in:
Mike Jerris 2017-01-03 12:46:02 -06:00
parent ded506f611
commit 19c29ee362
3 changed files with 58 additions and 62 deletions

View File

@ -33,8 +33,6 @@
#define _MSRP_H
#include <switch.h>
#include <switch_ssl.h>
#define MSRP_LISTEN_PORT 2855
#define MSRP_SSL_LISTEN_PORT 2856
@ -65,6 +63,10 @@ enum {
MSRP_H_UNKNOWN
};
typedef struct switch_msrp_session_s switch_msrp_session_t;
typedef struct msrp_client_socket_s switch_msrp_client_socket_t;
typedef struct msrp_socket_s switch_msrp_socket_t;
typedef struct msrp_msg_s {
int state;
int method;
@ -82,24 +84,7 @@ typedef struct msrp_msg_s {
char *last_p;
char *payload;
struct msrp_msg_s *next;
} msrp_msg_t;
typedef struct msrp_msg_s switch_msrp_msg_t;
typedef struct msrp_socket_s {
switch_port_t port;
switch_socket_t *sock;
switch_thread_t *thread;
int secure;
} msrp_socket_t;
struct msrp_client_socket_s {
switch_socket_t *sock;
SSL *ssl;
int secure;
int client_mode;
struct switch_msrp_session_s *msrp_session;
};
} switch_msrp_msg_t;
struct switch_msrp_session_s{
switch_memory_pool_t *pool;
@ -117,29 +102,26 @@ struct switch_msrp_session_s{
char *local_file_selector;
int local_port;
char *call_id;
msrp_msg_t *msrp_msg;
msrp_msg_t *last_msg;
switch_msrp_msg_t *msrp_msg;
switch_msrp_msg_t *last_msg;
switch_mutex_t *mutex;
switch_size_t msrp_msg_buffer_size;
switch_size_t msrp_msg_count;
msrp_socket_t *msock;
struct msrp_client_socket_s *csock;
switch_msrp_socket_t *msock;
switch_msrp_client_socket_t *csock;
switch_frame_t frame;
uint8_t frame_data[SWITCH_RTP_MAX_BUF_LEN];
int running;
void *user_data;
};
typedef struct msrp_client_socket_s msrp_client_socket_t;
typedef struct switch_msrp_session_s switch_msrp_session_t;
SWITCH_DECLARE(switch_status_t) switch_msrp_init(void);
SWITCH_DECLARE(switch_status_t) switch_msrp_destroy(void);
SWITCH_DECLARE(switch_msrp_session_t *)switch_msrp_session_new(switch_memory_pool_t *pool, const char *call_id, switch_bool_t secure);
SWITCH_DECLARE(switch_status_t) switch_msrp_session_destroy(switch_msrp_session_t **ms);
// switch_status_t switch_msrp_session_push_msg(switch_msrp_session_t *ms, msrp_msg_t *msg);
// switch_status_t switch_msrp_session_push_msg(switch_msrp_session_t *ms, switch_msrp_msg_t *msg);
SWITCH_DECLARE(switch_msrp_msg_t *)switch_msrp_session_pop_msg(switch_msrp_session_t *ms);
SWITCH_DECLARE(switch_status_t) switch_msrp_perform_send(switch_msrp_session_t *ms, msrp_msg_t *msg, const char *file, const char *func, int line);
SWITCH_DECLARE(switch_status_t) switch_msrp_perform_send(switch_msrp_session_t *ms, switch_msrp_msg_t *msg, const char *file, const char *func, int line);
SWITCH_DECLARE(switch_status_t) switch_msrp_start_client(switch_msrp_session_t *msrp_session);
SWITCH_DECLARE(const char *) switch_msrp_listen_ip(void);

View File

@ -31,10 +31,6 @@
#ifndef __SWITCH_SSL_H
#define __SWITCH_SSL_H
#ifndef HAVE_OPENSSL
#define HAVE_OPENSSL
#endif
#if defined(HAVE_OPENSSL)
#if defined (MACOSX) || defined(DARWIN)
/* Disable depricated-declarations on OS X */

View File

@ -30,11 +30,29 @@
*/
#include <switch.h>
#include <switch_ssl.h>
#include <switch_msrp.h>
#include <switch_stun.h>
#define MSRP_BUFF_SIZE SWITCH_RTP_MAX_BUF_LEN
#define DEBUG_MSRP 0
#define MSRP_LISTEN_PORT 2855
#define MSRP_SSL_LISTEN_PORT 2856
struct msrp_socket_s {
switch_port_t port;
switch_socket_t *sock;
switch_thread_t *thread;
int secure;
};
struct msrp_client_socket_s {
switch_socket_t *sock;
SSL *ssl;
int secure;
int client_mode;
struct switch_msrp_session_s *msrp_session;
};
static struct {
int running;
@ -52,14 +70,14 @@ static struct {
const SSL_METHOD *ssl_client_method;
SSL_CTX *ssl_client_ctx;
msrp_socket_t msock;
msrp_socket_t msock_ssl;
switch_msrp_socket_t msock;
switch_msrp_socket_t msock_ssl;
} globals;
typedef struct worker_helper{
int debug;
switch_memory_pool_t *pool;
msrp_client_socket_t csock;
switch_msrp_client_socket_t csock;
switch_msrp_session_t *msrp_session;
} worker_helper_t;
@ -357,7 +375,7 @@ SWITCH_DECLARE(switch_status_t) switch_msrp_session_destroy(switch_msrp_session_
return SWITCH_STATUS_SUCCESS;
}
switch_status_t switch_msrp_session_push_msg(switch_msrp_session_t *ms, msrp_msg_t *msg)
switch_status_t switch_msrp_session_push_msg(switch_msrp_session_t *ms, switch_msrp_msg_t *msg)
{
switch_mutex_lock(ms->mutex);
@ -378,9 +396,9 @@ switch_status_t switch_msrp_session_push_msg(switch_msrp_session_t *ms, msrp_msg
return SWITCH_STATUS_SUCCESS;
}
SWITCH_DECLARE(msrp_msg_t *)switch_msrp_session_pop_msg(switch_msrp_session_t *ms)
SWITCH_DECLARE(switch_msrp_msg_t *)switch_msrp_session_pop_msg(switch_msrp_session_t *ms)
{
msrp_msg_t *m = ms->msrp_msg;
switch_msrp_msg_t *m = ms->msrp_msg;
if (m == NULL) {
switch_yield(20000);
return NULL;
@ -394,7 +412,7 @@ SWITCH_DECLARE(msrp_msg_t *)switch_msrp_session_pop_msg(switch_msrp_session_t *m
return m;
}
switch_status_t msrp_msg_serialize(msrp_msg_t *msrp_msg, char *buf)
switch_status_t msrp_msg_serialize(switch_msrp_msg_t *msrp_msg, char *buf)
{
char *code_number_str = switch_mprintf("%d", msrp_msg->code_number);
char method[10];
@ -427,7 +445,7 @@ switch_status_t msrp_msg_serialize(msrp_msg_t *msrp_msg, char *buf)
return SWITCH_STATUS_SUCCESS;
}
static switch_status_t msrp_socket_recv(msrp_client_socket_t *csock, char *buf, switch_size_t *len)
static switch_status_t msrp_socket_recv(switch_msrp_client_socket_t *csock, char *buf, switch_size_t *len)
{
switch_status_t status = SWITCH_STATUS_FALSE;
@ -451,7 +469,7 @@ static switch_status_t msrp_socket_recv(msrp_client_socket_t *csock, char *buf,
return status;
}
static switch_status_t msrp_socket_send(msrp_client_socket_t *csock, char *buf, switch_size_t *len)
static switch_status_t msrp_socket_send(switch_msrp_client_socket_t *csock, char *buf, switch_size_t *len)
{
if (csock->secure) {
*len = SSL_write(csock->ssl, buf, *len);
@ -527,7 +545,7 @@ Byte-Range: 1-0/0
-------d4c667b2351e958f$
*/
char *msrp_parse_header(char *start, int skip, const char *end, msrp_msg_t *msrp_msg, int index, switch_memory_pool_t *pool)
char *msrp_parse_header(char *start, int skip, const char *end, switch_msrp_msg_t *msrp_msg, int index, switch_memory_pool_t *pool)
{
char *p = start + skip;
char *q;
@ -544,7 +562,7 @@ char *msrp_parse_header(char *start, int skip, const char *end, msrp_msg_t *msrp
return start;
}
msrp_msg_t *msrp_parse_headers(const char *start, int len, msrp_msg_t *msrp_msg, switch_memory_pool_t *pool)
switch_msrp_msg_t *msrp_parse_headers(const char *start, int len, switch_msrp_msg_t *msrp_msg, switch_memory_pool_t *pool)
{
char *p = (char *)start;
char *q = p;
@ -719,12 +737,12 @@ done:
return msrp_msg;
}
msrp_msg_t *msrp_parse_buffer(char *buf, int len, msrp_msg_t *msrp_msg, switch_memory_pool_t *pool)
switch_msrp_msg_t *msrp_parse_buffer(char *buf, int len, switch_msrp_msg_t *msrp_msg, switch_memory_pool_t *pool)
{
const char *start;
if (!msrp_msg) {
switch_zmalloc(msrp_msg, sizeof(msrp_msg_t));
switch_zmalloc(msrp_msg, sizeof(switch_msrp_msg_t));
switch_assert(msrp_msg);
msrp_msg->state = MSRP_ST_WAIT_HEADER;
}
@ -828,7 +846,7 @@ msrp_msg_t *msrp_parse_buffer(char *buf, int len, msrp_msg_t *msrp_msg, switch_m
}
switch_status_t msrp_reply(msrp_client_socket_t *csock, msrp_msg_t *msrp_msg)
switch_status_t msrp_reply(switch_msrp_client_socket_t *csock, switch_msrp_msg_t *msrp_msg)
{
char buf[2048];
switch_size_t len;
@ -843,7 +861,7 @@ switch_status_t msrp_reply(msrp_client_socket_t *csock, msrp_msg_t *msrp_msg)
return msrp_socket_send(csock, buf, &len);
}
switch_status_t msrp_report(msrp_client_socket_t *csock, msrp_msg_t *msrp_msg, char *status_code)
switch_status_t msrp_report(switch_msrp_client_socket_t *csock, switch_msrp_msg_t *msrp_msg, char *status_code)
{
char buf[2048];
switch_size_t len;
@ -883,14 +901,14 @@ static switch_bool_t msrp_find_uuid(char *uuid, char *to_path)
static void *SWITCH_THREAD_FUNC msrp_worker(switch_thread_t *thread, void *obj)
{
worker_helper_t *helper = (worker_helper_t *) obj;
msrp_client_socket_t *csock = &helper->csock;
switch_msrp_client_socket_t *csock = &helper->csock;
switch_memory_pool_t *pool = helper->pool;
char buf[MSRP_BUFF_SIZE];
char *p;
char *last_p;
switch_size_t len = MSRP_BUFF_SIZE;
switch_status_t status;
msrp_msg_t *msrp_msg = NULL;
switch_msrp_msg_t *msrp_msg = NULL;
char uuid[128] = { 0 };
switch_msrp_session_t *msrp_session = NULL;
int sanity = 10;
@ -1139,7 +1157,7 @@ static void *SWITCH_THREAD_FUNC msrp_worker(switch_thread_t *thread, void *obj)
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "state:%d, len:%" SWITCH_SIZE_T_FMT " payload_bytes:%" SWITCH_SIZE_T_FMT "\n", msrp_msg->state, len, msrp_msg->payload_bytes);
// {
// char bbb[MSRP_BUFF_SIZE * 2];
// msrp_msg_serialize(msrp_msg_tmp, bbb),
// msrp_msg_serialize(switch_msrp_msg_tmp, bbb),
// }
}
@ -1194,10 +1212,10 @@ static void *SWITCH_THREAD_FUNC msrp_worker(switch_thread_t *thread, void *obj)
{
int i;
msrp_msg_t *msrp_msg_old = msrp_msg;
switch_msrp_msg_t *msrp_msg_old = msrp_msg;
msrp_msg = NULL;
/*dup msrp_msg*/
switch_zmalloc(msrp_msg, sizeof(msrp_msg_t));
switch_zmalloc(msrp_msg, sizeof(switch_msrp_msg_t));
switch_assert(msrp_msg);
msrp_msg->state = msrp_msg_old->state;
msrp_msg->byte_start = msrp_msg_old->byte_end + 1;
@ -1256,7 +1274,7 @@ end:
static void *SWITCH_THREAD_FUNC msrp_listener(switch_thread_t *thread, void *obj)
{
msrp_socket_t *msock = (msrp_socket_t *)obj;
switch_msrp_socket_t *msock = (switch_msrp_socket_t *)obj;
switch_status_t rv;
switch_memory_pool_t *pool = NULL;
switch_threadattr_t *thd_attr = NULL;
@ -1349,7 +1367,7 @@ void random_string(char *buf, uint16_t size)
}
#define MSRP_TRANS_ID_LEN 16
SWITCH_DECLARE(switch_status_t) switch_msrp_perform_send(switch_msrp_session_t *ms, msrp_msg_t *msrp_msg, const char *file, const char *func, int line)
SWITCH_DECLARE(switch_status_t) switch_msrp_perform_send(switch_msrp_session_t *ms, switch_msrp_msg_t *msrp_msg, const char *file, const char *func, int line)
{
char transaction_id[MSRP_TRANS_ID_LEN + 1] = { 0 };
char buf[MSRP_BUFF_SIZE];
@ -1400,7 +1418,7 @@ SWITCH_DECLARE(switch_status_t) switch_msrp_perform_send(switch_msrp_session_t *
SWITCH_STANDARD_APP(msrp_echo_function)
{
msrp_session_t *msrp_session = NULL;
msrp_msg_t *msrp_msg = NULL;
switch_msrp_msg_t *msrp_msg = NULL;
switch_channel_t *channel = switch_core_session_get_channel(session);
// private_object_t *tech_pvt = switch_core_session_get_private(session);
@ -1441,7 +1459,7 @@ SWITCH_STANDARD_APP(msrp_echo_function)
SWITCH_STANDARD_APP(msrp_recv_function)
{
msrp_session_t *msrp_session = NULL;
msrp_msg_t *msrp_msg = NULL;
switch_msrp_msg_t *msrp_msg = NULL;
switch_channel_t *channel = switch_core_session_get_channel(session);
private_object_t *tech_pvt = switch_core_session_get_private(session);
switch_memory_pool_t *pool = switch_core_session_get_pool(session);
@ -1507,7 +1525,7 @@ SWITCH_STANDARD_APP(msrp_recv_function)
SWITCH_STANDARD_APP(msrp_send_function)
{
msrp_session_t *msrp_session = NULL;
msrp_msg_t *msrp_msg = NULL;
switch_msrp_msg_t *msrp_msg = NULL;
switch_channel_t *channel = switch_core_session_get_channel(session);
private_object_t *tech_pvt = switch_core_session_get_private(session);
switch_memory_pool_t *pool = switch_core_session_get_pool(session);
@ -1539,7 +1557,7 @@ SWITCH_STANDARD_APP(msrp_send_function)
switch_assert(pool);
switch_zmalloc(msrp_msg, sizeof(msrp_msg_t));
switch_zmalloc(msrp_msg, sizeof(switch_msrp_msg_t));
switch_assert(msrp_msg);
msrp_msg->headers[MSRP_H_FROM_PATH] = switch_mprintf("msrp://%s:%d/%s;tcp",
@ -1600,7 +1618,7 @@ SWITCH_STANDARD_APP(msrp_bridge_function)
msrp_session_t *peer_msrp_session = NULL;
private_object_t *tech_pvt = NULL;
private_object_t *ptech_pvt = NULL;
msrp_msg_t *msrp_msg = NULL;
switch_msrp_msg_t *msrp_msg = NULL;
switch_call_cause_t cause = SWITCH_CAUSE_NORMAL_CLEARING;
switch_status_t status;
@ -1683,7 +1701,7 @@ SWITCH_STANDARD_API(uuid_msrp_send_function)
int argc;
switch_core_session_t *msession = NULL;
// msrp_session_t *msrp_session = NULL;
msrp_msg_t *msrp_msg = NULL;
switch_msrp_msg_t *msrp_msg = NULL;
private_object_t *tech_pvt = NULL;
switch_memory_pool_t *pool = NULL;
@ -1718,7 +1736,7 @@ SWITCH_STANDARD_API(uuid_msrp_send_function)
return SWITCH_STATUS_SUCCESS;
}
switch_zmalloc(msrp_msg, sizeof(msrp_msg_t));
switch_zmalloc(msrp_msg, sizeof(switch_msrp_msg_t));
switch_assert(msrp_msg);
msrp_msg->headers[MSRP_H_FROM_PATH] = switch_mprintf("msrp://%s:%d/%s;tcp",