24 lines
601 B
C
24 lines
601 B
C
#include "ac.h"
|
|
#include "capwap_dfa.h"
|
|
#include "capwap_array.h"
|
|
#include "ac_session.h"
|
|
|
|
/* */
|
|
int ac_dtls_setup(struct ac_session_t* session) {
|
|
ASSERT(session != NULL);
|
|
|
|
/* Create DTLS session */
|
|
if (!capwap_crypt_createsession(&session->dtls, &g_ac.dtlscontext)) {
|
|
return 0;
|
|
}
|
|
|
|
if (capwap_crypt_open(&session->dtls) == CAPWAP_HANDSHAKE_ERROR) {
|
|
return 0;
|
|
}
|
|
|
|
/* Wait DTLS handshake complete */
|
|
ac_dfa_change_state(session, CAPWAP_DTLS_CONNECT_STATE);
|
|
capwap_timeout_set(session->timeout, session->idtimercontrol, AC_DTLS_INTERVAL, ac_dfa_teardown_timeout, session, NULL);
|
|
return 1;
|
|
}
|