diff --git a/actube.workspace b/actube.workspace index 07586c53..b21adfd1 100644 --- a/actube.workspace +++ b/actube.workspace @@ -1,7 +1,7 @@ - - + + diff --git a/src/ac/Makefile b/src/ac/Makefile index 41c8880f..15905620 100644 --- a/src/ac/Makefile +++ b/src/ac/Makefile @@ -8,10 +8,11 @@ include ../Macros.mak LIBARCHDIR=../../lib/$(ARCH) +INCL= -I/usr/local/include -I../ +LDFLAGS+=-L$(LIBARCHDIR) +#CFLAGS += -W -g -O0 -D_REENTRANT -DIPV6 $(INCL) -I../ -DSYS_ARCH=\"${ARCH}\" -LDFLAGS+=-g -L/usr/local/lib -L$(LIBARCHDIR) -CFLAGS += -W -g -O0 -D_REENTRANT -DIPV6 -I/usr/local/include -I../ -DSYS_ARCH=\"${ARCH}\" - +CFLAGS+=-DSYS_ARCH=\"$(ARCH)\" #LIBS+=-lcapwap #LIBS+=-lcapwap80211 @@ -92,7 +93,11 @@ clean: clean_deps: $(AC_DEPS) -deps: $(AC_SRC) - $(LD) -MD -E $(AC_SRCS) $(CFLAGS) >/dev/null +deps: + echo "# DO NOT DELETE THIS LINE -- make depend depends on it." > .depend +# makedepend $(AC_SRC) -f.depend -p$(OBJDIR)/ + makedepend *.c -f.depend + -include $(AC_DEPS) + diff --git a/src/ac/wtpman.c b/src/ac/wtpman.c index c25d8d35..e376ea28 100644 --- a/src/ac/wtpman.c +++ b/src/ac/wtpman.c @@ -21,7 +21,7 @@ #include #include #include -#include // sleep +#include #include "cw/capwap.h" @@ -119,6 +119,7 @@ static void wtpman_run_discovery(void *arg) } +/* int xprocess_message(struct conn *conn, uint8_t * rawmsg, int rawlen, struct sockaddr *from) { @@ -132,6 +133,7 @@ int xprocess_message(struct conn *conn, uint8_t * rawmsg, int rawlen, return process_message(conn, rawmsg, rawlen, from); } +*/ static int wtpman_establish_dtls(void *arg) @@ -291,106 +293,6 @@ static void wtpman_image_data(struct wtpman *wtpman) -void config_to_sql(struct conn *conn) -{ - -/* - // XXX for the moment 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, conn->incomming); - mavliter_foreach(&it) { - mbag_item_t *i = mavliter_get(&it); - - const struct cw_itemdef *cwi = - cw_itemdef_get(conn->actions->items, i->id, NULL); - - cw_dbg(DBG_X,"ID GOT: %s",i->id); - - if (cwi) { - 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); - - } - - - } else { - // DBGX("ID %d",i->id); - - } - - } -*/ -} - -void xradio_to_sql(struct conn *conn, char *wtp_id, int rid, int radio) -{ - -/* - MAVLITER_DEFINE(it, radio); - mavliter_foreach(&it) { - mbag_item_t *i = mavliter_get(&it); - - const struct cw_itemdef *cwi = - cw_itemdef_get(conn->actions->radioitems, i->id, NULL); - if (cwi) { - char str[4096]; - if (i->type->to_str) { - i->type->to_str(i, str); -// printf("I would put RID: %d, %s=>%s\n",rid,cwi->id,str); - - char srid[6]; - sprintf(srid,"%d",rid); - - db_put_radio_prop(wtp_id,srid,cwi->id,cwi->sub_id,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); - - } - - - } else { - // DBGX("ID %d",i->id); - - } - - } - - -// int rid = ((struct mbag_item*)mavliter_get(&it))->iid; -*/ -} - -/* -void radios_to_sql(struct conn *conn) -{ - char sock_buf[SOCK_ADDR_BUFSIZE]; - char *wtp_id = sock_addr2str(&conn->addr,sock_buf); - MAVLITER_DEFINE(it, conn->radios); - mavliter_foreach(&it) { - struct mbag_item * i = mavliter_get(&it); - int rid = i->u1.iid; - - radio_to_sql(conn,wtp_id,rid,i->u2.data); - - - } -} -*/ @@ -418,15 +320,6 @@ 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) { - props_to_sql(conn,conn->incomming,0); - radios_to_sql(conn); - } -*/ -} static void wtpman_run(void *arg) @@ -518,7 +411,7 @@ static void wtpman_run(void *arg) // radios_to_sql(conn); */ - conn->msg_end=msg_end_handler; + /*conn->msg_end=msg_end_handler;*/ /* The main run loop */ reset_echointerval_timer(wtpman); @@ -733,14 +626,19 @@ void wtpman_addpacket(struct wtpman *wtpman, uint8_t * packet, int len) } -int nodtls = 0; + void wtpman_start(struct wtpman *wtpman, int dtlsmode) { + + pthread_create(&wtpman->thread, NULL, (void *) wtpman_run, + (void *) wtpman); + return; - - + +/* + if (dtlsmode) { cw_dbg(DBG_INFO, "Starting wtpman in DTLS mode"); pthread_create(&wtpman->thread, NULL, (void *) wtpman_run_dtls, @@ -759,80 +657,11 @@ void wtpman_start(struct wtpman *wtpman, int dtlsmode) pthread_create(&wtpman->thread, NULL, (void *) wtpman_run_discovery, (void *) wtpman); } -} + + */ + } -void wtpman_lw_addpacket(struct wtpman *wtpman, uint8_t * packet, int len) -{ - - /* - // uint8_t * m = packet+12; -// int l = LWTH_GET_LENGTH(packet+6); -*/ - - uint8_t *msg = packet + 12; - - - int msgtype = LWMSG_GET_TYPE(msg); - 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; - while (c < msglen){ - int eltype = LWMSGELEM_GET_TYPE(data); - int ellen = LWMSGELEM_GET_LEN(data); - printf ("ELEM TYPE: %d, LEN: %d\n",eltype,ellen); - c+=ellen+3; - data=data+ellen+3; - } - -*/ - - /*//uint8_t *data;*/ - -/* - lw_foreach_msgelem(data,msgdata,msglen){ - int eltype = LWMSGELEM_GET_TYPE(data); - int ellen = LWMSGELEM_GET_LEN(data); - uint8_t * eldata = LWMSGELEM_GET_DATA(data); - - wtpinfo_lwreadelem_wtp_descriptor(&wtpman->wtpinfo,eltype,eldata,ellen); - - printf ("ELEM TYPE: %d, LEN: %d\n",eltype,ellen); - - } -*/ - -/* -// char wi[4096]; -// wtpinfo_print(wi, &wtpman->wtpinfo); -// printf("WTPINFO: \n%s\n", wi); - - - -// char buffer[2048]; -// struct lwmsg lwmsg; -// lwmsg_init(&lwmsg, buffer,conf_macaddress,LWMSG_DISCOVERY_RESPONSE,conn_get_next_seqnum(wtpman->conn)); - -// conn_send_packet(wtpman->conn,buffer,60); - -*/ - - -} - - -/* -void wtpman_lw_start(struct wtpman *wtpman) -{ - -} -*/ diff --git a/src/ac/wtpman.h b/src/ac/wtpman.h index 95bb7069..97dd11c4 100644 --- a/src/ac/wtpman.h +++ b/src/ac/wtpman.h @@ -14,12 +14,6 @@ struct wtpman{ pthread_t thread; - /* packet queue */ -/* uint8_t * q[WTPMAN_QSIZE]; - int qrpos; - int qwpos; - sem_t q_sem; -*/ struct conn * conn; @@ -29,9 +23,6 @@ struct wtpman{ uint8_t * session_id; uint8_t wtp_mactype; -/* //struct wtpinfo wtpinfo;*/ - - int socklistindex; int connected; @@ -51,9 +42,9 @@ struct wtp{ //extern void wtpman_run(void *arg); */ -extern struct wtpman * wtpman_create(); +struct wtpman * wtpman_create(); -extern struct wtpman * wtpman_create(int socklistindex,struct sockaddr * srcaddr); +struct wtpman * wtpman_create(int socklistindex,struct sockaddr * srcaddr); extern void wtpman_addpacket(struct wtpman * wtpman,uint8_t *packet,int len); extern void wtpman_destroy(struct wtpman * wtpman); diff --git a/src/cw/Makefile b/src/cw/Makefile index 29be9300..4959d063 100644 --- a/src/cw/Makefile +++ b/src/cw/Makefile @@ -38,7 +38,6 @@ endif CWSRC=\ - cw_addelem_capwap_local_ip_addr.c\ cw_check_missing_mand.c\ cw_clock_lap.c\ cw_dbg_elem.c\ diff --git a/src/cw/cw_addelem_capwap_local_ip_addr.c b/src/cw/cw_addelem_capwap_local_ip_addr.c deleted file mode 100644 index 381d7df0..00000000 --- a/src/cw/cw_addelem_capwap_local_ip_addr.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - This file is part of libcapwap. - - libcapwap is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - libcapwap is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with Foobar. If not, see . - -*/ - -#include -#include -#include - -#include - - - -#include "capwap.h" -#include "cwmsg.h" -#include "conn.h" - -/* - -uint8_t * cw_addelem(uint8_t * buf,int type, uint8_t *elem, int len) -{ - uint32_t val = type<<16|len; - *((uint32_t*)(buf))=htonl(val); - buf+=4; - memcpy(buf,elem,len); - return buf+len; -} - - -void cw_addelem_capwap_local_ip_addr(struct cwmsg *msg, int sock, int cw_mode) -{ - struct sockaddr_storage a; - socklen_t alen = sizeof(struct sockaddr_storage); - getsockname (sock,(struct sockaddr *)&a,&alen); - - int cw_mode = cwmsg->capwap_mode; - - switch (((struct sockaddr*)&a)->sa_family){ - case AF_INET: - { - struct sockaddr_in * sain = (struct sockaddr_in*)&a; - int id; - if (cw_mode == CWMODE_CISCO) - id = CWMSGELEM_WTP_IPV4_IP_ADDR; - else - id = CWMSGELEM_CAPWAP_LOCAL_IPV4_ADDRESS; - - cwmsg_addelem(msg,id,(uint8_t*)&sain->sin_addr,4); - break; - } - - - case AF_INET6: - { - int id; - if (cw_mode == CWMODE_CISCO) - id = CWMSGELEM_WTP_IPV6_IP_ADDR; - else - id = CWMSGELEM_CAPWAP_LOCAL_IPV6_ADDRESS; - struct sockaddr_in6 * sain = (struct sockaddr_in6*)&a; - return cwmsg_addelem(msg,id,(uint8_t*)&sain->sin6_addr,16); - } - break; - } - -} - -*/