new function

FossilOrigin-Name: 1a427341fb5ac85b982d22703f9e104f9a086db6980fd31752802f54798bae61
This commit is contained in:
7u83@mail.ru 2018-04-01 08:04:09 +00:00
parent 263b7e0124
commit 1bfa09d1b2
1 changed files with 36 additions and 0 deletions

36
src/cw/cw_setup_dtls.c Normal file
View File

@ -0,0 +1,36 @@
#include "cw.h"
int cw_setup_dtls(struct conn * conn, mavl_t cfg, const char *prefix, char * default_cipher)
{
char key[CW_KTV_MAX_KEY_LEN];
char *ssl_psk,*ssl_cert,*ssl_key;
uint8_t security;
security = 0;
sprintf(key,"%s/%s",prefix,"ssl-cipher");
conn->dtls_cipher = cw_ktv_get_str(cfg,key, default_cipher);
sprintf(key,"%s/%s",prefix,"ssl-psk");
ssl_psk = cw_ktv_get_str(cfg,key,NULL);
if (ssl_psk != NULL){
conn->dtls_psk=ssl_psk;
conn->dtls_psk_len=strlen(ssl_psk);
security |= CAPWAP_FLAG_AC_SECURITY_S;
}
sprintf(key,"%s/%s",prefix,"ssl-certfile");
ssl_cert = cw_ktv_get_str(conn->local_cfg,key,NULL);
sprintf(key,"%s/%s",prefix,"ssl-keyfile");
ssl_key = cw_ktv_get_str(conn->local_cfg,key,NULL);
if (ssl_cert != NULL && ssl_key != NULL){
conn->dtls_cert_file = ssl_cert;
conn->dtls_key_file = ssl_key;
sprintf(key,"%s/%s",prefix,"ssl-keypass");
conn->dtls_key_pass = cw_ktv_get_str(cfg,key,NULL);
security |= CAPWAP_FLAG_AC_SECURITY_X;
}
return security;
}