Update MAC OSX support
This commit is contained in:
parent
3e7bc38376
commit
f6b0884b3d
|
@ -64,6 +64,12 @@
|
|||
# define _CRT_SECURE_NO_WARNINGS
|
||||
#endif
|
||||
|
||||
/* Detecting C99 compilers
|
||||
*/
|
||||
#if (__STDC_VERSION__ == 199901L) && !defined(__C99__)
|
||||
# define __C99__
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#ifdef __SYMBIAN32__
|
||||
#include <stdlib.h>
|
||||
|
|
|
@ -1,60 +1,100 @@
|
|||
/*
|
||||
* Copyright (C) 2009 Mamadou Diop.
|
||||
*
|
||||
* Contact: Mamadou Diop <diopmamadou@yahoo.fr>
|
||||
*
|
||||
* This file is part of Open Source Doubango Framework.
|
||||
*
|
||||
* DOUBANGO is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* DOUBANGO is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with DOUBANGO.
|
||||
*
|
||||
*/
|
||||
|
||||
/**@file tipsec_common.c
|
||||
* @brief IPSec common functions.
|
||||
*
|
||||
* @author Mamadou Diop <diopmamadou(at)yahoo.fr>
|
||||
*
|
||||
* @date Created: Sat Nov 8 16:54:58 2009 mdiop
|
||||
*/
|
||||
#include "tipsec_common.h"
|
||||
|
||||
#include "tsk_debug.h"
|
||||
|
||||
#if !HAVE_IPSEC_VISTA && !HAVE_IPSEC_XP && !HAVE_IPSEC_RACOON
|
||||
|
||||
int tipsec_start(tipsec_context_t* ctx)
|
||||
{
|
||||
TSK_DEBUG_ERROR("No IPSec implementation found.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
int tipsec_set_local(tipsec_context_t* ctx, const char* addr_local, const char* addr_remote, tipsec_port_t port_uc, tipsec_port_t port_us)
|
||||
{
|
||||
TSK_DEBUG_ERROR("No IPSec implementation found.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
int tipsec_set_remote(tipsec_context_t* ctx, tipsec_spi_t spi_pc, tipsec_spi_t spi_ps, tipsec_port_t port_pc, tipsec_port_t port_ps)
|
||||
{
|
||||
TSK_DEBUG_ERROR("No IPSec implementation found.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
int tipsec_stop(tipsec_context_t* ctx)
|
||||
{
|
||||
TSK_DEBUG_ERROR("No IPSec implementation found.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Copyright (C) 2009 Mamadou Diop.
|
||||
*
|
||||
* Contact: Mamadou Diop <diopmamadou@yahoo.fr>
|
||||
*
|
||||
* This file is part of Open Source Doubango Framework.
|
||||
*
|
||||
* DOUBANGO is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* DOUBANGO is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with DOUBANGO.
|
||||
*
|
||||
*/
|
||||
|
||||
/**@file tipsec_common.c
|
||||
* @brief IPSec common functions.
|
||||
*
|
||||
* @author Mamadou Diop <diopmamadou(at)yahoo.fr>
|
||||
*
|
||||
* @date Created: Sat Nov 8 16:54:58 2009 mdiop
|
||||
*/
|
||||
#include "tipsec_common.h"
|
||||
|
||||
#include "tsk_debug.h"
|
||||
|
||||
#if !HAVE_IPSEC_VISTA && !HAVE_IPSEC_XP && !HAVE_IPSEC_RACOON
|
||||
|
||||
int tipsec_start(tipsec_context_t* ctx)
|
||||
{
|
||||
TSK_DEBUG_ERROR("No IPSec implementation found.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
int tipsec_set_local(tipsec_context_t* ctx, const char* addr_local, const char* addr_remote, tipsec_port_t port_uc, tipsec_port_t port_us)
|
||||
{
|
||||
TSK_DEBUG_ERROR("No IPSec implementation found.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
int tipsec_set_remote(tipsec_context_t* ctx, tipsec_spi_t spi_pc, tipsec_spi_t spi_ps, tipsec_port_t port_pc, tipsec_port_t port_ps, tipsec_lifetime_t lifetime)
|
||||
{
|
||||
TSK_DEBUG_ERROR("No IPSec implementation found.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
int tipsec_stop(tipsec_context_t* ctx)
|
||||
{
|
||||
TSK_DEBUG_ERROR("No IPSec implementation found.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//=================================================================================================
|
||||
// IPSec context object definition
|
||||
//
|
||||
static void* tipsec_context_create(void * self, va_list * app)
|
||||
{
|
||||
tipsec_context_t *context = self;
|
||||
if(context)
|
||||
{
|
||||
}
|
||||
bail:
|
||||
return self;
|
||||
}
|
||||
|
||||
static void* tipsec_context_destroy(void * self)
|
||||
{
|
||||
tipsec_context_t *context = self;
|
||||
if(context)
|
||||
{
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
static int tipsec_context_cmp(const void *obj1, const void *obj2)
|
||||
{
|
||||
return-1;
|
||||
}
|
||||
|
||||
static const tsk_object_def_t tipsec_context_def_s =
|
||||
{
|
||||
sizeof(tipsec_context_t),
|
||||
tipsec_context_create,
|
||||
tipsec_context_destroy,
|
||||
tipsec_context_cmp,
|
||||
};
|
||||
|
||||
|
||||
const void *tipsec_context_def_t = &tipsec_context_def_s;
|
||||
#endif
|
File diff suppressed because it is too large
Load Diff
|
@ -45,6 +45,7 @@ typedef struct transport_socket_s
|
|||
{
|
||||
tnet_fd_t fd;
|
||||
unsigned connected:1;
|
||||
unsigned owner:1;
|
||||
}
|
||||
transport_socket_t;
|
||||
|
||||
|
@ -60,9 +61,9 @@ typedef struct transport_context_s
|
|||
}
|
||||
transport_context_t;
|
||||
|
||||
static void transport_socket_add(tnet_fd_t fd, transport_context_t *context);
|
||||
static void transport_socket_set_connected(tnet_fd_t fd, transport_context_t *context, int connected);
|
||||
static void transport_socket_remove(int index, transport_context_t *context);
|
||||
static void addSocket(tnet_fd_t fd, transport_context_t *context, int take_ownership);
|
||||
static void setConnected(tnet_fd_t fd, transport_context_t *context, int connected);
|
||||
static void removeSocket(int index, transport_context_t *context);
|
||||
|
||||
/* Checks if socket is connected */
|
||||
int tnet_transport_isconnected(const tnet_transport_handle_t *handle, tnet_fd_t fd)
|
||||
|
@ -90,23 +91,21 @@ int tnet_transport_isconnected(const tnet_transport_handle_t *handle, tnet_fd_t
|
|||
return 0;
|
||||
}
|
||||
|
||||
int tnet_transport_add_socket(const tnet_transport_handle_t *handle, tnet_fd_t fd)
|
||||
int tnet_transport_add_socket(const tnet_transport_handle_t *handle, tnet_fd_t fd, int take_ownership)
|
||||
{
|
||||
tnet_transport_t *transport = (tnet_transport_t*)handle;
|
||||
transport_context_t *context;
|
||||
int ret = -1;
|
||||
|
||||
if(!transport)
|
||||
{
|
||||
if(!transport){
|
||||
TSK_DEBUG_ERROR("Invalid server handle.");
|
||||
return ret;
|
||||
}
|
||||
|
||||
context = (transport_context_t*)transport->context;
|
||||
if(context)
|
||||
{
|
||||
|
||||
if((context = (transport_context_t*)transport->context)){
|
||||
static char c = '\0';
|
||||
transport_socket_add(fd, context);
|
||||
addSocket(fd, context, take_ownership);
|
||||
|
||||
// signal
|
||||
ret = write(context->pipeW, &c, 1);
|
||||
|
@ -118,6 +117,46 @@ int tnet_transport_add_socket(const tnet_transport_handle_t *handle, tnet_fd_t f
|
|||
return -1;
|
||||
}
|
||||
|
||||
/* Remove socket
|
||||
*/
|
||||
int tnet_transport_remove_socket(const tnet_transport_handle_t *handle, tnet_fd_t fd)
|
||||
{
|
||||
tnet_transport_t *transport = (tnet_transport_t*)handle;
|
||||
transport_context_t *context;
|
||||
int ret = -1;
|
||||
size_t i;
|
||||
int found = 0;
|
||||
|
||||
if(!transport){
|
||||
TSK_DEBUG_ERROR("Invalid server handle.");
|
||||
return ret;
|
||||
}
|
||||
|
||||
if(!(context = (transport_context_t*)transport->context)){
|
||||
TSK_DEBUG_ERROR("Invalid context.");
|
||||
return -2;
|
||||
}
|
||||
|
||||
for(i=0; i<context->count; i++){
|
||||
if(context->sockets[i]->fd == fd){
|
||||
removeSocket(i, context);
|
||||
found = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(found){
|
||||
/* Signal */
|
||||
static char c = '\0';
|
||||
ret = write(context->pipeW, &c, 1);
|
||||
return (ret > 0 ? 0 : ret);
|
||||
}
|
||||
|
||||
// ...
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
tnet_fd_t tnet_transport_connectto(const tnet_transport_handle_t *handle, const char* host, tnet_port_t port)
|
||||
{
|
||||
tnet_transport_t *transport = (tnet_transport_t*)handle;
|
||||
|
@ -153,7 +192,7 @@ tnet_fd_t tnet_transport_connectto(const tnet_transport_handle_t *handle, const
|
|||
}
|
||||
|
||||
/* Add the socket */
|
||||
if((status = tnet_transport_add_socket(handle, fd)))
|
||||
if((status = tnet_transport_add_socket(handle, fd, 1)))
|
||||
{
|
||||
TNET_PRINT_LAST_ERROR("Failed to add new socket.");
|
||||
|
||||
|
@ -187,7 +226,7 @@ tnet_fd_t tnet_transport_connectto(const tnet_transport_handle_t *handle, const
|
|||
}
|
||||
|
||||
/* update connection status */
|
||||
transport_socket_set_connected(fd, transport->context, (status==0));
|
||||
setConnected(fd, transport->context, (status==0));
|
||||
|
||||
bail:
|
||||
return fd;
|
||||
|
@ -243,14 +282,13 @@ bail:
|
|||
return numberOfBytesSent;
|
||||
}
|
||||
|
||||
int tnet_transport_has_socket(const tnet_transport_handle_t *handle, tnet_fd_t fd)
|
||||
int tnet_transport_have_socket(const tnet_transport_handle_t *handle, tnet_fd_t fd)
|
||||
{
|
||||
tnet_transport_t *transport = (tnet_transport_t*)handle;
|
||||
transport_context_t *context;
|
||||
size_t i;
|
||||
|
||||
if(!transport)
|
||||
{
|
||||
if(!transport){
|
||||
TSK_DEBUG_ERROR("Invalid server handle.");
|
||||
return 0;
|
||||
}
|
||||
|
@ -269,10 +307,11 @@ int tnet_transport_has_socket(const tnet_transport_handle_t *handle, tnet_fd_t f
|
|||
}
|
||||
|
||||
/*== Add new socket ==*/
|
||||
void transport_socket_add(tnet_fd_t fd, transport_context_t *context)
|
||||
void addSocket(tnet_fd_t fd, transport_context_t *context, int take_ownership)
|
||||
{
|
||||
transport_socket_t *sock = tsk_calloc(1, sizeof(transport_socket_t));
|
||||
sock->fd = fd;
|
||||
sock->owner = take_ownership ? 1 : 0;
|
||||
|
||||
context->ufds[context->count].fd = fd;
|
||||
context->ufds[context->count].events = context->events;
|
||||
|
@ -282,7 +321,7 @@ void transport_socket_add(tnet_fd_t fd, transport_context_t *context)
|
|||
}
|
||||
|
||||
/*== change connection state ==*/
|
||||
static void transport_socket_set_connected(tnet_fd_t fd, transport_context_t *context, int connected)
|
||||
static void setConnected(tnet_fd_t fd, transport_context_t *context, int connected)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
|
@ -296,18 +335,21 @@ static void transport_socket_set_connected(tnet_fd_t fd, transport_context_t *co
|
|||
}
|
||||
|
||||
/*== Remove socket ==*/
|
||||
void transport_socket_remove(int index, transport_context_t *context)
|
||||
void removeSocket(int index, transport_context_t *context)
|
||||
{
|
||||
int i;
|
||||
|
||||
if(index < (int)context->count)
|
||||
{
|
||||
tnet_sockfd_close(&(context->sockets[index]->fd));
|
||||
/* Close the socket if we are the owner. */
|
||||
if(context->sockets[index]->owner){
|
||||
tnet_sockfd_close(&(context->sockets[index]->fd));
|
||||
}
|
||||
|
||||
// Free socket
|
||||
TSK_FREE(context->sockets[index]);
|
||||
|
||||
for(i=index ; i<context->count-1; i++)
|
||||
{
|
||||
for(i=index ; i<context->count-1; i++){
|
||||
context->sockets[i] = context->sockets[i+1];
|
||||
}
|
||||
|
||||
|
@ -382,10 +424,10 @@ void *tnet_transport_mainthread(void *param)
|
|||
context->pipeR = pipes[0];
|
||||
context->pipeW = pipes[1];
|
||||
|
||||
transport_socket_add(context->pipeR, context);
|
||||
addSocket(context->pipeR, context, 1);
|
||||
|
||||
/* Add the current transport socket to the context. */
|
||||
transport_socket_add(transport->master->fd, context);
|
||||
/* Add the master socket to the context. */
|
||||
addSocket(transport->master->fd, context, 1);
|
||||
|
||||
/* Set transport to active */
|
||||
transport->active = 1;
|
||||
|
@ -452,7 +494,7 @@ void *tnet_transport_mainthread(void *param)
|
|||
}
|
||||
//else
|
||||
{
|
||||
transport_socket_remove(i, context);
|
||||
removeSocket(i, context);
|
||||
TNET_PRINT_LAST_ERROR("recv have failed.");
|
||||
continue;
|
||||
}
|
||||
|
@ -493,10 +535,10 @@ bail:
|
|||
transport->active = 0;
|
||||
|
||||
/* cleanup */
|
||||
while(context->count)
|
||||
{
|
||||
transport_socket_remove(0, context);
|
||||
while(context->count){
|
||||
removeSocket(0, context);
|
||||
}
|
||||
TSK_FREE(context);
|
||||
|
||||
TSK_DEBUG_INFO("Stopping [%s] server with IP {%s} on port {%d}...", transport->description, transport->master->ip, transport->master->port);
|
||||
return 0;
|
||||
|
|
|
@ -54,8 +54,8 @@ typedef struct transport_context_s
|
|||
}
|
||||
transport_context_t;
|
||||
|
||||
static void transport_socket_add(tnet_fd_t fd, transport_context_t *context, int take_ownership);
|
||||
static void transport_socket_remove(int index, transport_context_t *context);
|
||||
static void addSocket(tnet_fd_t fd, transport_context_t *context, int take_ownership);
|
||||
static void removeSocket(int index, transport_context_t *context);
|
||||
|
||||
/* Checks if socket is connected */
|
||||
int tnet_transport_isconnected(const tnet_transport_handle_t *handle, tnet_fd_t fd)
|
||||
|
@ -167,7 +167,7 @@ int tnet_transport_remove_socket(const tnet_transport_handle_t *handle, tnet_fd_
|
|||
|
||||
for(i=0; i<context->count; i++){
|
||||
if(context->sockets[i]->fd == fd){
|
||||
transport_socket_remove(i, context);
|
||||
removeSocket(i, context);
|
||||
found = 1;
|
||||
break;
|
||||
}
|
||||
|
@ -354,7 +354,7 @@ int CALLBACK AcceptCondFunc(LPWSABUF lpCallerId, LPWSABUF lpCallerData, LPQOS lp
|
|||
}
|
||||
|
||||
/*== Add new socket ==*/
|
||||
static void transport_socket_add(tnet_fd_t fd, transport_context_t *context, int take_ownership)
|
||||
static void addSocket(tnet_fd_t fd, transport_context_t *context, int take_ownership)
|
||||
{
|
||||
transport_socket_t *sock = tsk_calloc(1, sizeof(transport_socket_t));
|
||||
sock->fd = fd;
|
||||
|
@ -367,7 +367,7 @@ static void transport_socket_add(tnet_fd_t fd, transport_context_t *context, int
|
|||
}
|
||||
|
||||
/*== Remove socket ==*/
|
||||
static void transport_socket_remove(int index, transport_context_t *context)
|
||||
static void removeSocket(int index, transport_context_t *context)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
|
@ -383,8 +383,7 @@ static void transport_socket_remove(int index, transport_context_t *context)
|
|||
// Close event
|
||||
WSACloseEvent(context->events[index]);
|
||||
|
||||
for(i=index ; i<context->count-1; i++)
|
||||
{
|
||||
for(i=index ; i<context->count-1; i++){
|
||||
context->sockets[i] = context->sockets[i+1];
|
||||
context->events[i] = context->events[i+1];
|
||||
}
|
||||
|
@ -639,4 +638,4 @@ bail:
|
|||
}
|
||||
|
||||
#endif /* TNET_UNDER_WINDOWS */
|
||||
|
||||
|
||||
|
|
|
@ -431,9 +431,8 @@ int tnet_getbestsource(const char* destination, tnet_socket_type_t type, tnet_ip
|
|||
struct sockaddr_storage destAddr;
|
||||
tnet_addresses_L_t* addresses = 0;
|
||||
const tsk_list_item_t* item;
|
||||
#if TNET_UNDER_WINDOWS
|
||||
DWORD dwBestIfIndex;
|
||||
#endif
|
||||
|
||||
long dwBestIfIndex;
|
||||
|
||||
if(!destination || !source){
|
||||
goto bail;
|
||||
|
|
|
@ -1,49 +1,52 @@
|
|||
/*
|
||||
* Copyright (C) 2009 Mamadou Diop.
|
||||
*
|
||||
* Contact: Mamadou Diop <diopmamadou@yahoo.fr>
|
||||
*
|
||||
* This file is part of Open Source Doubango Framework.
|
||||
*
|
||||
* DOUBANGO is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* DOUBANGO is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with DOUBANGO.
|
||||
*
|
||||
*/
|
||||
|
||||
/**@file tsip_transport_ipsec.h
|
||||
* @brief SIP/IPSec transport.
|
||||
*
|
||||
* @author Mamadou Diop <diopmamadou(at)yahoo.fr>
|
||||
*
|
||||
* @date Created: Sat Nov 8 16:54:58 2009 mdiop
|
||||
*/
|
||||
#ifndef TINYSIP_TRANSPORT_IPSEC_H
|
||||
#define TINYSIP_TRANSPORT_IPSEC_H
|
||||
|
||||
#include "tinysip_config.h"
|
||||
|
||||
#include "tinysip/transports/tsip_transport.h"
|
||||
|
||||
TSIP_BEGIN_DECLS
|
||||
|
||||
#define TSIP_TRANSPORT_IPSEC_CREATE(stack, host, port, type, description) tsk_object_new(tsip_transport_ipsec_def_t, stack, (const char*)host, (tnet_port_t)port, (tnet_socket_type_t)type, (const char*) description)
|
||||
#define TSIP_TRANSPORT_IPSEC(self) ((tsip_transport_ipsec_t*)(self))
|
||||
|
||||
int tsip_transport_ipsec_send(struct tsip_transport_ipsec_s* self, tsip_message_t* msg);
|
||||
int tsip_transport_ipsec_asso_kill(struct tsip_transport_ipsec_s* self);
|
||||
|
||||
TINYSIP_GEXTERN const void *tsip_transport_ipsec_def_t;
|
||||
|
||||
TSIP_END_DECLS
|
||||
|
||||
#endif /* TINYSIP_TRANSPORT_IPSEC_H */
|
||||
/*
|
||||
* Copyright (C) 2009 Mamadou Diop.
|
||||
*
|
||||
* Contact: Mamadou Diop <diopmamadou@yahoo.fr>
|
||||
*
|
||||
* This file is part of Open Source Doubango Framework.
|
||||
*
|
||||
* DOUBANGO is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* DOUBANGO is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with DOUBANGO.
|
||||
*
|
||||
*/
|
||||
|
||||
/**@file tsip_transport_ipsec.h
|
||||
* @brief SIP/IPSec transport.
|
||||
*
|
||||
* @author Mamadou Diop <diopmamadou(at)yahoo.fr>
|
||||
*
|
||||
* @date Created: Sat Nov 8 16:54:58 2009 mdiop
|
||||
*/
|
||||
#ifndef TINYSIP_TRANSPORT_IPSEC_H
|
||||
#define TINYSIP_TRANSPORT_IPSEC_H
|
||||
|
||||
#include "tinysip_config.h"
|
||||
|
||||
#include "tinysip/transports/tsip_transport.h"
|
||||
|
||||
TSIP_BEGIN_DECLS
|
||||
|
||||
// FD
|
||||
struct tsip_transport_ipsec_s;
|
||||
|
||||
#define TSIP_TRANSPORT_IPSEC_CREATE(stack, host, port, type, description) tsk_object_new(tsip_transport_ipsec_def_t, stack, (const char*)host, (tnet_port_t)port, (tnet_socket_type_t)type, (const char*) description)
|
||||
#define TSIP_TRANSPORT_IPSEC(self) ((tsip_transport_ipsec_t*)(self))
|
||||
|
||||
//int tsip_transport_ipsec_send(struct tsip_transport_ipsec_s* self, tsip_message_t* msg);
|
||||
int tsip_transport_ipsec_asso_kill(struct tsip_transport_ipsec_s* self);
|
||||
|
||||
TINYSIP_GEXTERN const void *tsip_transport_ipsec_def_t;
|
||||
|
||||
TSIP_END_DECLS
|
||||
|
||||
#endif /* TINYSIP_TRANSPORT_IPSEC_H */
|
||||
|
|
|
@ -93,26 +93,26 @@ int tsip_registration_callback(const tsip_register_event_t *sipevent)
|
|||
/* registration part */
|
||||
switch(sipevent->type)
|
||||
{
|
||||
case tsip_ao_register:
|
||||
{
|
||||
if(TSIP_RESPONSE_IS_2XX(TSIP_EVENT(sipevent)->sipmessage)){
|
||||
TSK_DEBUG_INFO("Registration succeed.");
|
||||
}
|
||||
else{
|
||||
TSK_DEBUG_INFO("Registration failed.");
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case tsip_ao_unregister:
|
||||
{
|
||||
if(TSIP_RESPONSE_IS_2XX(TSIP_EVENT(sipevent)->sipmessage)){
|
||||
TSK_DEBUG_INFO("Unregistration succeed.");
|
||||
}
|
||||
else{
|
||||
TSK_DEBUG_INFO("Unregistration failed.");
|
||||
}
|
||||
break;
|
||||
case tsip_ao_register:
|
||||
{
|
||||
if(TSIP_RESPONSE_IS_2XX(TSIP_EVENT(sipevent)->sipmessage)){
|
||||
TSK_DEBUG_INFO("Registration succeed.");
|
||||
}
|
||||
else{
|
||||
TSK_DEBUG_INFO("Registration failed.");
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case tsip_ao_unregister:
|
||||
{
|
||||
if(TSIP_RESPONSE_IS_2XX(TSIP_EVENT(sipevent)->sipmessage)){
|
||||
TSK_DEBUG_INFO("Unregistration succeed.");
|
||||
}
|
||||
else{
|
||||
TSK_DEBUG_INFO("Unregistration failed.");
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
|
@ -135,13 +135,12 @@ void test_stack()
|
|||
TSIP_STACK_SET_PROXY_CSCF("proxy.sipthor.net", "udp", 0),
|
||||
//TSIP_STACK_SET_PROXY_CSCF("192.168.0.15", "udp", 0),
|
||||
TSIP_STACK_SET_PROXY_CSCF_PORT(5060),
|
||||
TSIP_STACK_SET_SEC_AGREE_MECH("ipsec-3gpp"),
|
||||
TSIP_STACK_SET_MOBILITY("fixed"),
|
||||
TSIP_STACK_SET_DEVICE_ID("DD1289FA-C3D7-47bd-A40D-F1F1B2CC5FFC"),
|
||||
TSIP_STACK_SET_NETINFO("ADSL;utran-cell-id-3gpp=00000000"),
|
||||
TSIP_STACK_SET_PRIVACY("header;id"),
|
||||
*/
|
||||
/*
|
||||
|
||||
tsip_stack_handle_t *stack = tsip_stack_create(test_stack_callback,
|
||||
TSIP_STACK_SET_DISPLAY_NAME("Mamadou"),
|
||||
TSIP_STACK_SET_PUBLIC_IDENTITY("sip:mamadou@ericsson.com"),
|
||||
|
@ -150,16 +149,15 @@ void test_stack()
|
|||
TSIP_STACK_SET_REALM("sip:ericsson.com"), // FIXME: without sip:
|
||||
TSIP_STACK_SET_LOCAL_IP(LOCAL_IP),
|
||||
//TSIP_STACK_SET_DISCOVERY_NAPTR(1),
|
||||
TSIP_STACK_SET_PROXY_CSCF("192.168.0.11", "tcp", 0),
|
||||
TSIP_STACK_SET_PROXY_CSCF("192.168.0.11", "udp", 0),
|
||||
//TSIP_STACK_SET_PROXY_CSCF("192.168.0.15", "udp", 0),
|
||||
TSIP_STACK_SET_PROXY_CSCF_PORT(5081),
|
||||
TSIP_STACK_SET_SEC_AGREE_MECH("ipsec-3gpp"),
|
||||
TSIP_STACK_SET_MOBILITY("fixed"),
|
||||
TSIP_STACK_SET_DEVICE_ID("DD1289FA-C3D7-47bd-A40D-F1F1B2CC5FFC"),
|
||||
TSIP_STACK_SET_NETINFO("ADSL;utran-cell-id-3gpp=00000000"),
|
||||
TSIP_STACK_SET_PRIVACY("header;id"),
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
tsip_stack_handle_t *stack = tsip_stack_create(test_stack_callback,
|
||||
TSIP_STACK_SET_DISPLAY_NAME("Mamadou"),
|
||||
TSIP_STACK_SET_PUBLIC_IDENTITY("sip:mamadou@ims.inexbee.com"),
|
||||
|
@ -176,7 +174,8 @@ void test_stack()
|
|||
TSIP_STACK_SET_DEVICE_ID("DD1289FA-C3D7-47bd-A40D-F1F1B2CC5FFC"),
|
||||
TSIP_STACK_SET_NETINFO("ADSL;utran-cell-id-3gpp=00000000"),
|
||||
TSIP_STACK_SET_PRIVACY("header;id"),
|
||||
|
||||
*/
|
||||
|
||||
TSIP_STACK_SET_NULL());
|
||||
|
||||
tsip_operation_handle_t *op = TSIP_OPERATION_CREATE(stack,
|
||||
|
@ -202,7 +201,7 @@ void test_stack()
|
|||
TSIP_OPERATION_SET_PARAM("expires", "30"),
|
||||
TSIP_OPERATION_SET_PARAM("package", "reg"),
|
||||
TSIP_OPERATION_SET_PARAM("accept", "application/reginfo+xml"),
|
||||
TSIP_OPERATION_SET_PARAM("to", "sip:mamadou@sip2sip.info"),
|
||||
TSIP_OPERATION_SET_PARAM("to", "sip:mamadou@ericsson.com"),
|
||||
|
||||
TSIP_OPERATION_SET_NULL());
|
||||
tsip_subscribe(stack, op2);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -3,7 +3,7 @@
|
|||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>ActivePerspectiveName</key>
|
||||
<string>Debug</string>
|
||||
<string>Project</string>
|
||||
<key>AllowedModules</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
@ -200,8 +200,8 @@
|
|||
<array/>
|
||||
<key>PerspectiveWidths</key>
|
||||
<array>
|
||||
<integer>1668</integer>
|
||||
<integer>1668</integer>
|
||||
<integer>1508</integer>
|
||||
<integer>1508</integer>
|
||||
</array>
|
||||
<key>Perspectives</key>
|
||||
<array>
|
||||
|
@ -230,6 +230,8 @@
|
|||
<key>Layout</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>BecomeActive</key>
|
||||
<true/>
|
||||
<key>ContentConfiguration</key>
|
||||
<dict>
|
||||
<key>PBXBottomSmartGroupGIDs</key>
|
||||
|
@ -255,7 +257,7 @@
|
|||
<dict>
|
||||
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
|
||||
<array>
|
||||
<real>290</real>
|
||||
<real>337</real>
|
||||
</array>
|
||||
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
|
||||
<array>
|
||||
|
@ -267,18 +269,19 @@
|
|||
<key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
|
||||
<array>
|
||||
<string>08FB7794FE84155DC02AAC07</string>
|
||||
<string>ECED644710F9957A006B4DC9</string>
|
||||
<string>ECED6B0E10F9A953006B4DC9</string>
|
||||
<string>1C37FBAC04509CD000000102</string>
|
||||
<string>ECF46DD311347FCD00390CBE</string>
|
||||
<string>ECF46DD411347FCD00390CBE</string>
|
||||
</array>
|
||||
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
|
||||
<array>
|
||||
<array>
|
||||
<integer>30</integer>
|
||||
<integer>25</integer>
|
||||
<integer>0</integer>
|
||||
</array>
|
||||
</array>
|
||||
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
|
||||
<string>{{0, 0}, {290, 939}}</string>
|
||||
<string>{{0, 0}, {337, 751}}</string>
|
||||
</dict>
|
||||
<key>PBXTopSmartGroupGIDs</key>
|
||||
<array/>
|
||||
|
@ -288,17 +291,19 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 0}, {307, 957}}</string>
|
||||
<string>{{0, 0}, {354, 769}}</string>
|
||||
<key>GroupTreeTableConfiguration</key>
|
||||
<array>
|
||||
<string>MainColumn</string>
|
||||
<real>290</real>
|
||||
<real>337</real>
|
||||
</array>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>164 133 1508 810 0 0 1920 1178 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXSmartGroupTreeModule</string>
|
||||
<key>Proportion</key>
|
||||
<string>307pt</string>
|
||||
<string>354pt</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Dock</key>
|
||||
|
@ -309,7 +314,7 @@
|
|||
<key>PBXProjectModuleGUID</key>
|
||||
<string>ECED643E10F99551006B4DC9</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>tsip_transac_nict.c</string>
|
||||
<string>tinyipsec_config.h</string>
|
||||
<key>PBXSplitModuleInNavigatorKey</key>
|
||||
<dict>
|
||||
<key>Split0</key>
|
||||
|
@ -317,176 +322,56 @@
|
|||
<key>PBXProjectModuleGUID</key>
|
||||
<string>ECED643F10F99551006B4DC9</string>
|
||||
<key>PBXProjectModuleLabel</key>
|
||||
<string>tsip_transac_nict.c</string>
|
||||
<string>tinyipsec_config.h</string>
|
||||
<key>_historyCapacity</key>
|
||||
<integer>0</integer>
|
||||
<key>bookmark</key>
|
||||
<string>ECE8D4D210FBD7D400B2464F</string>
|
||||
<string>ECF46DD811347FCD00390CBE</string>
|
||||
<key>history</key>
|
||||
<array>
|
||||
<string>ECED6B2310F9AAB1006B4DC9</string>
|
||||
<string>ECED6B2410F9AAB1006B4DC9</string>
|
||||
<string>ECED6B2510F9AAB1006B4DC9</string>
|
||||
<string>ECED6B2810F9AAB1006B4DC9</string>
|
||||
<string>ECED6B2910F9AAB1006B4DC9</string>
|
||||
<string>ECED6B2A10F9AAB1006B4DC9</string>
|
||||
<string>ECED6B2B10F9AAB1006B4DC9</string>
|
||||
<string>ECED6B2D10F9AAB1006B4DC9</string>
|
||||
<string>ECED6B3310F9AAB1006B4DC9</string>
|
||||
<string>ECED6B3610F9AAB1006B4DC9</string>
|
||||
<string>ECED6B3710F9AAB1006B4DC9</string>
|
||||
<string>ECED6B3910F9AAB1006B4DC9</string>
|
||||
<string>ECED6B3A10F9AAB1006B4DC9</string>
|
||||
<string>ECED6B3C10F9AAB1006B4DC9</string>
|
||||
<string>ECED6B3D10F9AAB1006B4DC9</string>
|
||||
<string>ECED6B3F10F9AAB1006B4DC9</string>
|
||||
<string>ECED6B9B10F9ABC2006B4DC9</string>
|
||||
<string>ECED6BAC10F9ACCE006B4DC9</string>
|
||||
<string>ECED6BAE10F9ACCE006B4DC9</string>
|
||||
<string>ECED6BB010F9ACCE006B4DC9</string>
|
||||
<string>EC02B10A10FA4E8C0055FBF1</string>
|
||||
<string>EC02B10B10FA4E8C0055FBF1</string>
|
||||
<string>EC02B10C10FA4E8C0055FBF1</string>
|
||||
<string>EC02B10D10FA4E8C0055FBF1</string>
|
||||
<string>EC02B10F10FA4E8C0055FBF1</string>
|
||||
<string>EC02B11010FA4E8C0055FBF1</string>
|
||||
<string>EC02B11410FA4E8C0055FBF1</string>
|
||||
<string>EC02B11510FA4E8C0055FBF1</string>
|
||||
<string>EC02B11710FA4E8C0055FBF1</string>
|
||||
<string>EC02B11910FA4E8C0055FBF1</string>
|
||||
<string>EC02B11B10FA4E8C0055FBF1</string>
|
||||
<string>EC02B11C10FA4E8C0055FBF1</string>
|
||||
<string>EC02B11D10FA4E8C0055FBF1</string>
|
||||
<string>EC02B11E10FA4E8C0055FBF1</string>
|
||||
<string>EC02B11F10FA4E8C0055FBF1</string>
|
||||
<string>EC02B12010FA4E8C0055FBF1</string>
|
||||
<string>EC02B12110FA4E8C0055FBF1</string>
|
||||
<string>EC02B12310FA4E8C0055FBF1</string>
|
||||
<string>EC02B15E10FA4EFA0055FBF1</string>
|
||||
<string>EC02B17310FA4FF50055FBF1</string>
|
||||
<string>EC02B23710FA51B70055FBF1</string>
|
||||
<string>EC02B23810FA51B70055FBF1</string>
|
||||
<string>EC02B24D10FA51E70055FBF1</string>
|
||||
<string>EC02B26F10FA537D0055FBF1</string>
|
||||
<string>EC02B28210FA54470055FBF1</string>
|
||||
<string>EC02B29310FA55620055FBF1</string>
|
||||
<string>EC02B29C10FA55820055FBF1</string>
|
||||
<string>EC02B2C010FA56AF0055FBF1</string>
|
||||
<string>EC02B2F710FA59110055FBF1</string>
|
||||
<string>EC02B32810FA5D210055FBF1</string>
|
||||
<string>EC02B32910FA5D210055FBF1</string>
|
||||
<string>EC02B32A10FA5D210055FBF1</string>
|
||||
<string>EC02B32E10FA5D210055FBF1</string>
|
||||
<string>EC02B33010FA5D210055FBF1</string>
|
||||
<string>EC02B3A410FA626E0055FBF1</string>
|
||||
<string>EC02B3B410FA632B0055FBF1</string>
|
||||
<string>EC02B3C810FA64040055FBF1</string>
|
||||
<string>EC02B3D910FA645F0055FBF1</string>
|
||||
<string>EC02B3F810FA65230055FBF1</string>
|
||||
<string>EC02B42110FA66EB0055FBF1</string>
|
||||
<string>EC02B42F10FA673D0055FBF1</string>
|
||||
<string>EC02B43D10FA69BE0055FBF1</string>
|
||||
<string>EC02B43F10FA69BE0055FBF1</string>
|
||||
<string>EC02B47610FA6FC50055FBF1</string>
|
||||
<string>EC02B47710FA6FC50055FBF1</string>
|
||||
<string>EC02B47C10FA6FC50055FBF1</string>
|
||||
<string>EC02B47D10FA6FC50055FBF1</string>
|
||||
<string>EC02B4A710FA6FFC0055FBF1</string>
|
||||
<string>EC02B4CD10FA71110055FBF1</string>
|
||||
<string>ECE8D4C010FBD76500B2464F</string>
|
||||
<string>ECE8D4C110FBD76500B2464F</string>
|
||||
<string>ECE8D4C210FBD76500B2464F</string>
|
||||
<string>ECE8D4C310FBD76500B2464F</string>
|
||||
<string>ECE8D4C410FBD76500B2464F</string>
|
||||
<string>ECE8D4C510FBD76500B2464F</string>
|
||||
<string>ECF46D7B11347A2A00390CBE</string>
|
||||
<string>ECF46D7C11347A2A00390CBE</string>
|
||||
<string>ECF46D7D11347A2A00390CBE</string>
|
||||
<string>ECF46D7E11347A2A00390CBE</string>
|
||||
<string>ECF46D7F11347A2A00390CBE</string>
|
||||
<string>ECF46D8011347A2A00390CBE</string>
|
||||
<string>ECF46D8111347A2A00390CBE</string>
|
||||
<string>ECF46D9F11347C1200390CBE</string>
|
||||
<string>ECF46DA011347C1200390CBE</string>
|
||||
<string>ECF46DA111347C1200390CBE</string>
|
||||
<string>ECF46DA211347C1200390CBE</string>
|
||||
<string>ECF46DA311347C1200390CBE</string>
|
||||
<string>ECF46DA411347C1200390CBE</string>
|
||||
<string>ECF46DD511347FCD00390CBE</string>
|
||||
<string>ECF46DD611347FCD00390CBE</string>
|
||||
</array>
|
||||
<key>prevStack</key>
|
||||
<array>
|
||||
<string>ECED6B4310F9AAB1006B4DC9</string>
|
||||
<string>ECED6B4410F9AAB1006B4DC9</string>
|
||||
<string>ECED6B4510F9AAB1006B4DC9</string>
|
||||
<string>ECED6B4610F9AAB1006B4DC9</string>
|
||||
<string>ECED6B4710F9AAB1006B4DC9</string>
|
||||
<string>ECED6B4810F9AAB1006B4DC9</string>
|
||||
<string>ECED6B4A10F9AAB1006B4DC9</string>
|
||||
<string>ECED6B4C10F9AAB1006B4DC9</string>
|
||||
<string>ECED6B4D10F9AAB1006B4DC9</string>
|
||||
<string>ECED6B4E10F9AAB1006B4DC9</string>
|
||||
<string>ECED6B4F10F9AAB1006B4DC9</string>
|
||||
<string>ECED6B5010F9AAB1006B4DC9</string>
|
||||
<string>ECED6B5210F9AAB1006B4DC9</string>
|
||||
<string>ECED6B6610F9AAB1006B4DC9</string>
|
||||
<string>ECED6B6710F9AAB1006B4DC9</string>
|
||||
<string>ECED6B6810F9AAB1006B4DC9</string>
|
||||
<string>ECED6B6C10F9AAB1006B4DC9</string>
|
||||
<string>ECED6B6D10F9AAB1006B4DC9</string>
|
||||
<string>ECED6B7110F9AAB1006B4DC9</string>
|
||||
<string>ECED6B7210F9AAB1006B4DC9</string>
|
||||
<string>ECED6B7310F9AAB1006B4DC9</string>
|
||||
<string>ECED6B7410F9AAB1006B4DC9</string>
|
||||
<string>ECED6B7510F9AAB1006B4DC9</string>
|
||||
<string>ECED6B7710F9AAB1006B4DC9</string>
|
||||
<string>ECED6B8E10F9AB24006B4DC9</string>
|
||||
<string>ECED6B9D10F9ABC2006B4DC9</string>
|
||||
<string>ECED6B9E10F9ABC2006B4DC9</string>
|
||||
<string>ECED6B9F10F9ABC2006B4DC9</string>
|
||||
<string>ECED6BA010F9ABC2006B4DC9</string>
|
||||
<string>ECED6BA410F9ABC2006B4DC9</string>
|
||||
<string>ECED6BB410F9ACCE006B4DC9</string>
|
||||
<string>ECED6BB510F9ACCE006B4DC9</string>
|
||||
<string>ECED6BB710F9ACCE006B4DC9</string>
|
||||
<string>ECED6BB910F9ACCE006B4DC9</string>
|
||||
<string>EC02B12610FA4E8C0055FBF1</string>
|
||||
<string>EC02B12710FA4E8C0055FBF1</string>
|
||||
<string>EC02B12810FA4E8C0055FBF1</string>
|
||||
<string>EC02B12B10FA4E8C0055FBF1</string>
|
||||
<string>EC02B12C10FA4E8C0055FBF1</string>
|
||||
<string>EC02B13010FA4E8C0055FBF1</string>
|
||||
<string>EC02B13110FA4E8C0055FBF1</string>
|
||||
<string>EC02B13610FA4E8C0055FBF1</string>
|
||||
<string>EC02B13D10FA4E8C0055FBF1</string>
|
||||
<string>EC02B13F10FA4E8C0055FBF1</string>
|
||||
<string>EC02B14610FA4E8C0055FBF1</string>
|
||||
<string>EC02B14910FA4E8C0055FBF1</string>
|
||||
<string>EC02B14A10FA4E8C0055FBF1</string>
|
||||
<string>EC02B15010FA4E8C0055FBF1</string>
|
||||
<string>EC02B15110FA4E8C0055FBF1</string>
|
||||
<string>EC02B15210FA4E8C0055FBF1</string>
|
||||
<string>EC02B15310FA4E8C0055FBF1</string>
|
||||
<string>EC02B17E10FA4FF50055FBF1</string>
|
||||
<string>EC02B18310FA4FF50055FBF1</string>
|
||||
<string>EC02B26010FA532E0055FBF1</string>
|
||||
<string>EC02B27210FA537D0055FBF1</string>
|
||||
<string>EC02B28510FA54470055FBF1</string>
|
||||
<string>EC02B29610FA55620055FBF1</string>
|
||||
<string>EC02B29F10FA55820055FBF1</string>
|
||||
<string>EC02B2BA10FA569B0055FBF1</string>
|
||||
<string>EC02B2D210FA570D0055FBF1</string>
|
||||
<string>EC02B31410FA5A940055FBF1</string>
|
||||
<string>EC02B33410FA5D210055FBF1</string>
|
||||
<string>EC02B33510FA5D210055FBF1</string>
|
||||
<string>EC02B34610FA5D210055FBF1</string>
|
||||
<string>EC02B34B10FA5D210055FBF1</string>
|
||||
<string>EC02B35310FA5D210055FBF1</string>
|
||||
<string>EC02B3D610FA64430055FBF1</string>
|
||||
<string>EC02B44510FA69BE0055FBF1</string>
|
||||
<string>EC02B44610FA69BE0055FBF1</string>
|
||||
<string>EC02B48610FA6FC50055FBF1</string>
|
||||
<string>EC02B48710FA6FC50055FBF1</string>
|
||||
<string>EC02B48A10FA6FC50055FBF1</string>
|
||||
<string>EC02B48D10FA6FC50055FBF1</string>
|
||||
<string>EC02B49E10FA6FC50055FBF1</string>
|
||||
<string>ECE8D4C610FBD76500B2464F</string>
|
||||
<string>ECE8D4C710FBD76500B2464F</string>
|
||||
<string>ECE8D4C810FBD76500B2464F</string>
|
||||
<string>ECE8D4C910FBD76500B2464F</string>
|
||||
<string>ECE8D4CA10FBD76500B2464F</string>
|
||||
<string>ECE8D4CB10FBD76500B2464F</string>
|
||||
<string>ECE8D4CC10FBD76500B2464F</string>
|
||||
<string>ECE8D4CD10FBD76500B2464F</string>
|
||||
<string>ECE8D4CE10FBD76500B2464F</string>
|
||||
<string>ECE8D4CF10FBD76500B2464F</string>
|
||||
<string>ECE8D4D010FBD76500B2464F</string>
|
||||
<string>ECF46D8411347A2A00390CBE</string>
|
||||
<string>ECF46D8511347A2A00390CBE</string>
|
||||
<string>ECF46D8611347A2A00390CBE</string>
|
||||
<string>ECF46D8711347A2A00390CBE</string>
|
||||
<string>ECF46D8811347A2A00390CBE</string>
|
||||
<string>ECF46D8911347A2A00390CBE</string>
|
||||
<string>ECF46D8A11347A2A00390CBE</string>
|
||||
<string>ECF46D8B11347A2A00390CBE</string>
|
||||
<string>ECF46D8C11347A2A00390CBE</string>
|
||||
<string>ECF46D8D11347A2A00390CBE</string>
|
||||
<string>ECF46D8E11347A2A00390CBE</string>
|
||||
<string>ECF46D8F11347A2A00390CBE</string>
|
||||
<string>ECF46D9011347A2A00390CBE</string>
|
||||
<string>ECF46D9111347A2A00390CBE</string>
|
||||
<string>ECF46D9211347A2A00390CBE</string>
|
||||
<string>ECF46D9311347A2A00390CBE</string>
|
||||
<string>ECF46DA611347C1200390CBE</string>
|
||||
<string>ECF46DA711347C1200390CBE</string>
|
||||
<string>ECF46DA811347C1200390CBE</string>
|
||||
<string>ECF46DA911347C1200390CBE</string>
|
||||
<string>ECF46DAA11347C1200390CBE</string>
|
||||
<string>ECF46DAB11347C1200390CBE</string>
|
||||
<string>ECF46DAC11347C1200390CBE</string>
|
||||
<string>ECF46DAD11347C1200390CBE</string>
|
||||
<string>ECF46DD711347FCD00390CBE</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>SplitCount</key>
|
||||
|
@ -500,16 +385,18 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 0}, {1356, 785}}</string>
|
||||
<string>{{0, 0}, {1149, 526}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>164 133 1508 810 0 0 1920 1178 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXNavigatorGroup</string>
|
||||
<key>Proportion</key>
|
||||
<string>785pt</string>
|
||||
<string>526pt</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Proportion</key>
|
||||
<string>167pt</string>
|
||||
<string>238pt</string>
|
||||
<key>Tabs</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
@ -523,7 +410,9 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{10, 27}, {1356, 140}}</string>
|
||||
<string>{{10, 27}, {1149, 211}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>164 133 1508 810 0 0 1920 1178 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>XCDetailModule</string>
|
||||
|
@ -577,7 +466,7 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{10, 27}, {1356, 140}}</string>
|
||||
<string>{{10, 27}, {1149, 211}}</string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXBuildResultsModule</string>
|
||||
|
@ -586,7 +475,7 @@
|
|||
</dict>
|
||||
</array>
|
||||
<key>Proportion</key>
|
||||
<string>1356pt</string>
|
||||
<string>1149pt</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>Name</key>
|
||||
|
@ -605,11 +494,11 @@
|
|||
</array>
|
||||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>ECE8D4D310FBD7D400B2464F</string>
|
||||
<string>ECF46A0111346DE700390CBE</string>
|
||||
<string>1CA23ED40692098700951B8B</string>
|
||||
<string>ECE8D4D410FBD7D400B2464F</string>
|
||||
<string>ECF46A0211346DE700390CBE</string>
|
||||
<string>ECED643E10F99551006B4DC9</string>
|
||||
<string>ECE8D4D510FBD7D400B2464F</string>
|
||||
<string>ECF46A0311346DE700390CBE</string>
|
||||
<string>1CA23EDF0692099D00951B8B</string>
|
||||
<string>1CA23EE00692099D00951B8B</string>
|
||||
<string>1CA23EE10692099D00951B8B</string>
|
||||
|
@ -648,8 +537,6 @@
|
|||
<key>Layout</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>BecomeActive</key>
|
||||
<true/>
|
||||
<key>ContentConfiguration</key>
|
||||
<dict>
|
||||
<key>PBXProjectModuleGUID</key>
|
||||
|
@ -660,14 +547,12 @@
|
|||
<key>GeometryConfiguration</key>
|
||||
<dict>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 0}, {1668, 342}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>365 180 1668 998 0 0 1920 1178 </string>
|
||||
<string>{{0, 0}, {1508, 154}}</string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXDebugCLIModule</string>
|
||||
<key>Proportion</key>
|
||||
<string>342pt</string>
|
||||
<string>154pt</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>ContentConfiguration</key>
|
||||
|
@ -686,8 +571,8 @@
|
|||
<string>yes</string>
|
||||
<key>sizes</key>
|
||||
<array>
|
||||
<string>{{0, 0}, {814, 295}}</string>
|
||||
<string>{{814, 0}, {854, 295}}</string>
|
||||
<string>{{0, 0}, {736, 296}}</string>
|
||||
<string>{{736, 0}, {772, 296}}</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>VerticalSplitView</key>
|
||||
|
@ -702,8 +587,8 @@
|
|||
<string>yes</string>
|
||||
<key>sizes</key>
|
||||
<array>
|
||||
<string>{{0, 0}, {1668, 295}}</string>
|
||||
<string>{{0, 295}, {1668, 315}}</string>
|
||||
<string>{{0, 0}, {1508, 296}}</string>
|
||||
<string>{{0, 296}, {1508, 314}}</string>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
|
@ -723,7 +608,7 @@
|
|||
<key>DebugSTDIOWindowFrame</key>
|
||||
<string>{{200, 200}, {500, 300}}</string>
|
||||
<key>Frame</key>
|
||||
<string>{{0, 347}, {1668, 610}}</string>
|
||||
<string>{{0, 159}, {1508, 610}}</string>
|
||||
<key>PBXDebugSessionStackFrameViewKey</key>
|
||||
<dict>
|
||||
<key>DebugVariablesTableConfiguration</key>
|
||||
|
@ -733,15 +618,11 @@
|
|||
<string>Value</string>
|
||||
<real>85</real>
|
||||
<string>Summary</string>
|
||||
<real>624</real>
|
||||
<real>542</real>
|
||||
</array>
|
||||
<key>Frame</key>
|
||||
<string>{{814, 0}, {854, 295}}</string>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>365 180 1668 998 0 0 1920 1178 </string>
|
||||
<string>{{736, 0}, {772, 296}}</string>
|
||||
</dict>
|
||||
<key>RubberWindowFrame</key>
|
||||
<string>365 180 1668 998 0 0 1920 1178 </string>
|
||||
</dict>
|
||||
<key>Module</key>
|
||||
<string>PBXDebugSessionModule</string>
|
||||
|
@ -764,14 +645,14 @@
|
|||
</array>
|
||||
<key>TableOfContents</key>
|
||||
<array>
|
||||
<string>ECE8D4D610FBD7D400B2464F</string>
|
||||
<string>ECF46A0411346DE700390CBE</string>
|
||||
<string>1CCC7628064C1048000F2A68</string>
|
||||
<string>1CCC7629064C1048000F2A68</string>
|
||||
<string>ECE8D4D710FBD7D400B2464F</string>
|
||||
<string>ECE8D4D810FBD7D400B2464F</string>
|
||||
<string>ECE8D4D910FBD7D400B2464F</string>
|
||||
<string>ECE8D4DA10FBD7D400B2464F</string>
|
||||
<string>ECED643E10F99551006B4DC9</string>
|
||||
<string>ECF46A0511346DE700390CBE</string>
|
||||
<string>ECF46A0611346DE700390CBE</string>
|
||||
<string>ECF46A0711346DE700390CBE</string>
|
||||
<string>ECF46A0811346DE700390CBE</string>
|
||||
<string>ECF4691811346BB900390CBE</string>
|
||||
</array>
|
||||
<key>ToolbarConfiguration</key>
|
||||
<string>xcode.toolbar.config.debugV3</string>
|
||||
|
@ -801,12 +682,10 @@
|
|||
<integer>5</integer>
|
||||
<key>WindowOrderList</key>
|
||||
<array>
|
||||
<string>ECE8D4DB10FBD7D400B2464F</string>
|
||||
<string>ECE8D4DC10FBD7D400B2464F</string>
|
||||
<string>/Users/diopmamadou/Documents/doubango/xcode/tinySIP/tinySIP.xcodeproj</string>
|
||||
</array>
|
||||
<key>WindowString</key>
|
||||
<string>365 180 1668 998 0 0 1920 1178 </string>
|
||||
<string>164 133 1508 810 0 0 1920 1178 </string>
|
||||
<key>WindowToolsV3</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue