From 2dd03898b4653ab4d11ec527f89575ecf11ca57c Mon Sep 17 00:00:00 2001 From: "7u83@mail.ru" <7u83@mail.ru@noemail.net> Date: Sun, 8 Feb 2015 20:07:55 +0000 Subject: [PATCH] GnuTLS is now supported on client side. FossilOrigin-Name: 1cb3d6ca96bf4b9447418b5a3983a3abc8918d60ef745cc2600a353f4a7f559b --- src/CapwapConfig.mak | 2 +- src/WtpConfig.mak | 12 +++--- src/capwap/Makefile | 1 + src/capwap/conn.c | 11 +++--- src/capwap/conn.h | 3 +- src/capwap/conn_create_noq.c | 11 +++--- src/capwap/conn_recv_packet.c | 17 ++++++++- src/capwap/dtls_gnutls.c | 11 ++++-- src/capwap/dtls_gnutls.h | 2 +- src/capwap/dtls_gnutls_accept.c | 8 ++-- src/capwap/dtls_gnutls_bio.c | 9 +---- src/wtp/Makefile | 68 ++++++++++++++------------------- src/wtp/conf_uci.c | 23 ++++++----- src/wtp/discovery.c | 14 +++---- src/wtp/join.c | 24 ++++-------- src/wtp/run.c | 8 ++-- src/wtp/sulking.c | 4 +- src/wtp/wtp_conf.c | 10 ++++- src/wtp/wtp_conf.h | 11 ++++++ src/wtp/wtp_main.c | 12 +----- src/wtp/wtp_uci.default.conf | 12 +++++- 21 files changed, 145 insertions(+), 128 deletions(-) diff --git a/src/CapwapConfig.mak b/src/CapwapConfig.mak index d732e038..1f71fdb0 100644 --- a/src/CapwapConfig.mak +++ b/src/CapwapConfig.mak @@ -1,4 +1,4 @@ include ../Config.mak WITH_GNUTLS=1 -WITH_OPENSSL=0 +WITH_OPENSSL=1 diff --git a/src/WtpConfig.mak b/src/WtpConfig.mak index 95ccb9b6..106c2e42 100644 --- a/src/WtpConfig.mak +++ b/src/WtpConfig.mak @@ -1,10 +1,8 @@ +include ../Config.mak -#SSL settings -SSL_LIBRARY=OPENSSL -USE_CONTRIB_OPENSSL=1 +# +SSL_LIBRARY=GNUTLS -# C compiler settings -CC=clang CFLAGS += -I/usr/include/libnl3 @@ -17,4 +15,8 @@ LDFLAGS += -L../contrib/libubox/build CONF_LIBRARY=UCI USE_CONTRIB_UCI=0 +ifeq ($(USE_CONTRIB_UCI),1) +CFLAGS+=-I../contrib/uci +endif + diff --git a/src/capwap/Makefile b/src/capwap/Makefile index d777d9c0..ae3d71f8 100644 --- a/src/capwap/Makefile +++ b/src/capwap/Makefile @@ -154,6 +154,7 @@ CFLAGS+=$(GNUTLS_CFLAGS) CFLAGS+=-DWITH_GNUTLS DTLSOBJS+= dtls_gnutls.o \ dtls_gnutls_accept.o \ + dtls_gnutls_connect.o \ dtls_gnutls_bio.o \ dtls_gnutls_get_cipher.o endif diff --git a/src/capwap/conn.c b/src/capwap/conn.c index c7f0328d..406da0f9 100644 --- a/src/capwap/conn.c +++ b/src/capwap/conn.c @@ -57,10 +57,6 @@ struct conn * conn_create(int sock, struct sockaddr * addr, int qsize) if (addr) sock_copyaddr(&conn->addr,addr); -// printf("AF IN: %i\n",addr->sa_family); -// char str[200] ; -// sock_addrtostr((struct sockaddr*)&conn->addr,str,200); -// printf("CONN CREATOR: %s\n",str); conn->fragman = fragman_create(); if (conn->fragman==NULL){ @@ -81,15 +77,18 @@ struct conn * conn_create(int sock, struct sockaddr * addr, int qsize) return NULL; }; conn->recv_packet=conn_q_recv_packet; + conn->recv_packet_peek=conn_q_recv_packet_peek; } - else + else{ conn->recv_packet = conn_recv_packet; + conn->recv_packet_peek = conn_recv_packet_peek; + } + conn->send_packet = conn_send_packet; conn->last_seqnum_received=-1; conn->mtu=1500; - conn->send_packet = conn_send_packet; conn->cur_packet=0; conn->recv_timeout=1; diff --git a/src/capwap/conn.h b/src/capwap/conn.h index 35cf5882..bbc45fb2 100644 --- a/src/capwap/conn.h +++ b/src/capwap/conn.h @@ -69,6 +69,7 @@ struct conn{ /* receive and send methods */ int (*recv_packet)(struct conn *, uint8_t *,int); + int (*recv_packet_peek)(struct conn *, uint8_t *,int); int (*send_packet)(struct conn *, const uint8_t *, int); int (*read)(struct conn *, uint8_t*, int); @@ -147,8 +148,8 @@ uint8_t * conn_q_get_packet(struct conn * conn); extern int conn_q_recv_packet(struct conn * conn, uint8_t * buffer,int len); extern int conn_q_recv_packet_peek(struct conn * conn, uint8_t * buffer,int len); - extern int conn_recv_packet(struct conn* conn,uint8_t *buf,int len); +extern int conn_recv_packet_peek(struct conn* conn,uint8_t *buf,int len); extern int conn_send_response(struct conn * conn,struct cwmsg * cwmsg,int seqnum); extern struct cwrmsg * conn_get_response(struct conn * conn); diff --git a/src/capwap/conn_create_noq.c b/src/capwap/conn_create_noq.c index 85a2bcd9..cf52330f 100644 --- a/src/capwap/conn_create_noq.c +++ b/src/capwap/conn_create_noq.c @@ -44,24 +44,24 @@ struct conn * conn_create_noq(int sock, struct sockaddr * addr) if (addr) sock_copyaddr(&conn->addr,addr); -// printf("AF IN: %i\n",addr->sa_family); -// char str[200] ; -// sock_addrtostr((struct sockaddr*)&conn->addr,str,200); -// printf("CONN CREATOR: %s\n",str); + /* create the CAPWAP framentation manager */ conn->fragman = fragman_create(); if (conn->fragman==NULL){ conn_destroy(conn); return NULL; } + /* set packet recieve and send methods */ conn->recv_packet = conn_recv_packet; + conn->recv_packet_peek = conn_recv_packet_peek; + conn->send_packet = conn_send_packet; + /* misc settings */ conn->last_seqnum_received=-1; conn->mtu=1500; - conn->send_packet = conn_send_packet; conn->cur_packet=0; conn->recv_timeout=1; @@ -70,7 +70,6 @@ struct conn * conn_create_noq(int sock, struct sockaddr * addr) conn->write = conn->send_packet; conn->read = conn->recv_packet; - return conn; } diff --git a/src/capwap/conn_recv_packet.c b/src/capwap/conn_recv_packet.c index 7631e149..9df23527 100644 --- a/src/capwap/conn_recv_packet.c +++ b/src/capwap/conn_recv_packet.c @@ -24,10 +24,9 @@ #include "conn.h" -int conn_recv_packet(struct conn* conn,uint8_t *buf,int len) +int conn_recv_packet_(struct conn* conn,uint8_t *buf,int len,int flags) { int n; - int flags=0; while( (n = recv(conn->sock,(char*)buf,len,flags)) < 0 ){ if (errno!=EINTR) { @@ -40,3 +39,17 @@ int conn_recv_packet(struct conn* conn,uint8_t *buf,int len) } +/* yes, these functions could be better defined as macros in a .h file */ + +int conn_recv_packet(struct conn* conn,uint8_t *buf,int len) +{ + return conn_recv_packet_(conn,buf,len,0); +} + +int conn_recv_packet_peek(struct conn* conn,uint8_t *buf,int len) +{ + int rc = conn_recv_packet_(conn,buf,len,MSG_PEEK); + return rc; + +} + diff --git a/src/capwap/dtls_gnutls.c b/src/capwap/dtls_gnutls.c index bcb1c570..f26f8d9e 100644 --- a/src/capwap/dtls_gnutls.c +++ b/src/capwap/dtls_gnutls.c @@ -33,6 +33,11 @@ int dtls_gnutls_init() return 1; } +int dtls_gnutls_shutdown(struct conn *conn) +{ + /* implement it */ + return 1; +} void dtls_gnutls_data_destroy(struct dtls_gnutls_data *d) { @@ -74,7 +79,7 @@ int dtls_gnutls_read(struct conn * conn, uint8_t *buffer, int len) } -struct dtls_gnutls_data *dtls_gnutls_data_create(struct conn *conn) +struct dtls_gnutls_data *dtls_gnutls_data_create(struct conn *conn,int config) { struct dtls_gnutls_data *d = malloc(sizeof(struct dtls_gnutls_data)); if (!d) @@ -106,7 +111,7 @@ struct dtls_gnutls_data *dtls_gnutls_data_create(struct conn *conn) } - rc = gnutls_init(&d->session, GNUTLS_SERVER | GNUTLS_DATAGRAM); + rc = gnutls_init(&d->session, config); if (rc < 0) { cw_log(LOG_ERR, "DTLS - Can't init session: %s", gnutls_strerror(rc)); dtls_gnutls_data_destroy(d); @@ -132,10 +137,10 @@ struct dtls_gnutls_data *dtls_gnutls_data_create(struct conn *conn) return 0; } - gnutls_certificate_server_set_request(d->session,GNUTLS_CERT_REQUEST); gnutls_transport_set_pull_function(d->session, dtls_gnutls_bio_read); gnutls_transport_set_push_function(d->session, dtls_gnutls_bio_write); + gnutls_transport_set_pull_timeout_function(d->session, dtls_gnutls_bio_wait); return d; } diff --git a/src/capwap/dtls_gnutls.h b/src/capwap/dtls_gnutls.h index 39c31680..6140ed63 100644 --- a/src/capwap/dtls_gnutls.h +++ b/src/capwap/dtls_gnutls.h @@ -48,7 +48,7 @@ struct dtls_gnutls_data { gnutls_priority_t priority_cache; }; -struct dtls_gnutls_data *dtls_gnutls_data_create(struct conn *conn); +struct dtls_gnutls_data *dtls_gnutls_data_create(struct conn *conn,int config); #endif diff --git a/src/capwap/dtls_gnutls_accept.c b/src/capwap/dtls_gnutls_accept.c index 0064f3cc..52831e78 100644 --- a/src/capwap/dtls_gnutls_accept.c +++ b/src/capwap/dtls_gnutls_accept.c @@ -65,7 +65,7 @@ int dtls_gnutls_accept(struct conn *conn) if (tlen <0 && errno == EAGAIN) continue; if (tlen < 0 ){ - /* something went wrong, log a message */ + /* something went wrong, iwe should log a message */ continue; } @@ -78,7 +78,7 @@ int dtls_gnutls_accept(struct conn *conn) continue; } - dtls_gnutls_bio_read(conn, buffer, sizeof(buffer)); + // dtls_gnutls_bio_read(conn, buffer, sizeof(buffer)); break; } @@ -92,11 +92,11 @@ int dtls_gnutls_accept(struct conn *conn) cw_dbg(DBG_DTLS, "DTLS - Cookie verified! Starting handshake ..."); - d = dtls_gnutls_data_create(conn); + d = dtls_gnutls_data_create(conn,GNUTLS_SERVER | GNUTLS_DATAGRAM); if (!d) return 0; - gnutls_transport_set_pull_timeout_function(d->session, dtls_gnutls_bio_wait); + gnutls_certificate_server_set_request(d->session,GNUTLS_CERT_REQUEST); gnutls_dtls_prestate_set(d->session, &prestate); c_timer = cw_timer_start(10); diff --git a/src/capwap/dtls_gnutls_bio.c b/src/capwap/dtls_gnutls_bio.c index eccf9061..a5b2d6d3 100644 --- a/src/capwap/dtls_gnutls_bio.c +++ b/src/capwap/dtls_gnutls_bio.c @@ -46,13 +46,6 @@ ssize_t dtls_gnutls_bio_write(gnutls_transport_ptr_t b, const void *data, size_t return dtls_bio_write(conn,data,len); } -/* - * wait for an incoming packet, used by gnutls to determine if - * data is available on "asynchropnous" connections. - * - * Attention! This function only works for struct conn objects where - * queueing is enabled. Used by AC-Tube. - */ int dtls_gnutls_bio_wait(gnutls_transport_ptr_t ptr, unsigned int ms) { struct conn * conn = (struct conn*)ptr; @@ -62,7 +55,7 @@ int dtls_gnutls_bio_wait(gnutls_transport_ptr_t ptr, unsigned int ms) uint8_t buffer[5]; do { - rc = conn_q_recv_packet_peek(conn,buffer,sizeof(buffer)); + rc = conn->recv_packet_peek(conn,buffer,sizeof(buffer)); }while(!cw_timer_timeout(timer) && rc==GNUTLS_E_AGAIN); diff --git a/src/wtp/Makefile b/src/wtp/Makefile index 76bdae21..f279e1d7 100644 --- a/src/wtp/Makefile +++ b/src/wtp/Makefile @@ -5,30 +5,14 @@ ifndef CC CC=gcc endif -ifdef INCLUDE_DIR - XINCLUDE=-I $(INCLUDE_DIR) -endif - -ifdef LIB_DIR - XLIB=-L $(LIB_DIR) -endif -include ../Config.mak -ifeq ($(USE_CONTRIB_UCI),1) -CFLAGS+=-I../contrib/uci -endif - - -WITH_UCI=1 CFLAGS+=-DWITH_RMAC_SUPPORT CFLAGS+=-DWITH_IPV6 CFLAGS+=-DWITH_CW_LOG CFLAGS+=-DWITH_CW_LOG_DEBUG CFLAGS+=-DWITH_DTLS -CFLAGS+=-DWITH_UCI -CFLAGS+=$(XINCLUDE) ifndef ARCH @@ -36,32 +20,45 @@ ifndef ARCH endif -#ifndef CFLAGS CFLAGS += -O2 -Wall -g -#endif - LDFLAGS += -L../../src/capwap/$(ARCH) -#LDFLAGS += -L/usr/local/lib -LDFLAGS += -luci -#LDFLAGS += -L../capwap -LDFLAGS += $(XLIB) -#LDFLAGS += -lpthread -#LDFLAGS += -lrt LIBS+=-lcapwap -#LIBS+=-liw LIBS+=-lnl-3 LIBS+=-lnl-genl-3 -LIBS+=$(OPENSSLLIB) -#LIBS+=-lcrypto -#LIBS+=-lrt -ifdef WITH_UCI + +CONFOBJS = wtp_conf.o + +ifeq ($(CONF_LIBRARY),UCI) +CFLAGS+=-DWITH_UCI LIBS+=-luci -lubox +CONFOBJS += conf_uci.o else LIBS+=-lconfuse +CONFOBJS += wtp_conf_confuse.o endif + + + +ifeq ($(SSL_LIBRARY),GNUTLS) +CFLAGS+=-DWITH_GNUTLS +CFLAGS+=$(GNUTLS_CFLAGS) +LIBS+=$(GNUTLS_LIBS) +LDFLAGS+=$(GNUTLS_LDFLAGS) +endif + +ifeq ($(SSL_LIBRARY),OPENSSL) +CFLAGS+=-DWITH_OPENSSL +CFLAGS+=$(OPESSL_CFLAGS) +LDFLAGS+=$(OPENSSL_LDFLAGS) +LIBS+=$(OPENSSL_LIBS) +endif + + + + #HA_FILES += ../contrib/hostap/src/drivers/driver_nl80211.o HA_INCS += -I$(INCLUDE_DIR)/libnl-tiny @@ -74,19 +71,11 @@ CFLAGS += $(HA_INCS) #CFLAGS += -I../src #CFLAGS += -I../src/utils CFLAGS += -I../../src -CFLAGS += -I$(OPENSSLINC) #CFLAGS += -I/usr/local/include -CONFOBJS = wtp_conf.o - -ifdef WITH_UCI - CONFOBJS += conf_uci.o -else - CONFOBJS += wtp_conf_confuse.o -endif OBJS += wtp_main.o @@ -127,8 +116,7 @@ endif wtp: $(BCHECK) $(OBJS) - $(Q)$(CC) $(LDFLAGS) -o wtp $(OBJS) $(LIBS) - + $(Q)$(CC) $(OBJS) -o wtp $(LDFLAGS) $(LIBS) @$(E) " LD " $@ clean: diff --git a/src/wtp/conf_uci.c b/src/wtp/conf_uci.c index 57b102e8..d316b3a8 100644 --- a/src/wtp/conf_uci.c +++ b/src/wtp/conf_uci.c @@ -60,20 +60,24 @@ static void read_dbg_options(struct uci_context *ctx, struct uci_section *sectio int i; for (i=0; cw_dbg_cfgstrs[i].name; i++) { - set_dbg_opt(ctx,section,cw_dbg_cfgstrs[i].level,cw_dbg_cfgstrs[i].name); - // if (!strcmp(str,cw_dbg_cfgstrs[i].name)) - // return cw_dbg_cfgstrs[i].level; } - // return 0; +} +static void read_timers(struct uci_context *ctx,struct uci_section *section) +{ + int i; + for (i=0; conf_timer_cfgstrs[i].name; i++) { + + const char *str = uci_lookup_option_string(ctx,section,conf_timer_cfgstrs[i].name); + if ( str ) { + *(conf_timer_cfgstrs[i].value)=atol(str); + + } + + } -/* set_dbg_opt(ctx,section,DBG_DTLS,"dtls"); - set_dbg_opt(ctx,section,DBG_DTLS_DETAIL,"dtls_detail"); - set_dbg_opt(ctx,section,DBG_DTLS_BIO,"dtls_bio"); - set_dbg_opt(ctx,section,DBG_DTLS_BIO_DMP,"dtls_bio_dmp"); -*/ } int read_config(const char * filename){ @@ -126,6 +130,7 @@ int read_config(const char * filename){ return 1; } + read_timers(ctx,section); const char *str; str = uci_lookup_option_string(ctx,section,"name"); diff --git a/src/wtp/discovery.c b/src/wtp/discovery.c index 108fe570..bbf9d0f0 100644 --- a/src/wtp/discovery.c +++ b/src/wtp/discovery.c @@ -61,7 +61,7 @@ static int acprint(void *p,void*d) //,int ctr) static int msg_cb(void *priv,struct cwrmsg * cwrmsg) { if (cwrmsg->type != CWMSG_DISCOVERY_RESPONSE){ - cw_log_debug0("Expected discovery response, but received %i",cwrmsg->type); + cw_dbg(DBG_ERR,"Expected discovery response, but received %i",cwrmsg->type); return 1; } @@ -115,7 +115,7 @@ static void rand_sleep(int seconds) cw_rand((uint8_t*)&rnd,sizeof(rnd)); uint16_t max = 0-1; int r = (rnd * usecs) / max; - cw_log_debug0("Sleeping for %u milliseconds\n",r); + cw_dbg(DBG_CW_INFO,"Sleeping for %u milliseconds\n",r); usleep(r*1000); } @@ -146,7 +146,7 @@ static int do_discover_conn(struct conn * conn,struct discovery_info * di) #ifdef WITH_CW_LOG_DEBUG char str[100]; sock_addrtostr((struct sockaddr*)&conn->addr,str,100); - cw_log_debug0("Sending discovery request to %s",str); +// cw_log_debug0("Sending discovery request to %s",str); #endif int rc; @@ -158,7 +158,7 @@ static int do_discover_conn(struct conn * conn,struct discovery_info * di) continue; if (errno == EMSGSIZE){ conn->mtu-=4; - cw_log_debug2("Setting mtu to %i",conn->mtu); +// cw_log_debug2("Setting mtu to %i",conn->mtu); continue; } } @@ -200,7 +200,7 @@ static int do_discover_conn(struct conn * conn,struct discovery_info * di) #ifdef WITH_CW_LOG_DEBUG char str[100]; sock_addrtostr((struct sockaddr*)&sa,str,100); - cw_log_debug0("Received packet from %s",str); +// cw_log_debug0("Received packet from %s",str); #endif struct conn * rconn; @@ -279,7 +279,7 @@ ACIPLIST * do_discovery(const char *acaddr) if ( discovery_count >= conf_max_discoveries){ sulking_state(); discovery_count=0; - cw_log_debug0("Entering discovery state"); + // cw_log_debug0("Entering discovery state"); } discovery_count++; @@ -318,7 +318,7 @@ ACIPLIST * do_discovery(const char *acaddr) freeaddrinfo(res0); if (di.aciplist->count){ - cw_log_debug2("Discover responses received: %i\n",di.response_count); +// cw_log_debug2("Discover responses received: %i\n",di.response_count); return di.aciplist; } diff --git a/src/wtp/join.c b/src/wtp/join.c index ad3655a4..e4f6bab8 100644 --- a/src/wtp/join.c +++ b/src/wtp/join.c @@ -20,7 +20,7 @@ void acinfo_log_(int level,const struct ac_info *acinfo,const char * xstr) { char str[8192]; acinfo_print(str,acinfo); - cw_log_debug(level,"%s\n%s",xstr,str); +// cw_log_debug(level,"%s\n%s",xstr,str); return; } @@ -38,7 +38,7 @@ int join_state(struct conn * conn) #ifdef WITH_CW_LOG_DEBUG char str[64]; sock_addrtostr(&conn->addr,str,64); - cw_log_debug0("Sending join request to %s",str); +// cw_log_debug0("Sending join request to %s",str); #endif printf("Seqnum before = %i\n",conn->seqnum); rc = cwsend_join_request(conn,&ri,wtpinfo); @@ -46,7 +46,7 @@ int join_state(struct conn * conn) struct cwrmsg * cwrmsg = conn_get_message(conn); - cw_log_debug0("Received message %i",cwrmsg->seqnum); +// cw_log_debug0("Received message %i",cwrmsg->seqnum); if (cwrmsg->type != CWMSG_JOIN_RESPONSE || cwrmsg->seqnum != conn->seqnum){ printf("Wrong message\n"); @@ -91,19 +91,8 @@ int join(struct sockaddr *sa) #ifdef WITH_DTLS cw_dbg (DBG_DTLS,"Establishing DTLS session with %s",sock_addr2str(sa)); -/* - #ifdef WITH_CW_LOG_DEBUG - { - char str[100]; - sock_addrtostr(sa,str,100); - cw_log_debug0("Establishing DTLS connection to %s",str); - } - #endif -*/ -printf("conf_dtls_cipher %s\n",conf_dtls_cipher); - if (conf_dtls_psk){ conn->dtls_psk=conf_dtls_psk; conn->dtls_psk_len=strlen(conn->dtls_psk); @@ -126,11 +115,14 @@ printf("conf_dtls_cipher %s\n",conf_dtls_cipher); dtls_shutdown(conn); char str[100]; sock_addrtostr(sa,str,100); - cw_log(LOG_ERR,"Cant establish DTLS connection to %s",str); + cw_log(LOG_ERR,"Can't establish DTLS connection to %s",str); close(sockfd); +exit(0); return 0; } +exit(0); + #endif cw_dbg (DBG_DTLS,"DTLS session established with %s, cipher=%s",sock_addr2str(sa),dtls_get_cipher(conn)); exit(0); @@ -140,7 +132,7 @@ exit(0); { char str[100]; sock_addrtostr(sa,str,100); - cw_log_debug0("DTLS connection to %s established",str); +// cw_log_debug0("DTLS connection to %s established",str); } #endif diff --git a/src/wtp/run.c b/src/wtp/run.c index 27c36e8f..4fbc93df 100644 --- a/src/wtp/run.c +++ b/src/wtp/run.c @@ -40,13 +40,13 @@ struct cwrmsg * send_request(struct conn * conn,struct cwmsg *cwmsg) #ifdef WITH_CW_LOG_DEBUG if (i>0){ - cw_log_debug1("Retransmitting request, type=%i,seqnum=%i",cwmsg->type,cwmsg->seqnum); +// cw_log_debug1("Retransmitting request, type=%i,seqnum=%i",cwmsg->type,cwmsg->seqnum); } #endif int rc = conn_send_cwmsg(conn,cwmsg); if (rc<0){ - cw_log_debug1("Error sending request, type=%i, seqnum %i, %s",cwmsg->type,cwmsg->seqnum,strerror(errno)); + // cw_log_debug1("Error sending request, type=%i, seqnum %i, %s",cwmsg->type,cwmsg->seqnum,strerror(errno)); return 0; } struct cwrmsg * r = get_response(conn,cwmsg->type+1,cwmsg->seqnum); @@ -74,7 +74,7 @@ int run(struct conn * conn) // cwsend_echo_request(conn,&radioinfo); - cw_log_debug1("Sending echo request"); +// cw_log_debug1("Sending echo request"); cwmsg_init_echo_request(&cwmsg,buffer,conn,&radioinfo); struct cwrmsg * rc = send_request(conn,&cwmsg); @@ -83,7 +83,7 @@ int run(struct conn * conn) if (rc==0){ dtls_shutdown(conn); - cw_log_debug1("Connection lost, no echo response"); + // cw_log_debug1("Connection lost, no echo response"); return 0; } echo_interval_timer=time(NULL); diff --git a/src/wtp/sulking.c b/src/wtp/sulking.c index b62533f6..555be23d 100644 --- a/src/wtp/sulking.c +++ b/src/wtp/sulking.c @@ -7,8 +7,8 @@ int sulking_state() { - cw_log_debug0("Entering Sulking state"); - cw_log_debug0("Sleeping for %i seconds",conf_silent_interval); + cw_dbg(DBG_CW_INFO,"Entering Sulking state"); + cw_dbg(DBG_CW_INFO,"Sleeping for %i seconds",conf_silent_interval); sleep(conf_silent_interval); return 1; } diff --git a/src/wtp/wtp_conf.c b/src/wtp/wtp_conf.c index 7a9585a0..ef13525d 100644 --- a/src/wtp/wtp_conf.c +++ b/src/wtp/wtp_conf.c @@ -72,7 +72,13 @@ uint8_t * conf_model_no; uint8_t * cont_serial_no; - +LONGSTRS conf_timer_cfgstrs[] = { + "max_discovery_interval",&conf_max_discovery_interval, + "discovery_interval",&conf_discovery_interval, + "max_discoveries",&conf_max_discoveries, + "silent_interval",&conf_silent_interval, + 0,0 +}; int wtpconf_primary_if() @@ -173,7 +179,7 @@ int wtpconf_ac_list() conf_ac_list_len=len; #ifdef WITH_CW_LOG_DEBUG for (i=0; i