From 7e9721f369c124931bd484ce62729c4177db74fd Mon Sep 17 00:00:00 2001 From: "7u83@mail.ru" <7u83@mail.ru@noemail.net> Date: Mon, 22 Feb 2016 08:18:35 +0000 Subject: [PATCH] Workig on Modules FossilOrigin-Name: 57d51d934fb035d00765d1b3a03b9a6b2e6aa75e1e10b24760d66eaa93dc0250 --- src/Macros.mak | 7 +++++++ src/ac/ac_main.c | 9 +++++++++ src/capwap/Makefile | 30 ++++++++++++++++++++++-------- src/capwap/capwap.h | 2 ++ src/capwap/cw_check_missing_mand.c | 2 +- src/capwap/cw_put_msg.c | 12 ------------ src/capwap/sock.h | 3 +++ 7 files changed, 44 insertions(+), 21 deletions(-) diff --git a/src/Macros.mak b/src/Macros.mak index 4d0fe7ac..01ad2659 100644 --- a/src/Macros.mak +++ b/src/Macros.mak @@ -18,3 +18,10 @@ GNUTLS_LIBS= GNUTLS_LDFLAGS=-lgnutls -lnettle -lgmp endif + + +ifndef ARCH + ARCH = $(shell $(CC) -dumpmachine) +endif + + diff --git a/src/ac/ac_main.c b/src/ac/ac_main.c index a773174c..b0320994 100644 --- a/src/ac/ac_main.c +++ b/src/ac/ac_main.c @@ -79,10 +79,19 @@ static int parse_args(int argc, char *argv[]) return 0; } + +#include "capwap/mod.h" +extern struct mod_ac * cw_get_mod_ac(const char *name); + int main(int argc, char *argv[]) { int rc = 0; +struct mod_ac *m = cw_get_mod_ac("capwap"); +m->init(); +exit(0); + + /* parse arguments */ parse_args(argc, argv); diff --git a/src/capwap/Makefile b/src/capwap/Makefile index 887eec06..095931bc 100644 --- a/src/capwap/Makefile +++ b/src/capwap/Makefile @@ -9,9 +9,9 @@ ifndef AR AR = ar endif -ifndef ARCH - ARCH = $(shell $(CC) -dumpmachine) -endif +#ifndef ARCH +# ARCH = $(shell $(CC) -dumpmachine) +#endif @@ -39,14 +39,15 @@ SOCKOBJS=\ sock_set_dontfrag.o \ sock_get_primary_if.o \ sock_receive.o \ - sock_getifinfo.o + sock_getifinfo.o \ LOGOBJS=log.o \ log_syslog.o \ log_file.o \ dbg_strings.o\ - dbg.o + dbg.o \ + cw_get_mods.o WTPINFOOBJS =\ @@ -262,7 +263,7 @@ OBJS=$(CONNOBJS) $(FRAGOBJS) $(SOCKOBJS) $(CAPWAPOBJS) $(WTPINFOOBJS) \ $(LWAPPOBJS) \ $(LWAPPCISCOOBJS) \ $(CWACTION) \ - $(MAVLOBJS) + $(MAVLOBJS) \ #include $(OBJS:.o=.d) @@ -270,7 +271,11 @@ O:=$(OBJS); OBJS:=$(patsubst %.o,$(ARCH)/%.o,$(OBJS)) -CFLAGS = -Wall -Werror -g -O0 -D_REENTRANT -DWITH_IPV6 -DWITH_RMAC_SUPPORT -I /usr/local/include + + + + +CFLAGS = -Wall -g -O0 -D_REENTRANT -DWITH_IPV6 -DWITH_RMAC_SUPPORT -I /usr/local/include #CFLAGS = -Wall -Os -D_REENTRANT -DWITH_IPV6 -DWITH_RMAC_SUPPORT -I/usr/local/include CFLAGS += $(GNUTLS_CFLAGS) \ @@ -282,6 +287,8 @@ CFLAGS += $(GNUTLS_CFLAGS) \ -Werror + + #SRCS = $(OBJS:.o=.c) $(ARCH)/%.o:%.c @@ -292,17 +299,24 @@ $(ARCH)/%.o:%.c $(ARCH)/$(NAME) : $(OBJS) @echo " AR $(ARCH)/$(NAME)" - @$(AR) rcs $(ARCH)/$(NAME) $(OBJS) + @$(AR) rcs $(ARCH)/$(NAME) $(OBJS) $(MODOBJS) SRCS = $(OBJS:.o=.c) DEPS := $(OBJS:.o=.d) +mod_cipwap: + $(MAKE) -C mod/cipwap + .PHONY: deps clean clean_libs libs # top-level rule, to compile everything. all: $(ARCH)/$(NAME) + $(MAKE) mod_cipwap + + + clean: diff --git a/src/capwap/capwap.h b/src/capwap/capwap.h index bb18dddb..04beab2a 100644 --- a/src/capwap/capwap.h +++ b/src/capwap/capwap.h @@ -1155,4 +1155,6 @@ int cw_in_radio_administrative_state_wtp(struct conn *conn, struct cw_action_in struct sockaddr *from); + + #endif diff --git a/src/capwap/cw_check_missing_mand.c b/src/capwap/cw_check_missing_mand.c index 25d3dddc..4c217efd 100644 --- a/src/capwap/cw_check_missing_mand.c +++ b/src/capwap/cw_check_missing_mand.c @@ -74,7 +74,7 @@ int cw_check_missing_mand(cw_action_in_t ** out, struct conn * conn, cw_action_i if (!ai->mand) continue; - int i = (int)ai->item_id; + int i = (intptr_t)ai->item_id; void * rc = mavl_get(conn->mand,&i); if (!rc) { out[n++]=ai; diff --git a/src/capwap/cw_put_msg.c b/src/capwap/cw_put_msg.c index 569ba882..e7eaf782 100644 --- a/src/capwap/cw_put_msg.c +++ b/src/capwap/cw_put_msg.c @@ -128,18 +128,6 @@ int cw_put_custom_msg(struct conn *conn, uint8_t * rawout, mavl_conststr_t elems as.msg_id=msg_id; as.item_id=i; as.vendor_id=0; - - - - - - - - - - - - } diff --git a/src/capwap/sock.h b/src/capwap/sock.h index b6a511ab..43faefad 100644 --- a/src/capwap/sock.h +++ b/src/capwap/sock.h @@ -75,6 +75,9 @@ extern int sock_getifinfo(const struct sockaddr *addr, char *ifname, char *sock_strsockaddr(const struct sockaddr *sa, char *s, size_t maxlen, int addport); +int sock_parse_ip_address ( const char** ppszText, + unsigned char* abyAddr, int* pnPort, int* pbIsIPv6 ); + #define sock_addr2str(s) ( sock_strsockaddr( (struct sockaddr*)s, (char[64]){0}, 64,0 ) )