Skip to content

Commit 141f459

Browse files
Merge pull request #6 from securesocketfunneling/develop
Version 1.1.0
2 parents 47f01b7 + 7685761 commit 141f459

File tree

71 files changed

+3855
-1435
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+3855
-1435
lines changed

.gitignore

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1-
./build
2-
./build64
1+
/build
2+
/build64
3+
/third_party

CMakeLists.txt

Lines changed: 153 additions & 135 deletions
Original file line numberDiff line numberDiff line change
@@ -33,123 +33,127 @@ set(project_THIRDPARTY_DIR "${project_ROOT_DIR}/third_party")
3333
# --- Project files declaration
3434
set(VERSIONS_FILES
3535
"${project_BINARY_DIR}/versions.h")
36-
37-
set(CORE_INIT_PACKETS
38-
"${project_SRC_DIR}/core/transport_virtual_layer_policies/transport_protocol_policy.h"
39-
"${project_SRC_DIR}/core/transport_virtual_layer_policies/init_packets/ssf_reply.h"
40-
"${project_SRC_DIR}/core/transport_virtual_layer_policies/init_packets/ssf_reply.cpp"
41-
"${project_SRC_DIR}/core/transport_virtual_layer_policies/init_packets/ssf_request.h"
42-
"${project_SRC_DIR}/core/transport_virtual_layer_policies/init_packets/ssf_request.cpp")
43-
44-
set(CORE_NETWORK_VIRTUAL_LAYER_POLICY
45-
"${project_SRC_DIR}/core/network_virtual_layer_policies/bounce_protocol_policy.h"
46-
"${project_SRC_DIR}/core/network_virtual_layer_policies/link_policies/ssl_policy.h"
47-
"${project_SRC_DIR}/core/network_virtual_layer_policies/link_policies/tcp_policy.h"
48-
"${project_SRC_DIR}/core/network_virtual_layer_policies/link_authentication_policies/null_link_authentication_policy.h")
49-
50-
set(CORE_FACTORIES_FILES
51-
"${project_SRC_DIR}/core/factories/command_factory.h"
52-
"${project_SRC_DIR}/core/factory_manager/service_factory_manager.h"
53-
"${project_SRC_DIR}/core/factories/service_factory.h"
54-
"${project_SRC_DIR}/core/factories/service_option_factory.h"
55-
"${project_SRC_DIR}/core/service_manager/service_manager.h")
56-
57-
set(COMMON_BOOST_HEADER_FILES
58-
"${project_SRC_DIR}/common/boost/fiber/detail/fiber_id.hpp"
59-
"${project_SRC_DIR}/common/boost/fiber/detail/fiber_buffer.hpp"
60-
"${project_SRC_DIR}/common/boost/fiber/detail/fiber_header.hpp"
61-
"${project_SRC_DIR}/common/boost/fiber/stream_fiber.hpp"
62-
"${project_SRC_DIR}/common/boost/fiber/basic_endpoint.hpp"
63-
"${project_SRC_DIR}/common/boost/fiber/stream_fiber_service.hpp"
64-
"${project_SRC_DIR}/common/boost/fiber/detail/basic_fiber_impl.hpp"
65-
"${project_SRC_DIR}/common/boost/fiber/basic_fiber_demux.hpp"
66-
"${project_SRC_DIR}/common/boost/fiber/basic_fiber_demux_service.hpp"
67-
"${project_SRC_DIR}/common/boost/fiber/basic_fiber_demux_service.ipp"
68-
"${project_SRC_DIR}/common/boost/fiber/detail/basic_fiber_demux_impl.hpp"
69-
"${project_SRC_DIR}/common/boost/fiber/detail/io_fiber_accept_op.hpp"
70-
"${project_SRC_DIR}/common/boost/fiber/detail/io_fiber_read_op.hpp"
71-
"${project_SRC_DIR}/common/boost/fiber/detail/io_fiber_dgr_read_op.hpp"
72-
"${project_SRC_DIR}/common/boost/fiber/detail/io_ssl_read_op.hpp"
73-
"${project_SRC_DIR}/common/boost/fiber/detail/io_operation.hpp"
74-
"${project_SRC_DIR}/common/boost/fiber/fiber_acceptor_service.hpp"
75-
"${project_SRC_DIR}/common/boost/fiber/datagram_fiber_service.hpp"
76-
"${project_SRC_DIR}/common/boost/fiber/datagram_fiber.hpp")
77-
78-
set(COMMON_COMMAND_LINE_FILES
79-
"${project_SRC_DIR}/core/command_line/command_line.h"
80-
"${project_SRC_DIR}/core/command_line/command_line.cpp")
81-
82-
set(COMMON_CONFIG_FILES
83-
"${project_SRC_DIR}/common/config/config.h"
84-
"${project_SRC_DIR}/common/config/config.cpp")
85-
86-
set(COMMON_ERROR_FILES
87-
"${project_SRC_DIR}/common/error/error.h"
88-
"${project_SRC_DIR}/common/error/error.cpp")
89-
90-
set(COMMON_NETWORK_HEADER_FILES
91-
"${project_SRC_DIR}/common/network/base_session.h"
92-
"${project_SRC_DIR}/common/network/datagram_link.h"
93-
"${project_SRC_DIR}/common/network/datagram_link_operator.h"
94-
"${project_SRC_DIR}/common/network/manager.h"
95-
"${project_SRC_DIR}/common/network/network_policy_traits.h"
96-
"${project_SRC_DIR}/common/network/session_forwarder.h"
97-
"${project_SRC_DIR}/common/network/socket_link.h")
98-
99-
set(SERVICES_ADMIN_SERVICE_FILES
100-
"${project_SRC_DIR}/services/initialisation.h"
101-
"${project_SRC_DIR}/services/base_service.h"
102-
"${project_SRC_DIR}/services/admin/admin.h"
103-
"${project_SRC_DIR}/services/admin/admin_command.h"
104-
"${project_SRC_DIR}/services/admin/admin.ipp"
105-
"${project_SRC_DIR}/services/admin/requests/create_service_request.h"
106-
"${project_SRC_DIR}/services/admin/requests/service_status.h"
107-
"${project_SRC_DIR}/services/admin/requests/stop_service_request.h")
108-
109-
set(SERVICES_SOCKS_FILES
110-
"${project_SRC_DIR}/services/socks/socks_server.h"
111-
"${project_SRC_DIR}/services/socks/socks_version.h"
112-
"${project_SRC_DIR}/services/socks/v4/reply.cpp"
113-
"${project_SRC_DIR}/services/socks/v4/reply.h"
114-
"${project_SRC_DIR}/services/socks/v4/request.cpp"
115-
"${project_SRC_DIR}/services/socks/v4/request.h"
116-
"${project_SRC_DIR}/services/socks/v4/session.h"
117-
"${project_SRC_DIR}/services/socks/v4/session.ipp"
118-
"${project_SRC_DIR}/services/socks/v5/reply.cpp"
119-
"${project_SRC_DIR}/services/socks/v5/reply.h"
120-
"${project_SRC_DIR}/services/socks/v5/request.cpp"
121-
"${project_SRC_DIR}/services/socks/v5/request.h"
122-
"${project_SRC_DIR}/services/socks/v5/reply_auth.cpp"
123-
"${project_SRC_DIR}/services/socks/v5/reply_auth.h"
124-
"${project_SRC_DIR}/services/socks/v5/request_auth.cpp"
125-
"${project_SRC_DIR}/services/socks/v5/request_auth.h"
126-
"${project_SRC_DIR}/services/socks/v5/session.h"
127-
"${project_SRC_DIR}/services/socks/v5/session.ipp")
128-
129-
set(SERVICES_USER_SERVICES_FILES
130-
"${project_SRC_DIR}/services/user_services/base_user_service.h"
131-
"${project_SRC_DIR}/services/user_services/port_forwarding.h"
132-
"${project_SRC_DIR}/services/user_services/remote_port_forwarding.h"
133-
"${project_SRC_DIR}/services/user_services/remote_socks.h"
134-
"${project_SRC_DIR}/services/user_services/socks.h"
135-
"${project_SRC_DIR}/services/user_services/udp_port_forwarding.h"
136-
"${project_SRC_DIR}/services/user_services/udp_remote_port_forwarding.h")
137-
138-
set(SERVICES_SOCKETS_TO_FIBERS_FILES
139-
"${project_SRC_DIR}/services/sockets_to_fibers/sockets_to_fibers.h"
140-
"${project_SRC_DIR}/services/sockets_to_fibers/sockets_to_fibers.ipp")
141-
142-
set(SERVICES_DATAGRAMS_TO_FIBERS_FILES
143-
"${project_SRC_DIR}/services/datagrams_to_fibers/datagrams_to_fibers.h"
144-
"${project_SRC_DIR}/services/datagrams_to_fibers/datagrams_to_fibers.ipp")
145-
146-
set(SERVICES_FIBERS_TO_SOCKETS_FILES
147-
"${project_SRC_DIR}/services/fibers_to_sockets/fibers_to_sockets.h"
148-
"${project_SRC_DIR}/services/fibers_to_sockets/fibers_to_sockets.ipp")
149-
150-
set(SERVICES_FIBERS_TO_DATAGRAMS_FILES
151-
"${project_SRC_DIR}/services/fibers_to_datagrams/fibers_to_datagrams.h"
152-
"${project_SRC_DIR}/services/fibers_to_datagrams/fibers_to_datagrams.ipp")
36+
37+
FILE(GLOB_RECURSE COMMON_BOOST_FIBER_FILES
38+
"${project_SRC_DIR}/common/boost/fiber/*.hpp"
39+
"${project_SRC_DIR}/common/boost/fiber/*.cpp")
40+
41+
FILE(GLOB_RECURSE COMMON_CONFIG_FILES
42+
"${project_SRC_DIR}/common/config/*.h"
43+
"${project_SRC_DIR}/common/config/*.cpp")
44+
45+
FILE(GLOB_RECURSE COMMON_ERROR_FILES
46+
"${project_SRC_DIR}/common/error/*.h"
47+
"${project_SRC_DIR}/common/error/*.cpp")
48+
49+
FILE(GLOB_RECURSE COMMON_NETWORK_FILES
50+
"${project_SRC_DIR}/common/network/*.h"
51+
"${project_SRC_DIR}/common/network/*.cpp")
52+
53+
FILE(GLOB_RECURSE COMMON_UTILS_FILES
54+
"${project_SRC_DIR}/common/utils/*.h"
55+
"${project_SRC_DIR}/common/utils/*.cpp"
56+
"${project_SRC_DIR}/common/utils/*.ipp")
57+
58+
FILE(GLOB CORE_COMMAND_LINE_STANDARD_FILES
59+
"${project_SRC_DIR}/core/command_line/standard/*.h"
60+
"${project_SRC_DIR}/core/command_line/standard/*.cpp")
61+
62+
FILE(GLOB CORE_COMMAND_LINE_COPY_FILES
63+
"${project_SRC_DIR}/core/command_line/copy/*.h"
64+
"${project_SRC_DIR}/core/command_line/copy/*.cpp")
65+
66+
FILE(GLOB_RECURSE CORE_TRANSPORT_POLICIES_FILES
67+
"${project_SRC_DIR}/core/transport_virtual_layer_policies/*.h"
68+
"${project_SRC_DIR}/core/transport_virtual_layer_policies/*.cpp"
69+
"${project_SRC_DIR}/core/transport_virtual_layer_policies/*.ipp")
70+
71+
FILE(GLOB_RECURSE CORE_NETWORK_VIRTUAL_LAYER_POLICIES_FILES
72+
"${project_SRC_DIR}/core/network_virtual_layer_policies/*.h"
73+
"${project_SRC_DIR}/core/network_virtual_layer_policies/*.cpp"
74+
"${project_SRC_DIR}/core/network_virtual_layer_policies/*.ipp")
75+
76+
FILE(GLOB_RECURSE CORE_FACTORIES_FILES
77+
"${project_SRC_DIR}/core/factories/*.h"
78+
"${project_SRC_DIR}/core/factories/*.cpp"
79+
"${project_SRC_DIR}/core/factories/*.ipp"
80+
"${project_SRC_DIR}/core/factory_manager/*.h"
81+
"${project_SRC_DIR}/core/factory_manager/*.cpp"
82+
"${project_SRC_DIR}/core/factory_manager/*.ipp"
83+
"${project_SRC_DIR}/core/service_manager/*.h"
84+
"${project_SRC_DIR}/core/service_manager/*.cpp"
85+
"${project_SRC_DIR}/core/service_manager/*.ipp")
86+
87+
FILE(GLOB BASE_SERVICE_FILES
88+
"${project_SRC_DIR}/services/*.h"
89+
"${project_SRC_DIR}/services/*.cpp"
90+
"${project_SRC_DIR}/services/*.ipp")
91+
92+
FILE(GLOB_RECURSE ADMIN_SERVICE_FILES
93+
"${project_SRC_DIR}/services/admin/*.h"
94+
"${project_SRC_DIR}/services/admin/*.cpp"
95+
"${project_SRC_DIR}/services/admin/*.ipp")
96+
97+
FILE(GLOB_RECURSE DATAGRAMS_TO_FIBERS_SERVICE_FILES
98+
"${project_SRC_DIR}/services/datagrams_to_fibers/*.h"
99+
"${project_SRC_DIR}/services/datagrams_to_fibers/*.cpp"
100+
"${project_SRC_DIR}/services/datagrams_to_fibers/*.ipp")
101+
102+
FILE(GLOB_RECURSE FIBERS_TO_DATAGRAMS_SERVICE_FILES
103+
"${project_SRC_DIR}/services/fibers_to_datagrams/*.h"
104+
"${project_SRC_DIR}/services/fibers_to_datagrams/*.cpp"
105+
"${project_SRC_DIR}/services/fibers_to_datagrams/*.ipp")
106+
107+
FILE(GLOB_RECURSE SOCKETS_TO_FIBERS_SERVICE_FILES
108+
"${project_SRC_DIR}/services/datagrams_to_fibers/*.h"
109+
"${project_SRC_DIR}/services/datagrams_to_fibers/*.cpp"
110+
"${project_SRC_DIR}/services/datagrams_to_fibers/*.ipp")
111+
112+
FILE(GLOB_RECURSE FIBERS_TO_SOCKETS_SERVICE_FILES
113+
"${project_SRC_DIR}/services/fibers_to_datagrams/*.h"
114+
"${project_SRC_DIR}/services/fibers_to_datagrams/*.cpp"
115+
"${project_SRC_DIR}/services/fibers_to_datagrams/*.ipp")
116+
117+
FILE(GLOB_RECURSE SOCKS_SERVICE_FILES
118+
"${project_SRC_DIR}/services/socks/*.h"
119+
"${project_SRC_DIR}/services/socks/*.cpp"
120+
"${project_SRC_DIR}/services/socks/*.ipp")
121+
122+
FILE(GLOB COPY_FILE_SERVICE_FILES
123+
"${project_SRC_DIR}/services/copy_file/*.h"
124+
"${project_SRC_DIR}/services/copy_file/*.cpp"
125+
"${project_SRC_DIR}/services/copy_file/*.ipp"
126+
"${project_SRC_DIR}/services/copy_file/fiber_to_file/*.h"
127+
"${project_SRC_DIR}/services/copy_file/fiber_to_file/*.cpp"
128+
"${project_SRC_DIR}/services/copy_file/fiber_to_file/*.ipp"
129+
"${project_SRC_DIR}/services/copy_file/file_to_fiber/*.h"
130+
"${project_SRC_DIR}/services/copy_file/file_to_fiber/*.cpp"
131+
"${project_SRC_DIR}/services/copy_file/file_to_fiber/*.ipp"
132+
"${project_SRC_DIR}/services/copy_file/file_enquirer/*.h"
133+
"${project_SRC_DIR}/services/copy_file/file_enquirer/*.cpp"
134+
"${project_SRC_DIR}/services/copy_file/file_enquirer/*.ipp"
135+
"${project_SRC_DIR}/services/copy_file/packet/*.h"
136+
"${project_SRC_DIR}/services/copy_file/packet/*.cpp"
137+
"${project_SRC_DIR}/services/copy_file/packet/*.ipp"
138+
"${project_SRC_DIR}/services/copy_file/filesystem/*.h"
139+
"${project_SRC_DIR}/services/copy_file/filesystem/*.cpp")
140+
141+
FILE(GLOB_RECURSE USER_SERVICE_FILES
142+
"${project_SRC_DIR}/services/user_services/*.h"
143+
"${project_SRC_DIR}/services/user_services/*.cpp"
144+
"${project_SRC_DIR}/services/user_services/*.ipp")
145+
146+
set(PARSER_FILES
147+
"${project_SRC_DIR}/core/parser/bounce_parser.h"
148+
"${project_SRC_DIR}/core/parser/bounce_parser.cpp")
149+
150+
FILE(GLOB_RECURSE CLIENT_FILES
151+
"${project_SRC_DIR}/core/client/*.h"
152+
"${project_SRC_DIR}/core/client/*.ipp")
153+
154+
FILE(GLOB_RECURSE SERVER_FILES
155+
"${project_SRC_DIR}/core/server/*.h"
156+
"${project_SRC_DIR}/core/server/*.ipp")
153157

