work on dtls

FossilOrigin-Name: 8b02ed99e3287eaa044a4f4c6c8b61ab6f1a14983db99accb43b5be8425befe8
This commit is contained in:
7u83@mail.ru
2018-04-01 23:39:08 +00:00
parent c038599910
commit fb7331173e
25 changed files with 150 additions and 103 deletions

View File

@ -4,6 +4,8 @@
capwap/ssl-certfile:Str:"../../ssl/certs/wtp.crt"
capwap/ssl-keyfile:Str:"../../ssl/certs/wtp.key"
capwap/ssl-cipher:Str:ALL
cisco/ssl-certfile:Str:"../../ssl/certs/wtp.crt"
cisco/ssl-keyfile:Str:"../../ssl/certs/wtp.key"

View File

@ -105,9 +105,14 @@ int run_join_d(struct conn * conn, struct sockaddr *sa)
int sockfd;
int rsec,lsec;
int rc;
printf("JOINFD: %s\n",sock_addr2str_p(sa,addrstr));
lsec = cw_ktv_get_byte(conn->local_cfg,"ac-descriptor/security",0);
rsec = cw_ktv_get_byte(conn->remote_cfg,"ac-descriptor/security",0);
printf("Anding my and remote %d %d %d\n",lsec,rsec, rsec & lsec);
if ((lsec & rsec) == 0){
cw_log(LOG_ERR, "Can't establish DTLS with AC, my sec: %d, remote sec %d",lsec,rsec);
@ -132,10 +137,10 @@ int run_join_d(struct conn * conn, struct sockaddr *sa)
/* we call connect to bind this socket to a local IP address,
* which we can later obtain by getsockname */
/* rc = connect(sockfd, (struct sockaddr *) sa,
rc = connect(sockfd, (struct sockaddr *) sa,
sock_addrlen((struct sockaddr *) sa));
if (rc < 0) {
/* if (rc < 0) {
cw_log(LOG_ERR, "Can't connect to %s: %s\n", sock_addr2str(sa),
strerror(errno));
close(sockfd);
@ -169,6 +174,9 @@ int run_join_d(struct conn * conn, struct sockaddr *sa)
close(sockfd);
return 0;
}
*/
rc = dtls_connect(conn);
@ -185,7 +193,7 @@ int run_join_d(struct conn * conn, struct sockaddr *sa)
sock_addr2str(sa,addrstr));
*/
return 1;
}
@ -267,6 +275,7 @@ int join(struct conn * conn, struct cw_DiscoveryResult * dis)
*/
sock_strtoaddr(ipstr,(struct sockaddr*)(&sockaddr));
sock_setport((struct sockaddr*)&sockaddr,5246);
run_join_d(conn,(struct sockaddr*)(&sockaddr));
}

View File

@ -11,7 +11,7 @@
#include "cw/msgset.h"
#include "cw/cw.h"
#include "cw/dtls.h"
#include "wtp.h"
#define MAX_MODS 32
@ -161,7 +161,7 @@ int main (int argc, char **argv)
/*cw_dbg_ktv_dump(conn->local_cfg,DBG_INFO,"head","BREP: ","bot");*/
dtls_init();
cw_discovery_init_results(&dis);