diff --git a/actube.workspace b/actube.workspace index b8870938..e0162c79 100644 --- a/actube.workspace +++ b/actube.workspace @@ -3,9 +3,9 @@ - + - + diff --git a/src/ac/ac_main.c b/src/ac/ac_main.c index fc2aae6d..4211f678 100644 --- a/src/ac/ac_main.c +++ b/src/ac/ac_main.c @@ -35,8 +35,6 @@ #include "db.h" -#include "cw/capwap_cisco.h" -//#include "cw/capwap_80211.h" #include "cw/capwap_crypto.h" diff --git a/src/ac/wtpman.c b/src/ac/wtpman.c index e601bef7..a378fc2f 100644 --- a/src/ac/wtpman.c +++ b/src/ac/wtpman.c @@ -704,6 +704,9 @@ struct wtpman *wtpman_create(int socklistindex, struct sockaddr *srcaddr) wtpman->conn->local_cfg = cw_ktv_create(); wtpman->conn->global_cfg = actube_global_cfg; + wtpman->conn->local_cfg = actube_global_cfg; + + return wtpman; } diff --git a/src/cw/capwap_cisco_inline.c b/src/cw/capwap_cisco_inline.c index 06c7802d..5f5a7599 100644 --- a/src/cw/capwap_cisco_inline.c +++ b/src/cw/capwap_cisco_inline.c @@ -1,4 +1,4 @@ -#include "capwap_cisco.h" + /** * Add a Cisco AP Timesync message element to a buffer @@ -7,6 +7,7 @@ * @param type of time * @return number of bytes put (5) */ +/* int cw_put_cisco_ap_timesync(uint8_t * dst, time_t time, uint8_t type) { cw_put_dword(dst , time); @@ -14,18 +15,19 @@ int cw_put_cisco_ap_timesync(uint8_t * dst, time_t time, uint8_t type) return 5; } +*/ - +/* int cw_addelem_cisco_ap_regulatory_domain(uint8_t *dst, struct radioinfo * ri){ uint8_t *d=dst+10; - d+=cw_put_byte(d,ri->rid); /* Band ID */ - d+=cw_put_byte(d,1); /* Set True/False */ - d+=cw_put_byte(d,ri->rid); /* Slot ID */ + d+=cw_put_byte(d,ri->rid); // Band ID + d+=cw_put_byte(d,1); // Set True/False + d+=cw_put_byte(d,ri->rid); // Slot ID d+=cw_put_word(d,ri->regDomain); return 5 + cw_put_elem_vendor_hdr(dst, CW_VENDOR_ID_CISCO, CW_CISCO_AP_REGULATORY_DOMAIN, 5); } - +*/ /** * Add a Cisco Certificate payload message element @@ -34,11 +36,12 @@ int cw_addelem_cisco_ap_regulatory_domain(uint8_t *dst, struct radioinfo * ri){ * @param len length of certificate * @return number of bytes put */ +/* int cw_addelem_cisco_certificate(uint8_t*dst,uint8_t*src,int len){ int l = lw_put_certificate(dst+10,src,len); return l+cw_put_elem_vendor_hdr(dst,CW_VENDOR_ID_CISCO,CW_CISCO_CERTIFICATE,l); } - +*/ /* int cw_addelem_cisco_wtp_radio_cfg(uint8_t * dst,struct radioinfo *ri){ @@ -47,10 +50,10 @@ int cw_addelem_cisco_wtp_radio_cfg(uint8_t * dst,struct radioinfo *ri){ } */ - +/* int cw_readelem_cisco_station_cfg(uint8_t *src,int len){ // lw_readelem_ return 0; } - +*/ diff --git a/src/cw/cisco.c b/src/cw/cisco.c index 5fbd72d1..317f7156 100644 --- a/src/cw/cisco.c +++ b/src/cw/cisco.c @@ -1,5 +1,5 @@ #include "capwap.h" -#include "capwap_cisco.h" + #include "radio.h" diff --git a/src/cw/conn_process_packet.c b/src/cw/conn_process_packet.c index 95dc6a6b..5017c2c5 100644 --- a/src/cw/conn_process_packet.c +++ b/src/cw/conn_process_packet.c @@ -415,7 +415,7 @@ static int process_elements(struct conn *conn, uint8_t * rawmsg, int len, cw_dbg_ktv_dump(conn->remote_cfg,DBG_CFG_DMP, " *** Remote CFG dump ***", "CFG:", " *** End of remote CFG dump"); - { +/* { { mlistelem_t *e; @@ -429,7 +429,7 @@ static int process_elements(struct conn *conn, uint8_t * rawmsg, int len, } } - +*/ /** int rct = cw_in_check_generic(conn, afm, rawmsg, len, from); */ @@ -474,7 +474,7 @@ exit(0); cw_send_error_response(conn, rawmsg, result_code); } else if (result_code == 0) { - /* All ok, send regular response message */ + /* All is ok, send regular response message */ cw_send_response(conn, rawmsg, len); } else { /* the request message is ignored, no response diff --git a/src/cw/cw_addelem_cisco_wtp_radio_cfg.c b/src/cw/cw_addelem_cisco_wtp_radio_cfg.c index 09b41b43..c34c5397 100644 --- a/src/cw/cw_addelem_cisco_wtp_radio_cfg.c +++ b/src/cw/cw_addelem_cisco_wtp_radio_cfg.c @@ -1,5 +1,5 @@ #include "capwap.h" -#include "capwap_cisco.h" + int cw_addelem_cisco_wtp_radio_cfg(uint8_t*dst,struct radioinfo *ri) { @@ -21,6 +21,6 @@ int cw_addelem_cisco_wtp_radio_cfg(uint8_t*dst,struct radioinfo *ri) cw_put_dword(dst+10+22,0x3538); // ? - return 28+cw_put_elem_vendor_hdr(dst,CW_VENDOR_ID_CISCO,CW_CISCO_WTP_RADIO_CFG,28); +/* return 28+cw_put_elem_vendor_hdr(dst,CW_VENDOR_ID_CISCO,CW_CISCO_WTP_RADIO_CFG,28);*/ } diff --git a/src/cw/cw_in_cisco_image_identifier.c b/src/cw/cw_in_cisco_image_identifier.c index f5db467f..5fdca086 100644 --- a/src/cw/cw_in_cisco_image_identifier.c +++ b/src/cw/cw_in_cisco_image_identifier.c @@ -3,7 +3,7 @@ #include "dbg.h" #include "capwap.h" -#include "capwap_cisco.h" + /* int cw_in_cisco_image_identifier(struct conn *conn,struct cw_action_in * a,uint8_t *data,int len,struct sockaddr *from) diff --git a/src/cw/cw_put_msg.c b/src/cw/cw_put_msg.c index dcc1baf5..1f86db4a 100644 --- a/src/cw/cw_put_msg.c +++ b/src/cw/cw_put_msg.c @@ -43,6 +43,9 @@ int cw_put_msg(struct conn *conn, uint8_t * rawout) struct cw_MsgData * msg; struct mlistelem * elem; int len,l; + + cw_dbg(DBG_INFO, "Number of elements in ktv: %d",conn->local_cfg->count); + cw_dbg_ktv_dump(conn->local_cfg,DBG_CFG_DMP,"Local CFG","LOCAL:","End Local CFG"); /* rawout is already initialized, so we can get * msg type from buffer */ diff --git a/src/mod/capwap/capwap_actions_ac.c b/src/mod/capwap/capwap_actions_ac.c index 24529b25..09f65d5c 100644 --- a/src/mod/capwap/capwap_actions_ac.c +++ b/src/mod/capwap/capwap_actions_ac.c @@ -120,6 +120,17 @@ static struct cw_ElemHandler handlers[] = { } , + { + "AC Name", /* name */ + CAPWAP_ELEM_AC_NAME, /* Element ID */ + 0,0, /* Vendor / Proto */ + 0,0, /* min/max length */ + CW_TYPE_BSTR16, /* type */ + "ac-name", /* Key */ + cw_in_generic, /* get */ + cw_out_generic /* put */ + } + , {0,0,0,0,0,0,0,0} diff --git a/src/mod/capwap/capwap_out_ac_descriptor.c b/src/mod/capwap/capwap_out_ac_descriptor.c index c9ffb380..40613004 100644 --- a/src/mod/capwap/capwap_out_ac_descriptor.c +++ b/src/mod/capwap/capwap_out_ac_descriptor.c @@ -21,10 +21,10 @@ static int put_ac_status(mavl_t global, mavl_t local, uint8_t *dst, const char * char key[CW_KTV_MAX_KEY_LEN]; - d += cw_put_word(d,cw_ktv_get_word(global,"ac/ac-descriptor/stations",0)); - d += cw_put_word(d,cw_ktv_get_word(global,"ac/ac-descriptor/station-limit",0)); - d += cw_put_word(d,cw_ktv_get_word(global,"ac/ac-descriptor/active-wtps",0)); - d += cw_put_word(d,cw_ktv_get_word(global,"ac/ac-descriptor/max-wtps",0)); + d += cw_put_word(d,cw_ktv_get_word(global,"ac-descriptor/stations",0)); + d += cw_put_word(d,cw_ktv_get_word(global,"ac-descriptor/station-limit",0)); + d += cw_put_word(d,cw_ktv_get_word(global,"ac-descriptor/active-wtps",0)); + d += cw_put_word(d,cw_ktv_get_word(global,"ac-descriptor/max-wtps",0)); security = 0; if (cw_ktv_get(local,"dtls-cert-file",CW_TYPE_BSTR16)) @@ -34,7 +34,7 @@ static int put_ac_status(mavl_t global, mavl_t local, uint8_t *dst, const char * security |= CAPWAP_FLAG_AC_SECURITY_S; if (security == 0){ - cw_log(LOG_WARNING,"Attention: no AC security selected"); + cw_log(LOG_WARNING,"No AC security selected"); } d += cw_put_byte(dst,security);