Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liblinphone
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
10
Issues
10
List
Board
Labels
Milestones
Merge Requests
22
Merge Requests
22
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
External Wiki
External Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
BC
public
liblinphone
Commits
b7658734
Commit
b7658734
authored
Jul 17, 2017
by
Ghislain MARY
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Handle TTL in DNS responses.
parent
0beb626b
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
17 additions
and
30 deletions
+17
-30
sal_impl.c
coreapi/bellesip_sal/sal_impl.c
+4
-8
nat_policy.c
coreapi/nat_policy.c
+7
-6
private.h
coreapi/private.h
+1
-1
sal.c
coreapi/sal.c
+0
-3
sal.h
include/sal/sal.h
+3
-10
complex_sip_case_tester.c
tester/complex_sip_case_tester.c
+2
-2
No files found.
coreapi/bellesip_sal/sal_impl.c
View file @
b7658734
...
...
@@ -1210,16 +1210,12 @@ void sal_use_no_initial_route(Sal *ctx, bool_t enabled){
ctx
->
no_initial_route
=
enabled
;
}
SalResolverContext
*
sal_resolve_a
(
Sal
*
sal
,
const
char
*
name
,
int
port
,
int
family
,
SalResolverCallback
cb
,
void
*
data
){
return
(
SalResolverContext
*
)
belle_sip_stack_resolve_a
(
sal
->
stack
,
name
,
port
,
family
,(
belle_sip_resolver_callback_t
)
cb
,
data
);
belle_sip_resolver_context_t
*
sal_resolve_a
(
Sal
*
sal
,
const
char
*
name
,
int
port
,
int
family
,
belle_sip_resolver_callback_t
cb
,
void
*
data
){
return
belle_sip_stack_resolve_a
(
sal
->
stack
,
name
,
port
,
family
,
cb
,
data
);
}
SalResolverContext
*
sal_resolve
(
Sal
*
sal
,
const
char
*
service
,
const
char
*
transport
,
const
char
*
name
,
int
port
,
int
family
,
SalResolverCallback
cb
,
void
*
data
)
{
return
(
SalResolverContext
*
)
belle_sip_stack_resolve
(
sal
->
stack
,
service
,
transport
,
name
,
port
,
family
,
(
belle_sip_resolver_callback_t
)
cb
,
data
);
}
void
sal_resolve_cancel
(
SalResolverContext
*
ctx
){
belle_sip_resolver_context_cancel
((
belle_sip_resolver_context_t
*
)
ctx
);
belle_sip_resolver_context_t
*
sal_resolve
(
Sal
*
sal
,
const
char
*
service
,
const
char
*
transport
,
const
char
*
name
,
int
port
,
int
family
,
belle_sip_resolver_callback_t
cb
,
void
*
data
)
{
return
belle_sip_stack_resolve
(
sal
->
stack
,
service
,
transport
,
name
,
port
,
family
,
cb
,
data
);
}
...
...
coreapi/nat_policy.c
View file @
b7658734
...
...
@@ -40,8 +40,8 @@ static void linphone_nat_policy_destroy(LinphoneNatPolicy *policy) {
if
(
policy
->
stun_server_username
)
belle_sip_free
(
policy
->
stun_server_username
);
if
(
policy
->
stun_addrinfo
)
bctbx_freeaddrinfo
(
policy
->
stun_addrinfo
);
if
(
policy
->
stun_resolver_context
)
{
sal_resolve
_cancel
(
policy
->
stun_resolver_context
);
sal_resolver_contex
t_unref
(
policy
->
stun_resolver_context
);
belle_sip_resolver_context
_cancel
(
policy
->
stun_resolver_context
);
belle_sip_objec
t_unref
(
policy
->
stun_resolver_context
);
}
}
...
...
@@ -204,7 +204,8 @@ void linphone_nat_policy_set_stun_server_username(LinphoneNatPolicy *policy, con
if
(
new_username
!=
NULL
)
policy
->
stun_server_username
=
new_username
;
}
static
void
stun_server_resolved
(
LinphoneNatPolicy
*
policy
,
const
char
*
name
,
struct
addrinfo
*
addrinfo
)
{
static
void
stun_server_resolved
(
void
*
data
,
const
char
*
name
,
struct
addrinfo
*
addrinfo
,
uint32_t
ttl
)
{
LinphoneNatPolicy
*
policy
=
(
LinphoneNatPolicy
*
)
data
;
if
(
policy
->
stun_addrinfo
)
{
bctbx_freeaddrinfo
(
policy
->
stun_addrinfo
);
policy
->
stun_addrinfo
=
NULL
;
...
...
@@ -216,7 +217,7 @@ static void stun_server_resolved(LinphoneNatPolicy *policy, const char *name, st
}
policy
->
stun_addrinfo
=
addrinfo
;
if
(
policy
->
stun_resolver_context
){
sal_resolver_contex
t_unref
(
policy
->
stun_resolver_context
);
belle_sip_objec
t_unref
(
policy
->
stun_resolver_context
);
policy
->
stun_resolver_context
=
NULL
;
}
}
...
...
@@ -233,8 +234,8 @@ void linphone_nat_policy_resolve_stun_server(LinphoneNatPolicy *policy) {
if
(
service
!=
NULL
)
{
int
family
=
AF_INET
;
if
(
linphone_core_ipv6_enabled
(
policy
->
lc
)
==
TRUE
)
family
=
AF_INET6
;
policy
->
stun_resolver_context
=
sal_resolve
(
policy
->
lc
->
sal
,
service
,
"udp"
,
host
,
port
,
family
,
(
SalResolverCallback
)
stun_server_resolved
,
policy
);
if
(
policy
->
stun_resolver_context
)
sal_resolver_contex
t_ref
(
policy
->
stun_resolver_context
);
policy
->
stun_resolver_context
=
sal_resolve
(
policy
->
lc
->
sal
,
service
,
"udp"
,
host
,
port
,
family
,
stun_server_resolved
,
policy
);
if
(
policy
->
stun_resolver_context
)
belle_sip_objec
t_ref
(
policy
->
stun_resolver_context
);
}
}
}
...
...
coreapi/private.h
View file @
b7658734
...
...
@@ -1357,7 +1357,7 @@ struct _LinphoneNatPolicy {
belle_sip_object_t
base
;
void
*
user_data
;
LinphoneCore
*
lc
;
SalResolverContex
t
*
stun_resolver_context
;
belle_sip_resolver_context_
t
*
stun_resolver_context
;
struct
addrinfo
*
stun_addrinfo
;
char
*
stun_server
;
char
*
stun_server_username
;
...
...
coreapi/sal.c
View file @
b7658734
...
...
@@ -927,6 +927,3 @@ void sal_op_set_entity_tag(SalOp *op, const char* entity_tag) {
op_base
->
entity_tag
=
NULL
;
}
#ifdef BELLE_SIP_H
#error "You included belle-sip header other than just belle-sip/object.h in sal.c. This breaks design rules !"
#endif
include/sal/sal.h
View file @
b7658734
...
...
@@ -32,8 +32,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#include "mediastreamer2/mediastream.h"
#include "ortp/rtpsession.h"
#include "belle-sip/object.h"
#include "belle-sip/mainloop.h"
#include "belle-sip/belle-sip.h"
#ifndef LINPHONE_PUBLIC
#if defined(_MSC_VER)
...
...
@@ -853,15 +852,9 @@ SalPrivacy sal_op_get_privacy(const SalOp* op);
/*misc*/
void
sal_get_default_local_ip
(
Sal
*
sal
,
int
address_family
,
char
*
ip
,
size_t
iplen
);
typedef
void
(
*
SalResolverCallback
)(
void
*
data
,
const
char
*
name
,
struct
addrinfo
*
ai_list
);
typedef
struct
SalResolverContext
SalResolverContext
;
#define sal_resolver_context_ref(obj) belle_sip_object_ref(obj)
#define sal_resolver_context_unref(obj) belle_sip_object_unref(obj)
LINPHONE_PUBLIC
SalResolverContext
*
sal_resolve_a
(
Sal
*
sal
,
const
char
*
name
,
int
port
,
int
family
,
SalResolverCallback
cb
,
void
*
data
);
LINPHONE_PUBLIC
SalResolverContext
*
sal_resolve
(
Sal
*
sal
,
const
char
*
service
,
const
char
*
transport
,
const
char
*
name
,
int
port
,
int
family
,
SalResolverCallback
cb
,
void
*
data
);
void
sal_resolve_cancel
(
SalResolverContext
*
ctx
);
LINPHONE_PUBLIC
belle_sip_resolver_context_t
*
sal_resolve_a
(
Sal
*
sal
,
const
char
*
name
,
int
port
,
int
family
,
belle_sip_resolver_callback_t
cb
,
void
*
data
);
LINPHONE_PUBLIC
belle_sip_resolver_context_t
*
sal_resolve
(
Sal
*
sal
,
const
char
*
service
,
const
char
*
transport
,
const
char
*
name
,
int
port
,
int
family
,
belle_sip_resolver_callback_t
cb
,
void
*
data
);
SalCustomHeader
*
sal_custom_header_ref
(
SalCustomHeader
*
ch
);
void
sal_custom_header_unref
(
SalCustomHeader
*
ch
);
...
...
tester/complex_sip_case_tester.c
View file @
b7658734
...
...
@@ -90,7 +90,7 @@ static FILE *sip_start_recv(const char *senario) {
return
file
;
}
static
void
dest_server_server_resolved
(
void
*
data
,
const
char
*
name
,
struct
addrinfo
*
ai_list
)
{
static
void
dest_server_server_resolved
(
void
*
data
,
const
char
*
name
,
struct
addrinfo
*
ai_list
,
uint32_t
ttl
)
{
*
(
struct
addrinfo
**
)
data
=
ai_list
;
}
...
...
@@ -105,7 +105,7 @@ LinphoneAddress * linphone_core_manager_resolve(LinphoneCoreManager *mgr, const
,
linphone_address_get_domain
(
source
)
,
linphone_address_get_port
(
source
)
,
AF_INET
,
(
SalResolverCallback
)
dest_server_server_resolved
,
dest_server_server_resolved
,
&
addrinfo
);
dest
=
linphone_address_new
(
NULL
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment