mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-17 11:08:06 +00:00
-force PDP context allocation if network not reachable
-use 2 ip addresses for tunnels
This commit is contained in:
parent
357b76c6e7
commit
689514f408
9 changed files with 129 additions and 7680 deletions
|
|
@ -1,216 +0,0 @@
|
|||
#include "bitlib.hh"
|
||||
#include <stdlib.h>
|
||||
typedef unsigned int UInt32;
|
||||
namespace BitLib
|
||||
{
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
UInt64 Bit::Add(int start, int length, UInt64 val, UInt32 numToAdd)
|
||||
{
|
||||
int end = start + length - 1;
|
||||
|
||||
UInt64 result = val;
|
||||
|
||||
// Clear out bits that will be modified
|
||||
for (int i = start; i <= end; i++)
|
||||
{
|
||||
result &= ~((UInt64)1 << i);
|
||||
}
|
||||
|
||||
UInt64 n = val >> start;
|
||||
n += numToAdd;
|
||||
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
UInt64 b = n & ((UInt64)1 << i);
|
||||
b = b << start;
|
||||
result |= b;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
UInt64 Bit::Subtract(int start, int length, UInt64 val, UInt32 numToSubtract)
|
||||
{
|
||||
int end = start + length - 1;
|
||||
|
||||
UInt64 result = val;
|
||||
|
||||
// Clear out bits that will be modified
|
||||
for (int i = start; i <= end; i++)
|
||||
{
|
||||
result &= ~((UInt64)1 << i);
|
||||
}
|
||||
|
||||
UInt64 n = val >> start;
|
||||
n -= numToSubtract;
|
||||
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
UInt64 b = n & ((UInt64)1 << i);
|
||||
b = b << start;
|
||||
result |= b;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
UInt64 Bit::Xor(int start, int length, UInt64 val, UInt32 val2)
|
||||
{
|
||||
int end = start + length - 1;
|
||||
|
||||
UInt64 result = val;
|
||||
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
UInt64 b = val2 & ((UInt64)1 << i);
|
||||
b = b << start;
|
||||
result ^= b;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
UInt64 Bit::RotateLeft(int start, int length, UInt64 val)
|
||||
{
|
||||
if (length <= 1)
|
||||
{
|
||||
return val;
|
||||
}
|
||||
|
||||
int end = start + length - 1;
|
||||
|
||||
if (end >= 48)
|
||||
{
|
||||
abort();
|
||||
}
|
||||
|
||||
UInt64 result = val;
|
||||
|
||||
// Clear out bits that will be modified
|
||||
for (int i = start; i <= end; i++)
|
||||
{
|
||||
result &= ~((UInt64)1 << i);
|
||||
}
|
||||
|
||||
// Shift all bits except the last
|
||||
for (int i = start; i < end; i++)
|
||||
{
|
||||
UInt64 b = val & ((UInt64)1 << i);
|
||||
result |= (b << 1);
|
||||
}
|
||||
|
||||
// Wrap the last bit
|
||||
{
|
||||
UInt64 b = val & ((UInt64)1 << end);
|
||||
result |= (b >> (length-1));
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
UInt64 Bit::RotateRight(int start, int length, UInt64 val)
|
||||
{
|
||||
if (length <= 1)
|
||||
{
|
||||
return val;
|
||||
}
|
||||
|
||||
int end = start + length - 1;
|
||||
|
||||
if (end >= 48)
|
||||
{
|
||||
abort();
|
||||
}
|
||||
|
||||
UInt64 result = val;
|
||||
|
||||
// Clear out bits that will be modified
|
||||
for (int i = start; i <= end; i++)
|
||||
{
|
||||
result &= ~((UInt64)1 << i);
|
||||
}
|
||||
|
||||
// Shift all bits except the first
|
||||
for (int i = start+1; i <= end; i++)
|
||||
{
|
||||
UInt64 b = val & ((UInt64)1 << i);
|
||||
result |= (b >> 1);
|
||||
}
|
||||
|
||||
// Wrap the first bit
|
||||
{
|
||||
UInt64 b = val & ((UInt64)1 << start);
|
||||
result |= (b << (length - 1));
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------
|
||||
UInt64 Bit::Swizzle(UInt64 val, const int operations[], int op_len)
|
||||
{
|
||||
int index = 0;
|
||||
|
||||
while (index < op_len)
|
||||
{
|
||||
Operation op = (Operation)operations[index++];
|
||||
|
||||
switch (op)
|
||||
{
|
||||
case OpRor:
|
||||
{
|
||||
int start = operations[index++];
|
||||
int length = operations[index++];
|
||||
val = RotateRight(start, length, val);
|
||||
break;
|
||||
}
|
||||
|
||||
case OpRol:
|
||||
{
|
||||
int start = operations[index++];
|
||||
int length = operations[index++];
|
||||
val = RotateLeft(start, length, val);
|
||||
break;
|
||||
}
|
||||
|
||||
case OpAdd:
|
||||
{
|
||||
int start = operations[index++];
|
||||
int length = operations[index++];
|
||||
UInt32 toAdd = (UInt32)operations[index++];
|
||||
val = Add(start, length, val, toAdd);
|
||||
break;
|
||||
}
|
||||
|
||||
case OpSubtract:
|
||||
{
|
||||
int start = operations[index++];
|
||||
int length = operations[index++];
|
||||
UInt32 toSubtract = (UInt32)operations[index++];
|
||||
val = Subtract(start, length, val, toSubtract);
|
||||
break;
|
||||
}
|
||||
|
||||
case OpXor:
|
||||
{
|
||||
int start = operations[index++];
|
||||
int length = operations[index++];
|
||||
UInt32 toXor = (UInt32)operations[index++];
|
||||
val = Xor(start, length, val, toXor);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
typedef uint64_t UInt64;
|
||||
typedef unsigned int UInt32;
|
||||
typedef uint8_t byte;
|
||||
typedef unsigned int uint;
|
||||
namespace BitLib{
|
||||
class Bit{
|
||||
public:
|
||||
enum Operation{
|
||||
OpRor = 0,
|
||||
OpRol,
|
||||
OpAdd,
|
||||
OpSubtract,
|
||||
OpXor,
|
||||
OpMax
|
||||
};
|
||||
static UInt64 Add(int start, int length, UInt64 val, UInt32 numToAdd);
|
||||
static UInt64 Subtract(int start, int length, UInt64 val, UInt32 numToSubtract);
|
||||
static UInt64 Xor(int start, int length, UInt64 val, UInt32 val2);
|
||||
static UInt64 RotateLeft(int start, int length, UInt64 val);
|
||||
static UInt64 RotateRight(int start, int length, UInt64 val);
|
||||
static UInt64 Swizzle(UInt64 val, const int operations[], int oplen);
|
||||
};
|
||||
}
|
||||
|
|
@ -1,98 +0,0 @@
|
|||
#include "codechecker.hh"
|
||||
#include <arpa/inet.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include "decodetable.cc"
|
||||
|
||||
using namespace BitLib;
|
||||
|
||||
namespace axcodechecker{
|
||||
|
||||
CodeChecker * CodeChecker::sUnique=0;
|
||||
|
||||
CodeChecker * CodeChecker::get(){
|
||||
if (sUnique==0)
|
||||
sUnique=new CodeChecker();
|
||||
return sUnique;
|
||||
}
|
||||
|
||||
CodeChecker::CodeChecker(){
|
||||
memset(mIpAddress,0,sizeof(mIpAddress));
|
||||
memset(mCode,0,sizeof(mCode));
|
||||
memset(mNumber,0,sizeof(mNumber));
|
||||
}
|
||||
|
||||
static UInt64 hexStringToUint64(const char *str){
|
||||
return strtoll(str,NULL,16);
|
||||
}
|
||||
|
||||
CodeChecker::Result CodeChecker::validate(){
|
||||
UInt64 key = hexStringToUint64(mCode);
|
||||
|
||||
key = Bit::Swizzle(key, decodeTable, decodeTableLen);
|
||||
|
||||
UInt32 ip = (UInt32)(key >> 16);
|
||||
byte phoneHash = (byte)(key >> 8);
|
||||
byte crc = (byte)key;
|
||||
|
||||
byte b1 = (byte)(phoneHash & 0xff);
|
||||
byte b2 = (byte)(ip & 0xff);
|
||||
byte b3 = (byte)((ip >> 8) & 0xff);
|
||||
byte b4 = (byte)((ip >> 16) & 0xff);
|
||||
byte b5 = (byte)((ip >> 24) & 0xff);
|
||||
|
||||
byte crc2 = (byte)(b5 ^ b1 ^ b4 ^ b2 ^ b3);
|
||||
|
||||
if (crc == crc2)
|
||||
{
|
||||
if (phoneHash == sdbmHash(mNumber))
|
||||
{
|
||||
struct in_addr ia;
|
||||
ia.s_addr=htonl(ip);
|
||||
inet_ntop(AF_INET,&ia,mIpAddress,sizeof(mIpAddress));
|
||||
return Ok;
|
||||
}
|
||||
else
|
||||
{
|
||||
return WrongPhoneNumber;
|
||||
}
|
||||
}
|
||||
|
||||
return WrongCode;
|
||||
}
|
||||
|
||||
byte CodeChecker::sdbmHash(const char *str){
|
||||
uint hash = 0;
|
||||
int i;
|
||||
int ch;
|
||||
for(i=0;str[i]!='\0';++i){
|
||||
ch=str[i];
|
||||
hash = ch + (hash << 6) + (hash << 16) - hash;
|
||||
}
|
||||
return (byte)hash;
|
||||
}
|
||||
|
||||
void CodeChecker::setCode(const char *code){
|
||||
strncpy(mCode,code,sizeof(mCode));
|
||||
}
|
||||
|
||||
void CodeChecker::setPhoneNumber(const char *phoneNumber){
|
||||
strncpy(mNumber,phoneNumber,sizeof(mNumber));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
extern "C" const char* axtunnel_get_ip_from_key(const char* phone,const char* key) {
|
||||
axcodechecker::CodeChecker::get()->setPhoneNumber(phone);
|
||||
axcodechecker::CodeChecker::get()->setCode(key);
|
||||
axcodechecker::CodeChecker::Result result=axcodechecker::CodeChecker::get()->validate();
|
||||
if (result == axcodechecker::CodeChecker::Ok) {
|
||||
return axcodechecker::CodeChecker::get()->getIpAddress();
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
#include "bitlib.hh"
|
||||
|
||||
namespace axcodechecker{
|
||||
|
||||
class CodeChecker{
|
||||
public:
|
||||
enum Result{ Ok, WrongPhoneNumber, WrongCode};
|
||||
static CodeChecker *get();
|
||||
void setCode(const char *code);
|
||||
void setPhoneNumber(const char *phoneNumber);
|
||||
Result validate();
|
||||
const char *getIpAddress()const{
|
||||
return mIpAddress;
|
||||
}
|
||||
private:
|
||||
byte sdbmHash(const char *str);
|
||||
CodeChecker();
|
||||
char mCode[64];
|
||||
char mNumber[32];
|
||||
char mIpAddress[32];
|
||||
static CodeChecker *sUnique;
|
||||
};
|
||||
|
||||
}//end of namespace
|
||||
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -36,6 +36,8 @@
|
|||
-(bool) toggleTunnel;
|
||||
-(bool) isTunnel;
|
||||
-(void) resetConfig;
|
||||
-(void) doRegister;
|
||||
-(void) kickOffNetworkConnection;
|
||||
|
||||
|
||||
-(LinphoneCore*) getLinphoneCore;
|
||||
|
|
@ -51,7 +53,8 @@
|
|||
@class FirstLoginViewController;
|
||||
|
||||
@interface linphoneAppDelegate : NSObject <UIApplicationDelegate,LinphoneManagerDelegate,UIActionSheetDelegate> {
|
||||
UIWindow *window;
|
||||
|
||||
UIWindow *window;
|
||||
IBOutlet UITabBarController* myTabBarController;
|
||||
IBOutlet ABPeoplePickerNavigationController* myPeoplePickerController;
|
||||
IBOutlet PhoneViewController* myPhoneViewController;
|
||||
|
|
@ -64,12 +67,15 @@
|
|||
bool isTunnelConfigured;
|
||||
bool isTunnel;
|
||||
bool isDebug;
|
||||
bool isStarted;
|
||||
LinphoneCore* myLinphoneCore;
|
||||
SCNetworkReachabilityContext proxyReachabilityContext;
|
||||
SCNetworkReachabilityRef proxyReachability;
|
||||
|
||||
|
||||
}
|
||||
|
||||
void tunnel_state_cb(bool connected, void *data);
|
||||
/**********************************
|
||||
* liblinphone initialization method
|
||||
**********************************/
|
||||
|
|
|
|||
|
|
@ -29,10 +29,18 @@
|
|||
#import "MoreViewController.h"
|
||||
#import "ConsoleViewController.h"
|
||||
#import "FirstLoginViewController.h"
|
||||
#import "codechecker.hh"
|
||||
|
||||
|
||||
|
||||
|
||||
extern void ms_au_register_card();
|
||||
extern void linphone_iphone_tunneling_init(const char* ip,unsigned int port,bool isDebug);
|
||||
extern void linphone_iphone_tunneling_init(const char* ip1
|
||||
,const char* ip2
|
||||
,unsigned int port
|
||||
,bool isDebug
|
||||
,void (*cb)(bool connected, void *data)
|
||||
,void* userdata);
|
||||
extern void linphone_iphone_enable_tunneling(LinphoneCore* lc);
|
||||
extern void linphone_iphone_disable_tunneling(LinphoneCore* lc);
|
||||
extern int linphone_iphone_tunneling_isready();
|
||||
|
|
@ -225,6 +233,24 @@ LinphoneCoreVTable linphone_iphone_vtable = {
|
|||
|
||||
}
|
||||
|
||||
-(void) kickOffNetworkConnection {
|
||||
CFWriteStreamRef writeStream;
|
||||
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"208.109.100.191", 15000, nil, &writeStream);
|
||||
Boolean status = CFWriteStreamOpen (writeStream);
|
||||
const char* buff="yop";
|
||||
int written = CFWriteStreamWrite (writeStream,(const UInt8*)buff,strlen(buff));
|
||||
NSLog(@"activating network interface status [%i], [%i] byte sent",status,written);
|
||||
CFWriteStreamClose (writeStream);
|
||||
|
||||
}
|
||||
- (void)applicationDidBecomeActive:(UIApplication *)application {
|
||||
if (isStarted) {
|
||||
NSLog(@"becomming active, make sure we are registered");
|
||||
[self doRegister];
|
||||
} else {
|
||||
isStarted=true;
|
||||
}
|
||||
}
|
||||
- (void)dealloc {
|
||||
[window release];
|
||||
[myPeoplePickerController release];
|
||||
|
|
@ -343,9 +369,14 @@ LinphoneCoreVTable linphone_iphone_vtable = {
|
|||
NSString* axtelPin = [[NSUserDefaults standardUserDefaults] stringForKey:@"axtelpin_preference"];
|
||||
|
||||
if (isTunnelConfigured) {
|
||||
const char* tunnelIp=axtunnel_get_ip_from_key([username cStringUsingEncoding:[NSString defaultCStringEncoding]]
|
||||
,[axtelPin cStringUsingEncoding:[NSString defaultCStringEncoding]] );
|
||||
if(!tunnelIp) {
|
||||
char ip1[32];
|
||||
char ip2[32];
|
||||
int status = axkeydec_get_ip_from_key([username cStringUsingEncoding:[NSString defaultCStringEncoding]]
|
||||
, [axtelPin cStringUsingEncoding:[NSString defaultCStringEncoding]]
|
||||
, ip1
|
||||
, ip2
|
||||
, sizeof(ip1));
|
||||
if(status) {
|
||||
UIAlertView* alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Alert",nil)
|
||||
message:NSLocalizedString(@"Wrong axtel number or pin, disabling tunnel",nil)
|
||||
delegate:nil
|
||||
|
|
@ -356,7 +387,7 @@ LinphoneCoreVTable linphone_iphone_vtable = {
|
|||
isTunnel=false;
|
||||
|
||||
} else {
|
||||
linphone_iphone_tunneling_init(tunnelIp,443,isDebug);
|
||||
linphone_iphone_tunneling_init((const char*)ip1,(const char*)ip2,443,isDebug,tunnel_state_cb,self);
|
||||
isTunnel=true;
|
||||
}
|
||||
}
|
||||
|
|
@ -420,7 +451,7 @@ LinphoneCoreVTable linphone_iphone_vtable = {
|
|||
}
|
||||
LinphoneAddress* addr=linphone_address_new(linphone_proxy_config_get_addr(proxyCfg));
|
||||
proxyReachability=SCNetworkReachabilityCreateWithName(nil, linphone_address_get_domain(addr));
|
||||
proxyReachabilityContext.info=myLinphoneCore;
|
||||
proxyReachabilityContext.info=self;
|
||||
bool result=SCNetworkReachabilitySetCallback(proxyReachability, networkReachabilityCallBack,&proxyReachabilityContext);
|
||||
SCNetworkReachabilityFlags reachabilityFlags;
|
||||
result=SCNetworkReachabilityGetFlags (proxyReachability,&reachabilityFlags);
|
||||
|
|
@ -434,7 +465,7 @@ LinphoneCoreVTable linphone_iphone_vtable = {
|
|||
linphone_core_add_proxy_config(myLinphoneCore,proxyCfg);
|
||||
//set to default proxy
|
||||
linphone_core_set_default_proxy(myLinphoneCore,proxyCfg);
|
||||
networkReachabilityCallBack(proxyReachability,reachabilityFlags,myLinphoneCore);
|
||||
networkReachabilityCallBack(proxyReachability,reachabilityFlags,self);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -493,7 +524,11 @@ LinphoneCoreVTable linphone_iphone_vtable = {
|
|||
}
|
||||
bool networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void * info) {
|
||||
LinphoneProxyConfig* proxyCfg;
|
||||
linphone_core_get_default_proxy((LinphoneCore*)info,&proxyCfg);
|
||||
id<LinphoneManagerDelegate> linphoneDelegate=info;
|
||||
if (linphone_core_get_default_proxy([linphoneDelegate getLinphoneCore],&proxyCfg)) {
|
||||
//glob, no default proxy
|
||||
return false;
|
||||
}
|
||||
linphone_proxy_config_edit(proxyCfg);
|
||||
bool result = false;
|
||||
#ifdef LINPHONE_WIFI_ONLY
|
||||
|
|
@ -505,6 +540,9 @@ bool networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
|
|||
result = false;
|
||||
}
|
||||
#else
|
||||
if ((flags == 0) | (flags & (kSCNetworkReachabilityFlagsConnectionRequired |kSCNetworkReachabilityFlagsConnectionOnTraffic))) {
|
||||
[linphoneDelegate kickOffNetworkConnection];
|
||||
}
|
||||
if (flags) {
|
||||
// register whatever connection type
|
||||
linphone_proxy_config_enable_register(proxyCfg,TRUE);
|
||||
|
|
@ -517,15 +555,29 @@ bool networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
|
|||
linphone_proxy_config_done(proxyCfg);
|
||||
return result;
|
||||
}
|
||||
|
||||
void tunnel_state_cb(bool connected, void *data) {
|
||||
id <LinphoneManagerDelegate> linphoneApp = (id <LinphoneManagerDelegate>)data;
|
||||
if ([linphoneApp isTunnel] && connected) {
|
||||
NSLog(@"Tunnel connected");
|
||||
[linphoneApp doRegister];
|
||||
} else if ([linphoneApp isTunnel] && !connected) {
|
||||
NSLog(@"Tunnel connection failure detected");
|
||||
LinphoneProxyConfig* proxyCfg;
|
||||
linphone_core_get_default_proxy([linphoneApp getLinphoneCore],&proxyCfg);
|
||||
linphone_proxy_config_edit(proxyCfg);
|
||||
linphone_proxy_config_enable_register(proxyCfg,false);
|
||||
linphone_proxy_config_done(proxyCfg);
|
||||
}
|
||||
}
|
||||
-(bool) toggleTunnel {
|
||||
if (isTunnelConfigured) {
|
||||
if (isTunnel) {
|
||||
[self disableTunnel];
|
||||
} else {
|
||||
[self enableTunnel];
|
||||
}
|
||||
isTunnel=!isTunnel;
|
||||
if (isTunnel) {
|
||||
[self enableTunnel];
|
||||
} else {
|
||||
[self disableTunnel];
|
||||
}
|
||||
|
||||
} else {
|
||||
UIAlertView* alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Alert",nil)
|
||||
message:NSLocalizedString(@"Auroc cannot be activated, go to the settings to configure",nil)
|
||||
|
|
@ -540,7 +592,7 @@ bool networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
|
|||
|
||||
-(void) enableTunnel {
|
||||
linphone_iphone_enable_tunneling(myLinphoneCore);
|
||||
[self doRegister];
|
||||
if (linphone_iphone_tunneling_isready()) [self doRegister];
|
||||
|
||||
}
|
||||
-(void) disableTunnel {
|
||||
|
|
@ -551,7 +603,7 @@ bool networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
|
|||
-(void) doRegister {
|
||||
SCNetworkReachabilityFlags reachabilityFlags;
|
||||
SCNetworkReachabilityGetFlags (proxyReachability,&reachabilityFlags);
|
||||
networkReachabilityCallBack(proxyReachability,reachabilityFlags,myLinphoneCore);
|
||||
networkReachabilityCallBack(proxyReachability,reachabilityFlags,self);
|
||||
}
|
||||
-(LinphoneCore*) getLinphoneCore {
|
||||
return myLinphoneCore;
|
||||
|
|
|
|||
|
|
@ -106,14 +106,25 @@ static RtpTransport audio_transport={
|
|||
};
|
||||
|
||||
|
||||
extern "C" void linphone_iphone_tunneling_init(const char* ip,unsigned int port,bool isDebug){
|
||||
extern "C" void linphone_iphone_tunneling_init(const char* ip1
|
||||
,const char* ip2
|
||||
,unsigned int port
|
||||
,bool isDebug
|
||||
,void (*cb)(bool connected, void *data)
|
||||
,void* userdata) {
|
||||
if (isDebug) {
|
||||
SetLogHandler(&linphone_iphone_log_handler);
|
||||
SetLogLevel(AXTUNNEL_ERROR|AXTUNNEL_WARN);
|
||||
} else {
|
||||
SetLogLevel(0);
|
||||
}
|
||||
linphone_iphone_tun = new TunnelClient(ip,port);
|
||||
linphone_iphone_tun = new TunnelClient();
|
||||
linphone_iphone_tun->addServer(ip1, port);
|
||||
linphone_iphone_tun->addServer(ip2, port);
|
||||
linphone_iphone_tun->setCallback(cb, userdata);
|
||||
linphone_iphone_tun->start();
|
||||
|
||||
|
||||
}
|
||||
|
||||
extern "C" void linphone_iphone_enable_tunneling(LinphoneCore* lc){
|
||||
|
|
|
|||
|
|
@ -111,6 +111,8 @@
|
|||
224567C2107B968500F10948 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 224567C1107B968500F10948 /* AVFoundation.framework */; };
|
||||
22527EF410DBB82C00E9915B /* FirstLoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22527EF210DBB82C00E9915B /* FirstLoginViewController.m */; };
|
||||
22527EF510DBB82C00E9915B /* FirstLoginViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22527EF310DBB82C00E9915B /* FirstLoginViewController.xib */; };
|
||||
225BCDD61122F043009EE0C0 /* libaxkeydec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 225BCDD51122F043009EE0C0 /* libaxkeydec.a */; };
|
||||
225BCDD71122F043009EE0C0 /* libaxkeydec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 225BCDD51122F043009EE0C0 /* libaxkeydec.a */; };
|
||||
2273785E10A3703300526073 /* libmsiounit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2273785D10A3703300526073 /* libmsiounit.a */; };
|
||||
2274401A106F31BD006EC466 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22744019106F31BD006EC466 /* CoreAudio.framework */; };
|
||||
2274402F106F335E006EC466 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2274402E106F335E006EC466 /* AudioToolbox.framework */; };
|
||||
|
|
@ -324,20 +326,13 @@
|
|||
22F255151073EEE600AC9B3F /* green.png in Resources */ = {isa = PBXBuildFile; fileRef = 22F255131073EEE600AC9B3F /* green.png */; };
|
||||
22F255161073EEE600AC9B3F /* red.png in Resources */ = {isa = PBXBuildFile; fileRef = 22F255141073EEE600AC9B3F /* red.png */; };
|
||||
22F51EF6107FA66500F98953 /* untitled.plist in Resources */ = {isa = PBXBuildFile; fileRef = 22F51EF5107FA66500F98953 /* untitled.plist */; };
|
||||
22FAD379110E065100E2BA6A /* decodetable.cc in Sources */ = {isa = PBXBuildFile; fileRef = 22B44F8A10F4E519005A07E6 /* decodetable.cc */; };
|
||||
22FAD37A110E065100E2BA6A /* codechecker.hh in Headers */ = {isa = PBXBuildFile; fileRef = 22B44F8C10F4E519005A07E6 /* codechecker.hh */; };
|
||||
22FAD37B110E065100E2BA6A /* codechecker.cc in Sources */ = {isa = PBXBuildFile; fileRef = 22B44F8D10F4E519005A07E6 /* codechecker.cc */; };
|
||||
22FAD37C110E065100E2BA6A /* bitlib.hh in Headers */ = {isa = PBXBuildFile; fileRef = 22B44F8E10F4E519005A07E6 /* bitlib.hh */; };
|
||||
22FAD37D110E065100E2BA6A /* bitlib.cc in Sources */ = {isa = PBXBuildFile; fileRef = 22B44F8F10F4E519005A07E6 /* bitlib.cc */; };
|
||||
22FAD393110E06D800E2BA6A /* libkeydecoder.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22FAD370110E05FC00E2BA6A /* libkeydecoder.a */; };
|
||||
22FAD394110E06E500E2BA6A /* libkeydecoder.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22FAD370110E05FC00E2BA6A /* libkeydecoder.a */; };
|
||||
288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
1D3623240D0F684500981E51 /* linphoneAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = linphoneAppDelegate.h; sourceTree = "<group>"; };
|
||||
1D3623250D0F684500981E51 /* linphoneAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = linphoneAppDelegate.m; sourceTree = "<group>"; };
|
||||
1D3623250D0F684500981E51 /* linphoneAppDelegate.m */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = linphoneAppDelegate.m; sourceTree = "<group>"; };
|
||||
1D6058910D05DD3D006BFB54 /* axphone.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = axphone.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
||||
220646AA10D7B90300632606 /* tunnel.cc */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; name = tunnel.cc; path = Classes/tunnel.cc; sourceTree = "<group>"; };
|
||||
|
|
@ -560,6 +555,8 @@
|
|||
22527EF110DBB82C00E9915B /* FirstLoginViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FirstLoginViewController.h; sourceTree = "<group>"; };
|
||||
22527EF210DBB82C00E9915B /* FirstLoginViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FirstLoginViewController.m; sourceTree = "<group>"; };
|
||||
22527EF310DBB82C00E9915B /* FirstLoginViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = FirstLoginViewController.xib; sourceTree = "<group>"; };
|
||||
225BCDD51122F043009EE0C0 /* libaxkeydec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libaxkeydec.a; path = "../liblinphone-sdk/armv6-apple-darwin/lib/libaxkeydec.a"; sourceTree = SOURCE_ROOT; };
|
||||
225BCDE81122F094009EE0C0 /* codechecker.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = codechecker.hh; sourceTree = "<group>"; };
|
||||
2273785D10A3703300526073 /* libmsiounit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmsiounit.a; path = "../liblinphone-sdk/armv6-apple-darwin/lib/mediastreamer/plugins/libmsiounit.a"; sourceTree = SOURCE_ROOT; };
|
||||
22744019106F31BD006EC466 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
|
||||
2274402E106F335E006EC466 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
|
||||
|
|
@ -593,11 +590,6 @@
|
|||
22B44E6610F4AB5A005A07E6 /* FavoriteEditViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FavoriteEditViewController.h; sourceTree = "<group>"; };
|
||||
22B44E6710F4AB5A005A07E6 /* FavoriteEditViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FavoriteEditViewController.m; sourceTree = "<group>"; };
|
||||
22B44E6B10F4AEE0005A07E6 /* FavoriteEditViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = FavoriteEditViewController.xib; sourceTree = "<group>"; };
|
||||
22B44F8A10F4E519005A07E6 /* decodetable.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decodetable.cc; sourceTree = "<group>"; };
|
||||
22B44F8C10F4E519005A07E6 /* codechecker.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = codechecker.hh; sourceTree = "<group>"; };
|
||||
22B44F8D10F4E519005A07E6 /* codechecker.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = codechecker.cc; sourceTree = "<group>"; };
|
||||
22B44F8E10F4E519005A07E6 /* bitlib.hh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = bitlib.hh; sourceTree = "<group>"; };
|
||||
22B44F8F10F4E519005A07E6 /* bitlib.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bitlib.cc; sourceTree = "<group>"; };
|
||||
22B4506510F5D391005A07E6 /* about.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = about.jpg; sourceTree = "<group>"; };
|
||||
22B4506910F5D66A005A07E6 /* boton_colgar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boton_colgar.png; sourceTree = "<group>"; };
|
||||
22B4506A10F5D66A005A07E6 /* corner_der.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = corner_der.png; sourceTree = "<group>"; };
|
||||
|
|
@ -636,7 +628,6 @@
|
|||
22F255131073EEE600AC9B3F /* green.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = green.png; path = ../linphone/pixmaps/green.png; sourceTree = SOURCE_ROOT; };
|
||||
22F255141073EEE600AC9B3F /* red.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = red.png; path = ../linphone/pixmaps/red.png; sourceTree = SOURCE_ROOT; };
|
||||
22F51EF5107FA66500F98953 /* untitled.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = untitled.plist; sourceTree = "<group>"; };
|
||||
22FAD370110E05FC00E2BA6A /* libkeydecoder.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libkeydecoder.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
32CA4F630368D1EE00C91783 /* linphone_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = linphone_Prefix.pch; sourceTree = "<group>"; };
|
||||
|
|
@ -670,7 +661,7 @@
|
|||
220646F310D7C62600632606 /* libssl.a in Frameworks */,
|
||||
220646F410D7C62600632606 /* libcrypto.a in Frameworks */,
|
||||
229242BC10F2298C008A8A37 /* SystemConfiguration.framework in Frameworks */,
|
||||
22FAD394110E06E500E2BA6A /* libkeydecoder.a in Frameworks */,
|
||||
225BCDD71122F043009EE0C0 /* libaxkeydec.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -700,14 +691,7 @@
|
|||
2292419110F2020E008A8A37 /* libssl.a in Frameworks */,
|
||||
2292419210F2020E008A8A37 /* libcrypto.a in Frameworks */,
|
||||
229242C010F229AD008A8A37 /* SystemConfiguration.framework in Frameworks */,
|
||||
22FAD393110E06D800E2BA6A /* libkeydecoder.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
22FAD36E110E05FC00E2BA6A /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
225BCDD61122F043009EE0C0 /* libaxkeydec.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -717,11 +701,6 @@
|
|||
080E96DDFE201D6D7F000001 /* Classes */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
22B44F8A10F4E519005A07E6 /* decodetable.cc */,
|
||||
22B44F8C10F4E519005A07E6 /* codechecker.hh */,
|
||||
22B44F8D10F4E519005A07E6 /* codechecker.cc */,
|
||||
22B44F8E10F4E519005A07E6 /* bitlib.hh */,
|
||||
22B44F8F10F4E519005A07E6 /* bitlib.cc */,
|
||||
1D3623240D0F684500981E51 /* linphoneAppDelegate.h */,
|
||||
1D3623250D0F684500981E51 /* linphoneAppDelegate.m */,
|
||||
22F2508B107141E100AC9B3F /* PhoneViewController.h */,
|
||||
|
|
@ -764,7 +743,6 @@
|
|||
children = (
|
||||
1D6058910D05DD3D006BFB54 /* axphone.app */,
|
||||
2292419710F2020E008A8A37 /* axphone.app */,
|
||||
22FAD370110E05FC00E2BA6A /* libkeydecoder.a */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -888,6 +866,7 @@
|
|||
220FAC77107654FC0068D98F /* include */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
225BCDE71122F094009EE0C0 /* axkeydec */,
|
||||
228B040310DB95BD0061FE68 /* axtunnel */,
|
||||
220FAC78107654FC0068D98F /* eXosip2 */,
|
||||
220FAC82107654FC0068D98F /* gsm */,
|
||||
|
|
@ -1073,6 +1052,14 @@
|
|||
path = speex;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
225BCDE71122F094009EE0C0 /* axkeydec */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
225BCDE81122F094009EE0C0 /* codechecker.hh */,
|
||||
);
|
||||
path = axkeydec;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
228B040310DB95BD0061FE68 /* axtunnel */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
|
@ -1184,6 +1171,7 @@
|
|||
220FACFD107657EC0068D98F /* libosipparser2.a */,
|
||||
220FACFE107657EC0068D98F /* libspeex.a */,
|
||||
220FACFF107657EC0068D98F /* libspeexdsp.a */,
|
||||
225BCDD51122F043009EE0C0 /* libaxkeydec.a */,
|
||||
220FAC77107654FC0068D98F /* include */,
|
||||
080E96DDFE201D6D7F000001 /* Classes */,
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */,
|
||||
|
|
@ -1255,18 +1243,6 @@
|
|||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
22FAD36C110E05FC00E2BA6A /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
22FAD37A110E065100E2BA6A /* codechecker.hh in Headers */,
|
||||
22FAD37C110E065100E2BA6A /* bitlib.hh in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
1D6058900D05DD3D006BFB54 /* axphone */ = {
|
||||
isa = PBXNativeTarget;
|
||||
|
|
@ -1302,23 +1278,6 @@
|
|||
productReference = 2292419710F2020E008A8A37 /* axphone.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
22FAD36F110E05FC00E2BA6A /* keydecoder */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 22FAD37F110E068F00E2BA6A /* Build configuration list for PBXNativeTarget "keydecoder" */;
|
||||
buildPhases = (
|
||||
22FAD36C110E05FC00E2BA6A /* Headers */,
|
||||
22FAD36D110E05FC00E2BA6A /* Sources */,
|
||||
22FAD36E110E05FC00E2BA6A /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = keydecoder;
|
||||
productName = keydecoder;
|
||||
productReference = 22FAD370110E05FC00E2BA6A /* libkeydecoder.a */;
|
||||
productType = "com.apple.product-type.library.static";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
|
|
@ -1342,7 +1301,6 @@
|
|||
targets = (
|
||||
1D6058900D05DD3D006BFB54 /* axphone */,
|
||||
229240F810F2020E008A8A37 /* axphone-advanced */,
|
||||
22FAD36F110E05FC00E2BA6A /* keydecoder */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
|
@ -1653,16 +1611,6 @@
|
|||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
22FAD36D110E05FC00E2BA6A /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
22FAD379110E065100E2BA6A /* decodetable.cc in Sources */,
|
||||
22FAD37B110E065100E2BA6A /* codechecker.cc in Sources */,
|
||||
22FAD37D110E065100E2BA6A /* bitlib.cc in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
|
|
@ -1692,7 +1640,10 @@
|
|||
"HEADER_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = "\"$(SRCROOT)/../liblinphone-sdk/armv6-apple-darwin/include\"";
|
||||
"HEADER_SEARCH_PATHS[sdk=iphonesimulator*]" = "\"$(SRCROOT)/../liblinphone-sdk/i386-apple-darwin/include\"";
|
||||
INFOPLIST_FILE = "linphone-Info.plist";
|
||||
LIBRARY_SEARCH_PATHS = "";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"\"$(SRCROOT)/../liblinphone-sdk/armv6-apple-darwin/lib\"",
|
||||
);
|
||||
"LIBRARY_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = "\"$(SRCROOT)/../liblinphone-sdk/armv6-apple-darwin/lib\"/**";
|
||||
"LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*][arch=*]" = "\"$(SRCROOT)/../liblinphone-sdk/i386-apple-darwin/lib\"/**";
|
||||
PRODUCT_NAME = axphone;
|
||||
|
|
@ -1712,7 +1663,10 @@
|
|||
"HEADER_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = "\"$(SRCROOT)/../liblinphone-sdk/armv6-apple-darwin/include\"";
|
||||
"HEADER_SEARCH_PATHS[sdk=iphonesimulator*]" = "\"$(SRCROOT)/../liblinphone-sdk/i386-apple-darwin/include\"";
|
||||
INFOPLIST_FILE = "linphone-Info.plist";
|
||||
LIBRARY_SEARCH_PATHS = "";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"\"$(SRCROOT)/../liblinphone-sdk/armv6-apple-darwin/lib\"",
|
||||
);
|
||||
"LIBRARY_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = "\"$(SRCROOT)/../liblinphone-sdk/armv6-apple-darwin/lib\"/**";
|
||||
"LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*][arch=*]" = "\"$(SRCROOT)/../liblinphone-sdk/i386-apple-darwin/lib\"/**";
|
||||
PRODUCT_NAME = axphone;
|
||||
|
|
@ -1733,7 +1687,10 @@
|
|||
"HEADER_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = "\"$(SRCROOT)/../liblinphone-sdk/armv6-apple-darwin/include\"";
|
||||
"HEADER_SEARCH_PATHS[sdk=iphonesimulator*]" = "\"$(SRCROOT)/../liblinphone-sdk/i386-apple-darwin/include\"";
|
||||
INFOPLIST_FILE = "linphone-advanced-Info.plist";
|
||||
LIBRARY_SEARCH_PATHS = "";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"\"$(SRCROOT)/../liblinphone-sdk/armv6-apple-darwin/lib\"",
|
||||
);
|
||||
"LIBRARY_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = "\"$(SRCROOT)/../liblinphone-sdk/armv6-apple-darwin/lib\"/**";
|
||||
"LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*][arch=*]" = (
|
||||
"\"$(SRCROOT)/../liblinphone-sdk/i386-apple-darwin/lib/mediastreamer2/plugins\"",
|
||||
|
|
@ -1761,7 +1718,10 @@
|
|||
"HEADER_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = "\"$(SRCROOT)/../liblinphone-sdk/armv6-apple-darwin/include\"";
|
||||
"HEADER_SEARCH_PATHS[sdk=iphonesimulator*]" = "\"$(SRCROOT)/../liblinphone-sdk/i386-apple-darwin/include\"";
|
||||
INFOPLIST_FILE = "linphone-advanced-Info.plist";
|
||||
LIBRARY_SEARCH_PATHS = "";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"\"$(SRCROOT)/../liblinphone-sdk/armv6-apple-darwin/lib\"",
|
||||
);
|
||||
"LIBRARY_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = "\"$(SRCROOT)/../liblinphone-sdk/armv6-apple-darwin/lib\"/**";
|
||||
"LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*][arch=*]" = (
|
||||
"\"$(SRCROOT)/../liblinphone-sdk/i386-apple-darwin/lib/mediastreamer2/plugins\"",
|
||||
|
|
@ -1785,7 +1745,10 @@
|
|||
"HEADER_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = "\"$(SRCROOT)/../liblinphone-sdk/armv6-apple-darwin/include\"";
|
||||
"HEADER_SEARCH_PATHS[sdk=iphonesimulator*]" = "\"$(SRCROOT)/../liblinphone-sdk/i386-apple-darwin/include\"";
|
||||
INFOPLIST_FILE = "linphone-advanced-Info.plist";
|
||||
LIBRARY_SEARCH_PATHS = "";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"\"$(SRCROOT)/../liblinphone-sdk/armv6-apple-darwin/lib\"",
|
||||
);
|
||||
"LIBRARY_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = "\"$(SRCROOT)/../liblinphone-sdk/armv6-apple-darwin/lib\"/**";
|
||||
"LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*][arch=*]" = (
|
||||
"\"$(SRCROOT)/../liblinphone-sdk/i386-apple-darwin/lib/mediastreamer2/plugins\"",
|
||||
|
|
@ -1830,7 +1793,10 @@
|
|||
"HEADER_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = "\"$(SRCROOT)/../liblinphone-sdk/armv6-apple-darwin/include\"";
|
||||
"HEADER_SEARCH_PATHS[sdk=iphonesimulator*]" = "\"$(SRCROOT)/../liblinphone-sdk/i386-apple-darwin/include\"";
|
||||
INFOPLIST_FILE = "linphone-Info.plist";
|
||||
LIBRARY_SEARCH_PATHS = "";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"\"$(SRCROOT)/../liblinphone-sdk/armv6-apple-darwin/lib\"",
|
||||
);
|
||||
"LIBRARY_SEARCH_PATHS[sdk=iphoneos*][arch=*]" = "\"$(SRCROOT)/../liblinphone-sdk/armv6-apple-darwin/lib\"/**";
|
||||
"LIBRARY_SEARCH_PATHS[sdk=iphonesimulator*][arch=*]" = "\"$(SRCROOT)/../liblinphone-sdk/i386-apple-darwin/lib\"/**";
|
||||
PRODUCT_NAME = axphone;
|
||||
|
|
@ -1840,40 +1806,6 @@
|
|||
};
|
||||
name = Distribution;
|
||||
};
|
||||
22FAD371110E05FD00E2BA6A /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
PREBINDING = NO;
|
||||
PRODUCT_NAME = keydecoder;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
22FAD372110E05FD00E2BA6A /* Distribution */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
PREBINDING = NO;
|
||||
PRODUCT_NAME = keydecoder;
|
||||
};
|
||||
name = Distribution;
|
||||
};
|
||||
22FAD373110E05FD00E2BA6A /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
GCC_ENABLE_FIX_AND_CONTINUE = NO;
|
||||
PREBINDING = NO;
|
||||
PRODUCT_NAME = keydecoder;
|
||||
ZERO_LINK = NO;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
C01FCF4F08A954540054247B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
|
|
@ -1926,16 +1858,6 @@
|
|||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
22FAD37F110E068F00E2BA6A /* Build configuration list for PBXNativeTarget "keydecoder" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
22FAD371110E05FD00E2BA6A /* Debug */,
|
||||
22FAD372110E05FD00E2BA6A /* Distribution */,
|
||||
22FAD373110E05FD00E2BA6A /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "linphone" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue