From 13b0bf2941d468349a06ddd0499fefcaad737794 Mon Sep 17 00:00:00 2001 From: 7u83 <7u83@mail.ru> Date: Wed, 27 Jul 2022 00:06:53 +0200 Subject: [PATCH] Added more message elements --- src/mod/cisco/capwap_cisco.h | 12 ++- src/mod/cisco/cisco_actions_ac.c | 144 ++++++++++++++++++++++++++++++- 2 files changed, 151 insertions(+), 5 deletions(-) diff --git a/src/mod/cisco/capwap_cisco.h b/src/mod/cisco/capwap_cisco.h index 056e4b8f..47055b8a 100644 --- a/src/mod/cisco/capwap_cisco.h +++ b/src/mod/cisco/capwap_cisco.h @@ -43,10 +43,15 @@ #define CISCO_ELEM_MAC_OPERATION LW_ELEM_80211_MAC_OPERATION /* 11 */ #define CISCO_ELEM_TX_POWER LW_ELEM_80211_TX_POWER /* 12 */ -#define CW_CISCO_TX_POWER_LEVELS LW_ELEM_80211_TX_POWER_LEVELS /* 13 */ +#define CISCO_ELEM_TX_POWER_LEVELS LW_ELEM_80211_TX_POWER_LEVELS /* 13 */ #define CW_CISCO_DIRECT_SEQUENCE_CONTROL LW_ELEM_DIRECT_SEQUENCE_CONTROL /* 14 */ #define CW_CISCO_SUPPORTED_RATES LW_ELEM_80211_RATE_SET /* 16 */ +#define CISCO_ELEM_15 15 /* 15 */ +#define CISCO_ELEM_19 19 /* 19 */ +#define CISCO_ELEM_22 22 /* 22 */ + + #define CW_CISCO_80211_DELETE_WLAN LW_ELEM_80211_DELETE_WLAN /* 28 */ #define CW_CISCO_MWAR_NAME LW_ELEM_AC_NAME /* 31 */ @@ -71,7 +76,7 @@ #define CISCO_ELEM_AIRSPACE_CAPABILITY 88 #define CISCO_ELEM_AC_NAME_WITH_INDEX 91 -#define CW_CISCO_SPAM_DOMAIN_SECRET 96 +#define CISCO_ELEM_SPAM_DOMAIN_SECRET 96 #define CISCO_ELEM_SPAM_VENDOR_SPECIFIC 104 @@ -84,8 +89,9 @@ #define CISCO_ELEM_RESET_BUTTON_STATE 128 +#define CISCO_ELEM_132 132 /* 132 */ -#define CW_CISCO_LWAPP_CHANNEL_POWER 134 +#define CISCO_ELEM_CHANNEL_POWER 134 #define CISCO_ELEM_AP_CORE_DUMP 135 #define CISCO_ELEM_AP_PRE_STD_SWITCH_CONFIG 137 #define CISCO_ELEM_AP_POWER_INJECTOR_CONFIG 138 diff --git a/src/mod/cisco/cisco_actions_ac.c b/src/mod/cisco/cisco_actions_ac.c index 75067cab..00f09889 100644 --- a/src/mod/cisco/cisco_actions_ac.c +++ b/src/mod/cisco/cisco_actions_ac.c @@ -327,6 +327,17 @@ static cw_KTVStruct_t cisco_direct_sequence_control70[]={ {NULL,NULL,0,0} }; +static cw_KTVStruct_t cisco_antenna_payload70[]={ + {CW_TYPE_BYTE,"diversity-selection",1,-1}, + {CW_TYPE_BYTE,"antenna-mode",1,-1}, + {CW_TYPE_BYTE,"number-of-antennas",1,-1}, + {CW_TYPE_BYTE,"802-11n-tx-antennas",1,-1}, + {CW_TYPE_BYTE,"802-11n-rx-antennas",1,-1}, + {CW_TYPE_BYTE,"unknown",1,-1}, + {CW_TYPE_BYTE,"antenna-1",1,-1}, + {CW_TYPE_BYTE,"antenna-2",1,-1}, + {NULL,NULL,0,0} +}; static cw_KTVStruct_t cisco_wtp_radio_config70[]={ @@ -1083,7 +1094,7 @@ static struct cw_ElemHandler handlers70[] = { } , - { /* WTP Radio Configuration for AC/WPT with version 7.0 */ + { /* WTP Direct Sequence Control for AC/WPT with version 7.0 */ "Direct Sequence Control (v7.0)", /* name */ CW_CISCO_DIRECT_SEQUENCE_CONTROL, /* Element ID */ @@ -1096,6 +1107,19 @@ static struct cw_ElemHandler handlers70[] = { } , + { /* WTP Antenna Payload AC/WPT with version 7.0 */ + + "Antenna Payload (v7.0)", /* name */ + CW_CISCO_ANTENNA_PAYLOAD, /* Element ID */ + CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */ + 9,9, /* min/max length */ + cisco_antenna_payload70, /* type */ + "cisco/antenna-payload", /* Key */ + cw_in_radio_generic_struct, /* get */ + cw_out_radio_generic_struct /* put */ + } + , + { "MWAR Hash Value", /* name */ CISCO_LWELEM_MWAR_HASH_VALUE, /* Element ID */ @@ -1129,6 +1153,94 @@ static struct cw_ElemHandler handlers70[] = { cw_out_radio_generic_struct /* put */ }, + { + "Tx Power Levels", /* name */ + CISCO_ELEM_TX_POWER_LEVELS, /* Element ID */ + CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */ + 5,150, /* min/max length */ + CW_TYPE_BSTR16, /* type */ + "cisco/tx-power-levels", /* Key */ + cw_in_radio_generic, /* get */ + cw_out_radio_generic /* put */ + }, + + { + "Channel Power", /* name */ + CISCO_ELEM_CHANNEL_POWER, /* Element ID */ + CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */ + 5,1024, /* min/max length */ + CW_TYPE_BSTR16, /* type */ + "cisco/channel-power", /* Key */ + cw_in_radio_generic, /* get */ + cw_out_radio_generic /* put */ + }, + + + { + "Spam Domain Secret", /* name */ + CISCO_ELEM_SPAM_DOMAIN_SECRET, /* Element ID */ + CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */ + 5,1024, /* min/max length */ + CW_TYPE_BSTR16, /* type */ + "cisco/spam-domain-secret", /* Key */ + cw_in_generic, /* get */ + cw_out_generic /* put */ + }, + + + { + "Cisco Elem 132", /* name */ + CISCO_ELEM_132, /* Element ID */ + CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */ + 5,1024, /* min/max length */ + CW_TYPE_BSTR16, /* type */ + "cisco/elem132", /* Key */ + cw_in_generic, /* get */ + cw_out_generic /* put */ + }, + + { + "Cisco Elem 15", /* name */ + CISCO_ELEM_15, /* Element ID */ + CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */ + 5,1024, /* min/max length */ + CW_TYPE_BSTR16, /* type */ + "cisco/elem15", /* Key */ + cw_in_radio_generic, /* get */ + cw_out_radio_generic /* put */ + }, + + { + "Cisco Elem 19", /* name */ + CISCO_ELEM_19, /* Element ID */ + CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */ + 5,1024, /* min/max length */ + CW_TYPE_BSTR16, /* type */ + "cisco/elem19", /* Key */ + cw_in_radio_generic, /* get */ + cw_out_radio_generic /* put */ + }, + + + + { + "Cisco Elem 22", /* name */ + CISCO_ELEM_22, /* Element ID */ + CW_VENDOR_ID_CISCO,0, /* Vendor / Proto */ + 5,1024, /* min/max length */ + CW_TYPE_BSTR16, /* type */ + "cisco/elem22", /* Key */ + cw_in_radio_generic, /* get */ + cw_out_radio_generic /* put */ + }, + + + + + + + + { "AP Quality of Service", /* name */ CISCO_ELEM_AP_QOS, /* Element ID */ @@ -1539,13 +1651,23 @@ static struct cw_ElemDef configuration_status_request_elements[] ={ {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_WTP_RADIO_CONFIGURATION, 1, 0}, {0, CW_VENDOR_ID_CISCO, CW_CISCO_DIRECT_SEQUENCE_CONTROL, 1, 0}, + {0, CW_VENDOR_ID_CISCO, CW_CISCO_ANTENNA_PAYLOAD, 1, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_AC_NAME_WITH_INDEX, 0, CW_IGNORE}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_AP_CORE_DUMP, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_AP_VENUE_SETTINGS, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_MAC_OPERATION, 0, 0}, - {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_TX_POWER, 0, 0}, + + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_TX_POWER, 1, 0}, + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_TX_POWER_LEVELS, 1, 0}, + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_CHANNEL_POWER, 1, 0}, + + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_132, 1, 0}, + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_15, 1, 0}, + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_19, 1, 0}, + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_22, 1, 0}, + {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_USERNAME_PASSWORD, 1, 0}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_LOGHOST_CONFIG, 1, 0}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_AP_TELNET_SSH, 1, 0}, @@ -1573,6 +1695,7 @@ static struct cw_ElemDef configuration_status_response_elements[] ={ {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_MULTI_DOMAIN_CAPABILITY, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_WTP_RADIO_CONFIGURATION, 1, 0}, {0, CW_VENDOR_ID_CISCO, CW_CISCO_DIRECT_SEQUENCE_CONTROL, 1, 0}, + {0, CW_VENDOR_ID_CISCO, CW_CISCO_ANTENNA_PAYLOAD, 1, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_AP_LED_STATE_CONFIG, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_AP_LOG_FACILITY, 0, 0}, @@ -1580,7 +1703,14 @@ static struct cw_ElemDef configuration_status_response_elements[] ={ {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_TX_POWER, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_AP_QOS, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_AIRSPACE_CAPABILITY, 0, 0}, + + + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_132, 1, 0}, + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_15, 1, 0}, + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_SPAM_DOMAIN_SECRET, 1, 0}, + + {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_MWAR_HASH_VALUE, 1, 0}, {0,0,0,0} @@ -1620,6 +1750,16 @@ static struct cw_ElemDef configuration_update_request_elements[] ={ {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_SIG_TOGGLE, 0, 0}, {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_MAC_OPERATION, 0, 0}, +/* {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_TX_POWER, 0, 0}, */ +/* {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_TX_POWER_LEVELS, 1, 0}, */ +/* {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_CHANNEL_POWER, 1, 0}, */ + + + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_15, 1, 0}, + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_19, 1, 0}, + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_22, 1, 0}, + + {0, CW_VENDOR_ID_CISCO, CISCO_ELEM_ADD_WLAN, 0, CW_IGNORE}, {CW_PROTO_LWAPP, CW_VENDOR_ID_CISCO, CISCO_LWELEM_MCAST_MGID_INFO, 0, 0},