From a2d9a1d335fc6ea848ce7f1e1ee00d144c9fbaab Mon Sep 17 00:00:00 2001 From: "7u83@mail.ru" <7u83@mail.ru@noemail.net> Date: Mon, 26 Mar 2018 13:11:57 +0000 Subject: [PATCH] Compiles with default options now FossilOrigin-Name: 3b07a845258f7f5bb5276e4ce0ee1974cdaaa80ecb48716360127f2c9610b4d2 --- actube.workspace | 4 +-- src/Macros.mak | 6 ++++ src/ac/ac_global.c | 8 ++--- src/ac/ac_interface.c | 2 +- src/ac/ac_main.c | 25 ++++++++------ src/ac/db.c | 29 ++++++++-------- src/ac/socklist.c | 18 +++++----- src/ac/wtpman.c | 78 +++++++++++++++++++++++++++---------------- src/cw/mod.c | 2 +- src/mod/Makefile | 4 +-- src/mod/Mod.mak | 2 +- 11 files changed, 105 insertions(+), 73 deletions(-) diff --git a/actube.workspace b/actube.workspace index 361145ca..b21adfd1 100644 --- a/actube.workspace +++ b/actube.workspace @@ -1,12 +1,12 @@ - + - + diff --git a/src/Macros.mak b/src/Macros.mak index c62f3649..ad9f0a83 100644 --- a/src/Macros.mak +++ b/src/Macros.mak @@ -36,6 +36,12 @@ CFLAGS += -Wall -Wunusupported -Wimplicit-function-declaration -I /usr/local/ LD = tcc endif +ifeq ($(CC),cc) +LDFLAGS += -g -L/usr/local/lib +CFLAGS += -fPIC -g -O0 -D_REENTRANT -I /usr/local/include -I../ +LD = cc +endif + CFLAGS += -DWITH_IPV6 -DWITH_RMAC_SUPPORT diff --git a/src/ac/ac_global.c b/src/ac/ac_global.c index 2c0f875d..cf2a0841 100644 --- a/src/ac/ac_global.c +++ b/src/ac/ac_global.c @@ -52,8 +52,8 @@ cw_aciplist_t get_aciplist() acip->index=3; -// printf ("Adding IP %s\n",sock_addr2str(&acip->ip)); - +/*// printf ("Adding IP %s\n",sock_addr2str(&acip->ip)); +*/ cw_aciplist_add(aciplist,acip); @@ -104,8 +104,8 @@ int handle_echo_req(struct conn *conn, struct cw_action_in *a, uint8_t * data, int ac_global_init() { -// mod_set_actions_registered_cb(setup_actions); - +/*// mod_set_actions_registered_cb(setup_actions); +*/ /* ac_config = mbag_create(); diff --git a/src/ac/ac_interface.c b/src/ac/ac_interface.c index 7f8135dd..95145489 100644 --- a/src/ac/ac_interface.c +++ b/src/ac/ac_interface.c @@ -10,7 +10,7 @@ #include "conf.h" #include "cw/capwap.h" -//#include "cw/capwap_80211.h" +/*//#include "cw/capwap_80211.h"*/ #include "cw/aciplist.h" diff --git a/src/ac/ac_main.c b/src/ac/ac_main.c index 1602ece0..87cde7d8 100644 --- a/src/ac/ac_main.c +++ b/src/ac/ac_main.c @@ -145,8 +145,8 @@ int mycmp (void *e1, void *e2) struct mykv * k1 = e1; struct mykv * k2 = e2; -//printf("My CMP: %d and %d\n", k1->key, k2->key); - +/*//printf("My CMP: %d and %d\n", k1->key, k2->key); +*/ if (k1->key > k2->key) return 1; @@ -255,11 +255,13 @@ exit(0); /* Warn, if the "secret" debugging feature for developers is turned on ;) */ + +/* // DBGX("Attention! %s", "DBG X is ON!"); // cw_mod_set_mod_path("../../lib/actube"); //cw_mod_load("capwap"); - + */ @@ -345,16 +347,17 @@ int ac_run() conf_parse_listen_addr (conf_listen_addrs[i], addr, port, &proto); - //struct sockaddr sa; + /* //struct sockaddr sa;*/ socklist_add_unicast (addr, port, proto); + /* //#ifdef WITH_LWAPP // if (conf_lwapp) // socklist_add_unicast(conf_listen_addrs[i], conf_lw_control_port, // AC_PROTO_LWAPP); -//#endif +//#endif*/ } @@ -400,7 +403,7 @@ int ac_run() - //get_acinfo(); + /*//get_acinfo();*/ while (1) { @@ -574,7 +577,7 @@ void process_cw_ctrl_packet (int index, struct sockaddr *addr, uint8_t * buffer, void process_lw_ctrl_packet (int index, struct sockaddr *addr, uint8_t * buffer, int len) { - //int sock = socklist[index].reply_sockfd; + /*//int sock = socklist[index].reply_sockfd;*/ uint8_t *m = buffer + 6; uint32_t val = ntohl (* ( (uint32_t *) (m))); @@ -588,7 +591,7 @@ void process_lw_ctrl_packet (int index, struct sockaddr *addr, uint8_t * buffer, int version = LWTH_GET_VERSION (m); if (version != LW_VERSION) { -// cw_log_debug1("Discarding LWAPP packet, wrong verson"); +/*// cw_log_debug1("Discarding LWAPP packet, wrong verson");*/ return; } @@ -596,7 +599,7 @@ void process_lw_ctrl_packet (int index, struct sockaddr *addr, uint8_t * buffer, printf ("LEN = %d\n", l); if (l + 12 != len) { - // cw_log_debug1("Discarding LWAPP packet, wrong length"); +/* // cw_log_debug1("Discarding LWAPP packet, wrong length");*/ return; } @@ -621,10 +624,10 @@ void process_lw_ctrl_packet (int index, struct sockaddr *addr, uint8_t * buffer, return; }; - //wtpman_lw_start(wtpman); + /*//wtpman_lw_start(wtpman);*/ } - //wtpman_lw_addpacket(wtpman,buffer,len); + /*//wtpman_lw_addpacket(wtpman,buffer,len);*/ wtplist_unlock(); } diff --git a/src/ac/db.c b/src/ac/db.c index 38abb179..e77a8021 100644 --- a/src/ac/db.c +++ b/src/ac/db.c @@ -169,9 +169,9 @@ void db_put_radio_prop(const char *wtp_id,const char *rid, const char * key,cons { int rc=0; -// DBGX("Putting %s/%s:%s",id,sub_id,val); +/*// DBGX("Putting %s/%s:%s",id,sub_id,val); // (wtpid,rid,key,sub_key,val,upd) - +*/ sqlite3_reset(stmt_put_radio_prop); sqlite3_clear_bindings(stmt_put_radio_prop); @@ -197,22 +197,22 @@ void db_put_radio_prop(const char *wtp_id,const char *rid, const char * key,cons goto errX; - +/* // if (sqlite3_bind_int(put_wtp_prop_stmt,5,0)) // goto errX; // cw_dbg(DBG_X,"Her I am already, next is step"); - +*/ rc = sqlite3_step(stmt_put_radio_prop); if (rc != SQLITE_DONE) goto errX; - +/* // cw_dbg(DBG_X,"SQL schould be fine"); - +*/ return; errX: -// cw_dbg (DBG_X, "Iam on err %d\n",rc); +/*// cw_dbg (DBG_X, "Iam on err %d\n",rc);*/ if (rc) { @@ -261,7 +261,8 @@ void db_put_wtp_prop(const char *wtp_id,const char * id,const char *sub_id,const { int rc=0; -// DBGX("Putting %s/%s:%s",id,sub_id,val); +/*// DBGX("Putting %s/%s:%s",id,sub_id,val); +*/ sqlite3_reset(put_wtp_prop_stmt); sqlite3_clear_bindings(put_wtp_prop_stmt); @@ -285,18 +286,18 @@ void db_put_wtp_prop(const char *wtp_id,const char * id,const char *sub_id,const if (sqlite3_bind_int(put_wtp_prop_stmt,5,0)) goto errX; -// cw_dbg(DBG_X,"Her I am already, next is step"); - +/*// cw_dbg(DBG_X,"Her I am already, next is step"); +*/ rc = sqlite3_step(put_wtp_prop_stmt); if (rc != SQLITE_DONE) goto errX; - +/* // cw_dbg(DBG_X,"SQL schould be fine"); - +*/ return; errX: -// cw_dbg (DBG_X, "Iam on err %d\n",rc); +/*// cw_dbg (DBG_X, "Iam on err %d\n",rc);*/ if (rc) { @@ -306,7 +307,7 @@ errX: } -// TODO XXXX +/*// TODO XXXX*/ mavl_t db_get_update_tasks(struct conn * conn,const char * wtpid) { /* diff --git a/src/ac/socklist.c b/src/ac/socklist.c index 6a0f3a1a..2e3afc38 100644 --- a/src/ac/socklist.c +++ b/src/ac/socklist.c @@ -147,7 +147,7 @@ int socklist_find_reply_socket(struct sockaddr *sa, int port) static int find_reply_socket(struct sockaddr *sa, int bc) { - //printf("Looking for best sock of: %s\n",sock_addr2str(sa)); +/* //printf("Looking for best sock of: %s\n",sock_addr2str(sa));*/ int bestsockfd = -1; int i; @@ -279,13 +279,13 @@ int socklist_add_multicast(const char *addr, const char *port, int ac_proto) struct ipv6_mreq mreq; memset(&mreq, 0, sizeof(mreq)); struct sockaddr_in6 *sain6 = (struct sockaddr_in6 *) res->ai_addr; -// mreq.ipv6mr_multiaddr.s_addr=sain->sin_addr.s_addr; +/*// mreq.ipv6mr_multiaddr.s_addr=sain->sin_addr.s_addr;*/ memcpy(&mreq.ipv6mr_multiaddr.s6_addr, &sain6->sin6_addr.s6_addr, sizeof(sain6->sin6_addr.s6_addr)); -// int si = sizeof(sain6->sin6_addr.s6_addr); +/*// int si = sizeof(sain6->sin6_addr.s6_addr); // int i = sain6->sin6_addr.s6_addr; - mreq.ipv6mr_interface = 0; //htonl(INADDR_ANY); +*/ mreq.ipv6mr_interface = 0; /*//htonl(INADDR_ANY);*/ opt = &mreq; optlen = sizeof(mreq); if (setsockopt(sockfd, IPPROTO_IPV6, IPV6_JOIN_GROUP, opt, optlen) @@ -300,7 +300,7 @@ int socklist_add_multicast(const char *addr, const char *port, int ac_proto) int rfd = find_reply_socket(sa, 0); socklist[socklist_len].sockfd = sockfd; -// socklist[socklist_len].reply_sockfd = rfd; +/*// socklist[socklist_len].reply_sockfd = rfd;*/ socklist[socklist_len].type = SOCKLIST_BCASTMCAST_SOCKET; socklist[socklist_len].family = sa->sa_family; socklist[socklist_len].ac_proto = ac_proto; @@ -385,7 +385,7 @@ int socklist_add_unicast(const char *addr, const char *port, int ac_proto) socklist[socklist_len].sockfd = sockfd; -// socklist[socklist_len].reply_sockfd = sockfd; +/*// socklist[socklist_len].reply_sockfd = sockfd;*/ socklist[socklist_len].family = sa->sa_family; socklist[socklist_len].type = SOCKLIST_UNICAST_SOCKET; socklist[socklist_len].ac_proto = ac_proto; @@ -502,7 +502,7 @@ int socklist_add_broadcast(const char *addr, const char *port, int ac_proto) int rfd = find_reply_socket(sa, 1); socklist[socklist_len].sockfd = sockfd; -// socklist[socklist_len].reply_sockfd = rfd; +/*// socklist[socklist_len].reply_sockfd = rfd;*/ socklist[socklist_len].type = SOCKLIST_BCASTMCAST_SOCKET; socklist[socklist_len].family = sa->sa_family; socklist[socklist_len].ac_proto = ac_proto; @@ -510,9 +510,9 @@ int socklist_add_broadcast(const char *addr, const char *port, int ac_proto) memcpy(&socklist[socklist_len].addr, res->ai_addr, sock_addrlen(res->ai_addr)); -// printf ("AC INIT PROTO : %d, i %i\n",ac_proto,socklist_len); +/*// printf ("AC INIT PROTO : %d, i %i\n",ac_proto,socklist_len); // printf ("sock proto %d\n",socklist[socklist_len].ac_proto); - socklist_len++; +*/ socklist_len++; cw_log(LOG_INFO, "Bound to broadcast: %s:%s (%i,R:%i,I:%d)", addr, port, sockfd, rfd, socklist_len - 1); diff --git a/src/ac/wtpman.c b/src/ac/wtpman.c index a378fc2f..4bdf269f 100644 --- a/src/ac/wtpman.c +++ b/src/ac/wtpman.c @@ -52,9 +52,11 @@ static void reset_echointerval_timer(struct wtpman *wtpman) */ /* 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); // cw_dbg(DBG_X, "Starting capwap timer: %d", wtpman->echointerval_timer); +*/ } @@ -92,25 +94,26 @@ static void wtpman_run_discovery(void *arg) wtpman->conn->capwap_state = CAPWAP_STATE_DISCOVERY; -// wtpman->conn->actions = &capwap_actions; +/*// wtpman->conn->actions = &capwap_actions;*/ /* wtpman->conn->outgoing = mbag_create(); wtpman->conn->incomming = mbag_create(); */ - wtpman->conn->remote_cfg = cw_ktv_create(); //mavl_cmp_kv,NULL,1312); + wtpman->conn->remote_cfg = cw_ktv_create(); /*//mavl_cmp_kv,NULL,1312);*/ while (!cw_timer_timeout(timer) && wtpman->conn->capwap_state == CAPWAP_STATE_DISCOVERY) { cw_read_messages(wtpman->conn); } +/* // struct mbag_item *wn = mbag_get(wtpman->conn->incomming, CW_ITEM_WTP_NAME); // if (wn) { // printf("WTP Name: %s\n", wn->data); // exit(0); // } - +*/ wtpman_remove(wtpman); return; @@ -185,6 +188,7 @@ 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; @@ -192,13 +196,15 @@ static int wtpman_join(void *arg, time_t timer) // mbag_set_str(conn->local, CW_ITEM_AC_NAME, conf_acname); - +*/ wtpman->conn->capwap_state = CAPWAP_STATE_JOIN; + +/* // wtpman->conn->actions = &capwap_actions; // wtpman->conn->itemstore = mbag_create(); - +*/ cw_dbg(DBG_INFO, "Join State - %s", sock_addr2str(&conn->addr,sock_buf)); @@ -404,7 +410,7 @@ void wtpman_run_data(void *wtpman_arg) cw_log(LOG_ERR, "I am the data thread**********************************************************************\n"); while (1) { sleep(5); -// conn->write_data(conn, data, 100); +/*// conn->write_data(conn, data, 100);*/ cw_log(LOG_ERR, "O was the data thread***********************************************************\n"); } @@ -469,11 +475,11 @@ static void wtpman_run(void *arg) - +/* // cw_dbg(DBG_INFO, "Creating data thread"); // pthread_t thread; // pthread_create(&thread, NULL, (void *) wtpman_run_data, (void *) wtpman); - +*/ /* here the WTP has joined, now we assume an image data request or an configuration status request. Nothing else. @@ -505,12 +511,12 @@ static void wtpman_run(void *arg) conn->capwap_state = CW_STATE_RUN; - +/* // XXX testing ... // DBGX("Cofig to sql", ""); // props_to_sql(conn,conn->incomming,0); // radios_to_sql(conn); - +*/ conn->msg_end=msg_end_handler; /* The main run loop */ @@ -524,8 +530,9 @@ static void wtpman_run(void *arg) break; } -// cw_dbg(DBG_X, "Time left: %d", -// cw_timer_timeleft(wtpman->echointerval_timer)); +/*// cw_dbg(DBG_X, "Time left: %d", +//*/ + cw_timer_timeleft(wtpman->echointerval_timer); if (cw_timer_timeout(wtpman->echointerval_timer)) { cw_dbg(DBG_INFO, "Lost connection to WTP:%s", @@ -533,42 +540,48 @@ static void wtpman_run(void *arg) break; } +/* // mavl_del_all(conn->outgoing); // conn_clear_upd(conn,1); // props_to_sql(conn,conn->incomming,0); // radios_to_sql(conn); - +*/ mavl_t r; r = db_get_update_tasks(conn, sock_addr2str(&conn->addr,sock_buf)); if (r) { + /* // 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); +*/ } r = db_get_radio_tasks(conn, sock_addr2str(&conn->addr,sock_buf)); if (r) { -// if (!conn->radios_upd->count) +/* + // 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); // mavl_destroy(conn->radios_upd); @@ -576,7 +589,7 @@ static void wtpman_run(void *arg) // radios_to_sql(conn); - +*/ /* rc = cw_send_request(conn, CW_MSG_CONFIGURATION_UPDATE_REQUEST); mavl_merge(conn->config, conn->outgoing); @@ -612,7 +625,7 @@ static void wtpman_run_dtls(void *arg) wtpman_remove(wtpman); return; } -// time_t timer = cw_timer_start(wtpman->conn->wait_dtls); +/*// time_t timer = cw_timer_start(wtpman->conn->wait_dtls);*/ /* establish dtls session */ if (!wtpman_establish_dtls(wtpman)) { @@ -660,8 +673,8 @@ struct wtpman *wtpman_create(int socklistindex, struct sockaddr *srcaddr) replyfd = socklist[socklistindex].sockfd; } - int sockfd = replyfd; //socklist[socklistindex].reply_sockfd; - + int sockfd = replyfd; /*//socklist[socklistindex].reply_sockfd; +*/ struct sockaddr dbgaddr; socklen_t dbgaddrl = sizeof(dbgaddr); @@ -670,9 +683,10 @@ struct wtpman *wtpman_create(int socklistindex, struct sockaddr *srcaddr) cw_dbg(DBG_INFO, "Creating wtpman on socket %d, %s:%d", sockfd, sock_addr2str(&dbgaddr,sock_buf), sock_getport(&dbgaddr)); +/* //extern int conn_process_packet2(struct conn *conn, uint8_t * packet, int len, // struct sockaddr *from); - +*/ wtpman->conn = conn_create(sockfd, srcaddr, 100); wtpman->conn->receiver = CW_RECEIVER_AC; @@ -680,9 +694,9 @@ struct wtpman *wtpman_create(int socklistindex, struct sockaddr *srcaddr) sock_copyaddr(&wtpman->conn->data_addr, (struct sockaddr *) &wtpman->conn->addr); - +/* // wtpman->conn->process_packet = conn_process_packet2; - +*/ if (!wtpman->conn) { wtpman_destroy(wtpman); return NULL; @@ -692,13 +706,14 @@ 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->local = ac_config; //wtpman->conn->capwap_mode=0; //CW_MODE_STD; //CISCO; // wtpman->conn->capwap_mode = CW_MODE_CISCO; //wtpman->conn->strict_capwap_hdr=0; - +*/ @@ -752,8 +767,11 @@ void wtpman_start(struct wtpman *wtpman, int dtlsmode) void wtpman_lw_addpacket(struct wtpman *wtpman, uint8_t * packet, int len) { -// uint8_t * m = packet+12; + + /* + // uint8_t * m = packet+12; // int l = LWTH_GET_LENGTH(packet+6); +*/ uint8_t *msg = packet + 12; @@ -762,7 +780,9 @@ void wtpman_lw_addpacket(struct wtpman *wtpman, uint8_t * packet, int len) int msglen = LWMSG_GET_LEN(msg); printf("Type is %d, Len is %d\n", msgtype, msglen); +/* // uint8_t *msgdata = LWMSG_GET_DATA(msg); +*/ /* int c=0; @@ -776,7 +796,8 @@ void wtpman_lw_addpacket(struct wtpman *wtpman, uint8_t * packet, int len) */ - //uint8_t *data; + /*//uint8_t *data;*/ + /* lw_foreach_msgelem(data,msgdata,msglen){ int eltype = LWMSGELEM_GET_TYPE(data); @@ -790,6 +811,7 @@ void wtpman_lw_addpacket(struct wtpman *wtpman, uint8_t * packet, int len) } */ +/* // char wi[4096]; // wtpinfo_print(wi, &wtpman->wtpinfo); // printf("WTPINFO: \n%s\n", wi); @@ -802,7 +824,7 @@ void wtpman_lw_addpacket(struct wtpman *wtpman, uint8_t * packet, int len) // conn_send_packet(wtpman->conn,buffer,60); - +*/ } diff --git a/src/cw/mod.c b/src/cw/mod.c index 39062e45..c42e1f5e 100644 --- a/src/cw/mod.c +++ b/src/cw/mod.c @@ -31,7 +31,7 @@ #include "log.h" #include "file.h" #include "cw.h" -#include "cw/msgset.h" +#include "msgset.h" /* static void (*actions_registered_cb) (struct cw_Mod * capwap, struct cw_Mod * bindings, diff --git a/src/mod/Makefile b/src/mod/Makefile index 2660cbd4..4631a92f 100644 --- a/src/mod/Makefile +++ b/src/mod/Makefile @@ -4,8 +4,8 @@ all: $(MAKE) -C capwap80211 $(MAKE) -C cisco $(MAKE) -C fortinet - $(CC) -c modload_ac.c -I../ - $(CC) -c modload_wtp.c -I../ +# $(CC) -c modload_ac.c -I../ +# $(CC) -c modload_wtp.c -I../ clean: $(MAKE) -C capwap clean diff --git a/src/mod/Mod.mak b/src/mod/Mod.mak index 65cbfcbc..5283a222 100644 --- a/src/mod/Mod.mak +++ b/src/mod/Mod.mak @@ -1,5 +1,5 @@ include ../../Config.mak -include ../../Config.local.mak +-include ../../Config.local.mak include ../../Macros.mak OBJS:=$(patsubst %.o,$(OBJDIR)/%.o,$(OBJS))