From 5f5fccb14fe739ef0f06733cf3e67405eef62421 Mon Sep 17 00:00:00 2001 From: "7u83@mail.ru" <7u83@mail.ru@noemail.net> Date: Mon, 26 Mar 2018 11:22:55 +0000 Subject: [PATCH] Refactoring ... a# Please enter the commit message for your changes. Lines starting FossilOrigin-Name: c126f130f351f7103d1594a42255a1affd24061a75cf0cfeb129a92a8d2fb2a1 --- actube.workspace | 4 +- mod_capwap80211.project | 3 +- src/cw/capwap80211.h | 2 +- src/cw/capwap_strings_elem80211.c | 2 +- src/cw/netconn.c | 18 +++---- src/mod/capwap/mod_capwap_ac.c | 5 +- src/mod/capwap80211/Makefile | 14 +++-- src/mod/capwap80211/capwap80211_actions_ac.c | 8 +-- src/mod/capwap80211/capwap80211_actions_wtp.c | 8 +-- ...mod_capwap80211_ac.c => mod_capwap80211.c} | 17 +++--- src/mod/capwap80211/mod_capwap80211_wtp.c | 53 ------------------- src/mod/cisco/cisco_actions_wtp.c | 2 +- src/mod/fortinet/fortinet_actions_ac.c | 2 +- src/mod/fortinet/fortinet_actions_wtp.c | 2 +- 14 files changed, 46 insertions(+), 94 deletions(-) rename src/mod/capwap80211/{mod_capwap80211_ac.c => mod_capwap80211.c} (76%) delete mode 100644 src/mod/capwap80211/mod_capwap80211_wtp.c diff --git a/actube.workspace b/actube.workspace index c63c2d68..e0162c79 100644 --- a/actube.workspace +++ b/actube.workspace @@ -4,8 +4,8 @@ - - + + diff --git a/mod_capwap80211.project b/mod_capwap80211.project index a41e8ac9..3edaaca7 100644 --- a/mod_capwap80211.project +++ b/mod_capwap80211.project @@ -3,12 +3,11 @@ - - + diff --git a/src/cw/capwap80211.h b/src/cw/capwap80211.h index fdc628c6..b1a0ac92 100644 --- a/src/cw/capwap80211.h +++ b/src/cw/capwap80211.h @@ -84,7 +84,7 @@ enum radioelems { /** IEEE 802.11 WTP Radio Fail Alarm Indication */ CW_ELEM80211_WTP_RADIO_FAIL_ALARM_IDICATION=1047, /** IEEE 802.11 Radio Information Message Element */ - CW_ELEM80211_WTP_RADIO_INFORMATION = 1048 + CAPWAP80211_ELEM_WTP_RADIO_INFORMATION = 1048 }; /** diff --git a/src/cw/capwap_strings_elem80211.c b/src/cw/capwap_strings_elem80211.c index ce9c5b25..cb66ca14 100644 --- a/src/cw/capwap_strings_elem80211.c +++ b/src/cw/capwap_strings_elem80211.c @@ -9,7 +9,7 @@ struct cw_StrListElem capwap_strings_elem80211[] = { {CW_ELEM80211_RATE_SET, "802.11 Rate Set"}, {CW_ELEM80211_SUPPORTED_RATES,"802.11 Supported Rates"}, - {CW_ELEM80211_WTP_RADIO_INFORMATION, " 802.11 WTP Radio Information"}, + {CAPWAP80211_ELEM_WTP_RADIO_INFORMATION, " 802.11 WTP Radio Information"}, {CW_STR_STOP, " Unknown "} }; diff --git a/src/cw/netconn.c b/src/cw/netconn.c index ea4a2f81..58f49b53 100644 --- a/src/cw/netconn.c +++ b/src/cw/netconn.c @@ -190,7 +190,7 @@ int netconn_send_packet(struct netconn *nc, const uint8_t * buffer, int len) int netconn_send_capwap_msg(struct netconn * nc, uint8_t *rawmsg, int msglen) { -// int msglen = cw_get_hdr_msg_total_len(rawmsg); +/* int msglen = cw_get_hdr_msg_total_len(rawmsg);*/ uint8_t * ptr = rawmsg; @@ -199,15 +199,15 @@ int netconn_send_capwap_msg(struct netconn * nc, uint8_t *rawmsg, int msglen) int hlen = cw_get_hdr_hlen(rawmsg)*4; -// int mtu = nc->mtu; +/* int mtu = nc->mtu; */ int mtu = 1400; while (msglen>mtu){ cw_set_hdr_flags(rawmsg,CAPWAP_FLAG_HDR_F,1); - cw_put_dword(ptr+4, nc->fragid<<16 | fragoffset<<3 ); + cw_set_dword(ptr+4, nc->fragid<<16 | fragoffset<<3 ); -// cw_dbg_pkt_nc(DBG_PKT_OUT,nc,ptr,mtu,(struct sockaddr*)&nc->addr); +/*/// cw_dbg_pkt_nc(DBG_PKT_OUT,nc,ptr,mtu,(struct sockaddr*)&nc->addr);*/ if (nc->write(nc,ptr,mtu)<0) return -1; @@ -225,9 +225,9 @@ int netconn_send_capwap_msg(struct netconn * nc, uint8_t *rawmsg, int msglen) else cw_set_hdr_flags(rawmsg,CAPWAP_FLAG_HDR_F,0); - cw_put_dword(ptr+4, nc->fragid<<16 | fragoffset<<3 ); + cw_set_dword(ptr+4, nc->fragid<<16 | fragoffset<<3 ); -// cw_dbg_pkt_nc(DBG_PKT_OUT,nc,ptr,msglen,(struct sockaddr*)&nc->addr); +/*// cw_dbg_pkt_nc(DBG_PKT_OUT,nc,ptr,msglen,(struct sockaddr*)&nc->addr);*/ return nc->write(nc,ptr,msglen-0); } @@ -239,7 +239,7 @@ int netconn_process_packet(struct netconn *nc, uint8_t * packet, int len, { char sock_buf[SOCK_ADDR_BUFSIZE]; -// cw_dbg_pkt_nc(DBG_PKT_IN, nc, packet, len, from); +/*// cw_dbg_pkt_nc(DBG_PKT_IN, nc, packet, len, from);*/ if (len < 8) { /* packet too short */ cw_dbg(DBG_PKT_ERR, @@ -309,10 +309,10 @@ int netconn_process_packet(struct netconn *nc, uint8_t * packet, int len, } -// cw_dbg_pkt_nc(DBG_PKT_IN, nc, f + 4, *(uint32_t *) f, from); +/*// cw_dbg_pkt_nc(DBG_PKT_IN, nc, f + 4, *(uint32_t *) f, from); // XXX: Modify fragman to not throw away CAPWAP headers - +*/ int rc = nc->process_message(nc, f + 4, *(uint32_t *) f, from); free(f); diff --git a/src/mod/capwap/mod_capwap_ac.c b/src/mod/capwap/mod_capwap_ac.c index 6eaa59dd..95cead86 100644 --- a/src/mod/capwap/mod_capwap_ac.c +++ b/src/mod/capwap/mod_capwap_ac.c @@ -47,7 +47,7 @@ static int detect(struct conn *conn, const uint8_t * rawmsg, int rawlen, int ele } -static struct cw_Mod capwap_data = { +struct cw_Mod mod_capwap = { "capwap", /* name */ init, /* init */ detect, /* detect */ @@ -57,7 +57,8 @@ static struct cw_Mod capwap_data = { }; - +/* struct cw_Mod * mod_capwap(){ return &capwap_data; } +*/ \ No newline at end of file diff --git a/src/mod/capwap80211/Makefile b/src/mod/capwap80211/Makefile index e124ed5a..f36aca87 100644 --- a/src/mod/capwap80211/Makefile +++ b/src/mod/capwap80211/Makefile @@ -1,11 +1,17 @@ +include ../../Defs.mak + OBJS=\ mod_capwap80211_ac.o \ - mod_capwap80211_wtp.o \ - capwap80211_actions_ac.o \ - capwap80211_actions_wtp.o -NAME=libcapwap80211.a + +LIBDIR := ../../../lib +LIBARCHDIR := $(LIBDIR)/$(ARCH) +OBJDIR := ../../../obj/mod_capwap80211/$(ARCH) +SNAME := $(LIBARCHDIR)/libmod_capwap80211.a +DNAME := $(LIBARCHDIR)/mod_capwap80211.so +MODNAME := $(LIBDIR)/mod_capwap80211.so +SLIBS := -lcw include ../Mod.mak diff --git a/src/mod/capwap80211/capwap80211_actions_ac.c b/src/mod/capwap80211/capwap80211_actions_ac.c index 89635045..9806c9b6 100644 --- a/src/mod/capwap80211/capwap80211_actions_ac.c +++ b/src/mod/capwap80211/capwap80211_actions_ac.c @@ -29,7 +29,7 @@ static cw_action_in_t actions_ac_in[] = { { .capwap_state = CAPWAP_STATE_DISCOVERY, .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, - .elem_id = CW_ELEM80211_WTP_RADIO_INFORMATION, + .elem_id = CAPWAP80211_ELEM_WTP_RADIO_INFORMATION, .item_id = CW_RADIOITEM80211_WTP_RADIO_INFORMATION, .start = cw_in_radio_generic, .mand = 1, @@ -47,7 +47,7 @@ static cw_action_in_t actions_ac_in[] = { { .capwap_state = CAPWAP_STATE_JOIN, .msg_id = CAPWAP_MSG_JOIN_REQUEST, - .elem_id = CW_ELEM80211_WTP_RADIO_INFORMATION, + .elem_id = CAPWAP80211_ELEM_WTP_RADIO_INFORMATION, .item_id = CW_RADIOITEM80211_WTP_RADIO_INFORMATION, .start = cw_in_radio_generic, .mand = 1, @@ -104,7 +104,7 @@ cw_action_out_t actions_ac_out[]={ /* 802.11 Radio Information - Discovery Response */ { .msg_id = CAPWAP_MSG_DISCOVERY_RESPONSE, - .elem_id = CW_ELEM80211_WTP_RADIO_INFORMATION, + .elem_id = CAPWAP80211_ELEM_WTP_RADIO_INFORMATION, .item_id = CW_RADIOITEM80211_WTP_RADIO_INFORMATION , .out = cw_out_radio_infos, .mand = 1 @@ -119,7 +119,7 @@ cw_action_out_t actions_ac_out[]={ /* 802.11 Radio Information - Discovery Response */ { .msg_id = CAPWAP_MSG_JOIN_RESPONSE, - .elem_id = CW_ELEM80211_WTP_RADIO_INFORMATION, + .elem_id = CAPWAP80211_ELEM_WTP_RADIO_INFORMATION, .item_id = CW_RADIOITEM80211_WTP_RADIO_INFORMATION, .out = cw_out_radio_infos, .mand = 1 diff --git a/src/mod/capwap80211/capwap80211_actions_wtp.c b/src/mod/capwap80211/capwap80211_actions_wtp.c index 5e14b1a1..f96af2e7 100644 --- a/src/mod/capwap80211/capwap80211_actions_wtp.c +++ b/src/mod/capwap80211/capwap80211_actions_wtp.c @@ -21,7 +21,7 @@ static cw_action_in_t actions_wtp_in[] = { { .capwap_state = CAPWAP_STATE_DISCOVERY, .msg_id = CAPWAP_MSG_DISCOVERY_RESPONSE, - .elem_id = CW_ELEM80211_WTP_RADIO_INFORMATION, + .elem_id = CAPWAP80211_ELEM_WTP_RADIO_INFORMATION, .item_id = CW_RADIOITEM80211_WTP_RADIO_INFORMATION, // .start = cw_in_radio_generic, .mand = 1, @@ -38,7 +38,7 @@ static cw_action_in_t actions_wtp_in[] = { { .capwap_state = CAPWAP_STATE_JOIN, .msg_id = CAPWAP_MSG_JOIN_RESPONSE, - .elem_id = CW_ELEM80211_WTP_RADIO_INFORMATION, + .elem_id = CAPWAP80211_ELEM_WTP_RADIO_INFORMATION, .item_id = CW_RADIOITEM80211_WTP_RADIO_INFORMATION, // .start = cw_in_radio_generic, .mand = 1, @@ -74,7 +74,7 @@ cw_action_out_t actions_out[]={ { .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, .item_id = CW_ITEM_RADIO_INFOS , - .elem_id = CW_ELEM80211_WTP_RADIO_INFORMATION, + .elem_id = CAPWAP80211_ELEM_WTP_RADIO_INFORMATION, .out = cw_out_radio_infos, .mand = 1 } @@ -86,7 +86,7 @@ cw_action_out_t actions_out[]={ { .msg_id = CAPWAP_MSG_JOIN_REQUEST, .item_id = CW_ITEM_RADIO_INFOS , - .elem_id = CW_ELEM80211_WTP_RADIO_INFORMATION, + .elem_id = CAPWAP80211_ELEM_WTP_RADIO_INFORMATION, .out = cw_out_radio_infos, .mand = 1 } diff --git a/src/mod/capwap80211/mod_capwap80211_ac.c b/src/mod/capwap80211/mod_capwap80211.c similarity index 76% rename from src/mod/capwap80211/mod_capwap80211_ac.c rename to src/mod/capwap80211/mod_capwap80211.c index dd7323d7..73b2107c 100644 --- a/src/mod/capwap80211/mod_capwap80211_ac.c +++ b/src/mod/capwap80211/mod_capwap80211.c @@ -3,7 +3,6 @@ #include "cw/log.h" #include "cw/dbg.h" -#include "cw/action.h" #include "cw/cw.h" #include "mod_capwap80211.h" @@ -12,14 +11,9 @@ -//extern int capwap_register_actions_ac(struct cw_actiondef *def); - - static int init() { cw_dbg(DBG_INFO, "Initialiazing mod_capwap80211 ..."); -// int rc = capwap_register_actions_ac(&actions); - //cw_dbg(DBG_INFO, "Initialized mod capwap80211 with %d actions", rc); return 0; } @@ -27,10 +21,12 @@ static int init() static int detect(struct conn *conn, const uint8_t * rawmsg, int rawlen, int elems_len, struct sockaddr *from, int mode) { + int wbid; if (mode != CW_MOD_MODE_BINDINGS) return 0; - int wbid = cw_get_hdr_wbid(rawmsg); + /* Check, if we can handle the Wireless Binding ID */ + wbid = cw_get_hdr_wbid(rawmsg); if (wbid != CAPWAP_WBID_IEEE80211 ) { cw_dbg(DBG_MOD,"CAPWAP80211 detected: no, my wbid=%d, remote wbid=%d",CAPWAP_WBID_IEEE80211,wbid); return 0; @@ -39,6 +35,7 @@ static int detect(struct conn *conn, const uint8_t * rawmsg, int rawlen, int ele return 1; } +/* static int register_actions(struct cw_actiondef *actions, int mode) { if (mode != CW_MOD_MODE_BINDINGS) @@ -46,15 +43,17 @@ static int register_actions(struct cw_actiondef *actions, int mode) return capwap80211_register_actions_ac(actions); } +*/ + static struct cw_Mod capwap80211_ac = { .name = "capwap80211", .init = init, .detect = detect, - .register_actions = register_actions + }; struct cw_Mod *mod_capwap80211_ac() { return &capwap80211_ac; -}; +} \ No newline at end of file diff --git a/src/mod/capwap80211/mod_capwap80211_wtp.c b/src/mod/capwap80211/mod_capwap80211_wtp.c deleted file mode 100644 index d058380b..00000000 --- a/src/mod/capwap80211/mod_capwap80211_wtp.c +++ /dev/null @@ -1,53 +0,0 @@ - -#include "cw/mod.h" -#include "cw/log.h" -#include "cw/dbg.h" - -#include "cw/action.h" - -#include "mod_capwap80211.h" - - - - - -//extern int capwap_register_actions_ac(struct cw_actiondef *def); - - -static int init() -{ - cw_dbg(DBG_INFO, "Initialiazing mod_capwap80211 WTP..."); -// int rc = capwap_register_actions_ac(&actions); - //cw_dbg(DBG_INFO, "Initialized mod capwap80211 with %d actions", rc); - return 0; -} - - -static int detect(struct conn *conn, const uint8_t * rawmsg, int rawlen, int elems_len, - struct sockaddr *from, int mode) -{ - if (mode != CW_MOD_MODE_BINDINGS) - return 0; - - cw_log(LOG_INFO, "Detecting WTP 80211"); - return 1; -} - -static int register_actions(struct cw_actiondef *actions,int mode) -{ - if (mode != CW_MOD_MODE_BINDINGS) - return 0; - return capwap80211_register_actions_wtp(actions); -} - -static struct cw_Mod capwap80211_wtp = { - .name = "capwap80211", - .init = init, - .detect = detect, - .register_actions = register_actions -}; - -struct cw_Mod *mod_capwap80211_wtp() -{ - return &capwap80211_wtp; -}; diff --git a/src/mod/cisco/cisco_actions_wtp.c b/src/mod/cisco/cisco_actions_wtp.c index 808f36f5..65382cd0 100644 --- a/src/mod/cisco/cisco_actions_wtp.c +++ b/src/mod/cisco/cisco_actions_wtp.c @@ -489,7 +489,7 @@ static cw_action_out_t actions80211_out[]={ { .vendor_id = CW_VENDOR_ID_CISCO, .msg_id = CAPWAP_MSG_CONFIGURATION_STATUS_REQUEST, - .elem_id = CW_ELEM80211_WTP_RADIO_INFORMATION, + .elem_id = CAPWAP80211_ELEM_WTP_RADIO_INFORMATION, .item_id = CW_RADIOITEM80211_WTP_RADIO_INFORMATION, .out = cisco_out_80211_wtp_radio_cfg, /*.get = cw_out_get_config,*/ diff --git a/src/mod/fortinet/fortinet_actions_ac.c b/src/mod/fortinet/fortinet_actions_ac.c index cad4cb8d..b4b3465a 100644 --- a/src/mod/fortinet/fortinet_actions_ac.c +++ b/src/mod/fortinet/fortinet_actions_ac.c @@ -251,7 +251,7 @@ static cw_action_in_t actions80211_in[] = { .capwap_state = CAPWAP_STATE_DISCOVERY, .msg_id = CAPWAP_MSG_DISCOVERY_REQUEST, - .elem_id = CW_ELEM80211_WTP_RADIO_INFORMATION, + .elem_id = CAPWAP80211_ELEM_WTP_RADIO_INFORMATION, .item_id = "radio_information", .start = cw_in_radio_generic, .mand = 0, diff --git a/src/mod/fortinet/fortinet_actions_wtp.c b/src/mod/fortinet/fortinet_actions_wtp.c index 439f0b7e..f20000cd 100644 --- a/src/mod/fortinet/fortinet_actions_wtp.c +++ b/src/mod/fortinet/fortinet_actions_wtp.c @@ -235,7 +235,7 @@ static cw_action_out_t actions_out[]={ { .vendor_id = CW_VENDOR_ID_CISCO, .msg_id = CW_MSG_CONFIGURATION_STATUS_REQUEST, - .elem_id = CW_ELEM80211_WTP_RADIO_INFORMATION, + .elem_id = CAPWAP80211_ELEM_WTP_RADIO_INFORMATION, .item_id = CW_ITEM_RADIO_CFG, .out = cisco_out_80211_wtp_radio_cfg, .get = cw_out_get_config,