1
10
13
14
20
21
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
82
83
84
85
86
90
91
92
93
94
95
96
102
103
104
105
106
111
112
113
114
115
116
122
123
124
125
126
127
128
129
130
133
134
135
...
...
...
#define NX_SECURE_SOURCE_CODE
#include "nx_secure_dtls.h"
...
...
UINT _nx_secure_dtls_server_delete(NX_SECURE_DTLS_SERVER *server_ptr)
{
#ifdef NX_SECURE_ENABLE_DTLS
UINT i;
UINT status = NX_SUCCESS;
for(i = 0; i < server_ptr->nx_dtls_server_sessions_count; ++i)
{
_nx_secure_dtls_session_delete(&(server_ptr -> nx_dtls_server_sessions[i]));
}for (i = 0; i < server_ptr->nx_dtls_server_sessions_count; ++i) { ... }
status = nx_udp_socket_delete(&(server_ptr -> nx_dtls_server_udp_socket));
if (status)
{
return(status);
}if (status) { ... }
tx_mutex_get(&_nx_secure_tls_protection, TX_WAIT_FOREVER);
if (server_ptr == server_ptr -> nx_dtls_server_created_next)
{
_nx_secure_dtls_server_created_ptr = NX_NULL;
}if (server_ptr == server_ptr -> nx_dtls_server_created_next) { ... }
else
{
if (server_ptr -> nx_dtls_server_created_next != NX_NULL)
{
(server_ptr -> nx_dtls_server_created_next) -> nx_dtls_server_created_previous =
server_ptr -> nx_dtls_server_created_previous;
}if (server_ptr -> nx_dtls_server_created_next != NX_NULL) { ... }
(server_ptr -> nx_dtls_server_created_previous) -> nx_dtls_server_created_next =
server_ptr -> nx_dtls_server_created_next;
if (_nx_secure_dtls_server_created_ptr == server_ptr)
{
_nx_secure_dtls_server_created_ptr = server_ptr -> nx_dtls_server_created_next;
}if (_nx_secure_dtls_server_created_ptr == server_ptr) { ... }
}else { ... }
_nx_secure_dtls_server_created_count--;
tx_mutex_put(&_nx_secure_tls_protection);
return(NX_SUCCESS);/* ... */
#else
NX_PARAMETER_NOT_USED(server_ptr);
return(NX_NOT_SUPPORTED);/* ... */
#endif
}{ ... }