working commit
This commit is contained in:
@@ -91,7 +91,7 @@ POST_UNINSTALL = :
|
||||
sbin_PROGRAMS = helmetd$(EXEEXT)
|
||||
noinst_PROGRAMS = tcpclient_test$(EXEEXT) udpclient_test$(EXEEXT) \
|
||||
service_test$(EXEEXT) tunclient_test$(EXEEXT) \
|
||||
rpcclient_test$(EXEEXT) fakeconnect_test$(EXEEXT)
|
||||
rpcclient_test$(EXEEXT) testconnect_test$(EXEEXT)
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
@@ -107,34 +107,36 @@ CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am__installdirs = "$(DESTDIR)$(sbindir)"
|
||||
PROGRAMS = $(noinst_PROGRAMS) $(sbin_PROGRAMS)
|
||||
am_fakeconnect_test_OBJECTS = fakeconnect_test.$(OBJEXT) \
|
||||
rpcclient.$(OBJEXT) rpcheader.$(OBJEXT) netclient.$(OBJEXT) \
|
||||
nethandler.$(OBJEXT) fakeconnect.$(OBJEXT) \
|
||||
am_helmetd_OBJECTS = helmetd.$(OBJEXT) interface.$(OBJEXT) \
|
||||
iprouter.$(OBJEXT) netclient.$(OBJEXT) resolver.$(OBJEXT) \
|
||||
rpcclient.$(OBJEXT) rpcheader.$(OBJEXT) service.$(OBJEXT) \
|
||||
tcpclient.$(OBJEXT) tunclient.$(OBJEXT) udpclient.$(OBJEXT) \
|
||||
control.pb.$(OBJEXT) logger.$(OBJEXT)
|
||||
fakeconnect_test_OBJECTS = $(am_fakeconnect_test_OBJECTS)
|
||||
fakeconnect_test_LDADD = $(LDADD)
|
||||
am_helmetd_OBJECTS = helmetd.$(OBJEXT) tunclient.$(OBJEXT) \
|
||||
service.$(OBJEXT) interface.$(OBJEXT) udpclient.$(OBJEXT) \
|
||||
resolver.$(OBJEXT) iprouter.$(OBJEXT) netclient.$(OBJEXT) \
|
||||
tcpclient.$(OBJEXT) rpcclient.$(OBJEXT) control.pb.$(OBJEXT)
|
||||
helmetd_OBJECTS = $(am_helmetd_OBJECTS)
|
||||
helmetd_LDADD = $(LDADD)
|
||||
am_rpcclient_test_OBJECTS = rpcclient_test.$(OBJEXT) \
|
||||
rpcclient.$(OBJEXT) rpcheader.$(OBJEXT) netclient.$(OBJEXT) \
|
||||
nethandler.$(OBJEXT) fakeconnect.$(OBJEXT) \
|
||||
nethandler.$(OBJEXT) testconnect.$(OBJEXT) tcpclient.$(OBJEXT) \
|
||||
control.pb.$(OBJEXT)
|
||||
rpcclient_test_OBJECTS = $(am_rpcclient_test_OBJECTS)
|
||||
rpcclient_test_LDADD = $(LDADD)
|
||||
am_service_test_OBJECTS = service_test.$(OBJEXT) tunclient.$(OBJEXT) \
|
||||
service.$(OBJEXT) interface.$(OBJEXT)
|
||||
service.$(OBJEXT) interface.$(OBJEXT) rpcheader.$(OBJEXT) \
|
||||
logger.$(OBJEXT) control.pb.$(OBJEXT)
|
||||
service_test_OBJECTS = $(am_service_test_OBJECTS)
|
||||
service_test_LDADD = $(LDADD)
|
||||
am_tcpclient_test_OBJECTS = resolver.$(OBJEXT) netclient.$(OBJEXT) \
|
||||
tcpclient.$(OBJEXT) tcpclient_test.$(OBJEXT)
|
||||
tcpclient_test_OBJECTS = $(am_tcpclient_test_OBJECTS)
|
||||
tcpclient_test_LDADD = $(LDADD)
|
||||
am_testconnect_test_OBJECTS = testconnect_test.$(OBJEXT) \
|
||||
rpcclient.$(OBJEXT) rpcheader.$(OBJEXT) netclient.$(OBJEXT) \
|
||||
nethandler.$(OBJEXT) testconnect.$(OBJEXT) \
|
||||
control.pb.$(OBJEXT) logger.$(OBJEXT)
|
||||
testconnect_test_OBJECTS = $(am_testconnect_test_OBJECTS)
|
||||
testconnect_test_LDADD = $(LDADD)
|
||||
am_tunclient_test_OBJECTS = tunclient_test.$(OBJEXT) \
|
||||
tunclient.$(OBJEXT) service.$(OBJEXT) interface.$(OBJEXT)
|
||||
tunclient.$(OBJEXT) interface.$(OBJEXT)
|
||||
tunclient_test_OBJECTS = $(am_tunclient_test_OBJECTS)
|
||||
tunclient_test_LDADD = $(LDADD)
|
||||
am_udpclient_test_OBJECTS = resolver.$(OBJEXT) udpclient.$(OBJEXT) \
|
||||
@@ -181,13 +183,13 @@ AM_V_CCLD = $(am__v_CCLD_$(V))
|
||||
am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(fakeconnect_test_SOURCES) $(helmetd_SOURCES) \
|
||||
$(rpcclient_test_SOURCES) $(service_test_SOURCES) \
|
||||
$(tcpclient_test_SOURCES) $(tunclient_test_SOURCES) \
|
||||
SOURCES = $(helmetd_SOURCES) $(rpcclient_test_SOURCES) \
|
||||
$(service_test_SOURCES) $(tcpclient_test_SOURCES) \
|
||||
$(testconnect_test_SOURCES) $(tunclient_test_SOURCES) \
|
||||
$(udpclient_test_SOURCES)
|
||||
DIST_SOURCES = $(fakeconnect_test_SOURCES) $(helmetd_SOURCES) \
|
||||
$(rpcclient_test_SOURCES) $(service_test_SOURCES) \
|
||||
$(tcpclient_test_SOURCES) $(tunclient_test_SOURCES) \
|
||||
DIST_SOURCES = $(helmetd_SOURCES) $(rpcclient_test_SOURCES) \
|
||||
$(service_test_SOURCES) $(tcpclient_test_SOURCES) \
|
||||
$(testconnect_test_SOURCES) $(tunclient_test_SOURCES) \
|
||||
$(udpclient_test_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
@@ -252,7 +254,7 @@ CSCOPE = cscope
|
||||
CTAGS = ctags
|
||||
CXX = g++
|
||||
CXXDEPMODE = depmode=none
|
||||
CXXFLAGS = -g -std=c++23 -Wall -I. -pthread -D_GNU_SOURCE=1
|
||||
CXXFLAGS = -std=c++23 -Wall -I. -pthread -D_GNU_SOURCE=1
|
||||
CYGPATH_W = echo
|
||||
DEFS = -DHAVE_CONFIG_H
|
||||
DEPDIR = .deps
|
||||
@@ -335,26 +337,30 @@ top_builddir = .
|
||||
top_srcdir = .
|
||||
AUTOMAKE_OPTIONS = foreign no-dependencies no-installinfo subdir-objects
|
||||
helmetd_SOURCES = helmetd.cpp \
|
||||
tunclient.cpp tunclient.hpp \
|
||||
service.cpp service.hpp \
|
||||
interface.cpp interface.hpp \
|
||||
udpclient.cpp udpclient.hpp \
|
||||
resolver.cpp resolver.hpp \
|
||||
iprouter.cpp iprouter.hpp \
|
||||
netclient.cpp netclient.hpp \
|
||||
tcpclient.cpp tcpclient.hpp \
|
||||
resolver.cpp resolver.hpp \
|
||||
rpcclient.cpp rpcclient.hpp \
|
||||
control.pb.cc control.pb.h
|
||||
rpcheader.cpp rpcheader.hpp \
|
||||
service.cpp service.hpp \
|
||||
tcpclient.cpp tcpclient.hpp \
|
||||
tunclient.cpp tunclient.hpp \
|
||||
udpclient.cpp udpclient.hpp \
|
||||
control.pb.cc control.pb.h \
|
||||
logger.cpp logger.hpp
|
||||
|
||||
tunclient_test_SOURCES = tunclient_test.cpp \
|
||||
tunclient.cpp tunclient.hpp \
|
||||
service.cpp service.hpp \
|
||||
interface.cpp interface.hpp
|
||||
|
||||
service_test_SOURCES = service_test.cpp \
|
||||
tunclient.cpp tunclient.hpp \
|
||||
service.cpp service.hpp \
|
||||
interface.cpp interface.hpp
|
||||
interface.cpp interface.hpp \
|
||||
rpcheader.cpp rpcheader.hpp \
|
||||
logger.cpp logger.hpp \
|
||||
control.pb.cc control.pb.h
|
||||
|
||||
udpclient_test_SOURCES = \
|
||||
resolver.cpp resolver.hpp \
|
||||
@@ -372,15 +378,16 @@ rpcclient_test_SOURCES = rpcclient_test.cpp \
|
||||
rpcheader.cpp rpcheader.hpp \
|
||||
netclient.cpp netclient.hpp \
|
||||
nethandler.cpp nethandler.hpp \
|
||||
fakeconnect.cpp fakeconnect.hpp \
|
||||
testconnect.cpp testconnect.hpp \
|
||||
tcpclient.cpp tcpclient.hpp \
|
||||
control.pb.cc control.pb.h
|
||||
|
||||
fakeconnect_test_SOURCES = fakeconnect_test.cpp \
|
||||
testconnect_test_SOURCES = testconnect_test.cpp \
|
||||
rpcclient.cpp rpcclient.hpp \
|
||||
rpcheader.cpp rpcheader.hpp \
|
||||
netclient.cpp netclient.hpp \
|
||||
nethandler.cpp nethandler.hpp \
|
||||
fakeconnect.cpp fakeconnect.hpp \
|
||||
testconnect.cpp testconnect.hpp \
|
||||
control.pb.cc control.pb.h \
|
||||
logger.cpp logger.hpp
|
||||
|
||||
@@ -484,10 +491,6 @@ uninstall-sbinPROGRAMS:
|
||||
clean-sbinPROGRAMS:
|
||||
-$(am__rm_f) $(sbin_PROGRAMS)
|
||||
|
||||
fakeconnect_test$(EXEEXT): $(fakeconnect_test_OBJECTS) $(fakeconnect_test_DEPENDENCIES) $(EXTRA_fakeconnect_test_DEPENDENCIES)
|
||||
@rm -f fakeconnect_test$(EXEEXT)
|
||||
$(AM_V_CXXLD)$(CXXLINK) $(fakeconnect_test_OBJECTS) $(fakeconnect_test_LDADD) $(LIBS)
|
||||
|
||||
helmetd$(EXEEXT): $(helmetd_OBJECTS) $(helmetd_DEPENDENCIES) $(EXTRA_helmetd_DEPENDENCIES)
|
||||
@rm -f helmetd$(EXEEXT)
|
||||
$(AM_V_CXXLD)$(CXXLINK) $(helmetd_OBJECTS) $(helmetd_LDADD) $(LIBS)
|
||||
@@ -504,6 +507,10 @@ tcpclient_test$(EXEEXT): $(tcpclient_test_OBJECTS) $(tcpclient_test_DEPENDENCIES
|
||||
@rm -f tcpclient_test$(EXEEXT)
|
||||
$(AM_V_CXXLD)$(CXXLINK) $(tcpclient_test_OBJECTS) $(tcpclient_test_LDADD) $(LIBS)
|
||||
|
||||
testconnect_test$(EXEEXT): $(testconnect_test_OBJECTS) $(testconnect_test_DEPENDENCIES) $(EXTRA_testconnect_test_DEPENDENCIES)
|
||||
@rm -f testconnect_test$(EXEEXT)
|
||||
$(AM_V_CXXLD)$(CXXLINK) $(testconnect_test_OBJECTS) $(testconnect_test_LDADD) $(LIBS)
|
||||
|
||||
tunclient_test$(EXEEXT): $(tunclient_test_OBJECTS) $(tunclient_test_DEPENDENCIES) $(EXTRA_tunclient_test_DEPENDENCIES)
|
||||
@rm -f tunclient_test$(EXEEXT)
|
||||
$(AM_V_CXXLD)$(CXXLINK) $(tunclient_test_OBJECTS) $(tunclient_test_LDADD) $(LIBS)
|
||||
@@ -890,11 +897,12 @@ uninstall-am: uninstall-sbinPROGRAMS
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
|
||||
test: fakeconnect_test
|
||||
./fakeconnect_test
|
||||
#test: testconnect_test
|
||||
# ./testconnect_test
|
||||
#test: rpcclient_test
|
||||
# ./rpcclient_test
|
||||
|
||||
run: helmetd
|
||||
./helmetd
|
||||
test: service_test rpcclient_test
|
||||
|
||||
proto:
|
||||
$(PROTOC) --cpp_out=. control.proto
|
||||
|
||||
+23
-19
@@ -1,24 +1,25 @@
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign no-dependencies no-installinfo subdir-objects
|
||||
|
||||
CXXFLAGS = -g -std=c++23 -Wall -I. -pthread -D_GNU_SOURCE=1
|
||||
CXXFLAGS = -std=c++23 -Wall -I. -pthread -D_GNU_SOURCE=1
|
||||
LDFLAGS = -pthread
|
||||
LIBS = -Wl,--as-need -lprotobuf
|
||||
|
||||
sbin_PROGRAMS = helmetd
|
||||
|
||||
helmetd_SOURCES = helmetd.cpp \
|
||||
tunclient.cpp tunclient.hpp \
|
||||
service.cpp service.hpp \
|
||||
interface.cpp interface.hpp \
|
||||
udpclient.cpp udpclient.hpp \
|
||||
resolver.cpp resolver.hpp \
|
||||
iprouter.cpp iprouter.hpp \
|
||||
netclient.cpp netclient.hpp \
|
||||
tcpclient.cpp tcpclient.hpp \
|
||||
resolver.cpp resolver.hpp \
|
||||
rpcclient.cpp rpcclient.hpp \
|
||||
control.pb.cc control.pb.h
|
||||
|
||||
rpcheader.cpp rpcheader.hpp \
|
||||
service.cpp service.hpp \
|
||||
tcpclient.cpp tcpclient.hpp \
|
||||
tunclient.cpp tunclient.hpp \
|
||||
udpclient.cpp udpclient.hpp \
|
||||
control.pb.cc control.pb.h \
|
||||
logger.cpp logger.hpp
|
||||
|
||||
noinst_PROGRAMS = \
|
||||
tcpclient_test \
|
||||
@@ -26,18 +27,19 @@ noinst_PROGRAMS = \
|
||||
service_test \
|
||||
tunclient_test \
|
||||
rpcclient_test \
|
||||
fakeconnect_test
|
||||
testconnect_test
|
||||
|
||||
tunclient_test_SOURCES = tunclient_test.cpp \
|
||||
tunclient.cpp tunclient.hpp \
|
||||
service.cpp service.hpp \
|
||||
interface.cpp interface.hpp
|
||||
|
||||
service_test_SOURCES = service_test.cpp \
|
||||
tunclient.cpp tunclient.hpp \
|
||||
service.cpp service.hpp \
|
||||
interface.cpp interface.hpp
|
||||
|
||||
interface.cpp interface.hpp \
|
||||
rpcheader.cpp rpcheader.hpp \
|
||||
logger.cpp logger.hpp \
|
||||
control.pb.cc control.pb.h
|
||||
|
||||
udpclient_test_SOURCES = \
|
||||
resolver.cpp resolver.hpp \
|
||||
@@ -55,24 +57,26 @@ rpcclient_test_SOURCES = rpcclient_test.cpp \
|
||||
rpcheader.cpp rpcheader.hpp \
|
||||
netclient.cpp netclient.hpp \
|
||||
nethandler.cpp nethandler.hpp \
|
||||
fakeconnect.cpp fakeconnect.hpp \
|
||||
testconnect.cpp testconnect.hpp \
|
||||
tcpclient.cpp tcpclient.hpp \
|
||||
control.pb.cc control.pb.h
|
||||
|
||||
fakeconnect_test_SOURCES = fakeconnect_test.cpp \
|
||||
testconnect_test_SOURCES = testconnect_test.cpp \
|
||||
rpcclient.cpp rpcclient.hpp \
|
||||
rpcheader.cpp rpcheader.hpp \
|
||||
netclient.cpp netclient.hpp \
|
||||
nethandler.cpp nethandler.hpp \
|
||||
fakeconnect.cpp fakeconnect.hpp \
|
||||
testconnect.cpp testconnect.hpp \
|
||||
control.pb.cc control.pb.h \
|
||||
logger.cpp logger.hpp
|
||||
|
||||
|
||||
test: fakeconnect_test
|
||||
./fakeconnect_test
|
||||
#test: testconnect_test
|
||||
# ./testconnect_test
|
||||
#test: rpcclient_test
|
||||
# ./rpcclient_test
|
||||
|
||||
run: helmetd
|
||||
./helmetd
|
||||
test: service_test rpcclient_test
|
||||
|
||||
proto:
|
||||
$(PROTOC) --cpp_out=. control.proto
|
||||
|
||||
+47
-39
@@ -91,7 +91,7 @@ POST_UNINSTALL = :
|
||||
sbin_PROGRAMS = helmetd$(EXEEXT)
|
||||
noinst_PROGRAMS = tcpclient_test$(EXEEXT) udpclient_test$(EXEEXT) \
|
||||
service_test$(EXEEXT) tunclient_test$(EXEEXT) \
|
||||
rpcclient_test$(EXEEXT) fakeconnect_test$(EXEEXT)
|
||||
rpcclient_test$(EXEEXT) testconnect_test$(EXEEXT)
|
||||
subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
@@ -107,34 +107,36 @@ CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am__installdirs = "$(DESTDIR)$(sbindir)"
|
||||
PROGRAMS = $(noinst_PROGRAMS) $(sbin_PROGRAMS)
|
||||
am_fakeconnect_test_OBJECTS = fakeconnect_test.$(OBJEXT) \
|
||||
rpcclient.$(OBJEXT) rpcheader.$(OBJEXT) netclient.$(OBJEXT) \
|
||||
nethandler.$(OBJEXT) fakeconnect.$(OBJEXT) \
|
||||
am_helmetd_OBJECTS = helmetd.$(OBJEXT) interface.$(OBJEXT) \
|
||||
iprouter.$(OBJEXT) netclient.$(OBJEXT) resolver.$(OBJEXT) \
|
||||
rpcclient.$(OBJEXT) rpcheader.$(OBJEXT) service.$(OBJEXT) \
|
||||
tcpclient.$(OBJEXT) tunclient.$(OBJEXT) udpclient.$(OBJEXT) \
|
||||
control.pb.$(OBJEXT) logger.$(OBJEXT)
|
||||
fakeconnect_test_OBJECTS = $(am_fakeconnect_test_OBJECTS)
|
||||
fakeconnect_test_LDADD = $(LDADD)
|
||||
am_helmetd_OBJECTS = helmetd.$(OBJEXT) tunclient.$(OBJEXT) \
|
||||
service.$(OBJEXT) interface.$(OBJEXT) udpclient.$(OBJEXT) \
|
||||
resolver.$(OBJEXT) iprouter.$(OBJEXT) netclient.$(OBJEXT) \
|
||||
tcpclient.$(OBJEXT) rpcclient.$(OBJEXT) control.pb.$(OBJEXT)
|
||||
helmetd_OBJECTS = $(am_helmetd_OBJECTS)
|
||||
helmetd_LDADD = $(LDADD)
|
||||
am_rpcclient_test_OBJECTS = rpcclient_test.$(OBJEXT) \
|
||||
rpcclient.$(OBJEXT) rpcheader.$(OBJEXT) netclient.$(OBJEXT) \
|
||||
nethandler.$(OBJEXT) fakeconnect.$(OBJEXT) \
|
||||
nethandler.$(OBJEXT) testconnect.$(OBJEXT) tcpclient.$(OBJEXT) \
|
||||
control.pb.$(OBJEXT)
|
||||
rpcclient_test_OBJECTS = $(am_rpcclient_test_OBJECTS)
|
||||
rpcclient_test_LDADD = $(LDADD)
|
||||
am_service_test_OBJECTS = service_test.$(OBJEXT) tunclient.$(OBJEXT) \
|
||||
service.$(OBJEXT) interface.$(OBJEXT)
|
||||
service.$(OBJEXT) interface.$(OBJEXT) rpcheader.$(OBJEXT) \
|
||||
logger.$(OBJEXT) control.pb.$(OBJEXT)
|
||||
service_test_OBJECTS = $(am_service_test_OBJECTS)
|
||||
service_test_LDADD = $(LDADD)
|
||||
am_tcpclient_test_OBJECTS = resolver.$(OBJEXT) netclient.$(OBJEXT) \
|
||||
tcpclient.$(OBJEXT) tcpclient_test.$(OBJEXT)
|
||||
tcpclient_test_OBJECTS = $(am_tcpclient_test_OBJECTS)
|
||||
tcpclient_test_LDADD = $(LDADD)
|
||||
am_testconnect_test_OBJECTS = testconnect_test.$(OBJEXT) \
|
||||
rpcclient.$(OBJEXT) rpcheader.$(OBJEXT) netclient.$(OBJEXT) \
|
||||
nethandler.$(OBJEXT) testconnect.$(OBJEXT) \
|
||||
control.pb.$(OBJEXT) logger.$(OBJEXT)
|
||||
testconnect_test_OBJECTS = $(am_testconnect_test_OBJECTS)
|
||||
testconnect_test_LDADD = $(LDADD)
|
||||
am_tunclient_test_OBJECTS = tunclient_test.$(OBJEXT) \
|
||||
tunclient.$(OBJEXT) service.$(OBJEXT) interface.$(OBJEXT)
|
||||
tunclient.$(OBJEXT) interface.$(OBJEXT)
|
||||
tunclient_test_OBJECTS = $(am_tunclient_test_OBJECTS)
|
||||
tunclient_test_LDADD = $(LDADD)
|
||||
am_udpclient_test_OBJECTS = resolver.$(OBJEXT) udpclient.$(OBJEXT) \
|
||||
@@ -181,13 +183,13 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
|
||||
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(fakeconnect_test_SOURCES) $(helmetd_SOURCES) \
|
||||
$(rpcclient_test_SOURCES) $(service_test_SOURCES) \
|
||||
$(tcpclient_test_SOURCES) $(tunclient_test_SOURCES) \
|
||||
SOURCES = $(helmetd_SOURCES) $(rpcclient_test_SOURCES) \
|
||||
$(service_test_SOURCES) $(tcpclient_test_SOURCES) \
|
||||
$(testconnect_test_SOURCES) $(tunclient_test_SOURCES) \
|
||||
$(udpclient_test_SOURCES)
|
||||
DIST_SOURCES = $(fakeconnect_test_SOURCES) $(helmetd_SOURCES) \
|
||||
$(rpcclient_test_SOURCES) $(service_test_SOURCES) \
|
||||
$(tcpclient_test_SOURCES) $(tunclient_test_SOURCES) \
|
||||
DIST_SOURCES = $(helmetd_SOURCES) $(rpcclient_test_SOURCES) \
|
||||
$(service_test_SOURCES) $(tcpclient_test_SOURCES) \
|
||||
$(testconnect_test_SOURCES) $(tunclient_test_SOURCES) \
|
||||
$(udpclient_test_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
@@ -252,7 +254,7 @@ CSCOPE = @CSCOPE@
|
||||
CTAGS = @CTAGS@
|
||||
CXX = @CXX@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = -g -std=c++23 -Wall -I. -pthread -D_GNU_SOURCE=1
|
||||
CXXFLAGS = -std=c++23 -Wall -I. -pthread -D_GNU_SOURCE=1
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
@@ -335,26 +337,30 @@ top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
AUTOMAKE_OPTIONS = foreign no-dependencies no-installinfo subdir-objects
|
||||
helmetd_SOURCES = helmetd.cpp \
|
||||
tunclient.cpp tunclient.hpp \
|
||||
service.cpp service.hpp \
|
||||
interface.cpp interface.hpp \
|
||||
udpclient.cpp udpclient.hpp \
|
||||
resolver.cpp resolver.hpp \
|
||||
iprouter.cpp iprouter.hpp \
|
||||
netclient.cpp netclient.hpp \
|
||||
tcpclient.cpp tcpclient.hpp \
|
||||
resolver.cpp resolver.hpp \
|
||||
rpcclient.cpp rpcclient.hpp \
|
||||
control.pb.cc control.pb.h
|
||||
rpcheader.cpp rpcheader.hpp \
|
||||
service.cpp service.hpp \
|
||||
tcpclient.cpp tcpclient.hpp \
|
||||
tunclient.cpp tunclient.hpp \
|
||||
udpclient.cpp udpclient.hpp \
|
||||
control.pb.cc control.pb.h \
|
||||
logger.cpp logger.hpp
|
||||
|
||||
tunclient_test_SOURCES = tunclient_test.cpp \
|
||||
tunclient.cpp tunclient.hpp \
|
||||
service.cpp service.hpp \
|
||||
interface.cpp interface.hpp
|
||||
|
||||
service_test_SOURCES = service_test.cpp \
|
||||
tunclient.cpp tunclient.hpp \
|
||||
service.cpp service.hpp \
|
||||
interface.cpp interface.hpp
|
||||
interface.cpp interface.hpp \
|
||||
rpcheader.cpp rpcheader.hpp \
|
||||
logger.cpp logger.hpp \
|
||||
control.pb.cc control.pb.h
|
||||
|
||||
udpclient_test_SOURCES = \
|
||||
resolver.cpp resolver.hpp \
|
||||
@@ -372,15 +378,16 @@ rpcclient_test_SOURCES = rpcclient_test.cpp \
|
||||
rpcheader.cpp rpcheader.hpp \
|
||||
netclient.cpp netclient.hpp \
|
||||
nethandler.cpp nethandler.hpp \
|
||||
fakeconnect.cpp fakeconnect.hpp \
|
||||
testconnect.cpp testconnect.hpp \
|
||||
tcpclient.cpp tcpclient.hpp \
|
||||
control.pb.cc control.pb.h
|
||||
|
||||
fakeconnect_test_SOURCES = fakeconnect_test.cpp \
|
||||
testconnect_test_SOURCES = testconnect_test.cpp \
|
||||
rpcclient.cpp rpcclient.hpp \
|
||||
rpcheader.cpp rpcheader.hpp \
|
||||
netclient.cpp netclient.hpp \
|
||||
nethandler.cpp nethandler.hpp \
|
||||
fakeconnect.cpp fakeconnect.hpp \
|
||||
testconnect.cpp testconnect.hpp \
|
||||
control.pb.cc control.pb.h \
|
||||
logger.cpp logger.hpp
|
||||
|
||||
@@ -484,10 +491,6 @@ uninstall-sbinPROGRAMS:
|
||||
clean-sbinPROGRAMS:
|
||||
-$(am__rm_f) $(sbin_PROGRAMS)
|
||||
|
||||
fakeconnect_test$(EXEEXT): $(fakeconnect_test_OBJECTS) $(fakeconnect_test_DEPENDENCIES) $(EXTRA_fakeconnect_test_DEPENDENCIES)
|
||||
@rm -f fakeconnect_test$(EXEEXT)
|
||||
$(AM_V_CXXLD)$(CXXLINK) $(fakeconnect_test_OBJECTS) $(fakeconnect_test_LDADD) $(LIBS)
|
||||
|
||||
helmetd$(EXEEXT): $(helmetd_OBJECTS) $(helmetd_DEPENDENCIES) $(EXTRA_helmetd_DEPENDENCIES)
|
||||
@rm -f helmetd$(EXEEXT)
|
||||
$(AM_V_CXXLD)$(CXXLINK) $(helmetd_OBJECTS) $(helmetd_LDADD) $(LIBS)
|
||||
@@ -504,6 +507,10 @@ tcpclient_test$(EXEEXT): $(tcpclient_test_OBJECTS) $(tcpclient_test_DEPENDENCIES
|
||||
@rm -f tcpclient_test$(EXEEXT)
|
||||
$(AM_V_CXXLD)$(CXXLINK) $(tcpclient_test_OBJECTS) $(tcpclient_test_LDADD) $(LIBS)
|
||||
|
||||
testconnect_test$(EXEEXT): $(testconnect_test_OBJECTS) $(testconnect_test_DEPENDENCIES) $(EXTRA_testconnect_test_DEPENDENCIES)
|
||||
@rm -f testconnect_test$(EXEEXT)
|
||||
$(AM_V_CXXLD)$(CXXLINK) $(testconnect_test_OBJECTS) $(testconnect_test_LDADD) $(LIBS)
|
||||
|
||||
tunclient_test$(EXEEXT): $(tunclient_test_OBJECTS) $(tunclient_test_DEPENDENCIES) $(EXTRA_tunclient_test_DEPENDENCIES)
|
||||
@rm -f tunclient_test$(EXEEXT)
|
||||
$(AM_V_CXXLD)$(CXXLINK) $(tunclient_test_OBJECTS) $(tunclient_test_LDADD) $(LIBS)
|
||||
@@ -890,11 +897,12 @@ uninstall-am: uninstall-sbinPROGRAMS
|
||||
.PRECIOUS: Makefile
|
||||
|
||||
|
||||
test: fakeconnect_test
|
||||
./fakeconnect_test
|
||||
#test: testconnect_test
|
||||
# ./testconnect_test
|
||||
#test: rpcclient_test
|
||||
# ./rpcclient_test
|
||||
|
||||
run: helmetd
|
||||
./helmetd
|
||||
test: service_test rpcclient_test
|
||||
|
||||
proto:
|
||||
$(PROTOC) --cpp_out=. control.proto
|
||||
|
||||
+16
-18
@@ -12,35 +12,33 @@
|
||||
|
||||
#include <rpcclient.hpp>
|
||||
#include <rpcheader.hpp>
|
||||
#include <netclient.hpp>
|
||||
|
||||
|
||||
void Router(std::string& req, std::string& res) {
|
||||
|
||||
std::string rawResult;
|
||||
control::HelloResult helloRes;
|
||||
helloRes.Clear();
|
||||
helloRes.set_message("foobare");
|
||||
helloRes.SerializeToString(&rawResult);
|
||||
res.append(rawResult);
|
||||
|
||||
RPCClient::RPCClient(NetClient& iconnector) {
|
||||
connector = &iconnector;
|
||||
}
|
||||
|
||||
std::expected<void, std::string> RPCClient::Transaction(const pbMessage& pbReq, pbMessage& pbRes) {
|
||||
|
||||
std::expected<void, std::string> RPCClient::DoTransaction(const pbMessage& pbReq, pbMessage& pbRes) {
|
||||
std::string rawRequest;
|
||||
pbReq.SerializeToString(&rawRequest);
|
||||
|
||||
//RPCHeader header(rawRequest.size());
|
||||
//auto rawHeader = header.Encode();
|
||||
RPCHeader reqHeader(rawRequest.size());
|
||||
auto rawReqHeader = reqHeader.Encode();
|
||||
|
||||
std::string reqPacket;
|
||||
//request.append(rawHeader);
|
||||
reqPacket.append(rawReqHeader);
|
||||
reqPacket.append(rawRequest);
|
||||
|
||||
std::string resPacket;
|
||||
Router(reqPacket, resPacket);
|
||||
connector->Write(reqPacket);
|
||||
|
||||
pbRes.ParseFromString(resPacket);
|
||||
const int headerSize = 8;
|
||||
std::string rawResHeader;
|
||||
connector->Read(rawResHeader, headerSize);
|
||||
RPCHeader resHeader;
|
||||
resHeader.Decode(rawResHeader);
|
||||
|
||||
std::string rawResponse;
|
||||
connector->Read(rawResponse, resHeader.PacketSize());
|
||||
pbRes.ParseFromString(rawResponse);
|
||||
return {};
|
||||
}
|
||||
|
||||
+6
-1
@@ -9,10 +9,15 @@
|
||||
|
||||
#include <google/protobuf/message.h>
|
||||
|
||||
#include <netclient.hpp>
|
||||
|
||||
using pbMessage = google::protobuf::Message;
|
||||
using pbMessagePtr = std::unique_ptr<pbMessage>;
|
||||
|
||||
class RPCClient {
|
||||
private:
|
||||
NetClient* connector;
|
||||
public:
|
||||
std::expected<void, std::string> Transaction(const pbMessage& req, pbMessage& res);
|
||||
RPCClient(NetClient& iconnector);
|
||||
std::expected<void, std::string> DoTransaction(const pbMessage& req, pbMessage& res);
|
||||
};
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
|
||||
#include <expected>
|
||||
#include <string>
|
||||
#include <cstring>
|
||||
#include <iostream>
|
||||
#include <format>
|
||||
|
||||
#include <control.pb.h>
|
||||
|
||||
#include <rpcclient.hpp>
|
||||
#include <nethandler.hpp>
|
||||
#include <testconnect.hpp>
|
||||
|
||||
class TestHandler : public NetHandler {
|
||||
public:
|
||||
std::expected<void, std::string> Handle(std::string& req, std::string& res) override;
|
||||
};
|
||||
|
||||
std::expected<void, std::string> TestHandler::Handle(std::string& rawReq, std::string& rawRes) {
|
||||
control::HelloRequest pbReq;
|
||||
pbReq.ParseFromString(rawReq);
|
||||
std::cout << std::format("rpcName: {}\n", pbReq.meta().rpcname());
|
||||
std::cout << std::format("req message: {}\n", pbReq.message());
|
||||
|
||||
control::HelloResult pbRes;
|
||||
pbRes.set_message("Johnny!");
|
||||
auto resMeta = pbRes.mutable_meta();
|
||||
resMeta->set_error(false);
|
||||
pbRes.SerializeToString(&rawRes);
|
||||
return {};
|
||||
}
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
TestHandler handler;
|
||||
TestConnector connector(handler);
|
||||
RPCClient rpcCli(connector);
|
||||
|
||||
control::HelloRequest pbReq;
|
||||
auto reqMeta = pbReq.mutable_meta();
|
||||
reqMeta->set_rpcname("getHello");
|
||||
pbReq.set_message("What's your name?");
|
||||
|
||||
control::HelloResult pbRes;
|
||||
auto trRes = rpcCli.DoTransaction(pbReq, pbRes);
|
||||
|
||||
std::cout << std::format("res message: {}\n", pbRes.message());
|
||||
}
|
||||
+12
-6
@@ -6,18 +6,24 @@
|
||||
#include <format>
|
||||
|
||||
#include <control.pb.h>
|
||||
|
||||
#include <rpcclient.hpp>
|
||||
#include <nethandler.hpp>
|
||||
#include <testconnect.hpp>
|
||||
#include <tcpclient.hpp>
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
RPCClient rpcCli;
|
||||
TCPClient connector;
|
||||
connector.Connect("127.0.0.1", 1025);
|
||||
RPCClient rpcCli(connector);
|
||||
|
||||
control::HelloRequest pbReq;
|
||||
pbReq.set_id(10);
|
||||
pbReq.set_name("barefoo");
|
||||
auto reqMeta = pbReq.mutable_meta();
|
||||
reqMeta->set_rpcname("getHello");
|
||||
pbReq.set_message("What's your name?");
|
||||
|
||||
control::HelloResult pbRes;
|
||||
pbRes.Clear();
|
||||
auto trRes = rpcCli.Transaction(pbReq, pbRes);
|
||||
auto trRes = rpcCli.DoTransaction(pbReq, pbRes);
|
||||
|
||||
std::cout << std::format("res name: {}\n", pbRes.name());
|
||||
std::cout << std::format("res message: {}\n", pbRes.message());
|
||||
}
|
||||
|
||||
+63
-6
@@ -13,14 +13,71 @@ extern "C" {
|
||||
#include <cstring>
|
||||
|
||||
#include <service.hpp>
|
||||
#include <logger.hpp>
|
||||
#include <rpcheader.hpp>
|
||||
|
||||
#include <control.pb.h>
|
||||
|
||||
using namespace std::chrono_literals;
|
||||
|
||||
void Handler::Handle(int sock) {
|
||||
void SocketHandler::Handle(int sock) {
|
||||
std::cout << std::format("Handler {} start", sock) << std::endl;
|
||||
std::chrono::milliseconds timesleep(1s);
|
||||
std::this_thread::sleep_for(timesleep);
|
||||
std::cout << std::format("Handler {} done", sock) << std::endl;
|
||||
|
||||
const int headerSize = 8;
|
||||
std::string rawResHeader;
|
||||
|
||||
char buffer[headerSize];
|
||||
memset(&buffer, 0, headerSize);
|
||||
int rsize = 0;
|
||||
|
||||
if ((rsize = read(sock, &buffer, headerSize)) < 0) {
|
||||
logger.Log("Error read");
|
||||
close(sock);
|
||||
return;
|
||||
}
|
||||
logger.Log(std::format("rpc rsize {}", rsize));
|
||||
|
||||
RPCHeader inRPCHeader;
|
||||
std::string i(buffer, headerSize);
|
||||
inRPCHeader.Decode(i);
|
||||
int rcpPacketSize = inRPCHeader.PacketSize();
|
||||
logger.Log(std::format("rpc packet size {}", rcpPacketSize));
|
||||
|
||||
char buffer2[rcpPacketSize];
|
||||
|
||||
if ((rsize = read(sock, &buffer2, rcpPacketSize)) < 0) {
|
||||
logger.Log("Error read");
|
||||
close(sock);
|
||||
return;
|
||||
}
|
||||
logger.Log(std::format("rpc packet rsize {}", rsize));
|
||||
|
||||
std::string rawReq(buffer2, rcpPacketSize);
|
||||
|
||||
control::HelloRequest pbReq;
|
||||
pbReq.ParseFromString(rawReq);
|
||||
logger.Log(std::format("rpcName: {}", pbReq.meta().rpcname()));
|
||||
logger.Log(std::format("req message: {}\n", pbReq.message()));
|
||||
|
||||
control::HelloResult pbRes;
|
||||
pbRes.set_message("Johnny!");
|
||||
auto resMeta = pbRes.mutable_meta();
|
||||
resMeta->set_error(false);
|
||||
std::string rawRes;
|
||||
pbRes.SerializeToString(&rawRes);
|
||||
|
||||
RPCHeader outRPCHeader(rawRes.size());
|
||||
auto rawPacket = outRPCHeader.Encode();
|
||||
rawPacket.append(rawRes);
|
||||
|
||||
int wsize = 0;
|
||||
if ((wsize = write(sock, rawPacket.data(), rawPacket.size())) < 0) {
|
||||
logger.Log("Error write");
|
||||
close(sock);
|
||||
return;
|
||||
}
|
||||
|
||||
logger.Log(std::format("Handler {} done", sock));
|
||||
close(sock);
|
||||
}
|
||||
|
||||
@@ -62,7 +119,7 @@ std::expected<void, std::string> Service::Bind(void) {
|
||||
return {};
|
||||
}
|
||||
|
||||
std::expected<void, std::string> Service::Listen(Handler *handler) {
|
||||
std::expected<void, std::string> Service::Listen(SocketHandler *handler) {
|
||||
struct sockaddr_in address;
|
||||
int addrlen = sizeof(address);
|
||||
int newsock = 0;
|
||||
@@ -72,7 +129,7 @@ std::expected<void, std::string> Service::Listen(Handler *handler) {
|
||||
std::string error = std::strerror(errnocopy);
|
||||
return std::unexpected("Accept error: " + error);
|
||||
}
|
||||
std::jthread t(&Handler::Handle, handler, newsock);
|
||||
std::jthread t(&SocketHandler::Handle, handler, newsock);
|
||||
t.detach();
|
||||
}
|
||||
return {};
|
||||
|
||||
+2
-2
@@ -5,7 +5,7 @@
|
||||
#include <expected>
|
||||
#include <string>
|
||||
|
||||
class Handler {
|
||||
class SocketHandler {
|
||||
public:
|
||||
void Handle(int sock);
|
||||
};
|
||||
@@ -17,7 +17,7 @@ private:
|
||||
public:
|
||||
explicit Service(int port);
|
||||
std::expected<void, std::string> Bind(void);
|
||||
std::expected<void, std::string> Listen(Handler *handler);
|
||||
std::expected<void, std::string> Listen(SocketHandler *handler);
|
||||
~Service();
|
||||
};
|
||||
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ int main(int argc, char** argv) {
|
||||
std::cerr << bindres.error() << std::endl;
|
||||
return 1;
|
||||
}
|
||||
Handler handler;
|
||||
SocketHandler handler;
|
||||
auto listres = svc.Listen(&handler);
|
||||
if (!listres) {
|
||||
std::cerr << listres.error() << std::endl;
|
||||
|
||||
+4
-4
@@ -5,16 +5,16 @@
|
||||
#include <span>
|
||||
#include <iostream>
|
||||
|
||||
//#include <netclient.hpp>
|
||||
#include <netclient.hpp>
|
||||
|
||||
class TCPClient {
|
||||
class TCPClient : public NetClient {
|
||||
private:
|
||||
int sock;
|
||||
int family;
|
||||
public:
|
||||
TCPClient(void);
|
||||
std::expected<void, std::string> Connect(std::string address, const int port);
|
||||
std::expected<int, std::string> Write(std::string payload);
|
||||
std::expected<int, std::string> Read(std::string& buffer, int size);
|
||||
std::expected<int, std::string> Write(std::string payload) override;
|
||||
std::expected<int, std::string> Read(std::string& buffer, int size) override;
|
||||
~TCPClient(void);
|
||||
};
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
#include <vector>
|
||||
#include <memory>
|
||||
|
||||
#include <fakeconnect.hpp>
|
||||
#include <testconnect.hpp>
|
||||
#include <nethandler.hpp>
|
||||
#include <rpcheader.hpp>
|
||||
|
||||
|
||||
FakeConnector::FakeConnector(NetHandler& hand) {
|
||||
TestConnector::TestConnector(NetHandler& hand) {
|
||||
handler = &hand;
|
||||
}
|
||||
|
||||
std::expected<int, std::string> FakeConnector::Write(std::string reqNetPacket) {
|
||||
std::expected<int, std::string> TestConnector::Write(std::string reqNetPacket) {
|
||||
std::stringstream ss(reqNetPacket);
|
||||
// Read binary header
|
||||
std::string reqRawHeader;
|
||||
@@ -46,11 +46,11 @@ std::expected<int, std::string> FakeConnector::Write(std::string reqNetPacket) {
|
||||
return reqNetPacket.size();
|
||||
}
|
||||
|
||||
std::expected<int, std::string> FakeConnector::Read(std::string& resData, int size) {
|
||||
std::expected<int, std::string> TestConnector::Read(std::string& resData, int size) {
|
||||
resData.resize(size);
|
||||
auto r = backss.readsome(resData.data(), size);
|
||||
return r;
|
||||
}
|
||||
|
||||
FakeConnector::~FakeConnector() {}
|
||||
TestConnector::~TestConnector() {}
|
||||
|
||||
@@ -13,15 +13,15 @@
|
||||
#include <netclient.hpp>
|
||||
#include <nethandler.hpp>
|
||||
|
||||
class FakeConnector : public NetClient {
|
||||
class TestConnector : public NetClient {
|
||||
private:
|
||||
NetHandler* handler;
|
||||
std::stringstream backss;
|
||||
public:
|
||||
FakeConnector(NetHandler& hand);
|
||||
TestConnector(NetHandler& hand);
|
||||
std::expected<int, std::string> Write(std::string payload) override;
|
||||
std::expected<int, std::string> Read(std::string& buffer, int size) override;
|
||||
~FakeConnector(void);
|
||||
~TestConnector(void);
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -8,18 +8,18 @@
|
||||
|
||||
#include <netclient.hpp>
|
||||
#include <nethandler.hpp>
|
||||
#include <fakeconnect.hpp>
|
||||
#include <testconnect.hpp>
|
||||
#include <rpcheader.hpp>
|
||||
#include <logger.hpp>
|
||||
|
||||
#include <control.pb.h>
|
||||
|
||||
class FakeHandler : public NetHandler {
|
||||
class TestHandler : public NetHandler {
|
||||
public:
|
||||
std::expected<void, std::string> Handle(std::string& req, std::string& res) override;
|
||||
};
|
||||
|
||||
std::expected<void, std::string> FakeHandler::Handle(std::string& rawReq, std::string& rawRes) {
|
||||
std::expected<void, std::string> TestHandler::Handle(std::string& rawReq, std::string& rawRes) {
|
||||
control::HelloRequest pbReq;
|
||||
pbReq.ParseFromString(rawReq);
|
||||
std::cout << std::format("rpcName: {}\n", pbReq.meta().rpcname());
|
||||
@@ -35,8 +35,8 @@ std::expected<void, std::string> FakeHandler::Handle(std::string& rawReq, std::
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
|
||||
FakeHandler handler;
|
||||
FakeConnector conn(handler);
|
||||
TestHandler handler;
|
||||
TestConnector conn(handler);
|
||||
|
||||
control::HelloRequest pbReq;
|
||||
auto reqMeta = pbReq.mutable_meta();
|
||||
Reference in New Issue
Block a user