Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Secure tunnel with Multiplexing #78

Merged
merged 71 commits into from
Feb 23, 2023
Merged
Show file tree
Hide file tree
Changes from 58 commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
fc2425c
Add connection_error_code and API to access it for error checking on …
sbSteveK Sep 20, 2022
04e8055
encoder/decoder refactor
sbSteveK Oct 3, 2022
98545b5
Secure Tunnel Multiplex WIP
sbSteveK Nov 23, 2022
da4a6bb
WIP on hold to work on mqtt5 canary
sbSteveK Dec 5, 2022
97f1731
more wip saves
sbSteveK Dec 5, 2022
6caf6d5
revamp api and operations
sbSteveK Jan 12, 2023
6ea5be8
refactored message handling
sbSteveK Jan 12, 2023
b7a5b00
continued implementation of operations and tasks
sbSteveK Jan 14, 2023
4f7d3c0
merged with current main
sbSteveK Jan 17, 2023
b1d85b3
stash
sbSteveK Jan 17, 2023
449195c
test connection
sbSteveK Jan 18, 2023
d7c4216
progress before removing channel and slot for websocket use
sbSteveK Jan 20, 2023
6dee25f
stable before checking slot
sbSteveK Jan 23, 2023
5b6f269
pings updated to work with secure tunnel
sbSteveK Jan 24, 2023
39dcd7f
cleanup
sbSteveK Jan 24, 2023
1ea9dbe
encoding WIP
sbSteveK Jan 26, 2023
16572d1
encoding of outbound messages
sbSteveK Jan 26, 2023
7ee40ae
cleaning up
sbSteveK Jan 26, 2023
ca98b92
clean up
sbSteveK Jan 27, 2023
968c684
more clean up
sbSteveK Jan 27, 2023
34a3fc0
merge with latest main
sbSteveK Jan 27, 2023
d75b11a
clean up
sbSteveK Jan 27, 2023
94082ac
stream reset added
sbSteveK Jan 30, 2023
8a452c8
logging of error added
sbSteveK Jan 30, 2023
c890820
handling of the on_connection_complete callback
sbSteveK Jan 31, 2023
ee05c21
typo
sbSteveK Jan 31, 2023
1b6a666
code review changes WIP
sbSteveK Feb 7, 2023
f3a3993
wip
sbSteveK Feb 7, 2023
e24924b
pr wip
sbSteveK Feb 8, 2023
8d42b5f
remove typedef
sbSteveK Feb 8, 2023
cedc949
pr wip
sbSteveK Feb 8, 2023
824c96a
serializer changes test
sbSteveK Feb 8, 2023
bfcff0e
serializer simplification
sbSteveK Feb 8, 2023
08c55e9
formatting
sbSteveK Feb 8, 2023
cb5eb9f
capacity check fix
sbSteveK Feb 8, 2023
55e7ebb
pr changes
sbSteveK Feb 8, 2023
9332167
logging
sbSteveK Feb 9, 2023
4c42d98
added logging
sbSteveK Feb 9, 2023
e687535
add error logging
sbSteveK Feb 10, 2023
abdd57f
add more logging
sbSteveK Feb 10, 2023
f548e39
fix log
sbSteveK Feb 10, 2023
0c70639
expand logging
sbSteveK Feb 10, 2023
611dc84
add connection_view for connection complete settings
sbSteveK Feb 10, 2023
0cb7f75
handle zero length service id edge case
sbSteveK Feb 10, 2023
959c682
report a failed connection attempt
sbSteveK Feb 13, 2023
442300c
actually pass along the error code
sbSteveK Feb 13, 2023
539da71
add an on_stopped callback
sbSteveK Feb 14, 2023
176e38b
give options_storage its allocator to use during cleanup
sbSteveK Feb 14, 2023
05d2604
added /bin files
sbSteveK Feb 15, 2023
82b3179
code review fixes wip
sbSteveK Feb 16, 2023
71a082f
use aws_byte_buf_write_to_capacity
sbSteveK Feb 16, 2023
96c1ad3
removed unused variable
sbSteveK Feb 16, 2023
04358b5
convert service ids to hash table
sbSteveK Feb 16, 2023
a731303
fix hash table for service ids
sbSteveK Feb 16, 2023
4cb2261
cleanup old service id
sbSteveK Feb 16, 2023
5e6c377
more cr fixes/changes
sbSteveK Feb 16, 2023
b28da64
add termination callback specific user data
sbSteveK Feb 17, 2023
0b6027c
vtable expanded for testing
sbSteveK Feb 20, 2023
c7accba
expand vtable for testing
sbSteveK Feb 20, 2023
35fe644
simplify websocket creation
sbSteveK Feb 20, 2023
2d9ee53
add encoding for service ids on outbound message
sbSteveK Feb 20, 2023
fa2b9de
fix for length on multiple service ids
sbSteveK Feb 20, 2023
8fbe49a
cr changes
sbSteveK Feb 21, 2023
c7b2adb
remove old tests
sbSteveK Feb 21, 2023
ec73eee
fix race condition
sbSteveK Feb 21, 2023
bde1c01
secure tunnel tests
sbSteveK Feb 22, 2023
3736917
Clean Up
sbSteveK Feb 22, 2023
99f35b0
unused test parameters (void)
sbSteveK Feb 22, 2023
f0bbb07
ignore specific warning
sbSteveK Feb 22, 2023
e7abc0d
add logging
sbSteveK Feb 22, 2023
0c3cd36
code review changes
sbSteveK Feb 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -123,4 +123,5 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake"
include(CTest)
if (BUILD_TESTING)
add_subdirectory(tests)
add_subdirectory(bin/securetunnel)
endif ()
29 changes: 29 additions & 0 deletions bin/securetunnel/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
project(securetunnel C)

list(APPEND CMAKE_MODULE_PATH "${CMAKE_INSTALL_PREFIX}/lib/cmake")

file(GLOB SECURETUNNEL_SRC
"*.c"
)

set(SECURETUNNEL_PROJECT_NAME securetunnel)
add_executable(${SECURETUNNEL_PROJECT_NAME} ${SECURETUNNEL_SRC})
aws_set_common_properties(${SECURETUNNEL_PROJECT_NAME})


target_include_directories(${SECURETUNNEL_PROJECT_NAME} PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>)

target_link_libraries(${SECURETUNNEL_PROJECT_NAME} aws-c-iot)

if (BUILD_SHARED_LIBS AND NOT WIN32)
message(INFO " securetunnel will be built with shared libs, but you may need to set LD_LIBRARY_PATH=${CMAKE_INSTALL_PREFIX}/lib to run the application")
endif()

install(TARGETS ${SECURETUNNEL_PROJECT_NAME}
EXPORT ${SECURETUNNEL_PROJECT_NAME}-targets
COMPONENT Runtime
RUNTIME
DESTINATION bin
COMPONENT Runtime)
Loading