diff --git a/actube.workspace b/actube.workspace index b8870938..b21adfd1 100644 --- a/actube.workspace +++ b/actube.workspace @@ -1,9 +1,9 @@ - + - + diff --git a/src/ac/ac_global.c b/src/ac/ac_global.c index 59f3d95e..2c0f875d 100644 --- a/src/ac/ac_global.c +++ b/src/ac/ac_global.c @@ -4,7 +4,7 @@ #include "ac.h" #include "conf.h" #include "cw/capwap.h" -#include "cw/capwap_items.h" + #include "cw/aciplist.h" #include "socklist.h" #include "cw/sock.h" @@ -15,7 +15,7 @@ struct cw_ac_status ac_status; -struct cw_actiondef capwap_actions; + mavl_t actube_global_cfg; diff --git a/src/ac/ac_main.c b/src/ac/ac_main.c index 568c5a8f..8feb7094 100644 --- a/src/ac/ac_main.c +++ b/src/ac/ac_main.c @@ -34,12 +34,12 @@ #include "socklist.h" #include "db.h" -#include "cw/capwap_items.h" + #include "cw/capwap_cisco.h" //#include "cw/capwap_80211.h" -#include "cw/action.h" + #include "cw/capwap_crypto.h" -#include "cw/mbag.h" + #include "ac.h" diff --git a/src/ac/conf.c b/src/ac/conf.c index da07832f..77525285 100644 --- a/src/ac/conf.c +++ b/src/ac/conf.c @@ -27,7 +27,7 @@ #include "cw/log.h" #include "cw/dbg.h" #include "cw/cw_util.h" -#include "cw/action.h" + #include "conf.h" #include "ac.h" @@ -38,7 +38,7 @@ uint8_t conf_macaddress_len = 0; long conf_strict_capwap = 1; long conf_strict_headers = 0; -int conf_capwap_mode = CW_MODE_CAPWAP; +/*int conf_capwap_mode = CW_MODE_CAPWAP;*/ diff --git a/src/ac/db.c b/src/ac/db.c index 2194cb95..38abb179 100644 --- a/src/ac/db.c +++ b/src/ac/db.c @@ -1,13 +1,13 @@ #include -#include "cw/mbag.h" + #include "cw/log.h" #include "cw/dbg.h" -#include "cw/capwap_items.h" + #include "cw/conn.h" -#include "cw/item.h" -#include "cw/mbag.h" + + #include "conf.h" @@ -187,9 +187,9 @@ void db_put_radio_prop(const char *wtp_id,const char *rid, const char * key,cons goto errX; - if (!sub_key) +/* if (!sub_key) sub_key=CW_ITEM_NONE; - +*/ if (sqlite3_bind_text(stmt_put_radio_prop,4,sub_key,-1,SQLITE_STATIC)) goto errX; @@ -272,9 +272,9 @@ void db_put_wtp_prop(const char *wtp_id,const char * id,const char *sub_id,const if(sqlite3_bind_text(put_wtp_prop_stmt,2,id,-1,SQLITE_STATIC)) goto errX; - if (!sub_id) +/* if (!sub_id) sub_id=CW_ITEM_NONE; - +*/ if (sqlite3_bind_text(put_wtp_prop_stmt,3,sub_id,-1,SQLITE_STATIC)) goto errX; diff --git a/src/ac/wtpman.c b/src/ac/wtpman.c index 35fc0347..e601bef7 100644 --- a/src/ac/wtpman.c +++ b/src/ac/wtpman.c @@ -29,7 +29,7 @@ #include "cw/log.h" #include "cw/timer.h" #include "cw/cw.h" -#include "cw/capwap_items.h" + #include "cw/dtls.h" #include "cw/dbg.h" #include "cw/conn.h" @@ -46,14 +46,14 @@ static void reset_echointerval_timer(struct wtpman *wtpman) { char sock_buf[SOCK_ADDR_BUFSIZE]; - uint16_t ct = mbag_get_word(wtpman->conn->local, CW_ITEM_CAPWAP_TIMERS, +/* uint16_t ct = mbag_get_word(wtpman->conn->local, CW_ITEM_CAPWAP_TIMERS, CW_MAX_DISCOVERY_INTERVAL << 8 | CAPWAP_ECHO_INTERVAL); - +*/ /* start echinterval timer and put 2 seconds for "safety" on it */ - wtpman->echointerval_timer = cw_timer_start(2+ (ct & 0xff)); - db_ping_wtp(sock_addr2str_p(&wtpman->conn->addr,sock_buf), conf_acname); +// wtpman->echointerval_timer = cw_timer_start(2+ (ct & 0xff)); +// db_ping_wtp(sock_addr2str_p(&wtpman->conn->addr,sock_buf), conf_acname); // cw_dbg(DBG_X, "Starting capwap timer: %d", wtpman->echointerval_timer); } @@ -89,7 +89,7 @@ static void wtpman_run_discovery(void *arg) time_t timer = cw_timer_start(10); - extern cw_actionlist_in_t the_tree; + wtpman->conn->capwap_state = CAPWAP_STATE_DISCOVERY; // wtpman->conn->actions = &capwap_actions; @@ -104,12 +104,12 @@ static void wtpman_run_discovery(void *arg) cw_read_messages(wtpman->conn); } - struct mbag_item *wn = mbag_get(wtpman->conn->incomming, CW_ITEM_WTP_NAME); +// struct mbag_item *wn = mbag_get(wtpman->conn->incomming, CW_ITEM_WTP_NAME); - if (wn) { +// if (wn) { // printf("WTP Name: %s\n", wn->data); // exit(0); - } +// } wtpman_remove(wtpman); return; @@ -185,12 +185,12 @@ static int wtpman_join(void *arg, time_t timer) struct wtpman *wtpman = (struct wtpman *) arg; struct conn *conn = wtpman->conn; - wtpman->conn->outgoing = mbag_create(); - wtpman->conn->incomming = mbag_create(); - conn->config = conn->incomming; +// wtpman->conn->outgoing = mbag_create(); +// wtpman->conn->incomming = mbag_create(); +// conn->config = conn->incomming; // wtpman->conn->local = ac_config; - mbag_set_str(conn->local, CW_ITEM_AC_NAME, conf_acname); +// mbag_set_str(conn->local, CW_ITEM_AC_NAME, conf_acname); @@ -232,10 +232,10 @@ static int wtpman_join(void *arg, time_t timer) static void wtpman_image_data(struct wtpman *wtpman) { - char sock_buf[SOCK_ADDR_BUFSIZE]; +/* char sock_buf[SOCK_ADDR_BUFSIZE]; struct conn *conn = wtpman->conn; - /* Image upload */ + // Image upload const char *filename = mbag_get_str(conn->outgoing, CW_ITEM_IMAGE_FILENAME, NULL); if (!filename) { cw_log(LOG_ERR, @@ -278,66 +278,8 @@ static void wtpman_image_data(struct wtpman *wtpman) fclose(infile); wtpman_remove(wtpman); +*/ - -} - - -// TODO XXXX - -void props_to_sql(struct conn *conn, mbag_t mb, const char *mid) -{ - /* - // XXX for the now we use just the IP adress as ID - char *wtp_id = sock_addr2str(&conn->addr); - -// cw_dbg(DBG_X, "WTPID: %s\n", wtp_id); - - MAVLITER_DEFINE(it, mb); - mavliter_foreach(&it) { - mbag_item_t *i = mavliter_get(&it); - - const struct cw_itemdef *cwi; - - if (!mid){ - cwi = cw_itemdef_get(conn->actions->items, i->id, NULL); - } - else{ - cwi = cw_itemdef_get(conn->actions->items, mid,i->id); - } - - if (!cwi){ - cw_dbg(DBG_WARN,"No definition for item %s found.",i->id); - continue; - } - - if (i->type==MBAG_MBAG){ - if (mid){ - cw_log(LOG_ERROR,"Depth for %s",i->id); - continue; - } - - props_to_sql(conn,i->data,i->id); - continue; - } - - - DBGX("SQL ID %s,%s", i->id, cwi->id); - DBGX("SQL Type %s,Typecwd %s", i->type->name, cwi->type->name); - - // printf("%s != %s ?\n",i->type->name,cwi->type->name); - char str[256]; - if (i->type->to_str) { - i->type->to_str(i, str); - db_put_wtp_prop(wtp_id, cwi->id, cwi->sub_id, str); - } else { - cw_log(LOG_ERR, "Can't converto to str for %s", cwi->id, - cwi->sub_id); - - } - - } - */ } @@ -386,7 +328,7 @@ void config_to_sql(struct conn *conn) */ } -void radio_to_sql(struct conn *conn, char *wtp_id, int rid, mbag_t radio) +void xradio_to_sql(struct conn *conn, char *wtp_id, int rid, int radio) { /* @@ -427,7 +369,7 @@ void radio_to_sql(struct conn *conn, char *wtp_id, int rid, mbag_t radio) */ } - +/* void radios_to_sql(struct conn *conn) { char sock_buf[SOCK_ADDR_BUFSIZE]; @@ -442,7 +384,7 @@ void radios_to_sql(struct conn *conn) } } - +*/ @@ -473,10 +415,11 @@ void wtpman_run_data(void *wtpman_arg) static int msg_end_handler(struct conn *conn, struct cw_action_in *a, uint8_t * data, int len, struct sockaddr *from) { - if (a->msg_id ==CAPWAP_MSG_CHANGE_STATE_EVENT_REQUEST) { +/* if (a->msg_id ==CAPWAP_MSG_CHANGE_STATE_EVENT_REQUEST) { props_to_sql(conn,conn->incomming,0); radios_to_sql(conn); } +*/ } @@ -565,8 +508,8 @@ static void wtpman_run(void *arg) // XXX testing ... // DBGX("Cofig to sql", ""); - props_to_sql(conn,conn->incomming,0); - radios_to_sql(conn); +// props_to_sql(conn,conn->incomming,0); +// radios_to_sql(conn); conn->msg_end=msg_end_handler; @@ -590,8 +533,8 @@ static void wtpman_run(void *arg) break; } - mavl_del_all(conn->outgoing); - conn_clear_upd(conn,1); +// mavl_del_all(conn->outgoing); +// conn_clear_upd(conn,1); // props_to_sql(conn,conn->incomming,0); // radios_to_sql(conn); @@ -602,37 +545,37 @@ static void wtpman_run(void *arg) r = db_get_update_tasks(conn, sock_addr2str(&conn->addr,sock_buf)); if (r) { - if (!conn->outgoing->count) - continue; +// if (!conn->outgoing->count) +// continue; cw_dbg(DBG_INFO, "Updating WTP %s",sock_addr2str(&conn->addr,sock_buf)); rc = cw_send_request(conn, CAPWAP_MSG_CONFIGURATION_UPDATE_REQUEST); - mavl_merge(conn->config, conn->outgoing); - mavl_destroy(conn->outgoing); - conn->outgoing = mbag_create(); - props_to_sql(conn,conn->incomming,0); - radios_to_sql(conn); - mavl_destroy(r); +// mavl_merge(conn->config, conn->outgoing); +// mavl_destroy(conn->outgoing); +// conn->outgoing = mbag_create(); +// props_to_sql(conn,conn->incomming,0); +// radios_to_sql(conn); +// mavl_destroy(r); } r = db_get_radio_tasks(conn, sock_addr2str(&conn->addr,sock_buf)); if (r) { - if (!conn->radios_upd->count) - continue; +// if (!conn->radios_upd->count) +// continue; cw_dbg(DBG_INFO, "Updating Radios for %s",sock_addr2str(&conn->addr,sock_buf)); rc = cw_send_request(conn, CAPWAP_MSG_CONFIGURATION_UPDATE_REQUEST); - conn_clear_upd(conn,1); +// conn_clear_upd(conn,1); // mavl_destroy(conn->radios_upd); // conn->radios_upd=mbag_i_create(); - radios_to_sql(conn); +// radios_to_sql(conn); /* rc = cw_send_request(conn, CW_MSG_CONFIGURATION_UPDATE_REQUEST); @@ -749,11 +692,11 @@ struct wtpman *wtpman_create(int socklistindex, struct sockaddr *srcaddr) wtpman->conn->strict_capwap = conf_strict_capwap; wtpman->conn->strict_hdr = conf_strict_headers; - wtpman->conn->radios = mbag_i_create(); - wtpman->conn->radios_upd = mbag_i_create(); +// wtpman->conn->radios = mbag_i_create(); +// wtpman->conn->radios_upd = mbag_i_create(); // wtpman->conn->local = ac_config; //wtpman->conn->capwap_mode=0; //CW_MODE_STD; //CISCO; - wtpman->conn->capwap_mode = CW_MODE_CISCO; +// wtpman->conn->capwap_mode = CW_MODE_CISCO; //wtpman->conn->strict_capwap_hdr=0;