Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
libnice
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cpp-libs
libnice
Commits
a42971a5
Commit
a42971a5
authored
Sep 19, 2008
by
Youness Alaoui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Channel binding fix for TURN-09. The channel and length are in network byte order
parent
3cb3a945
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
5 deletions
+6
-5
udp/udp-turn.c
udp/udp-turn.c
+6
-5
No files found.
udp/udp-turn.c
View file @
a42971a5
...
...
@@ -302,11 +302,11 @@ nice_udp_turn_socket_parse_recv (
}
recv:
for
(;
i
;
i
=
i
->
next
)
{
for
(
i
=
priv
->
channels
;
i
;
i
=
i
->
next
)
{
ChannelBinding
*
b
=
i
->
data
;
if
(
priv
->
compatibility
==
NICE_UDP_TURN_SOCKET_COMPATIBILITY_DRAFT9
)
{
if
(
b
->
channel
==
((
uint16_t
*
)
recv_buf
)[
0
]
)
{
recv_len
=
((
uint16_t
*
)
recv_buf
)[
1
]
;
if
(
b
->
channel
==
ntohs
(((
uint16_t
*
)
recv_buf
)[
0
])
)
{
recv_len
=
ntohs
(((
uint16_t
*
)
recv_buf
)[
1
])
;
recv_buf
+=
sizeof
(
uint32_t
);
binding
=
b
;
break
;
...
...
@@ -388,8 +388,9 @@ socket_send (
if
(
binding
)
{
if
(
priv
->
compatibility
==
NICE_UDP_TURN_SOCKET_COMPATIBILITY_DRAFT9
&&
len
+
sizeof
(
uint32_t
)
<=
sizeof
(
buffer
))
{
uint16_t
len16
=
(
uint16_t
)
len
;
memcpy
(
buffer
,
&
binding
->
channel
,
sizeof
(
uint16_t
));
uint16_t
len16
=
htons
((
uint16_t
)
len
);
uint16_t
channel16
=
htons
(
binding
->
channel
);
memcpy
(
buffer
,
&
channel16
,
sizeof
(
uint16_t
));
memcpy
(
buffer
+
sizeof
(
uint16_t
),
&
len16
,
sizeof
(
uint16_t
));
memcpy
(
buffer
+
sizeof
(
uint32_t
),
buf
,
len
);
msg_len
=
len
+
sizeof
(
uint32_t
);
...
...
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