115 Commits

Author SHA1 Message Date
Shane Bryldt
f9e36014ae FS-10739: [libblade] Fixed disconnecting downstream sessions when upstream session is disconnected, without disconnecting loopback which always remains available 2017-10-23 08:17:27 -06:00
Shane Bryldt
8d4af5f7b6 FS-10739: [libblade] Small fix to testcon, forgot to uncomment the test.join response sending after testing TTL on responses 2017-10-19 08:49:26 -06:00
Shane Bryldt
749db0461d FS-10739: [libblade] Added TTL to request which now produces an error response when a response is not received locally within the timeout, this utilizes loopback session stuff which had a couple bugs that are now also fixed, further loopback testing is still required on event subscriptions, protocol publishing, protocol locating, and protocol execution 2017-10-19 08:44:31 -06:00
Shane Bryldt
b3e84ac146 FS-10739: [libblade] Loopback session support and reworking sessions to use independent ids, blade.connect now also responds with both the sessionid and the nodeid separately 2017-10-19 02:32:55 -06:00
Shane Bryldt
a6417d06c2 FS-10690: [libblade] Fixed linux build 2017-10-12 12:49:51 -05:00
Shane Bryldt
20ea5c3c52 FS-10690: [libblade] Added web request and web response layer ontop of civetweb to handle simplified processing for both inbound REST services as well as outbound client requests. Added simple layer ontop of that for one-liner oauth2 token establishment. 2017-10-12 11:47:07 -06:00
Shane Bryldt
e28abe2929 FS-10690: [libblade] fixed some linux build issues that were missed recently for stringbuilder addition 2017-10-10 07:38:04 -05:00
Shane Bryldt
71286aa436 FS-10690: [libblade] Undid apple definition for old libconfig stuff 2017-10-10 06:34:14 -06:00
Shane Bryldt
a173023827 FS-10690: [libblade] fixed up libconfig to treat 1.4.x as legacy for debian 8 system packages, with 1.5.0 expected on windows and newer linux 2017-10-10 06:33:12 -06:00
Seven Du
03eb15c978 FS-10690 temp fix build on Mac 2017-10-10 20:23:07 +08:00
Shane Bryldt
0078f4027c FS-10690: [libblade] Fix for return type that wasn't being detected correctly by compilers 2017-10-10 06:06:25 -06:00
Andrey Volk
ea8c3be8ec FS-10541: [Build-System] Move OpenSSL to props with BaseDir on windows. 2017-10-07 22:50:48 +03:00
Andrey Volk
8d0afcd01a FS-10690: [libblade, Build-System] Migrated civetweb's duktape_lib and lua_lib windows projects into repository. 2017-10-07 17:03:34 +03:00
Shane Bryldt
1991ce4817 FS-10690: [libblade] [libks] Added json wrapper to string builder. Fixed an issue with the "Release" build for x64, currently only Debug x64 and Release x64 build correctly, more will be fixed with other project updates soon. 2017-10-06 12:44:10 -06:00
Shane Bryldt
4ba8c7dc48 FS-10690: [libblade] [libks] Cleaned up projects so they build as static libs rather than DLL projects where appropriate. Set all projects that weren't using the right windows CRT library to use DLL based even when statically compiling. Cleaned up some project preprocessor definitions and moved around some preprocessor code to make it simpler. Added ks_sb_t to support an efficient universal string builder. Tested string builder with a temporary REST service exposed by switchblade application. 2017-10-05 05:22:22 -06:00
Shane Bryldt
099580022d FS-10690: [libblade] Added basedir.props from existing pending PR from Andrey Volk to support PCRE build requirements for blade on windows, currently only used by newly added PCRE props which are not yet used by FS projects 2017-10-02 13:09:51 -06:00
Shane Bryldt
560fd03842 FS-10690: [libblade] Added PCRE to linux build, which can be used from system packages 2017-10-02 13:29:06 -05:00
Shane Bryldt
62ee80962f FS-10690: [libblade] Added PCRE to libblade for REST route matching, fixed windows build environment for PCRE download project 2017-10-02 11:31:38 -06:00
Andrey Volk
2bead55cd2 FS-10690: [Build-System] Compile libks within libblade. 2017-09-29 16:09:30 +03:00
Shane Bryldt
d76921b49e FS-10690: Removed useless defines from blade.h that are only needed when compiling libcivetweb itself 2017-09-28 18:05:10 -05:00
Shane Bryldt
4c57f0aa5b FS-10690: Added support for compiling civetweb inline when building libblade 2017-09-28 17:53:56 -05:00
Shane Bryldt
a3be6fe2d9 FS-10690: First updates to support civetweb on linux 2017-09-28 17:40:01 -05:00
Shane Bryldt
94eac3d8b9 FS-10690: Temporary commit to work on linux build for civetweb stuff 2017-09-28 14:15:07 -05:00
Shane Bryldt
941053a592 FS-10690: Forgot to include a couple new files 2017-09-28 12:14:18 -06:00
Shane Bryldt
b120ddb9d3 FS-10690: Fixed some issues in the download projects, added configuration transfer during blade_restmgr startup, and started initial stubs for civetweb callbacks in advance of deeper REST routing support 2017-09-27 20:07:16 -06:00
Andrey Volk
e8987b0d8c FS-10690: [Build-System] Add download projects for civetweb, libconfig, libsodium on windows. 2017-09-28 01:07:19 +03:00
Andrey Volk
6e3991379b FS-10690: [Build-System] Add civetweb library project for libblade on windows. 2017-09-25 22:09:20 +03:00
Shane Bryldt
c0a02f544d FS-10167: Updating linux build 2017-09-21 00:21:49 -05:00
Shane Bryldt
43cb4e3468 FS-10167: Implemented identity registration and routing, removed subrealms to be revisited later, implemented public event channels and node presence, restructured some code and fixed a number of bugs. 2017-09-20 22:07:34 -06:00
Shane Bryldt
af69e2fb5b FS-10167: Temporary commit to retain changes before removing concept of realm/subrealm as per discussions, will revisit this concept later when a real use-case presents itself, tests will not operate correctly in this build as realms are incomplete prior to removal 2017-09-13 08:41:40 -06:00
Shane Bryldt
bda523b5af FS-10167: Small fix to get linux build working, tested and working correctly 2017-09-07 07:48:48 -05:00
Shane Bryldt
ee8db10a5f FS-10167: Added support for SSL/TLS, specifically enforcing TLS 1.2 currently but could be more configurable later. Added support for obtaining SANS from X509 certificates within the default wss transport, SANS will be used for preapproved automatically registered identities, currently only being cached on server side for downstream connections providing the remote client upstream certificate SANS, but can also be used by a master to obtain initial master identities from it's own downstream certificate in the future (planned, but not yet implemented) as it is the exception with no upstream and MUST have downstream available. Also added the openssl executable to the projects being built in the libblade solution to provide a windows executable for certificate production when required. 2017-09-07 06:44:16 -06:00
Shane Bryldt
9fc65c8752 FS-10167: Fixed up linux build for latest work on channel and protocol removal at runtime 2017-08-18 17:44:25 -05:00
Shane Bryldt
a81b57bd35 FS-10167: Updated publish and broadcast to support adding and removing channels at runtime, as well as removing protocols at runtime. In effect this provides cleanup on subscriptions when an entire channel or protocol becomes unavailable. Committing to test linux build. 2017-08-18 16:30:08 -06:00
Shane Bryldt
d5b1c328eb FS-10167: Updating linux build 2017-08-03 21:31:28 -05:00
Shane Bryldt
53690120ac FS-10167: Revisited ks_pool to embed the ks_pool_t pointer into the prefix of each allocation, updated libks and libblade to remove unneccessary pool pointers in structures, pool-allocated memory can now be freed without needing to pass the original pool 2017-08-03 20:26:07 -06:00
Shane Bryldt
077fde224b FS-10167: Linux build updated and basic tests work as expected 2017-08-01 17:48:34 -05:00
Shane Bryldt
fd3348cafc FS-10167: More work on the event channel workflow, switched callback data back to using void* and the assumption callback will clear the data or that it would be cleaned up by a handle shutdown by allocating within the handle pool. Base tests currently working, committing to sync up linux build 2017-08-01 16:30:25 -06:00
Shane Bryldt
c6e60de302 FS-10167: Temporary commit for peer review 2017-07-25 11:01:07 -06:00
Shane Bryldt
84540ea857 FS-10167: Refactoring and cleanup 2017-07-12 03:35:49 -06:00
Shane Bryldt
2ff3ce1a5c FS-10167: Bug fixes, memory leaks, etc 2017-07-03 13:45:29 -06:00
Shane Bryldt
f9d23ccadd FS-10167: Updating to build clean on linux 2017-07-03 13:57:47 -05:00
Shane Bryldt
3687a5a0a5 FS-10167: Significant cleanup and isolation of code into manager types for better maintainability and easier path to future updates 2017-07-03 12:48:46 -06:00
Shane Bryldt
3ff59b6a5a FS-10167: First pass of adding a test protocol 2017-06-21 17:15:53 -06:00
Shane Bryldt
9cb5652d14 FS-10167: Fixing linux build for blade.broadcast related stuff 2017-06-12 13:22:35 -05:00
Shane Bryldt
e931137444 FS-10167: Added preliminary blade.broadcast, tested event being broadcasted with bladec and blades through switchblade 2017-06-10 23:08:39 -06:00
Shane Bryldt
ca19bee71c FS-10167: Update to the preliminary blade.subscribe support, added registration of local callback for processing an event received through upcoming blade.broadcast 2017-06-10 20:30:58 -06:00
Shane Bryldt
61f8380b70 FS-10167: Preliminary version of blade.subscribe is implemented 2017-06-09 21:34:02 -06:00
Shane Bryldt
6795fd2e45 FS-10167: Added preliminary support for blade.register, currently it is only used to update routes upstream, when a new nodeid is introduced or no longer available a blade.register is passed to update the routing tables. Edge cases are not handled yet. 2017-06-06 15:50:38 -06:00
Shane Bryldt
0b47048ee0 FS-10167: Updates to get last blade stuff compiling and running under linux again 2017-06-05 16:52:01 -05:00