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
03dce9b3
Commit
03dce9b3
authored
Jan 30, 2009
by
Youness Alaoui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Porting the unit tests to use the new stun API
parent
95c34a4b
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
79 additions
and
110 deletions
+79
-110
stun/tests/test-bind.c
stun/tests/test-bind.c
+2
-13
stun/tests/test-conncheck.c
stun/tests/test-conncheck.c
+25
-35
stun/tests/test-format.c
stun/tests/test-format.c
+20
-22
stun/tests/test-parse.c
stun/tests/test-parse.c
+32
-31
stun/tests/test-turn.c
stun/tests/test-turn.c
+0
-9
No files found.
stun/tests/test-bind.c
View file @
03dce9b3
...
...
@@ -49,15 +49,6 @@
#ifdef _WIN32
#include <winsock2.h>
#include <ws2tcpip.h>
#define ENOENT -1
#define EINVAL -2
#define ENOBUFS -3
#define EAFNOSUPPORT -4
#define EPROTO -5
#define EACCES -6
#define EINPROGRESS -7
#define EAGAIN -8
#define ENOSYS -9
#define MSG_DONTWAIT 0
#define MSG_NOSIGNAL 0
...
...
@@ -69,7 +60,6 @@
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <errno.h>
#endif
#undef NDEBUG
/* ensure assertions are built-in */
...
...
@@ -370,9 +360,8 @@ static void responses (void)
==
STUN_VALIDATION_SUCCESS
);
stun_agent_init_response
(
&
agent
,
&
msg
,
buf
,
sizeof
(
buf
),
&
msg
);
val
=
stun_message_append_addr
(
&
msg
,
STUN_ATTRIBUTE_MAPPED_ADDRESS
,
(
struct
sockaddr
*
)
&
addr
,
addrlen
);
assert
(
val
==
0
);
assert
(
stun_message_append_addr
(
&
msg
,
STUN_ATTRIBUTE_MAPPED_ADDRESS
,
(
struct
sockaddr
*
)
&
addr
,
addrlen
)
==
STUN_MESSAGE_RETURN_SUCCESS
);
len
=
stun_agent_finish_message
(
&
agent
,
&
msg
,
NULL
,
0
);
assert
(
len
>
0
);
...
...
stun/tests/test-conncheck.c
View file @
03dce9b3
...
...
@@ -49,16 +49,6 @@
#ifdef _WIN32
#include <winsock2.h>
#include <ws2tcpip.h>
#define ENOENT -1
#define EINVAL -2
#define ENOBUFS -3
#define EAFNOSUPPORT -4
#define EPROTO -5
#define EACCES -6
#define EINPROGRESS -7
#define EAGAIN -8
#define ENOSYS -9
#define MSG_DONTWAIT 0
#define MSG_NOSIGNAL 0
...
...
@@ -69,7 +59,6 @@
#include <arpa/inet.h>
#include <netinet/in.h>
#include <netdb.h>
#include <errno.h>
#endif
#undef NDEBUG
/* ensure assertions are built-in */
...
...
@@ -82,7 +71,8 @@ int main (void)
uint8_t
req_buf
[
STUN_MAX_MESSAGE_SIZE
];
uint8_t
resp_buf
[
STUN_MAX_MESSAGE_SIZE
];
const
uint64_t
tie
=
0x8000000000000000LL
;
ssize_t
val
;
StunMessageReturn
val
;
StunUsageIceReturn
val2
;
size_t
len
;
size_t
rlen
;
static
char
username
[]
=
"L:R"
,
ufrag
[]
=
"L"
,
pass
[]
=
"secret"
;
...
...
@@ -119,32 +109,32 @@ int main (void)
assert
(
rlen
>
0
);
len
=
sizeof
(
resp_buf
);
val
=
stun_usage_ice_conncheck_create_reply
(
&
agent
,
&
req
,
val
2
=
stun_usage_ice_conncheck_create_reply
(
&
agent
,
&
req
,
&
resp
,
resp_buf
,
&
len
,
(
struct
sockaddr
*
)
&
ip4
,
sizeof
(
ip4
),
&
control
,
tie
,
STUN_USAGE_ICE_COMPATIBILITY_DRAFT19
);
assert
(
val
==
EINVAL
);
assert
(
val
2
==
STUN_USAGE_ICE_RETURN_INVALID_REQUEST
);
assert
(
len
==
0
);
/* Incorrect message method */
assert
(
stun_agent_init_request
(
&
agent
,
&
req
,
req_buf
,
sizeof
(
req_buf
),
0x666
));
val
=
stun_message_append_string
(
&
req
,
STUN_ATTRIBUTE_USERNAME
,
username
);
assert
(
val
==
0
);
assert
(
val
==
STUN_MESSAGE_RETURN_SUCCESS
);
rlen
=
stun_agent_finish_message
(
&
agent
,
&
req
,
pass
,
strlen
(
pass
));
assert
(
rlen
>
0
);
len
=
sizeof
(
resp_buf
);
val
=
stun_usage_ice_conncheck_create_reply
(
&
agent
,
&
req
,
val
2
=
stun_usage_ice_conncheck_create_reply
(
&
agent
,
&
req
,
&
resp
,
resp_buf
,
&
len
,
(
struct
sockaddr
*
)
&
ip4
,
sizeof
(
ip4
),
&
control
,
tie
,
STUN_USAGE_ICE_COMPATIBILITY_DRAFT19
);
assert
(
val
==
EPROTO
);
assert
(
val
2
==
STUN_USAGE_ICE_RETURN_INVALID_METHOD
);
assert
(
len
>
0
);
/* Unknown attribute */
assert
(
stun_agent_init_request
(
&
agent
,
&
req
,
req_buf
,
sizeof
(
req_buf
),
STUN_BINDING
));
val
=
stun_message_append_string
(
&
req
,
0x666
,
"The evil unknown attribute!"
);
assert
(
val
==
0
);
assert
(
val
==
STUN_MESSAGE_RETURN_SUCCESS
);
val
=
stun_message_append_string
(
&
req
,
STUN_ATTRIBUTE_USERNAME
,
username
);
assert
(
val
==
0
);
assert
(
val
==
STUN_MESSAGE_RETURN_SUCCESS
);
rlen
=
stun_agent_finish_message
(
&
agent
,
&
req
,
pass
,
strlen
(
pass
));
assert
(
rlen
>
0
);
...
...
@@ -178,19 +168,19 @@ int main (void)
/* Good message */
assert
(
stun_agent_init_request
(
&
agent
,
&
req
,
req_buf
,
sizeof
(
req_buf
),
STUN_BINDING
));
val
=
stun_message_append32
(
&
req
,
STUN_ATTRIBUTE_PRIORITY
,
0x12345678
);
assert
(
val
==
0
);
assert
(
val
==
STUN_MESSAGE_RETURN_SUCCESS
);
val
=
stun_message_append_flag
(
&
req
,
STUN_ATTRIBUTE_USE_CANDIDATE
);
assert
(
val
==
0
);
assert
(
val
==
STUN_MESSAGE_RETURN_SUCCESS
);
val
=
stun_message_append_string
(
&
req
,
STUN_ATTRIBUTE_USERNAME
,
ufrag
);
assert
(
val
==
0
);
assert
(
val
==
STUN_MESSAGE_RETURN_SUCCESS
);
rlen
=
stun_agent_finish_message
(
&
agent
,
&
req
,
pass
,
strlen
(
pass
));
assert
(
rlen
>
0
);
len
=
sizeof
(
resp_buf
);
val
=
stun_usage_ice_conncheck_create_reply
(
&
agent
,
&
req
,
val
2
=
stun_usage_ice_conncheck_create_reply
(
&
agent
,
&
req
,
&
resp
,
resp_buf
,
&
len
,
(
struct
sockaddr
*
)
&
ip4
,
sizeof
(
ip4
),
&
control
,
tie
,
STUN_USAGE_ICE_COMPATIBILITY_DRAFT19
);
assert
(
val
==
0
);
assert
(
val
==
STUN_USAGE_ICE_RETURN_SUCCESS
);
assert
(
len
>
0
);
assert
(
stun_agent_validate
(
&
agent
,
&
resp
,
resp_buf
,
len
,
stun_agent_default_validater
,
validater_data
)
==
STUN_VALIDATION_SUCCESS
);
...
...
@@ -201,16 +191,16 @@ int main (void)
/* Invalid socket address */
assert
(
stun_agent_init_request
(
&
agent
,
&
req
,
req_buf
,
sizeof
(
req_buf
),
STUN_BINDING
));
val
=
stun_message_append_string
(
&
req
,
STUN_ATTRIBUTE_USERNAME
,
ufrag
);
assert
(
val
==
0
);
assert
(
val
==
STUN_MESSAGE_RETURN_SUCCESS
);
rlen
=
stun_agent_finish_message
(
&
agent
,
&
req
,
pass
,
strlen
(
pass
));
assert
(
rlen
>
0
);
ip4
.
sin_family
=
AF_UNSPEC
;
len
=
sizeof
(
resp_buf
);
val
=
stun_usage_ice_conncheck_create_reply
(
&
agent
,
&
req
,
val
2
=
stun_usage_ice_conncheck_create_reply
(
&
agent
,
&
req
,
&
resp
,
resp_buf
,
&
len
,
(
struct
sockaddr
*
)
&
ip4
,
sizeof
(
ip4
),
&
control
,
tie
,
STUN_USAGE_ICE_COMPATIBILITY_DRAFT19
);
assert
(
val
==
EAFNOSUPPORT
);
assert
(
val
2
==
STUN_USAGE_ICE_RETURN_INVALID_ADDRESS
);
assert
(
len
==
0
);
ip4
.
sin_family
=
AF_INET
;
...
...
@@ -218,19 +208,19 @@ int main (void)
/* Lost role conflict */
assert
(
stun_agent_init_request
(
&
agent
,
&
req
,
req_buf
,
sizeof
(
req_buf
),
STUN_BINDING
));
val
=
stun_message_append64
(
&
req
,
STUN_ATTRIBUTE_ICE_CONTROLLING
,
tie
+
1
);
assert
(
val
==
0
);
assert
(
val
==
STUN_MESSAGE_RETURN_SUCCESS
);
val
=
stun_message_append_string
(
&
req
,
STUN_ATTRIBUTE_USERNAME
,
ufrag
);
assert
(
val
==
0
);
assert
(
val
==
STUN_MESSAGE_RETURN_SUCCESS
);
rlen
=
stun_agent_finish_message
(
&
agent
,
&
req
,
pass
,
strlen
(
pass
));
assert
(
rlen
>
0
);
len
=
sizeof
(
resp_buf
);
control
=
true
;
val
=
stun_usage_ice_conncheck_create_reply
(
&
agent
,
&
req
,
val
2
=
stun_usage_ice_conncheck_create_reply
(
&
agent
,
&
req
,
&
resp
,
resp_buf
,
&
len
,
(
struct
sockaddr
*
)
&
ip4
,
sizeof
(
ip4
),
&
control
,
tie
,
STUN_USAGE_ICE_COMPATIBILITY_DRAFT19
);
assert
(
val
==
EACCES
);
assert
(
val
2
==
STUN_USAGE_ICE_RETURN_ROLE_CONFLICT
);
assert
(
len
>
0
);
assert
(
control
==
false
);
assert
(
stun_agent_validate
(
&
agent
,
&
resp
,
resp_buf
,
len
,
...
...
@@ -240,18 +230,18 @@ int main (void)
/* Won role conflict */
assert
(
stun_agent_init_request
(
&
agent
,
&
req
,
req_buf
,
sizeof
(
req_buf
),
STUN_BINDING
));
val
=
stun_message_append64
(
&
req
,
STUN_ATTRIBUTE_ICE_CONTROLLED
,
tie
-
1
);
assert
(
val
==
0
);
assert
(
val
==
STUN_MESSAGE_RETURN_SUCCESS
);
val
=
stun_message_append_string
(
&
req
,
STUN_ATTRIBUTE_USERNAME
,
ufrag
);
assert
(
val
==
0
);
assert
(
val
==
STUN_MESSAGE_RETURN_SUCCESS
);
rlen
=
stun_agent_finish_message
(
&
agent
,
&
req
,
pass
,
strlen
(
pass
));
assert
(
rlen
>
0
);
len
=
sizeof
(
resp_buf
);
control
=
false
;
val
=
stun_usage_ice_conncheck_create_reply
(
&
agent
,
&
req
,
val
2
=
stun_usage_ice_conncheck_create_reply
(
&
agent
,
&
req
,
&
resp
,
resp_buf
,
&
len
,
(
struct
sockaddr
*
)
&
ip4
,
sizeof
(
ip4
),
&
control
,
tie
,
STUN_USAGE_ICE_COMPATIBILITY_DRAFT19
);
assert
(
val
==
0
);
assert
(
val
2
==
STUN_USAGE_ICE_RETURN_SUCCESS
);
assert
(
len
>
0
);
assert
(
control
==
false
);
assert
(
stun_agent_validate
(
&
agent
,
&
resp
,
resp_buf
,
len
,
...
...
stun/tests/test-format.c
View file @
03dce9b3
...
...
@@ -48,20 +48,10 @@
#ifdef _WIN32
#include <winsock2.h>
#define ENOENT -1
#define EINVAL -2
#define ENOBUFS -3
#define EAFNOSUPPORT -4
#define EPROTO -5
#define EACCES -6
#define EINPROGRESS -7
#define EAGAIN -8
#define ENOSYS -9
#else
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <errno.h>
#endif
...
...
@@ -155,27 +145,29 @@ check_af (const char *name, int family, socklen_t addrlen)
stun_agent_init_request
(
&
agent
,
&
msg
,
buf
,
sizeof
(
buf
),
STUN_BINDING
);
if
(
stun_message_append_addr
(
&
msg
,
STUN_ATTRIBUTE_MAPPED_ADDRESS
,
(
struct
sockaddr
*
)
&
addr
,
addrlen
)
!=
EAFNOSUPPORT
)
(
struct
sockaddr
*
)
&
addr
,
addrlen
)
!=
STUN_MESSAGE_RETURN_UNSUPPORTED_ADDRESS
)
fatal
(
"Unknown address family test failed"
);
if
(
stun_message_append_xor_addr
(
&
msg
,
STUN_ATTRIBUTE_XOR_MAPPED_ADDRESS
,
(
struct
sockaddr
*
)
&
addr
,
addrlen
)
!=
EAFNOSUPPORT
)
(
struct
sockaddr
*
)
&
addr
,
addrlen
)
!=
STUN_MESSAGE_RETURN_UNSUPPORTED_ADDRESS
)
fatal
(
"Unknown address family xor test failed"
);
addr
.
ss_family
=
family
;
if
(
stun_message_append_addr
(
&
msg
,
STUN_ATTRIBUTE_MAPPED_ADDRESS
,
(
struct
sockaddr
*
)
&
addr
,
addrlen
-
1
)
!=
EINVAL
)
(
struct
sockaddr
*
)
&
addr
,
addrlen
-
1
)
!=
STUN_MESSAGE_RETURN_INVALID
)
fatal
(
"Too small %s sockaddr test failed"
,
name
);
if
(
stun_message_append_xor_addr
(
&
msg
,
STUN_ATTRIBUTE_XOR_MAPPED_ADDRESS
,
(
struct
sockaddr
*
)
&
addr
,
addrlen
-
1
)
!=
EINVAL
)
(
struct
sockaddr
*
)
&
addr
,
addrlen
-
1
)
!=
STUN_MESSAGE_RETURN_INVALID
)
fatal
(
"Too small %s sockaddr xor test failed"
,
name
);
if
(
stun_message_append_addr
(
&
msg
,
STUN_ATTRIBUTE_MAPPED_ADDRESS
,
(
struct
sockaddr
*
)
&
addr
,
addrlen
)
)
(
struct
sockaddr
*
)
&
addr
,
addrlen
)
!=
STUN_MESSAGE_RETURN_SUCCESS
)
fatal
(
"%s sockaddr test failed"
,
name
);
if
(
stun_message_append_xor_addr
(
&
msg
,
STUN_ATTRIBUTE_XOR_MAPPED_ADDRESS
,
(
struct
sockaddr
*
)
&
addr
,
addrlen
)
)
(
struct
sockaddr
*
)
&
addr
,
addrlen
)
!=
STUN_MESSAGE_RETURN_SUCCESS
)
fatal
(
"%s sockaddr xor test failed"
,
name
);
}
...
...
@@ -187,7 +179,10 @@ int main (void)
StunAgent
agent
;
StunMessage
msg
;
uint16_t
known_attributes
[]
=
{
STUN_ATTRIBUTE_USERNAME
,
STUN_ATTRIBUTE_MESSAGE_INTEGRITY
,
STUN_ATTRIBUTE_ERROR_CODE
,
0
};
uint16_t
known_attributes
[]
=
{
STUN_ATTRIBUTE_USERNAME
,
STUN_ATTRIBUTE_MESSAGE_INTEGRITY
,
STUN_ATTRIBUTE_ERROR_CODE
,
0
};
stun_agent_init
(
&
agent
,
known_attributes
,
STUN_COMPATIBILITY_RFC5389
,
STUN_AGENT_USAGE_USE_FINGERPRINT
);
...
...
@@ -225,19 +220,22 @@ int main (void)
stun_agent_init_request
(
&
agent
,
&
msg
,
buf
,
sizeof
(
buf
),
STUN_BINDING
);
for
(
len
=
0
;
stun_message_append_flag
(
&
msg
,
0xffff
)
!=
ENOBUFS
;
stun_message_append_flag
(
&
msg
,
0xffff
)
!=
STUN_MESSAGE_RETURN_NOT_ENOUGH_SPACE
;
len
+=
4
)
{
if
(
len
>
0xffff
)
fatal
(
"Overflow protection test failed"
);
}
if
(
stun_message_append32
(
&
msg
,
0xffff
,
0x12345678
)
!=
ENOBUFS
)
if
(
stun_message_append32
(
&
msg
,
0xffff
,
0x12345678
)
!=
STUN_MESSAGE_RETURN_NOT_ENOUGH_SPACE
)
fatal
(
"Double-word overflow test failed"
);
if
(
stun_message_append64
(
&
msg
,
0xffff
,
0x123456789abcdef0
)
!=
ENOBUFS
)
0x123456789abcdef0
)
!=
STUN_MESSAGE_RETURN_NOT_ENOUGH_SPACE
)
fatal
(
"Quad-word overflow test failed"
);
if
(
stun_message_append_string
(
&
msg
,
0xffff
,
"foobar"
)
!=
ENOBUFS
)
if
(
stun_message_append_string
(
&
msg
,
0xffff
,
"foobar"
)
!=
STUN_MESSAGE_RETURN_NOT_ENOUGH_SPACE
)
fatal
(
"String overflow test failed"
);
memset
(
&
addr
,
0
,
sizeof
(
addr
));
...
...
@@ -246,7 +244,7 @@ int main (void)
addr
.
sa_len
=
sizeof
(
addr
);
#endif
if
(
stun_message_append_xor_addr
(
&
msg
,
0xffff
,
&
addr
,
sizeof
(
addr
))
!=
ENOBUFS
)
sizeof
(
addr
))
!=
STUN_MESSAGE_RETURN_NOT_ENOUGH_SPACE
)
fatal
(
"Address overflow test failed"
);
len
=
sizeof
(
msg
);
if
(
stun_agent_finish_message
(
&
agent
,
&
msg
,
NULL
,
0
)
!=
0
)
...
...
stun/tests/test-parse.c
View file @
03dce9b3
...
...
@@ -45,20 +45,10 @@
#ifdef _WIN32
#include <winsock2.h>
#define ENOENT -1
#define EINVAL -2
#define ENOBUFS -3
#define EAFNOSUPPORT -4
#define EPROTO -5
#define EACCES -6
#define EINPROGRESS -7
#define EAGAIN -8
#define ENOSYS -9
#else
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <errno.h>
#endif
...
...
@@ -251,7 +241,8 @@ static void test_message (void)
fatal
(
"Binding Error Response failed"
);
if
(
stun_message_validate_buffer_length
(
NULL
,
0
)
!=
STUN_MESSAGE_BUFFER_INVALID
)
if
(
stun_message_validate_buffer_length
(
NULL
,
0
)
!=
STUN_MESSAGE_BUFFER_INVALID
)
fatal
(
"0 bytes test failed"
);
if
(
stun_message_validate_buffer_length
((
uint8_t
*
)
"
\xf0
"
,
1
)
>=
0
)
fatal
(
"1 byte test failed"
);
...
...
@@ -396,51 +387,61 @@ static void test_attribute (void)
if
(
!
stun_message_has_attribute
(
&
msg
,
0xff01
))
fatal
(
"Present attribute test failed"
);
if
(
stun_message_find_flag
(
&
msg
,
0xff00
)
!=
ENOENT
)
if
(
stun_message_find_flag
(
&
msg
,
0xff00
)
!=
STUN_MESSAGE_RETURN_NOT_FOUND
)
fatal
(
"Absent flag test failed"
);
if
(
stun_message_find_flag
(
&
msg
,
0xff01
)
!=
0
)
if
(
stun_message_find_flag
(
&
msg
,
0xff01
)
!=
STUN_MESSAGE_RETURN_SUCCESS
)
fatal
(
"Flag test failed"
);
if
(
stun_message_find_flag
(
&
msg
,
0xff02
)
!=
EINVAL
)
if
(
stun_message_find_flag
(
&
msg
,
0xff02
)
!=
STUN_MESSAGE_RETURN_INVALID
)
fatal
(
"Too big flag test failed"
);
if
(
stun_message_find32
(
&
msg
,
0xff00
,
&
dword
)
!=
ENOENT
)
if
(
stun_message_find32
(
&
msg
,
0xff00
,
&
dword
)
!=
STUN_MESSAGE_RETURN_NOT_FOUND
)
fatal
(
"Absent dword test failed"
);
if
(
stun_message_find32
(
&
msg
,
0xff01
,
&
dword
)
!=
EINVAL
)
if
(
stun_message_find32
(
&
msg
,
0xff01
,
&
dword
)
!=
STUN_MESSAGE_RETURN_INVALID
)
fatal
(
"Bad dword test failed"
);
if
(
stun_message_find32
(
&
msg
,
0xff02
,
&
dword
)
!=
0
)
if
(
stun_message_find32
(
&
msg
,
0xff02
,
&
dword
)
!=
STUN_MESSAGE_RETURN_SUCCESS
)
fatal
(
"Double-word test failed"
);
if
(
stun_message_find64
(
&
msg
,
0xff00
,
&
qword
)
!=
ENOENT
)
if
(
stun_message_find64
(
&
msg
,
0xff00
,
&
qword
)
!=
STUN_MESSAGE_RETURN_NOT_FOUND
)
fatal
(
"Absent qword test failed"
);
if
(
stun_message_find64
(
&
msg
,
0xff01
,
&
qword
)
!=
EINVAL
)
if
(
stun_message_find64
(
&
msg
,
0xff01
,
&
qword
)
!=
STUN_MESSAGE_RETURN_INVALID
)
fatal
(
"Bad qword test failed"
);
if
(
stun_message_find64
(
&
msg
,
0xff04
,
&
qword
)
!=
0
)
if
(
stun_message_find64
(
&
msg
,
0xff04
,
&
qword
)
!=
STUN_MESSAGE_RETURN_SUCCESS
)
fatal
(
"Quad-word test failed"
);
if
(
stun_message_find_string
(
&
msg
,
0xff00
,
str
,
STUN_MAX_CP
)
!=
ENOENT
)
if
(
stun_message_find_string
(
&
msg
,
0xff00
,
str
,
STUN_MAX_CP
)
!=
STUN_MESSAGE_RETURN_NOT_FOUND
)
fatal
(
"Absent string test failed"
);
if
((
stun_message_find_string
(
&
msg
,
0xff02
,
str
,
STUN_MAX_CP
)
!=
0
)
if
((
stun_message_find_string
(
&
msg
,
0xff02
,
str
,
STUN_MAX_CP
)
!=
STUN_MESSAGE_RETURN_SUCCESS
)
||
strcmp
(
str
,
"ABCD"
))
fatal
(
"String test failed"
);
addrlen
=
sizeof
(
addr
);
if
(
stun_message_find_addr
(
&
msg
,
0xff01
,
&
addr
.
sa
,
&
addrlen
)
!=
EINVAL
)
if
(
stun_message_find_addr
(
&
msg
,
0xff01
,
&
addr
.
sa
,
&
addrlen
)
!=
STUN_MESSAGE_RETURN_INVALID
)
fatal
(
"Too short addres test failed"
);
addrlen
=
sizeof
(
addr
);
if
(
stun_message_find_addr
(
&
msg
,
0xff02
,
&
addr
.
sa
,
&
addrlen
)
!=
EAFNOSUPPORT
)
if
(
stun_message_find_addr
(
&
msg
,
0xff02
,
&
addr
.
sa
,
&
addrlen
)
!=
STUN_MESSAGE_RETURN_UNSUPPORTED_ADDRESS
)
fatal
(
"Unknown address family test failed"
);
addrlen
=
sizeof
(
addr
);
if
(
stun_message_find_addr
(
&
msg
,
0xff03
,
&
addr
.
sa
,
&
addrlen
)
!=
EINVAL
)
if
(
stun_message_find_addr
(
&
msg
,
0xff03
,
&
addr
.
sa
,
&
addrlen
)
!=
STUN_MESSAGE_RETURN_INVALID
)
fatal
(
"Too short IPv6 address test failed"
);
addrlen
=
sizeof
(
addr
);
if
(
stun_message_find_addr
(
&
msg
,
0xff04
,
&
addr
.
sa
,
&
addrlen
)
!=
0
)
if
(
stun_message_find_addr
(
&
msg
,
0xff04
,
&
addr
.
sa
,
&
addrlen
)
!=
STUN_MESSAGE_RETURN_SUCCESS
)
fatal
(
"IPv4 address test failed"
);
addrlen
=
sizeof
(
addr
);
if
(
stun_message_find_addr
(
&
msg
,
0xff05
,
&
addr
.
sa
,
&
addrlen
)
!=
EINVAL
)
if
(
stun_message_find_addr
(
&
msg
,
0xff05
,
&
addr
.
sa
,
&
addrlen
)
!=
STUN_MESSAGE_RETURN_INVALID
)
fatal
(
"Too big IPv4 address test failed"
);
addrlen
=
sizeof
(
addr
);
if
(
stun_message_find_xor_addr
(
&
msg
,
0xff06
,
&
addr
.
sa
,
&
addrlen
)
||
memcmp
(
&
addr
.
s6
.
sin6_addr
,
"
\x20\x01\x0d\xb8
""
\xde\xad\xbe\xef
"
if
(
stun_message_find_xor_addr
(
&
msg
,
0xff06
,
&
addr
.
sa
,
&
addrlen
)
!=
STUN_MESSAGE_RETURN_SUCCESS
||
memcmp
(
&
addr
.
s6
.
sin6_addr
,
"
\x20\x01\x0d\xb8
""
\xde\xad\xbe\xef
"
"
\xde\xfa\xce\xd0
""
\xfa\xce\xde\xed
"
,
16
))
fatal
(
"IPv6 address test failed"
);
...
...
@@ -647,7 +648,7 @@ static void test_vectors (void)
addrlen
=
sizeof
(
ip4
);
if
(
stun_message_find_xor_addr
(
&
msg
,
STUN_ATTRIBUTE_XOR_MAPPED_ADDRESS
,
(
struct
sockaddr
*
)
&
ip4
,
&
addrlen
)
!=
0
)
(
struct
sockaddr
*
)
&
ip4
,
&
addrlen
)
!=
STUN_MESSAGE_RETURN_SUCCESS
)
fatal
(
"Response test vector IPv4 extraction failed"
);
if
(
ip4
.
sin_family
!=
AF_INET
)
fatal
(
"Response test vector IPv4 family failed"
);
...
...
@@ -680,7 +681,7 @@ static void test_vectors (void)
addrlen
=
sizeof
(
ip6
);
if
(
stun_message_find_xor_addr
(
&
msg
,
STUN_ATTRIBUTE_XOR_MAPPED_ADDRESS
,
(
struct
sockaddr
*
)
&
ip6
,
&
addrlen
)
!=
0
)
(
struct
sockaddr
*
)
&
ip6
,
&
addrlen
)
!=
STUN_MESSAGE_RETURN_SUCCESS
)
fatal
(
"Response test vector IPv6 extraction failed"
);
if
(
ip6
.
sin6_family
!=
AF_INET6
)
fatal
(
"Response test vector IPv6 family failed"
);
...
...
stun/tests/test-turn.c
View file @
03dce9b3
...
...
@@ -49,15 +49,6 @@
#ifdef _WIN32
#include <winsock2.h>
#include <ws2tcpip.h>
#define ENOENT -1
#define EINVAL -2
#define ENOBUFS -3
#define EAFNOSUPPORT -4
#define EPROTO -5
#define EACCES -6
#define EINPROGRESS -7
#define EAGAIN -8
#define ENOSYS -9
#define MSG_DONTWAIT 0
#define MSG_NOSIGNAL 0
...
...
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