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
1aeb122c
Commit
1aeb122c
authored
May 08, 2008
by
Olivier Crête
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Put the fingerprint only when not in google compat mode
parent
dfd0ec14
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
67 additions
and
63 deletions
+67
-63
agent/conncheck.c
agent/conncheck.c
+2
-1
agent/discovery.c
agent/discovery.c
+3
-2
stun/bind.c
stun/bind.c
+10
-9
stun/bind.h
stun/bind.h
+5
-4
stun/stun-ice.c
stun/stun-ice.c
+6
-6
stun/stun-msg.h
stun/stun-msg.h
+3
-3
stun/stunbdc.c
stun/stunbdc.c
+1
-1
stun/stund.c
stun/stund.c
+1
-1
stun/stunsend.c
stun/stunsend.c
+6
-6
stun/tests/test-bind.c
stun/tests/test-bind.c
+15
-15
stun/tests/test-conncheck.c
stun/tests/test-conncheck.c
+9
-9
stun/tests/test-format.c
stun/tests/test-format.c
+6
-6
No files found.
agent/conncheck.c
View file @
1aeb122c
...
...
@@ -430,7 +430,8 @@ static gboolean priv_conn_keepalive_tick (gpointer pointer)
nice_address_copy_to_sockaddr
(
&
p
->
remote
->
addr
,
&
sockaddr
);
res
=
stun_bind_keepalive
(
p
->
local
->
sockptr
->
fileno
,
&
sockaddr
,
sizeof
(
sockaddr
));
&
sockaddr
,
sizeof
(
sockaddr
),
agent
->
compatibility
);
g_debug
(
"Agent %p : stun_bind_keepalive for pair %p res %d (%s)."
,
agent
,
p
,
res
,
strerror
(
res
));
if
(
res
<
0
)
++
errors
;
...
...
agent/discovery.c
View file @
1aeb122c
...
...
@@ -503,7 +503,8 @@ static gboolean priv_discovery_tick_unlocked (gpointer pointer)
NICE_COMPONENT_STATE_GATHERING
);
res
=
stun_bind_start
(
&
cand
->
stun_ctx
,
cand
->
socket
,
&
stun_server
.
s
.
addr
,
sizeof
(
stun_server
.
s
));
&
stun_server
.
s
.
addr
,
sizeof
(
stun_server
.
s
),
agent
->
compatibility
);
if
(
res
==
0
)
{
/* case: success, start waiting for the result */
g_get_current_time
(
&
cand
->
next_tick
);
...
...
stun/bind.c
View file @
1aeb122c
...
...
@@ -108,7 +108,7 @@ stun_bind_alloc (stun_bind_t **restrict context, int fd,
int
stun_bind_start
(
stun_bind_t
**
restrict
context
,
int
fd
,
const
struct
sockaddr
*
restrict
srv
,
socklen_t
srvlen
)
socklen_t
srvlen
,
int
compat
)
{
stun_bind_t
*
ctx
;
...
...
@@ -117,7 +117,7 @@ int stun_bind_start (stun_bind_t **restrict context, int fd,
return
val
;
ctx
=
*
context
;
val
=
stun_finish
(
ctx
->
trans
.
msg
.
buf
,
&
ctx
->
trans
.
msg
.
length
);
val
=
stun_finish
(
ctx
->
trans
.
msg
.
buf
,
&
ctx
->
trans
.
msg
.
length
,
compat
);
if
(
val
)
goto
error
;
...
...
@@ -205,13 +205,13 @@ int stun_bind_process (stun_bind_t *restrict ctx,
int
stun_bind_run
(
int
fd
,
const
struct
sockaddr
*
restrict
srv
,
socklen_t
srvlen
,
struct
sockaddr
*
restrict
addr
,
socklen_t
*
addrlen
)
struct
sockaddr
*
restrict
addr
,
socklen_t
*
addrlen
,
int
compat
)
{
stun_bind_t
*
ctx
;
uint8_t
buf
[
STUN_MAXMSG
];
ssize_t
val
;
val
=
stun_bind_start
(
&
ctx
,
fd
,
srv
,
srvlen
);
val
=
stun_bind_start
(
&
ctx
,
fd
,
srv
,
srvlen
,
compat
);
if
(
val
)
return
val
;
...
...
@@ -236,14 +236,14 @@ int stun_bind_run (int fd,
int
stun_bind_keepalive
(
int
fd
,
const
struct
sockaddr
*
restrict
srv
,
socklen_t
srvlen
)
socklen_t
srvlen
,
int
compat
)
{
uint8_t
buf
[
28
];
size_t
len
=
sizeof
(
buf
);
int
val
;
stun_init_indication
(
buf
,
STUN_BINDING
);
val
=
stun_finish
(
buf
,
&
len
);
val
=
stun_finish
(
buf
,
&
len
,
compat
);
assert
(
val
==
0
);
(
void
)
val
;
...
...
@@ -310,7 +310,7 @@ stun_conncheck_start (stun_bind_t **restrict context, int fd,
}
val
=
stun_finish_short
(
ctx
->
trans
.
msg
.
buf
,
&
ctx
->
trans
.
msg
.
length
,
username
,
compat
==
1
?
NULL
:
password
,
NULL
);
username
,
compat
==
1
?
NULL
:
password
,
NULL
,
compat
);
if
(
val
)
goto
error
;
...
...
@@ -339,7 +339,7 @@ struct stun_nested_s
int
stun_nested_start
(
stun_nested_t
**
restrict
context
,
int
fd
,
const
struct
sockaddr
*
restrict
mapad
,
const
struct
sockaddr
*
restrict
natad
,
socklen_t
adlen
,
uint32_t
refresh
)
socklen_t
adlen
,
uint32_t
refresh
,
int
compat
)
{
stun_nested_t
*
ctx
;
int
val
;
...
...
@@ -366,7 +366,8 @@ int stun_nested_start (stun_nested_t **restrict context, int fd,
goto
error
;
val
=
stun_finish
(
ctx
->
bind
->
trans
.
msg
.
buf
,
&
ctx
->
bind
->
trans
.
msg
.
length
);
&
ctx
->
bind
->
trans
.
msg
.
length
,
compat
);
if
(
val
)
goto
error
;
...
...
stun/bind.h
View file @
1aeb122c
...
...
@@ -71,7 +71,7 @@ extern "C" {
*/
int
stun_bind_run
(
int
fd
,
const
struct
sockaddr
*
restrict
srv
,
socklen_t
srvlen
,
struct
sockaddr
*
restrict
addr
,
socklen_t
*
addrlen
);
struct
sockaddr
*
restrict
addr
,
socklen_t
*
addrlen
,
int
compat
);
/**
* Starts STUN Binding discovery in non-blocking mode.
...
...
@@ -85,7 +85,8 @@ int stun_bind_run (int fd,
* @return 0 on success, a standard error value otherwise.
*/
int
stun_bind_start
(
stun_bind_t
**
restrict
context
,
int
fd
,
const
struct
sockaddr
*
restrict
srv
,
socklen_t
srvlen
);
const
struct
sockaddr
*
restrict
srv
,
socklen_t
srvlen
,
int
compat
);
/**
* Aborts a running STUN Binding discovery.
...
...
@@ -157,7 +158,7 @@ int stun_bind_process (stun_bind_t *restrict context,
* @return 0 on success, an error code from sendto() otherwise.
*/
int
stun_bind_keepalive
(
int
fd
,
const
struct
sockaddr
*
restrict
srv
,
socklen_t
srvlen
);
socklen_t
srvlen
,
int
compat
);
/**
...
...
@@ -169,7 +170,7 @@ typedef struct stun_nested_s stun_nested_t;
int
stun_nested_start
(
stun_nested_t
**
restrict
context
,
int
fd
,
const
struct
sockaddr
*
restrict
mapad
,
const
struct
sockaddr
*
restrict
natad
,
socklen_t
adlen
,
uint32_t
refresh
);
socklen_t
adlen
,
uint32_t
refresh
,
int
compat
);
int
stun_nested_process
(
stun_nested_t
*
restrict
ctx
,
const
void
*
restrict
buf
,
size_t
len
,
...
...
stun/stun-ice.c
View file @
1aeb122c
...
...
@@ -52,7 +52,7 @@
static
int
stun_bind_error
(
uint8_t
*
buf
,
size_t
*
plen
,
const
uint8_t
*
req
,
stun_error_t
code
,
const
char
*
pass
)
stun_error_t
code
,
const
char
*
pass
,
int
compat
)
{
size_t
len
=
*
plen
;
int
val
;
...
...
@@ -64,7 +64,7 @@ stun_bind_error (uint8_t *buf, size_t *plen, const uint8_t *req,
if
(
val
)
return
val
;
val
=
stun_finish_short
(
buf
,
&
len
,
NULL
,
pass
,
NULL
);
val
=
stun_finish_short
(
buf
,
&
len
,
NULL
,
pass
,
NULL
,
compat
);
if
(
val
)
return
val
;
...
...
@@ -89,7 +89,7 @@ stun_conncheck_reply (uint8_t *restrict buf, size_t *restrict plen,
int
val
,
ret
=
0
;
#define err( code ) \
stun_bind_error (buf, &len, msg, code, pass
);
\
stun_bind_error (buf, &len, msg, code, pass
, compat);
\
*plen = len
*
plen
=
0
;
...
...
@@ -113,7 +113,7 @@ stun_conncheck_reply (uint8_t *restrict buf, size_t *restrict plen,
DBG
(
" Unknown mandatory attributes in message.
\n
"
);
val
=
stun_init_error_unknown
(
buf
,
len
,
msg
);
if
(
!
val
)
val
=
stun_finish_short
(
buf
,
&
len
,
NULL
,
pass
,
NULL
);
val
=
stun_finish_short
(
buf
,
&
len
,
NULL
,
pass
,
NULL
,
compat
);
if
(
val
)
goto
failure
;
...
...
@@ -143,7 +143,7 @@ stun_conncheck_reply (uint8_t *restrict buf, size_t *restrict plen,
if
(
val
)
{
stun_bind_error
(
buf
,
&
len
,
msg
,
val
,
NULL
);
stun_bind_error
(
buf
,
&
len
,
msg
,
val
,
NULL
,
compat
);
*
plen
=
len
;
return
EPERM
;
}
...
...
@@ -201,7 +201,7 @@ stun_conncheck_reply (uint8_t *restrict buf, size_t *restrict plen,
}
val
=
stun_finish_short
(
buf
,
&
len
,
compat
==
1
?
username
:
NULL
,
compat
==
1
?
NULL
:
pass
,
NULL
);
compat
==
1
?
NULL
:
pass
,
NULL
,
compat
);
if
(
val
)
goto
failure
;
...
...
stun/stun-msg.h
View file @
1aeb122c
...
...
@@ -583,7 +583,7 @@ int stun_init_error_unknown (uint8_t *ans, size_t msize, const uint8_t *req);
size_t
stun_finish_long
(
uint8_t
*
msg
,
size_t
*
restrict
plen
,
const
char
*
realm
,
const
char
*
username
,
const
char
*
nonce
,
const
void
*
restrict
key
,
size_t
keylen
);
const
void
*
restrict
key
,
size_t
keylen
,
int
compat
);
/**
* Completes a STUN message structure before sending it, and
...
...
@@ -600,7 +600,7 @@ stun_finish_long (uint8_t *msg, size_t *restrict plen,
*/
size_t
stun_finish_short
(
uint8_t
*
msg
,
size_t
*
restrict
plen
,
const
char
*
username
,
const
char
*
password
,
const
char
*
nonce
);
const
char
*
nonce
,
int
compat
);
/**
* Completes a STUN message structure before sending it.
...
...
@@ -611,7 +611,7 @@ size_t stun_finish_short (uint8_t *msg, size_t *restrict plen,
*
* @return 0 on success, ENOBUFS on error.
*/
size_t
stun_finish
(
uint8_t
*
restrict
msg
,
size_t
*
restrict
plen
);
size_t
stun_finish
(
uint8_t
*
restrict
msg
,
size_t
*
restrict
plen
,
int
compat
);
void
*
stun_append
(
uint8_t
*
msg
,
size_t
msize
,
stun_attr_type_t
type
,
...
...
stun/stunbdc.c
View file @
1aeb122c
...
...
@@ -98,7 +98,7 @@ static int run (int family, const char *hostname, const char *service)
printaddr
(
"Server address"
,
ptr
->
ai_addr
,
ptr
->
ai_addrlen
);
val
=
stun_bind_run
(
-
1
,
ptr
->
ai_addr
,
ptr
->
ai_addrlen
,
(
struct
sockaddr
*
)
&
addr
,
&
addrlen
);
(
struct
sockaddr
*
)
&
addr
,
&
addrlen
,
0
);
if
(
val
)
fprintf
(
stderr
,
"%s
\n
"
,
strerror
(
val
));
else
...
...
stun/stund.c
View file @
1aeb122c
...
...
@@ -235,7 +235,7 @@ static int dgram_process (int sock)
}
finish:
stun_finish
(
buf
,
&
iov
.
iov_len
);
stun_finish
(
buf
,
&
iov
.
iov_len
,
0
);
len
=
send_safe
(
sock
,
&
mh
);
return
(
len
<
iov
.
iov_len
)
?
-
1
:
0
;
...
...
stun/stunsend.c
View file @
1aeb122c
...
...
@@ -441,7 +441,7 @@ int stun_append_xor_addr (uint8_t *restrict msg, size_t msize,
size_t
stun_finish_long
(
uint8_t
*
msg
,
size_t
*
restrict
plen
,
const
char
*
realm
,
const
char
*
username
,
const
char
*
nonce
,
const
void
*
restrict
key
,
size_t
keylen
)
const
void
*
restrict
key
,
size_t
keylen
,
int
compat
)
{
size_t
len
=
*
plen
;
uint8_t
*
ptr
;
...
...
@@ -494,7 +494,7 @@ stun_finish_long (uint8_t *msg, size_t *restrict plen,
}
if
(
0
)
{
if
(
compat
!=
1
)
{
/*
* NOTE: we always add a FINGERPRINT, even when it's not needed.
* This is OK, as it is an optional attribute. It also makes my
...
...
@@ -515,14 +515,14 @@ stun_finish_long (uint8_t *msg, size_t *restrict plen,
size_t
stun_finish_short
(
uint8_t
*
msg
,
size_t
*
restrict
plen
,
const
char
*
username
,
const
char
*
restrict
password
,
const
char
*
nonce
)
const
char
*
nonce
,
int
compat
)
{
return
stun_finish_long
(
msg
,
plen
,
NULL
,
username
,
nonce
,
password
,
password
?
strlen
(
password
)
:
0
);
password
,
password
?
strlen
(
password
)
:
0
,
compat
);
}
size_t
stun_finish
(
uint8_t
*
msg
,
size_t
*
restrict
plen
)
size_t
stun_finish
(
uint8_t
*
msg
,
size_t
*
restrict
plen
,
int
compat
)
{
return
stun_finish_short
(
msg
,
plen
,
NULL
,
NULL
,
NULL
);
return
stun_finish_short
(
msg
,
plen
,
NULL
,
NULL
,
NULL
,
compat
);
}
stun/tests/test-bind.c
View file @
1aeb122c
...
...
@@ -98,7 +98,7 @@ static void bad_family (void)
#endif
val
=
stun_bind_run
(
-
1
,
&
addr
,
sizeof
(
addr
),
&
dummy
,
&
(
socklen_t
){
sizeof
(
dummy
)
});
&
dummy
,
&
(
socklen_t
){
sizeof
(
dummy
)
}
,
0
);
assert
(
val
!=
0
);
}
...
...
@@ -116,7 +116,7 @@ static void small_srv_addr (void)
#endif
val
=
stun_bind_run
(
-
1
,
&
addr
,
1
,
&
dummy
,
&
(
socklen_t
){
sizeof
(
dummy
)
});
&
dummy
,
&
(
socklen_t
){
sizeof
(
dummy
)
}
,
0
);
assert
(
val
==
EINVAL
);
}
...
...
@@ -133,7 +133,7 @@ static void big_srv_addr (void)
memset
(
buf
,
0
,
sizeof
(
buf
));
val
=
stun_bind_run
(
fd
,
(
struct
sockaddr
*
)
buf
,
sizeof
(
buf
),
&
dummy
,
&
(
socklen_t
){
sizeof
(
dummy
)
});
&
dummy
,
&
(
socklen_t
){
sizeof
(
dummy
)
}
,
0
);
assert
(
val
==
ENOBUFS
);
close
(
fd
);
}
...
...
@@ -155,7 +155,7 @@ static void timeout (void)
assert
(
val
==
0
);
val
=
stun_bind_run
(
-
1
,
(
struct
sockaddr
*
)
&
srv
,
srvlen
,
&
dummy
,
&
(
socklen_t
){
sizeof
(
dummy
)
});
&
dummy
,
&
(
socklen_t
){
sizeof
(
dummy
)
}
,
0
);
assert
(
val
==
ETIMEDOUT
);
close
(
servfd
);
...
...
@@ -181,7 +181,7 @@ static void bad_responses (void)
fd
=
socket
(
addr
.
ss_family
,
SOCK_DGRAM
,
0
);
assert
(
fd
!=
-
1
);
val
=
stun_bind_start
(
&
ctx
,
fd
,
(
struct
sockaddr
*
)
&
addr
,
addrlen
);
val
=
stun_bind_start
(
&
ctx
,
fd
,
(
struct
sockaddr
*
)
&
addr
,
addrlen
,
0
);
assert
(
val
==
0
);
/* Send to/receive from our client instance only */
...
...
@@ -260,7 +260,7 @@ static void responses (void)
assert
(
val
==
0
);
/* Send error response */
val
=
stun_bind_start
(
&
ctx
,
fd
,
NULL
,
0
);
val
=
stun_bind_start
(
&
ctx
,
fd
,
NULL
,
0
,
0
);
assert
(
val
==
0
);
val
=
recv
(
servfd
,
buf
,
1000
,
MSG_DONTWAIT
);
...
...
@@ -268,7 +268,7 @@ static void responses (void)
stun_init_error
(
buf
,
sizeof
(
buf
),
buf
,
STUN_SERVER_ERROR
);
len
=
sizeof
(
buf
);
val
=
stun_finish
(
buf
,
&
len
);
val
=
stun_finish
(
buf
,
&
len
,
0
);
assert
(
val
==
0
);
val
=
getsockname
(
servfd
,
(
struct
sockaddr
*
)
&
addr
,
&
addrlen
);
...
...
@@ -278,7 +278,7 @@ static void responses (void)
assert
(
val
==
ECONNREFUSED
);
/* Send response with an unknown attribute */
val
=
stun_bind_start
(
&
ctx
,
fd
,
NULL
,
0
);
val
=
stun_bind_start
(
&
ctx
,
fd
,
NULL
,
0
,
0
);
assert
(
val
==
0
);
val
=
recv
(
servfd
,
buf
,
1000
,
MSG_DONTWAIT
);
...
...
@@ -289,7 +289,7 @@ static void responses (void)
"This is an unknown attribute!"
);
assert
(
val
==
0
);
len
=
sizeof
(
buf
);
val
=
stun_finish
(
buf
,
&
len
);
val
=
stun_finish
(
buf
,
&
len
,
0
);
assert
(
val
==
0
);
val
=
getsockname
(
servfd
,
(
struct
sockaddr
*
)
&
addr
,
&
addrlen
);
...
...
@@ -300,7 +300,7 @@ static void responses (void)
assert
(
val
==
EPROTO
);
/* Send response with a no mapped address at all */
val
=
stun_bind_start
(
&
ctx
,
fd
,
NULL
,
0
);
val
=
stun_bind_start
(
&
ctx
,
fd
,
NULL
,
0
,
0
);
assert
(
val
==
0
);
val
=
recv
(
servfd
,
buf
,
1000
,
MSG_DONTWAIT
);
...
...
@@ -308,7 +308,7 @@ static void responses (void)
stun_init_response
(
buf
,
sizeof
(
buf
),
buf
);
len
=
sizeof
(
buf
);
val
=
stun_finish
(
buf
,
&
len
);
val
=
stun_finish
(
buf
,
&
len
,
0
);
assert
(
val
==
0
);
val
=
getsockname
(
servfd
,
(
struct
sockaddr
*
)
&
addr
,
&
addrlen
);
...
...
@@ -319,7 +319,7 @@ static void responses (void)
assert
(
val
==
ENOENT
);
/* Send old-style response */
val
=
stun_bind_start
(
&
ctx
,
fd
,
NULL
,
0
);
val
=
stun_bind_start
(
&
ctx
,
fd
,
NULL
,
0
,
0
);
assert
(
val
==
0
);
val
=
recv
(
servfd
,
buf
,
1000
,
MSG_DONTWAIT
);
...
...
@@ -330,7 +330,7 @@ static void responses (void)
(
struct
sockaddr
*
)
&
addr
,
addrlen
);
assert
(
val
==
0
);
len
=
sizeof
(
buf
);
val
=
stun_finish
(
buf
,
&
len
);
val
=
stun_finish
(
buf
,
&
len
,
0
);
assert
(
val
==
0
);
val
=
getsockname
(
servfd
,
(
struct
sockaddr
*
)
&
addr
,
&
addrlen
);
...
...
@@ -366,12 +366,12 @@ static void keepalive (void)
assert
(
fd
!=
-
1
);
/* Keep alive sending smoke test */
val
=
stun_bind_keepalive
(
fd
,
(
struct
sockaddr
*
)
&
addr
,
addrlen
);
val
=
stun_bind_keepalive
(
fd
,
(
struct
sockaddr
*
)
&
addr
,
addrlen
,
0
);
assert
(
val
==
0
);
/* Wrong address family test */
addr
.
ss_family
=
addr
.
ss_family
==
AF_INET
?
AF_INET6
:
AF_INET
;
val
=
stun_bind_keepalive
(
fd
,
(
struct
sockaddr
*
)
&
addr
,
addrlen
);
val
=
stun_bind_keepalive
(
fd
,
(
struct
sockaddr
*
)
&
addr
,
addrlen
,
0
);
assert
(
val
!=
0
);
/* End */
...
...
stun/tests/test-conncheck.c
View file @
1aeb122c
...
...
@@ -77,7 +77,7 @@ int main (void)
stun_init_request
(
req
,
STUN_BINDING
);
stun_init_response
(
req
,
sizeof
(
req
),
req
);
len
=
sizeof
(
req
);
val
=
stun_finish
(
req
,
&
len
);
val
=
stun_finish
(
req
,
&
len
,
0
);
assert
(
val
==
0
);
len
=
sizeof
(
resp
);
...
...
@@ -89,7 +89,7 @@ int main (void)
/* Incorrect message method */
stun_init_request
(
req
,
0x666
);
len
=
sizeof
(
req
);
val
=
stun_finish_short
(
req
,
&
len
,
username
,
pass
,
NULL
);
val
=
stun_finish_short
(
req
,
&
len
,
username
,
pass
,
NULL
,
0
);
assert
(
val
==
0
);
len
=
sizeof
(
resp
);
...
...
@@ -104,7 +104,7 @@ int main (void)
"The evil unknown attribute!"
);
assert
(
val
==
0
);
len
=
sizeof
(
req
);
val
=
stun_finish
(
req
,
&
len
);
val
=
stun_finish
(
req
,
&
len
,
0
);
assert
(
val
==
0
);
len
=
sizeof
(
resp
);
...
...
@@ -116,7 +116,7 @@ int main (void)
/* Unauthenticated message */
stun_init_request
(
req
,
STUN_BINDING
);
len
=
sizeof
(
req
);
val
=
stun_finish
(
req
,
&
len
);
val
=
stun_finish
(
req
,
&
len
,
0
);
assert
(
val
==
0
);
len
=
sizeof
(
resp
);
...
...
@@ -130,7 +130,7 @@ int main (void)
/* No username */
stun_init_request
(
req
,
STUN_BINDING
);
len
=
sizeof
(
req
);
val
=
stun_finish_short
(
req
,
&
len
,
NULL
,
pass
,
NULL
);
val
=
stun_finish_short
(
req
,
&
len
,
NULL
,
pass
,
NULL
,
0
);
assert
(
val
==
0
);
len
=
sizeof
(
resp
);
...
...
@@ -150,7 +150,7 @@ int main (void)
val
=
stun_append_flag
(
req
,
sizeof
(
req
),
STUN_USE_CANDIDATE
);
assert
(
val
==
0
);
len
=
sizeof
(
req
);
val
=
stun_finish_short
(
req
,
&
len
,
username
,
pass
,
NULL
);
val
=
stun_finish_short
(
req
,
&
len
,
username
,
pass
,
NULL
,
0
);
assert
(
val
==
0
);
len
=
sizeof
(
resp
);
...
...
@@ -195,7 +195,7 @@ int main (void)
/* Bad CRC32 */
stun_init_request
(
req
,
STUN_BINDING
);
len
=
sizeof
(
req
);
val
=
stun_finish_short
(
req
,
&
len
,
ufrag
,
pass
,
NULL
);
val
=
stun_finish_short
(
req
,
&
len
,
ufrag
,
pass
,
NULL
,
0
);
assert
(
val
==
0
);
((
uint8_t
*
)
stun_find
(
req
,
STUN_FINGERPRINT
,
&
alen
))[
0
]
^=
1
;
...
...
@@ -210,7 +210,7 @@ int main (void)
val
=
stun_append64
(
req
,
sizeof
(
req
),
STUN_ICE_CONTROLLING
,
tie
+
1
);
assert
(
val
==
0
);
len
=
sizeof
(
req
);
val
=
stun_finish_short
(
req
,
&
len
,
username
,
pass
,
NULL
);
val
=
stun_finish_short
(
req
,
&
len
,
username
,
pass
,
NULL
,
0
);
assert
(
val
==
0
);
len
=
sizeof
(
resp
);
...
...
@@ -229,7 +229,7 @@ int main (void)
val
=
stun_append64
(
req
,
sizeof
(
req
),
STUN_ICE_CONTROLLED
,
tie
-
1
);
assert
(
val
==
0
);
len
=
sizeof
(
req
);
val
=
stun_finish_short
(
req
,
&
len
,
username
,
pass
,
NULL
);
val
=
stun_finish_short
(
req
,
&
len
,
username
,
pass
,
NULL
,
0
);
assert
(
val
==
0
);
len
=
sizeof
(
resp
);
...
...
stun/tests/test-format.c
View file @
1aeb122c
...
...
@@ -82,14 +82,14 @@ finish_check (uint8_t *msg)
size_t
len
=
sizeof
(
stun_msg_t
);
memcpy
(
mshort
,
msg
,
sizeof
(
mshort
));
if
(
stun_finish
(
msg
,
&
len
))
if
(
stun_finish
(
msg
,
&
len
,
0
))
fatal
(
"Cannot finish message"
);
dynamic_check
(
msg
,
len
);
len
=
sizeof
(
mshort
);
if
(
stun_verify_password
(
mshort
,
"toto"
)
!=
ENOENT
)
fatal
(
"Missing HMAC test failed"
);
if
(
stun_finish_short
(
mshort
,
&
len
,
"ABCDE"
,
"admin"
,
"ABC"
))
if
(
stun_finish_short
(
mshort
,
&
len
,
"ABCDE"
,
"admin"
,
"ABC"
,
0
))
fatal
(
"Cannot finish message with short-term creds"
);
dynamic_check
(
mshort
,
len
);
if
(
stun_verify_password
(
mshort
,
"admin"
)
!=
0
)
...
...
@@ -197,16 +197,16 @@ int main (void)
sizeof
(
addr
))
!=
ENOBUFS
)
fatal
(
"Address overflow test failed"
);
len
=
sizeof
(
msg
);
if
(
stun_finish
(
msg
,
&
len
)
!=
ENOBUFS
)
if
(
stun_finish
(
msg
,
&
len
,
0
)
!=
ENOBUFS
)
fatal
(
"Fingerprint overflow test failed"
);
len
=
sizeof
(
msg
);
if
(
stun_finish_short
(
msg
,
&
len
,
NULL
,
"secret"
,
NULL
)
!=
ENOBUFS
)
if
(
stun_finish_short
(
msg
,
&
len
,
NULL
,
"secret"
,
NULL
,
0
)
!=
ENOBUFS
)
fatal
(
"Message integrity overflow test failed"
);
len
=
sizeof
(
msg
);
if
(
stun_finish_short
(
msg
,
&
len
,
"login"
,
"secret"
,
NULL
)
!=
ENOBUFS
)
if
(
stun_finish_short
(
msg
,
&
len
,
"login"
,
"secret"
,
NULL
,
0
)
!=
ENOBUFS
)
fatal
(
"Username overflow test failed"
);
len
=
sizeof
(
msg
);
if
(
stun_finish_short
(
msg
,
&
len
,
NULL
,
"secret"
,
"foobar"
)
!=
ENOBUFS
)
if
(
stun_finish_short
(
msg
,
&
len
,
NULL
,
"secret"
,
"foobar"
,
0
)
!=
ENOBUFS
)
fatal
(
"Nonce overflow test failed"
);
/* Address attributes tests */
...
...
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