2016-03-08 01:44:59 +01:00
|
|
|
|
|
|
|
#include "cw/mod.h"
|
|
|
|
#include "cw/log.h"
|
|
|
|
#include "cw/dbg.h"
|
|
|
|
|
|
|
|
#include "cw/action.h"
|
2016-03-11 22:23:00 +01:00
|
|
|
#include "cw/cw.h"
|
2016-03-08 01:44:59 +01:00
|
|
|
|
|
|
|
#include "mod_capwap80211.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//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;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static int detect(struct conn *conn, const uint8_t * rawmsg, int rawlen, int elems_len,
|
|
|
|
struct sockaddr *from, int mode)
|
|
|
|
{
|
2016-03-10 08:07:30 +01:00
|
|
|
if (mode != MOD_MODE_BINDINGS)
|
2016-03-08 01:44:59 +01:00
|
|
|
return 0;
|
|
|
|
|
2016-03-09 09:36:29 +01:00
|
|
|
int wbid = cw_get_hdr_wbid(rawmsg);
|
2016-03-09 18:39:57 +01:00
|
|
|
if (wbid != CW_WBID_IEEE80211 ) {
|
|
|
|
cw_dbg(DBG_MOD,"CAPWAP80211 detected: no, my wbid=%d, remote wbid=%d",CW_WBID_IEEE80211,wbid);
|
2016-03-09 09:36:29 +01:00
|
|
|
return 0;
|
2016-03-09 18:39:57 +01:00
|
|
|
}
|
|
|
|
cw_dbg(DBG_MOD,"CAPWAP80211 detected: yes");
|
2016-03-08 01:44:59 +01:00
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
2016-03-10 08:07:30 +01:00
|
|
|
static int register_actions(struct cw_actiondef *actions, int mode)
|
2016-03-08 01:44:59 +01:00
|
|
|
{
|
2016-03-10 08:07:30 +01:00
|
|
|
if (mode != MOD_MODE_BINDINGS)
|
|
|
|
return 0;
|
|
|
|
|
2016-03-08 19:57:19 +01:00
|
|
|
return capwap80211_register_actions_ac(actions);
|
2016-03-08 01:44:59 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static struct mod_ac capwap80211_ac = {
|
|
|
|
.name = "capwap80211",
|
|
|
|
.init = init,
|
|
|
|
.detect = detect,
|
|
|
|
.register_actions = register_actions
|
|
|
|
};
|
|
|
|
|
|
|
|
struct mod_ac *mod_capwap80211_ac()
|
|
|
|
{
|
|
|
|
return &capwap80211_ac;
|
|
|
|
};
|