From aa24582d05a316c33448fb71c0ffa373384aa93c Mon Sep 17 00:00:00 2001 From: "7u83@mail.ru" <7u83@mail.ru@noemail.net> Date: Wed, 4 Apr 2018 17:23:40 +0000 Subject: [PATCH] cw_ktv_set_word and cw_ktv_setdword added FossilOrigin-Name: db2628d0a97473f499170b32d2ad13ef2158334ce009ff8d5bd9f9331d653fc4 --- libcw.project | 2 ++ src/ac/config.ktv | 5 +++-- src/ac/wtpman.c | 2 +- src/cw/Makefile | 2 ++ src/cw/conn_process_packet.c | 6 +++--- src/cw/cw_ktv_set_dword.c | 6 ++++++ src/cw/cw_ktv_set_word.c | 6 ++++++ src/cw/ktv.h | 3 +++ 8 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 src/cw/cw_ktv_set_dword.c create mode 100644 src/cw/cw_ktv_set_word.c diff --git a/libcw.project b/libcw.project index 7595c1e3..180c7d9c 100644 --- a/libcw.project +++ b/libcw.project @@ -278,6 +278,8 @@ + + diff --git a/src/ac/config.ktv b/src/ac/config.ktv index 0eccc6d0..646ea92c 100644 --- a/src/ac/config.ktv +++ b/src/ac/config.ktv @@ -14,7 +14,8 @@ ac-descriptor/hardware/vendor:Dword:1234567 ac-descriptor/hardware/version:Bstr16:"1.7.3" ac-name:Bstr16:"TubesAC" -capwap-control-ip-address/address.0:IPAddress:192.168.0.14 +#capwap-control-ip-address/address.0:IPAddress:1192.168.0.14 +capwap-control-ip-address/address.0:IPAddress:172.16.66.229 #capwap-control-ip-address/address.0:IPAddress:192.168.0.131 #capwap-control-ip-address/address.1:IPAddress:2a00:c1a0:48c6:4a00:9965:1b6e:aca3:1398 capwap-control-ip-address/wtps.0:Word:0 @@ -27,7 +28,7 @@ capwap-control-ip-address/wtps.0:Word:0 capwap/ssl-cipher:Str:+DHE-RSA:+RSA:+AES-256-CBC:+AES-128-CBC:+SHA1:+PSK capwap/ssl-psk-enable:Bool:true capwap/ssl-psk:Bstr16:"HalloWelt" -capwap/ssl-dhbits:Word: 64 +capwap/ssl-dhbits:Word: 1024 psk:Bstr16:1234 diff --git a/src/ac/wtpman.c b/src/ac/wtpman.c index 9d04f9e1..7863b981 100644 --- a/src/ac/wtpman.c +++ b/src/ac/wtpman.c @@ -178,7 +178,7 @@ static int wtpman_establish_dtls(void *arg) cw_dbg(DBG_DTLS, "DTLS session established with %s, %s", sock_addr2str_p(&wtpman->conn->addr,sock_buf), dtls_get_cipher(wtpman->conn,cipherstr)); -exit(0); + return 1; } diff --git a/src/cw/Makefile b/src/cw/Makefile index b7200263..76221f23 100644 --- a/src/cw/Makefile +++ b/src/cw/Makefile @@ -109,6 +109,8 @@ KTVSRC=\ cw_ktv_get_bool.c\ cw_ktv_get_bstr16.c\ cw_ktv_set_byte.c\ + cw_ktv_set_word.c\ + cw_ktv_set_dword.c\ cw_ktv_get.c\ cw_ktv_get_word.c\ cw_ktv_get_dword.c\ diff --git a/src/cw/conn_process_packet.c b/src/cw/conn_process_packet.c index 1494d146..fc04f13c 100644 --- a/src/cw/conn_process_packet.c +++ b/src/cw/conn_process_packet.c @@ -473,11 +473,11 @@ static int process_elements(struct conn *conn, uint8_t * rawmsg, int len, if (result_code > 0) { /* the end method gave us an result code>0, so send an error message */ -printf("Here we are, error response %i %s\n", result_code, cw_strerror(result_code)); -exit(0); + cw_send_error_response(conn, rawmsg, result_code); } else if (result_code == 0) { - + /*cw_ktv_add_word(conn->local_cfg,"result_code")*/ + /* All is ok, send regular response message */ cw_send_response(conn, rawmsg, len); } else { diff --git a/src/cw/cw_ktv_set_dword.c b/src/cw/cw_ktv_set_dword.c new file mode 100644 index 00000000..3ec79238 --- /dev/null +++ b/src/cw/cw_ktv_set_dword.c @@ -0,0 +1,6 @@ +#include "ktv.h" + +cw_KTV_t * cw_ktv_set_dword(mavl_t ktv,const char * key, uint32_t dword) +{ + return cw_ktv_replace(ktv,key,CW_TYPE_DWORD,(void*)&dword,4); +} diff --git a/src/cw/cw_ktv_set_word.c b/src/cw/cw_ktv_set_word.c new file mode 100644 index 00000000..c9634c13 --- /dev/null +++ b/src/cw/cw_ktv_set_word.c @@ -0,0 +1,6 @@ +#include "ktv.h" + +cw_KTV_t * cw_ktv_set_word(mavl_t ktv,const char * key, uint16_t word) +{ + return cw_ktv_replace(ktv,key,CW_TYPE_WORD,(void*)&word,2); +} diff --git a/src/cw/ktv.h b/src/cw/ktv.h index 1977d6a9..01c59414 100644 --- a/src/cw/ktv.h +++ b/src/cw/ktv.h @@ -144,6 +144,9 @@ cw_KTV_t * cw_ktv_get(mavl_t ktv, const char *key, const cw_Type_t * type); uint8_t cw_ktv_get_byte(mavl_t ktv,const char *key, uint8_t def); uint8_t cw_ktv_get_bool(mavl_t ktv,const char *key, uint8_t def); cw_KTV_t * cw_ktv_set_byte(mavl_t ktv,const char * key, uint8_t byte); +cw_KTV_t * cw_ktv_set_dword(mavl_t ktv,const char * key, uint32_t dword); +cw_KTV_t * cw_ktv_set_word(mavl_t ktv,const char * key, uint16_t word); + bstr16_t cw_ktv_get_bstr16(mavl_t ktv,const char *key, bstr16_t def); uint16_t cw_ktv_get_word(mavl_t ktv,const char *key, uint16_t def);