2016-02-22 09:16:37 +01:00
|
|
|
|
2016-04-02 09:05:07 +02:00
|
|
|
|
|
|
|
#include "../modload.h"
|
|
|
|
|
2016-03-03 20:46:20 +01:00
|
|
|
#include "cw/mod.h"
|
|
|
|
#include "cw/log.h"
|
2016-03-09 18:39:57 +01:00
|
|
|
#include "cw/dbg.h"
|
2016-02-23 08:58:05 +01:00
|
|
|
|
2016-02-22 09:16:37 +01:00
|
|
|
#include "mod_cipwap.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int cipwap_init()
|
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2016-03-08 01:20:22 +01:00
|
|
|
static int detect(struct conn *conn,const uint8_t *rawmsg, int rawlen,int elems_len, struct sockaddr *from, int mode)
|
2016-02-23 08:58:05 +01:00
|
|
|
{
|
2018-02-26 12:21:50 +01:00
|
|
|
if (mode == CW_MOD_MODE_CAPWAP)
|
2016-04-02 09:05:07 +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 09:05:07 +02:00
|
|
|
{
|
|
|
|
|
2018-02-25 19:12:28 +01:00
|
|
|
struct cw_Mod *cmod = modload_ac("capwap");
|
2016-04-02 09:05:07 +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 09:05:07 +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;
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2016-03-08 01:20:22 +01:00
|
|
|
|
2016-02-23 08:58:05 +01:00
|
|
|
return 0;
|
2016-04-02 09:05:07 +02:00
|
|
|
|
|
|
|
|
2016-02-23 08:58:05 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-02-25 19:12:28 +01:00
|
|
|
static struct cw_Mod cipwap_ac = {
|
2016-02-23 08:58:05 +01:00
|
|
|
.name ="cipwap",
|
2016-02-22 18:33:47 +01:00
|
|
|
.init = cipwap_init,
|
2016-04-02 09:05:07 +02:00
|
|
|
.detect = detect,
|
|
|
|
.register_actions=register_actions
|
2016-02-23 08:58:05 +01:00
|
|
|
|
2016-02-22 09:16:37 +01:00
|
|
|
};
|
|
|
|
|
2016-02-23 08:58:05 +01:00
|
|
|
|
|
|
|
|
2018-02-25 19:12:28 +01:00
|
|
|
struct cw_Mod * mod_cipwap_ac(){
|
2016-02-22 09:16:37 +01:00
|
|
|
return &cipwap_ac;
|
|
|
|
};
|
|
|
|
|