2016-04-02 16:47:17 +02:00
|
|
|
|
|
|
|
|
|
|
|
#include "../modload.h"
|
|
|
|
|
|
|
|
#include "cw/mod.h"
|
|
|
|
#include "cw/log.h"
|
|
|
|
#include "cw/dbg.h"
|
|
|
|
|
|
|
|
#include "mod_cipwap.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int cipwap_init()
|
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static int detect(struct conn *conn,const uint8_t *rawmsg, int rawlen,int elems_len, struct sockaddr *from, int mode)
|
|
|
|
{
|
2018-02-26 12:21:50 +01:00
|
|
|
if (mode == CW_MOD_MODE_CAPWAP)
|
2016-04-02 16:47:17 +02:00
|
|
|
return 1;
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
static int register_actions(struct cw_actiondef *actions, int mode)
|
|
|
|
{
|
|
|
|
switch (mode) {
|
2018-02-26 12:21:50 +01:00
|
|
|
case CW_MOD_MODE_CAPWAP:
|
2016-04-02 16:47:17 +02:00
|
|
|
{
|
|
|
|
|
2018-02-25 19:12:28 +01:00
|
|
|
struct cw_Mod *cmod = modload_wtp("capwap");
|
2016-04-02 16:47:17 +02:00
|
|
|
if (!cmod) {
|
|
|
|
cw_log(LOG_ERR,
|
|
|
|
"Can't initialize mod_cisco, failed to load base mod mod_capwap");
|
|
|
|
return 1;
|
|
|
|
}
|
2018-02-26 12:21:50 +01:00
|
|
|
cmod->register_actions(actions, CW_MOD_MODE_CAPWAP);
|
2016-04-02 16:47:17 +02:00
|
|
|
int rc = cipwap_register_actions_ac(actions);
|
|
|
|
cw_dbg(DBG_INFO, "Initialized mod_cisco with %d actions", rc);
|
|
|
|
return rc;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
case MOD_MODE_BINDINGS:
|
|
|
|
{
|
|
|
|
struct mod_ac *cmod = modload_ac("capwap80211");
|
|
|
|
if (!cmod) {
|
|
|
|
cw_log(LOG_ERR,
|
|
|
|
"Can't initialize mod_cisco, failed to load base mod mod_capwap80211");
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
cmod->register_actions(actions, MOD_MODE_BINDINGS);
|
|
|
|
int rc = cipwap_register_actions80211_ac(actions);
|
|
|
|
cw_dbg(DBG_INFO, "Initialized mod_cisco 80211 with %d actions", rc);
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-02-25 19:12:28 +01:00
|
|
|
static struct cw_Mod cipwap_wtp = {
|
2016-04-02 16:47:17 +02:00
|
|
|
.name ="cipwap",
|
|
|
|
.init = cipwap_init,
|
|
|
|
.detect = detect,
|
|
|
|
.register_actions=register_actions
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-02-25 19:12:28 +01:00
|
|
|
struct cw_Mod * mod_cipwap_wtp(){
|
2016-04-02 16:47:17 +02:00
|
|
|
return &cipwap_wtp;
|
|
|
|
};
|
|
|
|
|