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);