Commit Graph

206 Commits

Author SHA1 Message Date
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 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 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 c6e60de302 FS-10167: Temporary commit for peer review 2017-07-25 11:01:07 -06:00
Anthony Minessale bf7ba2aa8c FS-10523: [freeswitch-core] Websocket disconnects prematurely 2017-07-20 02:56:05 -05:00
Shane Bryldt 6515bc729c FS-10167: Some fixes to get the windows release build working, and fixed a mistake with asserting on executed statements which would get compiled out for release builds 2017-04-21 16:27:39 -06:00
Anthony Minessale c922223541 FS-10150: [freeswitch-core] Reduce writes to closed ssl sockets -- same fix for non-ssl sockets #resolve 2017-04-21 15:43:40 -05:00
Shane Bryldt acdf1d93db FS-10167: Updates to make stuff compile under linux again 2017-04-20 18:04:28 -05:00
Shane Bryldt 5d682abd62 FS-10167: Major updates to lifecycle management across a number of objects changing a number of architecture related areas, fixed some little bugs, too much to remember exactly 2017-04-20 16:56:08 -06:00
Shane Bryldt 2c996b592f FS-10167: Switched connection lifecycle to an isolated pool similar to sessions, also refactored the inner WSS transport implementation to be part of the same pool so it is cleaned up with the connection. Switched the connection state machine thread to also utilize thread pool to avoid direct ownership over the thread, similar to session but without the use of a signaled condition due to abstraction of transports which may need to deal with polling for socket events such as with WSS transport. Completely removed the temporary worker thread in the main handle that was for connection/session cleanup. 2017-04-18 13:41:00 -06:00
Shane Bryldt 8d4eac7f69 FS-10167: fixed a couple deadlock issues and a misconception about the locks on hash 2017-04-17 11:10:20 -06:00
Shane Bryldt 5d82a1b2e2 FS-10167: Added ks_list_delete_iterator() to delete the node at the current iterator position (only if available if iterator is active). Updated blade_session to reflect ks_list_t being internally thread-safe now. 2017-04-14 12:32:13 -06:00
Shane Bryldt f3aad1a661 FS-10167: Another small bug fix to get compiling on windows again 2017-04-14 11:05:36 -06:00
Shane Bryldt bea654eea2 FS-10167: Bug fix for libks compiling under linux 2017-04-14 12:01:38 -05:00
Shane Bryldt f5617f93d2 FS-10167: Retrofit for ks_list to be intrinsicly thread-safe with an internal reader/writer lock 2017-04-14 10:56:52 -06:00
Shane Bryldt 075cd0d179 FS-10167: Refactored simclist for ks-ification, and adjusted it for pool-based allocations and cleanup 2017-04-14 08:59:58 -06:00
Shane Bryldt 8957953741 FS-10167: Temporary commit half way through memory lifecycle changes towards isolated memory pools 2017-04-13 15:36:53 -06:00
Shane Bryldt 819847b53a FS-10167: Missing NULL assignment to alloc list during cleanup, tests run on linux. 2017-04-11 15:51:35 -05:00
Shane Bryldt ea0dc132a3 FS-10167: Rewrote the ks_pool allocator, no longer uses paging or internal block allocation, but still retains reference counting and auto cleanup callbacks, should be much more efficient now on windows than the original mmap approach, and all tests now run successfully! 2017-04-11 14:43:00 -06:00
Shane Bryldt 48d9f3aa85 FS-10167: Committing for a clean revert point prior to work on ks_pool internal allocator issues that were identified as the cause of the complicated bug related to freeing pages introduced by switching to malloc/free. 2017-04-07 21:36:23 -06:00
Anthony Minessale 80e06c214c add test to repro bug 2017-04-07 17:22:01 -05:00
Anthony Minessale 8065691b3f add test to repro bug 2017-04-07 17:21:45 -05:00
Anthony Minessale 014f40d0b8 FS-10150: [freeswitch-core] Reduce writes to closed ssl sockets 2017-04-06 17:06:44 -05:00
Shane Bryldt be0e1e144b FS-10167: Fixed some issues that appeared primarily under windows testing, committing to determine if a specific read access violation occurs under linux as well. 2017-04-05 10:43:11 -06:00
Shane Bryldt 9c61f364f0 FS-10167: Added libks testrealloc project for windows 2017-04-03 17:20:13 -06:00
Shane Bryldt 7944934d20 FS-10167: Fixed bug with ks_pool_resize allocating incorrectly based on recent allocation code changes. Added some missing files as well from prior commits related to libblade test projects and windows VS project property files. 2017-04-03 14:53:28 -06:00
Shane Bryldt 7861bb0d49 FS-10167: Added test to identify issue with ks_pool_realloc 2017-04-03 15:50:00 -05:00
Shane Bryldt 95b3011614 FS-10167: Added windows compilation of libconfig and libsodium to support libblade, all of which now have windows projects and a new libblade solution containing everything. Blade compiles, but many warnings have been disabled and should be reviewed and fixed where reasonable towards clean compiling. Code Analysis has also been enabled for visual studio projects, warnings beginning with C6XXX can be ignored unless adding code-analysis macros to libks and libblade. 2017-03-31 13:06:54 -06:00
Shane Bryldt 3bde4769cc FS-10167: Updated libks windows project and test projects to utilize the latest build toolset, and added code analysis to identify potential issues before they occur. 2017-03-30 10:44:36 -06:00
Shane Bryldt 6bce3f1022 FS-10167: Small fix to the simclist.c assertion guards after having copied the latest from the source git again in the last patch. 2017-03-29 17:31:44 -06:00
Shane Bryldt 88660290d2 FS-10167: Fix to make everything work right with linux again 2017-03-29 18:28:36 -05:00
Shane Bryldt b41a847b9d FS-10167: Fixed bug in windows test_thread_pools test related to the thread pool itself and ks_q cleanup 2017-03-29 17:22:29 -06:00
Shane Bryldt af2f257dc7 FS-10167: Added test_thread_pools to windows build, added BREAK condition to wait for objects to be added to the queue before the workers prematurely exit. Fixed a bug in thread pool creation that wasn't showing up under linux test. 2017-03-28 19:18:56 -06:00
Shane Bryldt 02c9ddd739 FS-10167: Added testacl to windows build, builds and runs under windows. Added missing testwebsock.vcxproj file that was missing on a prior commit. 2017-03-28 15:18:03 -06:00
Shane Bryldt 5713f513b6 FS-10167: Fixed small ISO C compliancy issue for windows build vs linux build of testwebsock 2017-03-28 16:07:01 -05:00
Shane Bryldt 61cdc9af3a FS-10167: Added testwebsock to windows build, completely removed precompiled openssl dependancy and injected the use of core library openssl build, everything seems to build and work for windows thus far. 2017-03-28 15:02:09 -06:00
Shane Bryldt f3da3979b9 FS-10167: Removed testmmap as it is no longer relevant, removed windows fake mmap layer which was broken and replaced with direct allocator 2017-03-27 17:07:17 -06:00
Shane Bryldt 0fd5f6b676 FS-10167: Fixed issue with eating processor when ks_sleep() is called on windows, testthreadmutex is now fully functional on windows as well, all tests are passing 2017-03-27 16:52:07 -06:00
Anthony Minessale e3dd169d63 blah 2017-03-27 17:23:41 -05:00
Anthony Minessale ac3758df70 FS-10167 extra unlock 2017-03-27 15:45:10 -05:00
Anthony Minessale aa526a5363 FS-10167 auto change state when joining a thread out of the blue 2017-03-27 15:21:06 -05:00
Anthony Minessale 82e510a54d fix sanitize addr 2017-03-27 15:17:53 -05:00
Anthony Minessale e195d5a294 FS-10167 WIP getting rid of mmap 2017-03-27 14:52:01 -05:00
Anthony Minessale 020f80b8d2 FS-10167 track joins and only do them once 2017-03-27 13:06:43 -05:00
Anthony Minessale 52f1451ece FS-10167 fix issues in the thread code 2017-03-27 13:01:38 -05:00
Anthony Minessale e1d596d0c9 FS-10167 encore 2017-03-27 12:08:55 -05:00
Anthony Minessale 6ef27805d8 FS-10167 contd 2017-03-27 11:10:22 -05:00