diff --git a/src/capwap/Makefile b/src/capwap/Makefile index bca4235d..674ee1b4 100644 --- a/src/capwap/Makefile +++ b/src/capwap/Makefile @@ -145,7 +145,6 @@ CAPWAPOBJS= \ cw_out_generic.o \ cw_out_ac_descriptor.o \ cw_out_wtp_descriptor.o \ - cw_out_cisco_ac_descriptor.o \ cw_in_cisco_image_identifier.o\ cw_out_radio_operational_state.o\ cw_in_ac_descriptor.o\ diff --git a/src/mod/cisco/Makefile b/src/mod/cisco/Makefile index b32199d4..18a923d1 100644 --- a/src/mod/cisco/Makefile +++ b/src/mod/cisco/Makefile @@ -3,7 +3,8 @@ OBJS=\ mod_cisco_ac.o \ cisco_actions_ac.o \ cisco_out_ap_timesync.o \ - cisco_in_wtp_descriptor.o + cisco_in_wtp_descriptor.o \ + cisco_out_ac_descriptor.o NAME=libcisco.a diff --git a/src/mod/cisco/cisco_actions_ac.c b/src/mod/cisco/cisco_actions_ac.c index d9061582..a610b1e8 100644 --- a/src/mod/cisco/cisco_actions_ac.c +++ b/src/mod/cisco/cisco_actions_ac.c @@ -74,7 +74,8 @@ static cw_action_out_t actions_out[]={ /* Message Discovery Response */ - /* Discovery Response AC Descriptor */ + /* Cisco AP Timesync - Important to get the WTP a DTLS + * connection established*/ { .msg_id = CW_MSG_DISCOVERY_RESPONSE, .item_id = CW_ITEM_AC_TIMESTAMP, @@ -83,6 +84,16 @@ static cw_action_out_t actions_out[]={ .out = cisco_out_ap_timesync, .mand = 1 } + , + /* Discovery Response AC Descriptor */ + { + .msg_id = CW_MSG_DISCOVERY_RESPONSE, + .item_id = CW_ITEM_AC_DESCRIPTOR, + .elem_id = CW_ELEM_AC_DESCRIPTOR, + .out = cw_out_cisco_ac_descriptor, + .mand = 1 + } + , diff --git a/src/mod/cisco/cisco_out_ac_descriptor.c b/src/mod/cisco/cisco_out_ac_descriptor.c index 0e898c3b..f6510167 100644 --- a/src/mod/cisco/cisco_out_ac_descriptor.c +++ b/src/mod/cisco/cisco_out_ac_descriptor.c @@ -1,12 +1,12 @@ -#include "log.h" -#include "conn.h" +#include "capwap/log.h" +#include "capwap/conn.h" -#include "mbag.h" -#include "capwap_items.h" -#include "capwap.h" +#include "capwap/mbag.h" +#include "capwap/capwap_items.h" +#include "capwap/capwap.h" -int cw_out_cisco_ac_descriptor(struct conn *conn,struct cw_action_out * a,uint8_t *dst) +int cisco_out_ac_descriptor(struct conn *conn,struct cw_action_out * a,uint8_t *dst) { uint8_t *d = dst+4; diff --git a/src/mod/cisco/mod_cisco_ac.c b/src/mod/cisco/mod_cisco_ac.c index 8b50ea4c..b3544298 100644 --- a/src/mod/cisco/mod_cisco_ac.c +++ b/src/mod/cisco/mod_cisco_ac.c @@ -43,6 +43,8 @@ static int detect(struct conn *conn,const uint8_t *rawmsg, int rawlen,int elems_ const uint8_t *elem; + /* To detect a Cisco AP we look for any vendor + * specific payload Cisco identifier */ cw_foreach_elem(elem, elems_ptr, elems_len) { int id = cw_get_elem_id(elem); if (id==CW_ELEM_VENDOR_SPECIFIC_PAYLOAD){