diff --git a/src/capwap/cw_dbg_elem.c b/src/capwap/cw_dbg_elem.c deleted file mode 100644 index 131b60ca..00000000 --- a/src/capwap/cw_dbg_elem.c +++ /dev/null @@ -1,81 +0,0 @@ - - -#include "log.h" -#include "capwap.h" -#include "capwap_cisco.h" -#include "dbg.h" - - - -static int cw_format_vendor(char *dst, uint32_t vendor_id, int elem_id, const uint8_t * elem_data) -{ - switch (vendor_id) { - case CW_VENDOR_ID_CISCO: - { - sprintf(dst, "%d - %s", elem_id, - cw_cisco_id_to_str(elem_id)); - - /* dive into LWAPP vendor specific decoding */ -/* - if (elem_id == CW_CISCO_SPAM_VENDOR_SPECIFIC) { - uint32_t lw_elem_id = lw_get_word(elem_data + 4 + 6); - char b[256]; - sprintf(b, "\n\t LWAPP Cisco Specific: %d - %s", - lw_elem_id, lw_cisco_id_to_str(lw_elem_id)); - strcat(dst, b); - } -*/ - break; - } - - - - } - - return 0; -} - - - - -/** - * print debug info for message elements - */ - -/* -void cw_dbg_elem_(struct conn * conn, int msg, int msgelem, const uint8_t * msgbuf, int len) -{ - if (!cw_dbg_is_level(DBG_ELEM)) - return; - - const char *elemname; - char vendorname[256]; - char vendor_details[265]; - *vendor_details = 0; - - if (msgelem == CW_ELEM_VENDOR_SPECIFIC_PAYLOAD) { - uint32_t vendor_id = ntohl(*((uint32_t *) msgbuf)); - int type = ntohs(*((uint16_t *) (msgbuf + 4))); - cw_format_vendor(vendor_details, vendor_id, type, msgbuf); - sprintf(vendorname, "%s/%s/%s", - cw_strelemp(conn->actions,msgelem), - (char *) lw_vendor_id_to_str(vendor_id), vendor_details); - elemname = vendorname; - - } else { - elemname = cw_strelemp(conn->actions,msgelem); - } - - - if (!cw_dbg_is_level(DBG_ELEM_DMP)) - cw_dbg(DBG_ELEM, - "%s, CAWPAP element: %d (%s), len=%d%s", - cw_strmsg(msg), msgelem, elemname, len, ""); - - else - cw_dbg_dmp(DBG_ELEM, msgbuf, len, - "%s, CAPWAP element: %d (%s), len=%d%s\n\tDump ...", - cw_strmsg(msg), msgelem, elemname, len, ""); -} - -*/ diff --git a/src/capwap/cw_readelem_result_code.c b/src/capwap/cw_readelem_result_code.c deleted file mode 100644 index d1123b80..00000000 --- a/src/capwap/cw_readelem_result_code.c +++ /dev/null @@ -1,35 +0,0 @@ -/* - This file is part of libcapwap. - - libcapwap is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - libcapwap is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Foobar. If not, see . - -*/ - -#include "capwap.h" - -#include "cw_log.h" - -int cw_readelem_result_code(uint32_t *result_code, int type, uint8_t * msgelem, int len) -{ - if (type != CW_ELEM_RESULT_CODE) - return 0; - - if (len!=4){ - cw_dbg(DBG_CW_RFC,"Result code msg elem has wrong size, type=%d,len=%d",type,len); - return 0; - } - *result_code=ntohl(*((uint32_t*)msgelem)); - return 1; -} - diff --git a/src/capwap/cw_readelem_vendor_specific_payload.c b/src/capwap/cw_readelem_vendor_specific_payload.c deleted file mode 100644 index 30b03624..00000000 --- a/src/capwap/cw_readelem_vendor_specific_payload.c +++ /dev/null @@ -1,101 +0,0 @@ -/** - * @file - * @brief Implements cw_readelem_vendor_specific_payload - */ - - -#include - -#include "capwap.h" -#include "lwapp.h" - -#include "cw_log.h" - -#include - - - -int cw_readelem_cisco_payload(void *data,int msgtype,int elem_id,uint8_t *msgelem, int len) -{ - - - switch (msgtype) { - case CW_MSG_CONFIGURATION_STATUS_REQUEST: - { - if (lw_readelem_wtp_board_data((struct wtpinfo*)data,elem_id,msgelem,len)) - return 1; - - - return 0; - } - case CW_MSG_DISCOVERY_REQUEST: - { - struct wtpinfo * wtpinfo = (struct wtpinfo*)data; - if (lw_readelem_wtp_name(&wtpinfo->name,elem_id,msgelem,len)) - return 1; - - } - - case CW_MSG_CONFIGURATION_STATUS_RESPONSE: - { - - struct radioinfo ri; - //lw_read_elem_wtp_wlan_radio_ - //cw_read - - - } - - - - - default: - return 0; - - - - } - - return 0; - -} - - -/** - * Read a CAPWAP Vendor Specific Payload message element. - * @param data pointer to data where the results can be stored - * @param msgtype type of message in which the element was found - * @param elemtype element type, must be CW_ELEM_VENDOR_PECIFIC_PAYLOAD - * @param msgelem pointer to message elemenet data - * @param len length of message element data - * @return 1 = successful read\n 0 = no vendor specific payload element - */ - -int cw_readelem_vendor_specific_payload(void * data,int msgtype,int elemtype,uint8_t *msgelem, int len) -{ - if (elemtype != CW_ELEM_VENDOR_SPECIFIC_PAYLOAD) - return 0; - - if (len < 6){ - cw_dbg(DBG_ERR,"Vendor specific payload msgelem too short, len < 6."); - return 1; - } - - - uint32_t vendor_id = cw_get_dword(msgelem); - uint16_t elem_id = cw_get_word(msgelem+4); - int elem_len = len - 6; - - switch (vendor_id) { - - case CW_VENDOR_ID_CISCO: - return cw_readelem_cisco_payload(data,msgtype,elem_id,msgelem+6,elem_len); - default: - cw_dbg(DBG_ERR,"Can't read vendor specific payload. Vendor ID %d",vendor_id); - - } - - - return 1; -} - diff --git a/src/capwap/cw_readelem_wtp_descriptor.c b/src/capwap/cw_readelem_wtp_descriptor.c deleted file mode 100644 index 59f56c12..00000000 --- a/src/capwap/cw_readelem_wtp_descriptor.c +++ /dev/null @@ -1,112 +0,0 @@ -/* - This file is part of libcapwap. - - libcapwap is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - libcapwap is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Foobar. If not, see . - -*/ - - -#include "capwap.h" -#include "wtpinfo.h" - -#include "cw_util.h" -#include "cw_log.h" - - - - -static int wtpinfo_readelem_wtp_descriptor_(struct wtpinfo * wtpinfo, int type, uint8_t *msgelem, int len, int cq) -{ - if (type != CWMSGELEM_WTP_DESCRIPTOR) - return 0; - - if (len<6) - return -1; - - wtpinfo->max_radios=*msgelem; - wtpinfo->radios_in_use=*(msgelem+1); - - int ncrypt = *(msgelem+2); - int i; - if (ncrypt == 0 ){ - /* non-conform */ - cw_dbg(DBG_CW_RFC,"Non-standard-conform WTP descriptor detected (See RFC 5415)"); - if (!cq) - i=3; - else - i=4; - } - else{ - i=ncrypt*3+3; - } - - do { - if (i+8>len) - { - cw_dbg(DBG_CW_MSG_ERR,"WTP descriptor subelement to long, length=%d>%d",i+8,len); - return -1; - } - - uint32_t vendor_id=ntohl(*((uint32_t*)(msgelem+i))); - - uint32_t val = ntohl(*((uint32_t*)(msgelem+i+4))); - int subtype= (val>>16)&0xffff; - int sublen = val&0xffff; - i+=8; - - if (sublen+i>len){ - cw_dbg(DBG_CW_MSG_ERR,"WTP descriptor subelement too long, length = %d",sublen); - return -1; - } - - cw_dbg(DBG_CW_MSG,"Reading WTP descriptor subelement, type=%d,len=%d",subtype,sublen); - - switch(subtype){ - case CWMSGSUBELEM_WTP_DESCRIPTOR_HARDWARE_VERSION: - wtpinfo->hardware_vendor_id=vendor_id; - cw_setstr(&wtpinfo->hardware_version,msgelem+i,sublen); - wtpinfo->hardware_version_len=sublen; - break; - case CWMSGSUBELEM_WTP_DESCRIPTOR_SOFTWARE_VERSION: - wtpinfo->software_vendor_id=vendor_id; - cw_setstr(&wtpinfo->software_version,msgelem+i,sublen); - wtpinfo->software_version_len=sublen; - break; - case CWMSGSUBELEM_WTP_DESCRIPTOR_BOOTLOADER_VERSION: - wtpinfo->bootloader_vendor_id=vendor_id; - cw_setstr(&wtpinfo->bootloader_version,msgelem+i,sublen); - wtpinfo->bootloader_version_len=sublen; - break; - default: - cw_dbg(DBG_CW_MSG_ERR,"Unknown WTP descriptor subelement, type = %d",subtype); - break; - } - i+=sublen; - - }while(ilocation,msgelem,len); - return 1; - -} - - diff --git a/src/capwap/wtpinfo_readelem_session_id.c b/src/capwap/wtpinfo_readelem_session_id.c deleted file mode 100644 index 420b8e95..00000000 --- a/src/capwap/wtpinfo_readelem_session_id.c +++ /dev/null @@ -1,24 +0,0 @@ - -#include -#include - -#include "wtpinfo.h" -#include "capwap.h" - -#include "cw_util.h" -#include "cw_log.h" - -int wtpinfo_readelem_session_id(struct wtpinfo * wtpinfo, int type, uint8_t * msgelem, int len) -{ - if (type != CW_ELEM_SESSION_ID) - return 0; - - wtpinfo->session_id = bstr_create(msgelem,len); - -// wtpinfo->session_id = realloc(wtpinfo->session_id,len); -// memcpy(wtpinfo->session_id,msgelem,len); -// wtpinfo->session_id_len=len; - return 1; -} - - diff --git a/src/capwap/wtpinfo_readelem_wtp_frame_tunnel_mode.c b/src/capwap/wtpinfo_readelem_wtp_frame_tunnel_mode.c deleted file mode 100644 index fdaca50e..00000000 --- a/src/capwap/wtpinfo_readelem_wtp_frame_tunnel_mode.c +++ /dev/null @@ -1,22 +0,0 @@ - -#include "wtpinfo.h" -#include "capwap.h" - -#include "cw_log.h" - - -int wtpinfo_readelem_wtp_frame_tunnel_mode(struct wtpinfo * wtpinfo, int type, uint8_t * msgelem, int len) -{ - if (type != CW_ELEM_WTP_FRAME_TUNNEL_MODE) - return 0; - - if (len!=1){ - cw_dbg(DBG_MSG_ERR,"Discarding WTP_DISCOVERY_TYPE msgelem, wrong size, type=%d,len=%d",type,len); - return 1; - } - wtpinfo->frame_tunnel_mode=*msgelem; - return 1; - -} - - diff --git a/src/capwap/wtpinfo_readelem_wtp_mac_type.c b/src/capwap/wtpinfo_readelem_wtp_mac_type.c deleted file mode 100644 index d9e7cc88..00000000 --- a/src/capwap/wtpinfo_readelem_wtp_mac_type.c +++ /dev/null @@ -1,21 +0,0 @@ - -#include "wtpinfo.h" -#include "capwap.h" - -#include "cw_log.h" - -int wtpinfo_readelem_wtp_mac_type(struct wtpinfo * wtpinfo, int type, uint8_t * msgelem, int len) -{ - if (type != CW_ELEM_WTP_MAC_TYPE) - return 0; - - if (len!=1){ - cw_dbg(DBG_MSG_ERR,"Discarding WTP_MAC_TYPE msgelem, wrong size, type=%d,len=%d",type,len); - return 1; - } - - wtpinfo->mac_type=*msgelem; - return 1; -} - - diff --git a/src/capwap/wtpinfo_readelem_wtp_name.c b/src/capwap/wtpinfo_readelem_wtp_name.c deleted file mode 100644 index ec61718a..00000000 --- a/src/capwap/wtpinfo_readelem_wtp_name.c +++ /dev/null @@ -1,23 +0,0 @@ - -#include "wtpinfo.h" -#include "capwap.h" - -#include "cw_util.h" -#include "cw_log.h" - - -int wtpinfo_readelem_wtp_name(struct wtpinfo * wtpinfo, int type, uint8_t * msgelem, int len) -{ - if (type != CW_ELEM_WTP_NAME) - return 0; - - if (len>512){ - cw_dbg(DBG_MSG_ERR,"Truncating WTP_NAME msgelem to 512, wrong size, type=%d,len=%d",type,len); - len=512; - } - - cw_setstr(&wtpinfo->name,msgelem,len); - return 1; -} - -