From 222780795da3cab1f702db052dadc05092947618 Mon Sep 17 00:00:00 2001 From: Shane Bryldt Date: Mon, 22 May 2017 12:02:04 -0500 Subject: [PATCH] FS-10167: Updates to previous overhaul commit to get everything building right under linux --- libs/libblade/Makefile.am | 21 ++++++++------------- libs/libblade/configure.ac | 1 + libs/libblade/src/blade_session.c | 2 +- libs/libblade/src/blade_stack.c | 14 +++++++------- libs/libblade/src/blade_transport_wss.c | 10 +++++----- libs/libblade/switchblade/Makefile.am | 14 ++++++++++---- libs/libblade/switchblade/switchblade.c | 2 -- libs/libblade/test/Makefile.am | 24 ++++++++++++------------ libs/libblade/test/bladec.c | 2 +- 9 files changed, 45 insertions(+), 45 deletions(-) diff --git a/libs/libblade/Makefile.am b/libs/libblade/Makefile.am index 03d98fa236..f65872f79d 100644 --- a/libs/libblade/Makefile.am +++ b/libs/libblade/Makefile.am @@ -1,6 +1,6 @@ ACLOCAL_AMFLAGS=-I build EXTRA_DIST = -SUBDIRS = . test +SUBDIRS = . test switchblade AUTOMAKE_OPTIONS = subdir-objects AM_CFLAGS += -I$(top_srcdir)/src -I$(top_srcdir)/src/include @@ -12,13 +12,8 @@ libunqlite_la_LIBADD = -lpthread lib_LTLIBRARIES = libblade.la libblade_la_SOURCES = src/blade.c src/blade_stack.c -libblade_la_SOURCES += src/blade_datastore.c -libblade_la_SOURCES += src/blade_identity.c src/blade_module.c src/blade_connection.c -libblade_la_SOURCES += src/blade_session.c src/blade_protocol.c src/blade_space.c src/blade_method.c -libblade_la_SOURCES += src/blade_module_wss.c -libblade_la_SOURCES += src/dht/ks_dht.c src/dht/ks_dht_datagram.c src/dht/ks_dht_endpoint.c src/dht/ks_dht_message.c src/dht/ks_dht_transaction.c -libblade_la_SOURCES += src/dht/ks_dht_job.c src/dht/ks_dht_search.c src/dht/ks_dht_publish.c src/dht/ks_dht_distribute.c src/dht/ks_dht_storageitem.c -libblade_la_SOURCES += src/dht/ks_dht_bucket.c src/ks_bencode.c +libblade_la_SOURCES += src/blade_identity.c src/blade_jsonrpc.c src/blade_connection.c src/blade_session.c +libblade_la_SOURCES += src/blade_transport.c src/blade_transport_wss.c libblade_la_CFLAGS = $(AM_CFLAGS) $(AM_CPPFLAGS) libblade_la_LDFLAGS = -version-info 0:1:0 -lncurses -lpthread -lm -lconfig $(AM_LDFLAGS) @@ -26,12 +21,12 @@ libblade_la_LIBADD = libunqlite.la library_includedir = $(prefix)/include library_include_HEADERS = src/include/blade.h src/include/blade_types.h src/include/blade_stack.h -library_include_HEADERS += src/include/blade_datastore.h -library_include_HEADERS += src/include/blade_identity.h src/include/blade_module.h src/include/blade_connection.h -library_include_HEADERS += src/include/blade_session.h src/include/blade_protocol.h src/include/blade_space.h src/include/blade_method.h -library_include_HEADERS += src/include/blade_module_wss.h +library_include_HEADERS += src/include/blade_identity.h src/include/blade_jsonrpc.h src/include/blade_connection.h src/include/blade_session.h +library_include_HEADERS += src/include/blade_transport.h src/include/blade_transport_wss.h library_include_HEADERS += src/include/unqlite.h test/tap.h -library_include_HEADERS += src/include/ks_dht.h src/include/ks_bencode.h tests: libblade.la $(MAKE) -C test tests + +switchblade: libblade.la + $(MAKE) -C switchblade sb diff --git a/libs/libblade/configure.ac b/libs/libblade/configure.ac index 98143950a3..8437ccdd49 100644 --- a/libs/libblade/configure.ac +++ b/libs/libblade/configure.ac @@ -275,6 +275,7 @@ AC_SUBST([AM_LDFLAGS]) AC_CONFIG_FILES([Makefile test/Makefile + switchblade/Makefile libblade.pc ]) diff --git a/libs/libblade/src/blade_session.c b/libs/libblade/src/blade_session.c index 786b9377a7..0092f74298 100644 --- a/libs/libblade/src/blade_session.c +++ b/libs/libblade/src/blade_session.c @@ -208,7 +208,7 @@ KS_DECLARE(ks_status_t) blade_session_shutdown(blade_session_t *bs) void *key = NULL; void *value = NULL; - ks_hash_this(it, &key, NULL, &value); + ks_hash_this(it, (const void **)&key, NULL, &value); blade_handle_route_remove(bs->handle, (const char *)key); } diff --git a/libs/libblade/src/blade_stack.c b/libs/libblade/src/blade_stack.c index b40633b475..f481b141b3 100644 --- a/libs/libblade/src/blade_stack.c +++ b/libs/libblade/src/blade_stack.c @@ -328,7 +328,7 @@ KS_DECLARE(ks_status_t) blade_handle_startup(blade_handle_t *bh, config_setting_ const char *realm = bh->master_realms[index]; //char *identity = ks_pstrcat(bh->pool, bh->master_user, "@", realm); // @todo this does not work... why? char *identity = ks_psprintf(bh->pool, "%s@%s", bh->master_user, realm); - + blade_handle_identity_register(bh, identity); blade_handle_realm_register(bh, realm); @@ -421,7 +421,7 @@ KS_DECLARE(ks_status_t) blade_handle_identity_register(blade_handle_t *bh, const key = ks_pstrdup(bh->pool, identity); ks_hash_insert(bh->identities, (void *)key, (void *)KS_TRUE); - + ks_log(KS_LOG_DEBUG, "Identity Registered: %s\n", key); return KS_STATUS_SUCCESS; @@ -497,9 +497,9 @@ KS_DECLARE(ks_status_t) blade_handle_route_add(blade_handle_t *bh, const char *i key = ks_pstrdup(bh->pool, identity); value = ks_pstrdup(bh->pool, id); - ks_hash_insert(bh->identities, (void *)key, (void *)id); + ks_hash_insert(bh->identities, (void *)key, (void *)value); - ks_log(KS_LOG_DEBUG, "Route Added: %s through %s\n", key, id); + ks_log(KS_LOG_DEBUG, "Route Added: %s through %s\n", key, value); // @todo when a route is added, upstream needs to be notified that the identity can be found through the session to the // upstream router, and likewise up the chain to the Master Router Node, to create a complete route from anywhere else @@ -814,13 +814,13 @@ KS_DECLARE(ks_status_t) blade_handle_sessions_remove(blade_session_t *bs) while ((it = ks_hash_first(bh->identities, KS_UNLOCKED))) { void *key = NULL; void *value = NULL; - ks_hash_this(it, &key, NULL, &value); + ks_hash_this(it, (const void **)&key, NULL, &value); ks_hash_remove(bh->identities, key); } while ((it = ks_hash_first(bh->realms, KS_UNLOCKED))) { void *key = NULL; void *value = NULL; - ks_hash_this(it, &key, NULL, &value); + ks_hash_this(it, (const void **)&key, NULL, &value); ks_hash_remove(bh->realms, key); } ks_pool_free(bh->pool, &bh->upstream_id); @@ -831,7 +831,7 @@ KS_DECLARE(ks_status_t) blade_handle_sessions_remove(blade_session_t *bs) blade_session_write_unlock(bs); - + return ret; } diff --git a/libs/libblade/src/blade_transport_wss.c b/libs/libblade/src/blade_transport_wss.c index 397db24d4e..8a7c6558b0 100644 --- a/libs/libblade/src/blade_transport_wss.c +++ b/libs/libblade/src/blade_transport_wss.c @@ -638,7 +638,7 @@ ks_status_t blade_transport_wss_link_read(blade_transport_wss_link_t *btwssl, cJ { // @todo get exact timeout from service config? int32_t poll_flags = 0; - + ks_assert(btwssl); ks_assert(json); @@ -768,7 +768,7 @@ blade_connection_state_hook_t blade_transport_wss_onstate_startup_inbound(blade_ // @todo start here for a reusable handler for "blade.connect" request jsonrpc method within transport implementations, // output 2 parameters for response and error, if an error occurs, send it, otherwise send the response - + jsonrpc = cJSON_GetObjectCstr(json_req, "jsonrpc"); // @todo check for definitions of these keys and fixed values if (!jsonrpc || strcmp(jsonrpc, "2.0")) { ks_log(KS_LOG_DEBUG, "Received message is not the expected protocol\n"); @@ -852,7 +852,7 @@ blade_connection_state_hook_t blade_transport_wss_onstate_startup_inbound(blade_ void *value = NULL; char *identity = NULL; - ks_hash_this(it, &key, NULL, &value); + ks_hash_this(it, (const void **)&key, NULL, &value); identity = ks_psprintf(pool, "%s@%s", sid, (const char *)key); @@ -900,7 +900,7 @@ blade_connection_state_hook_t blade_transport_wss_onstate_startup_inbound(blade_ void *key = NULL; void *value = NULL; - ks_hash_this(it, &key, NULL, &value); + ks_hash_this(it, (const void **)&key, NULL, &value); cJSON_AddItemToArray(json_result_identities, cJSON_CreateString((const char *)key)); } @@ -919,7 +919,7 @@ blade_connection_state_hook_t blade_transport_wss_onstate_startup_inbound(blade_ void *key = NULL; void *value = NULL; - ks_hash_this(it, &key, NULL, &value); + ks_hash_this(it, (const void **)&key, NULL, &value); cJSON_AddItemToArray(json_result_realms, cJSON_CreateString((const char *)key)); } diff --git a/libs/libblade/switchblade/Makefile.am b/libs/libblade/switchblade/Makefile.am index 70742bc69d..0b842ce6d1 100644 --- a/libs/libblade/switchblade/Makefile.am +++ b/libs/libblade/switchblade/Makefile.am @@ -1,5 +1,11 @@ -switchblade_SOURCES = switchblade.c -switchblade_CFLAGS = $(AM_CFLAGS) -I$(abs_top_srcdir)/src/include -g -ggdb -O0 -switchblade_LDADD = $(abs_top_builddir)/libblade.la -lconfig -lm -lpthread +AM_CFLAGS += -I$(abs_top_srcdir)/src/include -g -ggdb -O0 +TEST_LDADD = $(abs_top_builddir)/libblade.la -lconfig -lm -lpthread +check_PROGRAMS = -all: switchblade + +check_PROGRAMS += switchblade +switchblade_SOURCES = switchblade.c +switchblade_CFLAGS = $(AM_CFLAGS) +switchblade_LDADD = $(TEST_LDADD) + +sb: $(check_PROGRAMS) diff --git a/libs/libblade/switchblade/switchblade.c b/libs/libblade/switchblade/switchblade.c index 6fee65bbfd..ae69a24bf8 100644 --- a/libs/libblade/switchblade/switchblade.c +++ b/libs/libblade/switchblade/switchblade.c @@ -40,8 +40,6 @@ int main(int argc, char **argv) return EXIT_FAILURE; } - // @todo portable process signal handler (SIGINT, SIGHUP, etc) - idle(bh); blade_handle_destroy(&bh); diff --git a/libs/libblade/test/Makefile.am b/libs/libblade/test/Makefile.am index 04c7be4c69..9d4f9f6b50 100644 --- a/libs/libblade/test/Makefile.am +++ b/libs/libblade/test/Makefile.am @@ -18,20 +18,20 @@ blades_SOURCES = blades.c tap.c blades_CFLAGS = $(AM_CFLAGS) blades_LDADD = $(TEST_LDADD) -check_PROGRAMS += testdht2 -testdht2_SOURCES = testdht2.c tap.c -testdht2_CFLAGS = $(AM_CFLAGS) -testdht2_LDADD = $(TEST_LDADD) +#check_PROGRAMS += testdht2 +#testdht2_SOURCES = testdht2.c tap.c +#testdht2_CFLAGS = $(AM_CFLAGS) +#testdht2_LDADD = $(TEST_LDADD) -check_PROGRAMS += testbuckets -testbuckets_SOURCES = testbuckets.c tap.c -testbuckets_CFLAGS = $(AM_CFLAGS) -testbuckets_LDADD = $(TEST_LDADD) +#check_PROGRAMS += testbuckets +#testbuckets_SOURCES = testbuckets.c tap.c +#testbuckets_CFLAGS = $(AM_CFLAGS) +#testbuckets_LDADD = $(TEST_LDADD) -check_PROGRAMS += nodeidgen -nodeidgen_SOURCES = nodeidgen.c tap.c -nodeidgen_CFLAGS = $(AM_CFLAGS) -nodeidgen_LDADD = $(TEST_LDADD) +#check_PROGRAMS += nodeidgen +#nodeidgen_SOURCES = nodeidgen.c tap.c +#nodeidgen_CFLAGS = $(AM_CFLAGS) +#nodeidgen_LDADD = $(TEST_LDADD) TESTS=$(check_PROGRAMS) diff --git a/libs/libblade/test/bladec.c b/libs/libblade/test/bladec.c index dc5fb8949f..64b5ab42f5 100644 --- a/libs/libblade/test/bladec.c +++ b/libs/libblade/test/bladec.c @@ -37,7 +37,7 @@ int main(int argc, char **argv) config_t config; config_setting_t *config_blade = NULL; const char *cfgpath = "bladec.cfg"; - const char *session_state_callback_id = NULL; + //const char *session_state_callback_id = NULL; const char *autoconnect = NULL; ks_global_set_default_logger(KS_LOG_LEVEL_DEBUG);