154158
set(BOOST_ROOT
155159
"${project_THIRDPARTY_DIR}/boost" CACHE PATH "Path of boost library")
@@ -222,10 +226,40 @@ include_directories(${project_BINARY_DIR})
222226
# --- Include source directory
223227
include_directories(${project_SRC_DIR})
224228

229+
230+
# --- Set macro SSF service files
231+
set(SERVICES_FILES
232+
${BASE_SERVICE_FILES}
233+
${ADMIN_SERVICE_FILES}
234+
${DATAGRAMS_TO_FIBERS_SERVICE_FILES}
235+
${FIBERS_TO_DATAGRAMS_SERVICE_FILES}
236+
${SOCKETS_TO_FIBERS_SERVICE_FILES}
237+
${FIBERS_TO_SOCKETS_SERVICE_FILES}
238+
${SOCKS_SERVICE_FILES}
239+
${USER_SERVICE_FILES}
240+
${COPY_FILE_SERVICE_FILES})
241+
242+
# --- Set macro SSF source files
243+
set(SSF_SOURCES
244+
${VERSIONS_FILES}
245+
${COMMON_BOOST_FIBER_FILES}
246+
${COMMON_CONFIG_FILES}
247+
${COMMON_ERROR_FILES}
248+
${COMMON_NETWORK_FILES}
249+
${COMMON_UTILS_FILES}
250+
${CORE_TRANSPORT_POLICIES_FILES}
251+
${CORE_NETWORK_VIRTUAL_LAYER_POLICIES_FILES}
252+
${CORE_FACTORIES_FILES}
253+
${SERVICES_FILES}
254+
${PARSER_FILES}
255+
${CLIENT_FILES}
256+
${SERVER_FILES}
257+
)
258+
225259
set (BUILD_UNIT_TESTS ON)
226260
if (BUILD_UNIT_TESTS)
227261
include(GTest)
228-
262+
229263
set(GTEST_ROOT_DIR
230264
"${project_THIRDPARTY_DIR}/gtest" CACHE PATH "Path of gtest library")
231265

@@ -236,25 +270,9 @@ if (BUILD_UNIT_TESTS)
236270

237271
# --- Add GTest project
238272
add_subdirectory(${GTEST_ROOT_DIR})
239-
273+
240274
# --- Add src test
241275
add_subdirectory("${project_SRC_DIR}/tests")
242-
243-
# Group all tests in one directory
244-
project_group(
245-
"Unit tests"
246-
load_config_tests
247-
fiber_asio_tests
248-
ssf_client_server_tests
249-
ssf_client_server_cipher_suites_tests
250-
socks_tests
251-
remote_socks_tests
252-
stream_forward_tests
253-
remote_stream_forward_tests
254-
udp_forward_tests
255-
remote_udp_forward_tests
256-
bouncing_tests
257-
)
258276
endif (BUILD_UNIT_TESTS)
259277

260278
add_subdirectory("${project_SRC_DIR}/core")

0 commit comments

Comments
 (0)