From e576d87990eef99673bb4ae57901b02b991ce461 Mon Sep 17 00:00:00 2001 From: "7u83@mail.ru" <7u83@mail.ru@noemail.net> Date: Tue, 31 Mar 2015 12:03:21 +0000 Subject: [PATCH] Code clean-up, more CAPWAP VM stuff. FossilOrigin-Name: 46219e8d896fe0873fcbe0be66d57238e202c8d9628a6eca204126107b0f3356 --- src/ac/ac_main.c | 7 +++++-- src/capwap/Makefile | 1 + src/capwap/capwap.h | 5 +++++ src/capwap/cw_action.c | 2 +- src/capwap/cw_in_wtp_name.c | 17 +++++++++++++++-- src/capwap/itemstore.c | 2 +- src/capwap/itemstore.h | 2 ++ 7 files changed, 30 insertions(+), 6 deletions(-) diff --git a/src/ac/ac_main.c b/src/ac/ac_main.c index d0fe5958..c6609c77 100644 --- a/src/ac/ac_main.c +++ b/src/ac/ac_main.c @@ -68,6 +68,7 @@ int readelem_discovery_type(struct conn *conn,struct cw_action * a,uint8_t *data cw_itemstore_set_byte(conn->itemstore,CW_ITEM_DISCOVERY_TYPE,*data); } +/* int readelem_vendor_specific_payload(struct conn *conn,struct cw_action * a,uint8_t *data,int len) { cw_action_t as,*af; @@ -95,6 +96,8 @@ int readelem_vendor_specific_payload(struct conn *conn,struct cw_action * a,uint return 1; } +*/ + int readelem_cisco_rad_name(struct conn *conn,struct cw_action * a,uint8_t *data,int len) { @@ -127,10 +130,10 @@ cw_action_t discovery_actions[] = { readelem_discovery_type,0 }, { 0,0,CW_STATE_DISCOVERY,CW_MSG_DISCOVERY_REQUEST, CW_ELEM_VENDOR_SPECIFIC_PAYLOAD, - readelem_vendor_specific_payload,0 }, + cw_in_vendor_specific_payload,0 }, { CW_VENDOR_ID_CISCO,0,CW_STATE_DISCOVERY,CW_MSG_DISCOVERY_REQUEST, CW_CISCO_RAD_NAME, - readelem_cisco_rad_name,0 }, + cw_in_wtp_name,0 }, { 0,0,CW_STATE_DISCOVERY,CW_MSG_DISCOVERY_REQUEST, CW_ELEM_WTP_BOARD_DATA}, diff --git a/src/capwap/Makefile b/src/capwap/Makefile index f15503e4..6c21c600 100644 --- a/src/capwap/Makefile +++ b/src/capwap/Makefile @@ -166,6 +166,7 @@ CAPWAPOBJS= \ capwap_state_strings.o \ itemstore.o \ cw_in_vendor_specific_payload.o \ + cw_in_wtp_name.o \ #cw_ianavendoridtostr.o \ diff --git a/src/capwap/capwap.h b/src/capwap/capwap.h index baba4469..53da6c09 100644 --- a/src/capwap/capwap.h +++ b/src/capwap/capwap.h @@ -718,4 +718,9 @@ extern struct cw_strlist capwap_state_strings[]; int cw_process_msg(struct conn * conn,uint8_t * rawmsg,int len); + +extern int cw_in_vendor_specific_payload(struct conn *conn,struct cw_action * a,uint8_t *data,int len); +extern int cw_in_wtp_name(struct conn *conn,struct cw_action * a,uint8_t *data,int len); + + #endif diff --git a/src/capwap/cw_action.c b/src/capwap/cw_action.c index 77cc4b1d..049c900c 100644 --- a/src/capwap/cw_action.c +++ b/src/capwap/cw_action.c @@ -1,5 +1,5 @@ -#include +#include #include #include "cw_action.h" diff --git a/src/capwap/cw_in_wtp_name.c b/src/capwap/cw_in_wtp_name.c index 03a96dab..deaf49e3 100644 --- a/src/capwap/cw_in_wtp_name.c +++ b/src/capwap/cw_in_wtp_name.c @@ -1,14 +1,27 @@ - +#include "capwap.h" +#include "capwap_items.h" +#include "cw_log.h" +#include "itemstore.h" int cw_in_wtp_name(struct conn *conn,struct cw_action * a,uint8_t *data,int len) { int i; - + + printf("WTP Name: "); for (i=0; i 512){ + cw_dbg(DBG_CW_RFC, "WTP Name too long, must not exceed 512, len is %d",len); + } + + + + cw_itemstore_set_strn(conn->itemstore,CW_ITEM_WTP_NAME,(const char*)data,len); + return 1; } diff --git a/src/capwap/itemstore.c b/src/capwap/itemstore.c index cddafd75..10a9a0d0 100644 --- a/src/capwap/itemstore.c +++ b/src/capwap/itemstore.c @@ -94,7 +94,7 @@ int cw_itemstore_set_str(cw_itemstore_t s,uint32_t id,char *str) return 1; } -int cw_itemstore_set_strn(cw_itemstore_t s,uint32_t id,char *str,int n) +int cw_itemstore_set_strn(cw_itemstore_t s,uint32_t id,const char *str,int n) { struct cw_item *i = cw_item_create(s,id); if (!i) diff --git a/src/capwap/itemstore.h b/src/capwap/itemstore.h index beac758d..f1f64f7b 100644 --- a/src/capwap/itemstore.h +++ b/src/capwap/itemstore.h @@ -57,5 +57,7 @@ static inline struct cw_item * cw_itemstore_get(cw_itemstore_t s, uint32_t id) extern cw_itemstore_t cw_itemstore_create(); +extern int cw_itemstore_set_strn(cw_itemstore_t s,uint32_t id,const char *str,int n); + #endif