├── .gitignore ├── .polemarch.yaml ├── CHANGELOG.md ├── CMakeLists.txt ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Dockerfile ├── Dockerfile-dev ├── LICENSE ├── api ├── CometServerApi.js ├── cometVideoApi.js ├── jssip.js ├── readme.md └── telegraf │ └── telegraf.sh ├── comet-service.sh ├── comet.ini ├── comet.service ├── coverage ├── CMakeLists.txt ├── README.md ├── cli.txt ├── cometN1.ini ├── cometN2.ini ├── coverage.sh ├── fulltests.sh ├── jstestrun.sh ├── onlyJsTests.sh ├── package.json ├── run.sh ├── test │ └── simpletest.js └── window-object.js ├── db.sql ├── dependencies ├── build.sh ├── freeswitch-esl │ ├── cJSON.c │ ├── cJSON_Utils.c │ ├── esl.c │ ├── esl_buffer.c │ ├── esl_config.c │ ├── esl_event.c │ ├── esl_json.c │ ├── esl_threadmutex.c │ └── include │ │ ├── cc.h │ │ ├── esl.h │ │ ├── esl_buffer.h │ │ ├── esl_cJSON.h │ │ ├── esl_cJSON_Utils.h │ │ ├── esl_config.h │ │ ├── esl_config_auto.h │ │ ├── esl_config_auto.h.in │ │ ├── esl_event.h │ │ ├── esl_json.h │ │ ├── esl_oop.h │ │ ├── esl_threadmutex.h │ │ └── stamp-h2 ├── hashlib2plus │ ├── doc │ │ ├── Doxyfile │ │ ├── FAQ.TXT │ │ ├── LICENSE.TXT │ │ └── README.TXT │ ├── src │ │ ├── .svn │ │ │ ├── all-wcprops │ │ │ └── entries │ │ ├── Makefile │ │ ├── hashlibpp.h │ │ ├── hl_exception.h │ │ ├── hl_hashwrapper.h │ │ ├── hl_md5.cpp │ │ ├── hl_md5.h │ │ ├── hl_md5wrapper.cpp │ │ ├── hl_md5wrapper.h │ │ ├── hl_sha1.cpp │ │ ├── hl_sha1.h │ │ ├── hl_sha1wrapper.cpp │ │ ├── hl_sha1wrapper.h │ │ ├── hl_sha256.cpp │ │ ├── hl_sha256.h │ │ ├── hl_sha256wrapper.cpp │ │ ├── hl_sha256wrapper.h │ │ ├── hl_sha2ext.cpp │ │ ├── hl_sha2ext.h │ │ ├── hl_sha2mac.h │ │ ├── hl_sha384wrapper.cpp │ │ ├── hl_sha384wrapper.h │ │ ├── hl_sha512wrapper.cpp │ │ ├── hl_sha512wrapper.h │ │ ├── hl_types.h │ │ ├── hl_wrapperfactory.cpp │ │ └── hl_wrapperfactory.h │ └── tools │ │ ├── h.cpp │ │ ├── hello.cpp │ │ └── libtest.cpp ├── jwt-cpp │ ├── .gitignore │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── Doxyfile │ ├── Doxyfile.in │ ├── LICENSE │ ├── README.md │ ├── ext │ │ ├── README.MD │ │ └── gtest-1.7.0 │ │ │ ├── CHANGES │ │ │ ├── CMakeLists.txt │ │ │ ├── CONTRIBUTORS │ │ │ ├── LICENSE │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── README │ │ │ ├── aclocal.m4 │ │ │ ├── build-aux │ │ │ ├── config.guess │ │ │ ├── config.h.in │ │ │ ├── config.sub │ │ │ ├── depcomp │ │ │ ├── install-sh │ │ │ ├── ltmain.sh │ │ │ └── missing │ │ │ ├── cmake │ │ │ └── internal_utils.cmake │ │ │ ├── codegear │ │ │ ├── gtest.cbproj │ │ │ ├── gtest.groupproj │ │ │ ├── gtest_all.cc │ │ │ ├── gtest_link.cc │ │ │ ├── gtest_main.cbproj │ │ │ └── gtest_unittest.cbproj │ │ │ ├── configure │ │ │ ├── configure.ac │ │ │ ├── fused-src │ │ │ └── gtest │ │ │ │ ├── gtest-all.cc │ │ │ │ ├── gtest.h │ │ │ │ └── gtest_main.cc │ │ │ ├── include │ │ │ └── gtest │ │ │ │ ├── gtest-death-test.h │ │ │ │ ├── gtest-message.h │ │ │ │ ├── gtest-param-test.h │ │ │ │ ├── gtest-param-test.h.pump │ │ │ │ ├── gtest-printers.h │ │ │ │ ├── gtest-spi.h │ │ │ │ ├── gtest-test-part.h │ │ │ │ ├── gtest-typed-test.h │ │ │ │ ├── gtest.h │ │ │ │ ├── gtest_pred_impl.h │ │ │ │ ├── gtest_prod.h │ │ │ │ └── internal │ │ │ │ ├── gtest-death-test-internal.h │ │ │ │ ├── gtest-filepath.h │ │ │ │ ├── gtest-internal.h │ │ │ │ ├── gtest-linked_ptr.h │ │ │ │ ├── gtest-param-util-generated.h │ │ │ │ ├── gtest-param-util-generated.h.pump │ │ │ │ ├── gtest-param-util.h │ │ │ │ ├── gtest-port.h │ │ │ │ ├── gtest-string.h │ │ │ │ ├── gtest-tuple.h │ │ │ │ ├── gtest-tuple.h.pump │ │ │ │ ├── gtest-type-util.h │ │ │ │ └── gtest-type-util.h.pump │ │ │ ├── m4 │ │ │ ├── acx_pthread.m4 │ │ │ ├── gtest.m4 │ │ │ ├── libtool.m4 │ │ │ ├── ltoptions.m4 │ │ │ ├── ltsugar.m4 │ │ │ ├── ltversion.m4 │ │ │ └── lt~obsolete.m4 │ │ │ ├── make │ │ │ └── Makefile │ │ │ ├── msvc │ │ │ ├── gtest-md.sln │ │ │ ├── gtest-md.vcproj │ │ │ ├── gtest.sln │ │ │ ├── gtest.vcproj │ │ │ ├── gtest_main-md.vcproj │ │ │ ├── gtest_main.vcproj │ │ │ ├── gtest_prod_test-md.vcproj │ │ │ ├── gtest_prod_test.vcproj │ │ │ ├── gtest_unittest-md.vcproj │ │ │ └── gtest_unittest.vcproj │ │ │ ├── samples │ │ │ ├── prime_tables.h │ │ │ ├── sample1.cc │ │ │ ├── sample1.h │ │ │ ├── sample10_unittest.cc │ │ │ ├── sample1_unittest.cc │ │ │ ├── sample2.cc │ │ │ ├── sample2.h │ │ │ ├── sample2_unittest.cc │ │ │ ├── sample3-inl.h │ │ │ ├── sample3_unittest.cc │ │ │ ├── sample4.cc │ │ │ ├── sample4.h │ │ │ ├── sample4_unittest.cc │ │ │ ├── sample5_unittest.cc │ │ │ ├── sample6_unittest.cc │ │ │ ├── sample7_unittest.cc │ │ │ ├── sample8_unittest.cc │ │ │ └── sample9_unittest.cc │ │ │ ├── scripts │ │ │ ├── fuse_gtest_files.py │ │ │ ├── gen_gtest_pred_impl.py │ │ │ ├── gtest-config.in │ │ │ ├── pump.py │ │ │ └── test │ │ │ │ └── Makefile │ │ │ ├── src │ │ │ ├── gtest-all.cc │ │ │ ├── gtest-death-test.cc │ │ │ ├── gtest-filepath.cc │ │ │ ├── gtest-internal-inl.h │ │ │ ├── gtest-port.cc │ │ │ ├── gtest-printers.cc │ │ │ ├── gtest-test-part.cc │ │ │ ├── gtest-typed-test.cc │ │ │ ├── gtest.cc │ │ │ └── gtest_main.cc │ │ │ ├── test │ │ │ ├── gtest-death-test_ex_test.cc │ │ │ ├── gtest-death-test_test.cc │ │ │ ├── gtest-filepath_test.cc │ │ │ ├── gtest-linked_ptr_test.cc │ │ │ ├── gtest-listener_test.cc │ │ │ ├── gtest-message_test.cc │ │ │ ├── gtest-options_test.cc │ │ │ ├── gtest-param-test2_test.cc │ │ │ ├── gtest-param-test_test.cc │ │ │ ├── gtest-param-test_test.h │ │ │ ├── gtest-port_test.cc │ │ │ ├── gtest-printers_test.cc │ │ │ ├── gtest-test-part_test.cc │ │ │ ├── gtest-tuple_test.cc │ │ │ ├── gtest-typed-test2_test.cc │ │ │ ├── gtest-typed-test_test.cc │ │ │ ├── gtest-typed-test_test.h │ │ │ ├── gtest-unittest-api_test.cc │ │ │ ├── gtest_all_test.cc │ │ │ ├── gtest_break_on_failure_unittest.py │ │ │ ├── gtest_break_on_failure_unittest_.cc │ │ │ ├── gtest_catch_exceptions_test.py │ │ │ ├── gtest_catch_exceptions_test_.cc │ │ │ ├── gtest_color_test.py │ │ │ ├── gtest_color_test_.cc │ │ │ ├── gtest_env_var_test.py │ │ │ ├── gtest_env_var_test_.cc │ │ │ ├── gtest_environment_test.cc │ │ │ ├── gtest_filter_unittest.py │ │ │ ├── gtest_filter_unittest_.cc │ │ │ ├── gtest_help_test.py │ │ │ ├── gtest_help_test_.cc │ │ │ ├── gtest_list_tests_unittest.py │ │ │ ├── gtest_list_tests_unittest_.cc │ │ │ ├── gtest_main_unittest.cc │ │ │ ├── gtest_no_test_unittest.cc │ │ │ ├── gtest_output_test.py │ │ │ ├── gtest_output_test_.cc │ │ │ ├── gtest_output_test_golden_lin.txt │ │ │ ├── gtest_pred_impl_unittest.cc │ │ │ ├── gtest_premature_exit_test.cc │ │ │ ├── gtest_prod_test.cc │ │ │ ├── gtest_repeat_test.cc │ │ │ ├── gtest_shuffle_test.py │ │ │ ├── gtest_shuffle_test_.cc │ │ │ ├── gtest_sole_header_test.cc │ │ │ ├── gtest_stress_test.cc │ │ │ ├── gtest_test_utils.py │ │ │ ├── gtest_throw_on_failure_ex_test.cc │ │ │ ├── gtest_throw_on_failure_test.py │ │ │ ├── gtest_throw_on_failure_test_.cc │ │ │ ├── gtest_uninitialized_test.py │ │ │ ├── gtest_uninitialized_test_.cc │ │ │ ├── gtest_unittest.cc │ │ │ ├── gtest_xml_outfile1_test_.cc │ │ │ ├── gtest_xml_outfile2_test_.cc │ │ │ ├── gtest_xml_outfiles_test.py │ │ │ ├── gtest_xml_output_unittest.py │ │ │ ├── gtest_xml_output_unittest_.cc │ │ │ ├── gtest_xml_test_utils.py │ │ │ ├── production.cc │ │ │ └── production.h │ │ │ └── xcode │ │ │ ├── Config │ │ │ ├── DebugProject.xcconfig │ │ │ ├── FrameworkTarget.xcconfig │ │ │ ├── General.xcconfig │ │ │ ├── ReleaseProject.xcconfig │ │ │ ├── StaticLibraryTarget.xcconfig │ │ │ └── TestTarget.xcconfig │ │ │ ├── Resources │ │ │ └── Info.plist │ │ │ ├── Samples │ │ │ └── FrameworkSample │ │ │ │ ├── Info.plist │ │ │ │ ├── WidgetFramework.xcodeproj │ │ │ │ └── project.pbxproj │ │ │ │ ├── runtests.sh │ │ │ │ ├── widget.cc │ │ │ │ ├── widget.h │ │ │ │ └── widget_test.cc │ │ │ ├── Scripts │ │ │ ├── runtests.sh │ │ │ └── versiongenerate.py │ │ │ └── gtest.xcodeproj │ │ │ └── project.pbxproj │ ├── samples │ │ ├── factories.cpp │ │ ├── failed.cpp │ │ ├── sign.cpp │ │ └── validate.cpp │ ├── src │ │ ├── CMakeLists.txt │ │ ├── JwtConfig.cmake │ │ ├── JwtConfigVersion.cmake │ │ ├── base64 │ │ │ └── base64.cpp │ │ ├── include │ │ │ ├── jwt │ │ │ │ ├── 1json.hpp │ │ │ │ ├── allocators.h │ │ │ │ ├── claimvalidator.h │ │ │ │ ├── claimvalidatorfactory.h │ │ │ │ ├── hmacvalidator.h │ │ │ │ ├── json.hpp │ │ │ │ ├── jwt.h │ │ │ │ ├── jwt_all.h │ │ │ │ ├── jwt_error.h │ │ │ │ ├── kidvalidator.h │ │ │ │ ├── listclaimvalidator.h │ │ │ │ ├── messagevalidator.h │ │ │ │ ├── messagevalidatorfactory.h │ │ │ │ ├── nonevalidator.h │ │ │ │ ├── rsavalidator.h │ │ │ │ ├── setvalidator.h │ │ │ │ └── timevalidator.h │ │ │ └── private │ │ │ │ ├── base64.h │ │ │ │ ├── buildwrappers.h │ │ │ │ ├── clock.h │ │ │ │ └── ssl_compat.h │ │ ├── jwt │ │ │ └── jwt.cpp │ │ └── validators │ │ │ ├── claims │ │ │ ├── claimvalidator.cpp │ │ │ ├── claimvalidatorfactory.cpp │ │ │ ├── listclaimvalidator.cpp │ │ │ └── timevalidator.cpp │ │ │ ├── hmacvalidator.cpp │ │ │ ├── kidvalidator.cpp │ │ │ ├── messagevalidator.cpp │ │ │ ├── messagevalidatorfactory.cpp │ │ │ ├── nonevalidator.cpp │ │ │ ├── rsavalidator.cpp │ │ │ └── setvalidator.cpp │ ├── test │ │ ├── CMakeLists.txt │ │ ├── all.cpp │ │ ├── base64 │ │ │ └── base64_test.cpp │ │ ├── token │ │ │ ├── sample.cpp │ │ │ └── token_test.cpp │ │ └── validators │ │ │ ├── claim_validators_factory_test.cpp │ │ │ ├── claim_validators_test.cpp │ │ │ ├── constants.h │ │ │ ├── validators_factory_test.cpp │ │ │ └── validators_test.cpp │ └── tools │ │ ├── cmake │ │ ├── CodeCoverage.cmake │ │ ├── cpplint.cmake │ │ ├── doxygen │ │ │ ├── COPYING-CMAKE-SCRIPTS │ │ │ └── UseDoxygen.cmake │ │ └── rpavlik │ │ │ ├── GetGitRevisionDescription.cmake │ │ │ ├── GetGitRevisionDescription.cmake.in │ │ │ ├── LICENSE_1_0.txt │ │ │ └── README │ │ ├── cpplint.py │ │ ├── ctest2junix.xsl │ │ ├── gcovr │ │ └── valgrind.supp ├── jwt-cpp1 │ ├── CMakeLists.txt │ ├── CTestTestfile.cmake │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── ext │ │ ├── README.MD │ │ └── gtest-1.7.0 │ │ │ ├── CHANGES │ │ │ ├── CMakeLists.txt │ │ │ ├── CONTRIBUTORS │ │ │ ├── CTestTestfile.cmake │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── README │ │ │ ├── aclocal.m4 │ │ │ ├── build-aux │ │ │ ├── config.guess │ │ │ ├── config.h.in │ │ │ ├── config.sub │ │ │ ├── depcomp │ │ │ ├── install-sh │ │ │ ├── ltmain.sh │ │ │ └── missing │ │ │ ├── cmake │ │ │ └── internal_utils.cmake │ │ │ ├── codegear │ │ │ ├── gtest.cbproj │ │ │ ├── gtest.groupproj │ │ │ ├── gtest_all.cc │ │ │ ├── gtest_link.cc │ │ │ ├── gtest_main.cbproj │ │ │ └── gtest_unittest.cbproj │ │ │ ├── configure │ │ │ ├── configure.ac │ │ │ ├── fused-src │ │ │ └── gtest │ │ │ │ ├── gtest-all.cc │ │ │ │ ├── gtest.h │ │ │ │ └── gtest_main.cc │ │ │ ├── include │ │ │ └── gtest │ │ │ │ ├── gtest-death-test.h │ │ │ │ ├── gtest-message.h │ │ │ │ ├── gtest-param-test.h │ │ │ │ ├── gtest-param-test.h.pump │ │ │ │ ├── gtest-printers.h │ │ │ │ ├── gtest-spi.h │ │ │ │ ├── gtest-test-part.h │ │ │ │ ├── gtest-typed-test.h │ │ │ │ ├── gtest.h │ │ │ │ ├── gtest_pred_impl.h │ │ │ │ ├── gtest_prod.h │ │ │ │ └── internal │ │ │ │ ├── gtest-death-test-internal.h │ │ │ │ ├── gtest-filepath.h │ │ │ │ ├── gtest-internal.h │ │ │ │ ├── gtest-linked_ptr.h │ │ │ │ ├── gtest-param-util-generated.h │ │ │ │ ├── gtest-param-util-generated.h.pump │ │ │ │ ├── gtest-param-util.h │ │ │ │ ├── gtest-port.h │ │ │ │ ├── gtest-string.h │ │ │ │ ├── gtest-tuple.h │ │ │ │ ├── gtest-tuple.h.pump │ │ │ │ ├── gtest-type-util.h │ │ │ │ └── gtest-type-util.h.pump │ │ │ ├── m4 │ │ │ ├── acx_pthread.m4 │ │ │ ├── gtest.m4 │ │ │ ├── libtool.m4 │ │ │ ├── ltoptions.m4 │ │ │ ├── ltsugar.m4 │ │ │ ├── ltversion.m4 │ │ │ └── lt~obsolete.m4 │ │ │ ├── make │ │ │ └── Makefile │ │ │ ├── msvc │ │ │ ├── gtest-md.sln │ │ │ ├── gtest-md.vcproj │ │ │ ├── gtest.sln │ │ │ ├── gtest.vcproj │ │ │ ├── gtest_main-md.vcproj │ │ │ ├── gtest_main.vcproj │ │ │ ├── gtest_prod_test-md.vcproj │ │ │ ├── gtest_prod_test.vcproj │ │ │ ├── gtest_unittest-md.vcproj │ │ │ └── gtest_unittest.vcproj │ │ │ ├── samples │ │ │ ├── prime_tables.h │ │ │ ├── sample1.cc │ │ │ ├── sample1.h │ │ │ ├── sample10_unittest.cc │ │ │ ├── sample1_unittest.cc │ │ │ ├── sample2.cc │ │ │ ├── sample2.h │ │ │ ├── sample2_unittest.cc │ │ │ ├── sample3-inl.h │ │ │ ├── sample3_unittest.cc │ │ │ ├── sample4.cc │ │ │ ├── sample4.h │ │ │ ├── sample4_unittest.cc │ │ │ ├── sample5_unittest.cc │ │ │ ├── sample6_unittest.cc │ │ │ ├── sample7_unittest.cc │ │ │ ├── sample8_unittest.cc │ │ │ └── sample9_unittest.cc │ │ │ ├── scripts │ │ │ ├── fuse_gtest_files.py │ │ │ ├── gen_gtest_pred_impl.py │ │ │ ├── gtest-config.in │ │ │ ├── pump.py │ │ │ └── test │ │ │ │ └── Makefile │ │ │ ├── src │ │ │ ├── gtest-all.cc │ │ │ ├── gtest-death-test.cc │ │ │ ├── gtest-filepath.cc │ │ │ ├── gtest-internal-inl.h │ │ │ ├── gtest-port.cc │ │ │ ├── gtest-printers.cc │ │ │ ├── gtest-test-part.cc │ │ │ ├── gtest-typed-test.cc │ │ │ ├── gtest.cc │ │ │ └── gtest_main.cc │ │ │ ├── test │ │ │ ├── gtest-death-test_ex_test.cc │ │ │ ├── gtest-death-test_test.cc │ │ │ ├── gtest-filepath_test.cc │ │ │ ├── gtest-linked_ptr_test.cc │ │ │ ├── gtest-listener_test.cc │ │ │ ├── gtest-message_test.cc │ │ │ ├── gtest-options_test.cc │ │ │ ├── gtest-param-test2_test.cc │ │ │ ├── gtest-param-test_test.cc │ │ │ ├── gtest-param-test_test.h │ │ │ ├── gtest-port_test.cc │ │ │ ├── gtest-printers_test.cc │ │ │ ├── gtest-test-part_test.cc │ │ │ ├── gtest-tuple_test.cc │ │ │ ├── gtest-typed-test2_test.cc │ │ │ ├── gtest-typed-test_test.cc │ │ │ ├── gtest-typed-test_test.h │ │ │ ├── gtest-unittest-api_test.cc │ │ │ ├── gtest_all_test.cc │ │ │ ├── gtest_break_on_failure_unittest.py │ │ │ ├── gtest_break_on_failure_unittest_.cc │ │ │ ├── gtest_catch_exceptions_test.py │ │ │ ├── gtest_catch_exceptions_test_.cc │ │ │ ├── gtest_color_test.py │ │ │ ├── gtest_color_test_.cc │ │ │ ├── gtest_env_var_test.py │ │ │ ├── gtest_env_var_test_.cc │ │ │ ├── gtest_environment_test.cc │ │ │ ├── gtest_filter_unittest.py │ │ │ ├── gtest_filter_unittest_.cc │ │ │ ├── gtest_help_test.py │ │ │ ├── gtest_help_test_.cc │ │ │ ├── gtest_list_tests_unittest.py │ │ │ ├── gtest_list_tests_unittest_.cc │ │ │ ├── gtest_main_unittest.cc │ │ │ ├── gtest_no_test_unittest.cc │ │ │ ├── gtest_output_test.py │ │ │ ├── gtest_output_test_.cc │ │ │ ├── gtest_output_test_golden_lin.txt │ │ │ ├── gtest_pred_impl_unittest.cc │ │ │ ├── gtest_premature_exit_test.cc │ │ │ ├── gtest_prod_test.cc │ │ │ ├── gtest_repeat_test.cc │ │ │ ├── gtest_shuffle_test.py │ │ │ ├── gtest_shuffle_test_.cc │ │ │ ├── gtest_sole_header_test.cc │ │ │ ├── gtest_stress_test.cc │ │ │ ├── gtest_test_utils.py │ │ │ ├── gtest_throw_on_failure_ex_test.cc │ │ │ ├── gtest_throw_on_failure_test.py │ │ │ ├── gtest_throw_on_failure_test_.cc │ │ │ ├── gtest_uninitialized_test.py │ │ │ ├── gtest_uninitialized_test_.cc │ │ │ ├── gtest_unittest.cc │ │ │ ├── gtest_xml_outfile1_test_.cc │ │ │ ├── gtest_xml_outfile2_test_.cc │ │ │ ├── gtest_xml_outfiles_test.py │ │ │ ├── gtest_xml_output_unittest.py │ │ │ ├── gtest_xml_output_unittest_.cc │ │ │ ├── gtest_xml_test_utils.py │ │ │ ├── production.cc │ │ │ └── production.h │ │ │ └── xcode │ │ │ ├── Config │ │ │ ├── DebugProject.xcconfig │ │ │ ├── FrameworkTarget.xcconfig │ │ │ ├── General.xcconfig │ │ │ ├── ReleaseProject.xcconfig │ │ │ ├── StaticLibraryTarget.xcconfig │ │ │ └── TestTarget.xcconfig │ │ │ ├── Resources │ │ │ └── Info.plist │ │ │ ├── Samples │ │ │ └── FrameworkSample │ │ │ │ ├── Info.plist │ │ │ │ ├── WidgetFramework.xcodeproj │ │ │ │ └── project.pbxproj │ │ │ │ ├── runtests.sh │ │ │ │ ├── widget.cc │ │ │ │ ├── widget.h │ │ │ │ └── widget_test.cc │ │ │ ├── Scripts │ │ │ ├── runtests.sh │ │ │ └── versiongenerate.py │ │ │ └── gtest.xcodeproj │ │ │ └── project.pbxproj │ ├── samples │ │ ├── factories.cpp │ │ ├── failed.cpp │ │ ├── sign.cpp │ │ └── validate.cpp │ ├── src │ │ ├── CMakeLists.txt │ │ ├── JwtConfig.cmake │ │ ├── JwtConfigVersion.cmake │ │ ├── Makefile │ │ ├── base64 │ │ │ └── base64.cpp │ │ ├── include │ │ │ ├── jwt │ │ │ │ ├── allocators.h │ │ │ │ ├── claimvalidator.h │ │ │ │ ├── claimvalidatorfactory.h │ │ │ │ ├── hmacvalidator.h │ │ │ │ ├── json.hpp │ │ │ │ ├── jwt.h │ │ │ │ ├── jwt_all.h │ │ │ │ ├── jwt_error.h │ │ │ │ ├── kidvalidator.h │ │ │ │ ├── listclaimvalidator.h │ │ │ │ ├── messagevalidator.h │ │ │ │ ├── messagevalidatorfactory.h │ │ │ │ ├── nonevalidator.h │ │ │ │ ├── rsavalidator.h │ │ │ │ ├── setvalidator.h │ │ │ │ └── timevalidator.h │ │ │ └── private │ │ │ │ ├── base64.h │ │ │ │ ├── buildwrappers.h │ │ │ │ ├── clock.h │ │ │ │ └── ssl_compat.h │ │ ├── jwt │ │ │ └── jwt.cpp │ │ └── validators │ │ │ ├── claims │ │ │ ├── claimvalidator.cpp │ │ │ ├── claimvalidatorfactory.cpp │ │ │ ├── listclaimvalidator.cpp │ │ │ └── timevalidator.cpp │ │ │ ├── hmacvalidator.cpp │ │ │ ├── kidvalidator.cpp │ │ │ ├── messagevalidator.cpp │ │ │ ├── messagevalidatorfactory.cpp │ │ │ ├── nonevalidator.cpp │ │ │ ├── rsavalidator.cpp │ │ │ └── setvalidator.cpp │ ├── test │ │ ├── CMakeLists.txt │ │ ├── CTestTestfile.cmake │ │ ├── Makefile │ │ ├── all.cpp │ │ ├── all_tests │ │ ├── base64 │ │ │ └── base64_test.cpp │ │ ├── base64_test │ │ ├── claim_validators_factory_test │ │ ├── claim_validators_test │ │ ├── sample │ │ ├── token │ │ │ ├── sample.cpp │ │ │ └── token_test.cpp │ │ ├── token_test │ │ ├── validators │ │ │ ├── claim_validators_factory_test.cpp │ │ │ ├── claim_validators_test.cpp │ │ │ ├── constants.h │ │ │ ├── validators_factory_test.cpp │ │ │ └── validators_test.cpp │ │ ├── validators_factory_test │ │ └── validators_test │ └── tools │ │ ├── cmake │ │ ├── CodeCoverage.cmake │ │ ├── cpplint.cmake │ │ ├── doxygen │ │ │ ├── COPYING-CMAKE-SCRIPTS │ │ │ └── UseDoxygen.cmake │ │ └── rpavlik │ │ │ ├── GetGitRevisionDescription.cmake │ │ │ ├── GetGitRevisionDescription.cmake.in │ │ │ ├── LICENSE_1_0.txt │ │ │ └── README │ │ ├── cpplint.py │ │ ├── ctest2junix.xsl │ │ ├── gcovr │ │ └── valgrind.supp └── tinyxml2 │ ├── tinyxml2.cpp │ └── tinyxml2.h ├── docs ├── API │ ├── API video of chats.md │ ├── Authorization on the CppComet.md │ ├── CometQL │ │ └── CometQL API.md │ ├── Connection settings.md │ ├── Error codes in CometQL.md │ ├── JavaScript API │ │ └── JavaScript API.md │ ├── Optimization delete, and insert in CometQL.md │ └── Reserved channel names.md ├── Administration │ ├── Clusterization CppComet.md │ ├── Install.md │ └── file comet.ini.md ├── Examples │ ├── An example of sending a message from a bash script.md │ ├── How to take a message out of the channel in JavaScript.md │ ├── Online CometQL CLI.md │ └── PHP chat example.md ├── Introduction │ ├── Introduction.md │ └── Versions of CppComet.md ├── Troubleshooting │ └── Checking the hosting for possible connect to the comet server.md ├── index.md └── load testing │ ├── Report about testing of 64000 connections online.md │ └── Stress testing.md ├── install-cppcomet.yml ├── install-mysql.yml ├── make-highload-host.yml ├── postinstall.cmake ├── readme.MD ├── roles ├── ansible-limits │ ├── .gitignore │ ├── .travis.yml │ ├── LICENSE.txt │ ├── README.md │ ├── Vagrantfile │ ├── defaults │ │ └── main.yml │ ├── files │ │ └── empty │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ └── main.yml │ ├── templates │ │ └── etc │ │ │ └── security │ │ │ └── limits.conf.j2 │ ├── tests │ │ ├── inventory │ │ ├── test.yml │ │ └── vagrant.yml │ └── vars │ │ └── main.yml ├── ansible-role-docker │ ├── .gitignore │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── docker-compose.yml │ │ ├── docker-users.yml │ │ ├── main.yml │ │ ├── setup-Debian.yml │ │ └── setup-RedHat.yml │ └── tests │ │ ├── README.md │ │ └── test.yml ├── ansible-role-highload │ ├── README.md │ ├── ansible.cfg │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ └── main.yml │ ├── tests │ │ ├── inventory │ │ └── test.yml │ └── vars │ │ └── main.yml ├── ansible-role-mysql │ ├── .gitignore │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── configure.yml │ │ ├── databases.yml │ │ ├── main.yml │ │ ├── replication.yml │ │ ├── secure-installation.yml │ │ ├── setup-Archlinux.yml │ │ ├── setup-Debian.yml │ │ ├── setup-RedHat.yml │ │ ├── users.yml │ │ └── variables.yml │ ├── templates │ │ ├── my.cnf.j2 │ │ ├── root-my.cnf.j2 │ │ └── user-my.cnf.j2 │ ├── tests │ │ ├── README.md │ │ ├── centos-7-test.yml │ │ ├── initctl_faker │ │ └── test.yml │ └── vars │ │ ├── Archlinux.yml │ │ ├── Debian.yml │ │ ├── RedHat-6.yml │ │ └── RedHat-7.yml ├── cppcomet-ansible-role │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ └── main.yml │ └── templates │ │ └── comet.ini.j2 ├── freeswitch-video │ ├── tasks │ │ └── main.yml │ └── templates │ │ ├── conf │ │ ├── autoload_configs │ │ │ ├── abstraction.conf.xml │ │ │ ├── acl.conf.xml │ │ │ ├── alsa.conf.xml │ │ │ ├── amqp.conf.xml │ │ │ ├── avmd.conf.xml │ │ │ ├── blacklist.conf.xml │ │ │ ├── callcenter.conf.xml │ │ │ ├── cdr_csv.conf.xml │ │ │ ├── cdr_mongodb.conf.xml │ │ │ ├── cdr_pg_csv.conf.xml │ │ │ ├── cdr_sqlite.conf.xml │ │ │ ├── cepstral.conf.xml │ │ │ ├── cidlookup.conf.xml │ │ │ ├── conference.conf.xml │ │ │ ├── conference_layouts.conf.xml │ │ │ ├── console.conf.xml │ │ │ ├── db.conf.xml │ │ │ ├── dialplan_directory.conf.xml │ │ │ ├── dingaling.conf.xml │ │ │ ├── directory.conf.xml │ │ │ ├── distributor.conf.xml │ │ │ ├── easyroute.conf.xml │ │ │ ├── enum.conf.xml │ │ │ ├── erlang_event.conf.xml │ │ │ ├── event_multicast.conf.xml │ │ │ ├── event_socket.conf.xml │ │ │ ├── fax.conf.xml │ │ │ ├── fifo.conf.xml │ │ │ ├── format_cdr.conf.xml │ │ │ ├── graylog2.conf.xml │ │ │ ├── hash.conf.xml │ │ │ ├── hiredis.conf.xml │ │ │ ├── httapi.conf.xml │ │ │ ├── http_cache.conf.xml │ │ │ ├── ivr.conf.xml │ │ │ ├── java.conf.xml │ │ │ ├── kazoo.conf.xml │ │ │ ├── lcr.conf.xml │ │ │ ├── local_stream.conf.xml │ │ │ ├── logfile.conf.xml │ │ │ ├── lua.conf.xml │ │ │ ├── memcache.conf.xml │ │ │ ├── modules.conf.xml │ │ │ ├── mongo.conf.xml │ │ │ ├── nibblebill.conf.xml │ │ │ ├── opal.conf.xml │ │ │ ├── opus.conf.xml │ │ │ ├── oreka.conf.xml │ │ │ ├── osp.conf.xml │ │ │ ├── perl.conf.xml │ │ │ ├── pocketsphinx.conf.xml │ │ │ ├── portaudio.conf.xml │ │ │ ├── post_load_modules.conf.xml │ │ │ ├── presence_map.conf.xml │ │ │ ├── python.conf.xml │ │ │ ├── redis.conf.xml │ │ │ ├── rss.conf.xml │ │ │ ├── rtmp.conf.xml │ │ │ ├── sangoma_codec.conf.xml │ │ │ ├── shout.conf.xml │ │ │ ├── skinny.conf.xml │ │ │ ├── smpp.conf.xml │ │ │ ├── sms_flowroute.conf.xml │ │ │ ├── sofia.conf.xml │ │ │ ├── spandsp.conf.xml │ │ │ ├── switch.conf.xml │ │ │ ├── syslog.conf.xml │ │ │ ├── timezones.conf.xml │ │ │ ├── translate.conf.xml │ │ │ ├── tts_commandline.conf.xml │ │ │ ├── unicall.conf.xml │ │ │ ├── unimrcp.conf.xml │ │ │ ├── v8.conf.xml │ │ │ ├── verto.conf.xml │ │ │ ├── voicemail.conf.xml │ │ │ ├── voicemail_ivr.conf.xml │ │ │ ├── xml_cdr.conf.xml │ │ │ ├── xml_curl.conf.xml │ │ │ ├── xml_rpc.conf.xml │ │ │ ├── xml_scgi.conf.xml │ │ │ └── zeroconf.conf.xml │ │ ├── chatplan │ │ │ └── default.xml │ │ ├── cpp_comet.xml │ │ ├── dialplan │ │ │ └── default.xml │ │ ├── directory │ │ │ ├── default.xml │ │ │ └── default │ │ │ │ ├── 1000.xml │ │ │ │ ├── 1001.xml │ │ │ │ ├── 1002.xml │ │ │ │ ├── 1003.xml │ │ │ │ ├── 1004.xml │ │ │ │ ├── 1005.xml │ │ │ │ ├── 1006.xml │ │ │ │ ├── 1007.xml │ │ │ │ ├── 1008.xml │ │ │ │ ├── 1009.xml │ │ │ │ ├── 1010.xml │ │ │ │ ├── 1011.xml │ │ │ │ ├── 1012.xml │ │ │ │ ├── 1013.xml │ │ │ │ ├── 1014.xml │ │ │ │ ├── 1015.xml │ │ │ │ ├── 1016.xml │ │ │ │ ├── 1017.xml │ │ │ │ ├── 1018.xml │ │ │ │ ├── 1019.xml │ │ │ │ ├── brian.xml │ │ │ │ ├── default.xml │ │ │ │ ├── example.com.xml │ │ │ │ └── skinny-example.xml │ │ ├── extensions.conf │ │ ├── freeswitch.xml │ │ ├── fur_elise.ttml │ │ ├── ivr_menus │ │ │ ├── demo_ivr.xml │ │ │ └── new_demo_ivr.xml │ │ ├── jingle_profiles │ │ │ ├── client.xml │ │ │ └── server.xml │ │ ├── lang │ │ │ ├── de │ │ │ │ ├── de.xml │ │ │ │ ├── demo │ │ │ │ │ └── demo.xml │ │ │ │ └── vm │ │ │ │ │ ├── sounds.xml │ │ │ │ │ └── tts.xml │ │ │ ├── en │ │ │ │ ├── demo │ │ │ │ │ ├── demo-ivr.xml │ │ │ │ │ ├── demo.xml │ │ │ │ │ ├── funnies.xml │ │ │ │ │ └── new-demo-ivr.xml │ │ │ │ ├── dir │ │ │ │ │ ├── sounds.xml │ │ │ │ │ └── tts.xml │ │ │ │ ├── en.xml │ │ │ │ ├── ivr │ │ │ │ │ └── sounds.xml │ │ │ │ └── vm │ │ │ │ │ ├── sounds.xml │ │ │ │ │ ├── tts.xml │ │ │ │ │ └── voicemail_ivr.xml │ │ │ ├── es │ │ │ │ ├── demo │ │ │ │ │ ├── demo-es-ES.xml │ │ │ │ │ ├── demo-es-MX.xml │ │ │ │ │ ├── demo-ivr-es-ES.xml │ │ │ │ │ └── demo-ivr-es-MX.xml │ │ │ │ ├── dir │ │ │ │ │ ├── sounds-es-ES.xml │ │ │ │ │ ├── sounds-es-MX.xml │ │ │ │ │ ├── tts-es-ES.xml │ │ │ │ │ └── tts-es-MX.xml │ │ │ │ ├── es_ES.xml │ │ │ │ ├── es_MX.xml │ │ │ │ └── vm │ │ │ │ │ ├── sounds-es-ES.xml │ │ │ │ │ ├── sounds-es-MX.xml │ │ │ │ │ ├── tts-es-ES.xml │ │ │ │ │ └── tts-es-MX.xml │ │ │ ├── fr │ │ │ │ ├── demo │ │ │ │ │ └── demo.xml │ │ │ │ ├── dir │ │ │ │ │ ├── sounds.xml │ │ │ │ │ └── tts.xml │ │ │ │ ├── fr.xml │ │ │ │ └── vm │ │ │ │ │ └── sounds.xml │ │ │ ├── he │ │ │ │ ├── demo │ │ │ │ │ ├── demo-ivr.xml │ │ │ │ │ └── demo.xml │ │ │ │ ├── dir │ │ │ │ │ └── sounds.xml │ │ │ │ ├── he.xml │ │ │ │ └── vm │ │ │ │ │ └── sounds.xml │ │ │ ├── pt │ │ │ │ ├── demo │ │ │ │ │ ├── demo-ivr-pt-BR.xml │ │ │ │ │ ├── demo-ivr-pt-PT.xml │ │ │ │ │ ├── demo-pt-BR.xml │ │ │ │ │ └── demo-pt-PT.xml │ │ │ │ ├── dir │ │ │ │ │ ├── sounds-pt-BR.xml │ │ │ │ │ ├── sounds-pt-PT.xml │ │ │ │ │ ├── tts-pt-BR.xml │ │ │ │ │ └── tts-pt-PT.xml │ │ │ │ ├── pt_BR.xml │ │ │ │ ├── pt_PT.xml │ │ │ │ └── vm │ │ │ │ │ ├── sounds-pt-BR.xml │ │ │ │ │ ├── sounds-pt-PT.xml │ │ │ │ │ ├── tts-pt-BR.xml │ │ │ │ │ └── tts-pt-PT.xml │ │ │ ├── ru │ │ │ │ ├── demo │ │ │ │ │ ├── demo-ivr.xml │ │ │ │ │ └── demo.xml │ │ │ │ ├── dir │ │ │ │ │ ├── sounds.xml │ │ │ │ │ └── tts.xml │ │ │ │ ├── ru.xml │ │ │ │ └── vm │ │ │ │ │ ├── sounds.xml │ │ │ │ │ └── tts.xml │ │ │ └── sv │ │ │ │ ├── sv.xml │ │ │ │ └── vm │ │ │ │ └── sounds.xml │ │ ├── mime.types │ │ ├── mrcp_profiles │ │ │ ├── loquendo-7-mrcp-v2.xml │ │ │ ├── nuance-1.0.0-mrcp-v1.xml │ │ │ ├── nuance-5.0-mrcp-v1.xml │ │ │ ├── nuance-5.0-mrcp-v2.xml │ │ │ ├── unimrcpserver-mrcp-v1.xml │ │ │ ├── vestec-mrcp-v1.xml │ │ │ └── voxeo-prophecy-8.0-mrcp-v1.xml │ │ ├── notify-voicemail.tpl │ │ ├── sip_profiles │ │ │ ├── external-ipv6.xml │ │ │ ├── external-ipv6 │ │ │ │ └── example.xml │ │ │ ├── external.xml │ │ │ ├── external │ │ │ │ └── example.xml │ │ │ ├── internal-ipv6.xml │ │ │ └── internal.xml │ │ ├── skinny_profiles │ │ │ └── internal.xml │ │ ├── tetris.ttml │ │ ├── vars.xml │ │ ├── voicemail.tpl │ │ └── web-vm.tpl │ │ └── cpp_comet.xml.j2 └── readme.md ├── run-tests.yml ├── src ├── CP.h ├── Client_connection.cpp ├── Client_connection.h ├── CometQL.cc ├── CometQL.cpp ├── CometQL.h ├── CometQL.hh ├── CometQL.l ├── CometQL.tab.c ├── CometQL.tab.h ├── CometQL.y ├── CometQLProxy_connection.cpp ├── CometQLProxy_connection.h ├── Freeswitch_connection.cpp ├── Freeswitch_connection.h ├── JwtConfig.cmake ├── JwtConfigVersion.cmake ├── MySqlProtocol.cpp ├── MySqlProtocol.h ├── MySql_connection.cpp ├── MySql_connection.h ├── TagLoger.cpp ├── TagLoger.h ├── TagTimer.cpp ├── TagTimer.h ├── appConf.cpp ├── appConf.h ├── backtrace.cpp ├── backtrace.h ├── base64.cpp ├── base64.h ├── connection.cpp ├── connection.h ├── dbLink.cpp ├── dbLink.h ├── devManager.cpp ├── devManager.h ├── ini_parser │ └── ini_parser.hpp ├── internalApi.cpp ├── internalApi.h ├── intervalLoop.cpp ├── intervalLoop.h ├── lex.yy.c ├── main.cpp ├── main.h ├── mime_types.h ├── mystring.cpp ├── mystring.h ├── one_connection.h ├── sha1.cpp ├── sha1.h ├── ssl.cpp ├── ssl.h ├── tcpServer.cpp ├── tcpServer.h ├── tcpServer_benchmark.cpp ├── tcpServer_benchmark.h ├── thread_data.cpp ├── thread_data.h ├── user_index.cpp ├── user_index.h ├── y.tab.c └── y.tab.h ├── tests └── tsung-tests │ ├── readme.md │ ├── tsung-mysql.xml │ └── tsung.xml ├── update-cppcomet.yml └── upload-to-docker-hub.yml /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | *.o 3 | *.so 4 | *.lo 5 | *.a 6 | *.la 7 | *.loT 8 | *.orig 9 | *.rej 10 | *.dirstamp 11 | .libs 12 | .deps 13 | 14 | /.idea 15 | 16 | # CMake 17 | */CMakeFiles 18 | */CMakeFiles/* 19 | *CMakeCache.txt 20 | /nbproject 21 | /nbproject/* 22 | *CMakeFiles* 23 | 24 | /coverage/CMakeFiles 25 | /coverage/node_modules 26 | /coverage/CMakeCache.txt 27 | /coverage/cmake_install.cmake 28 | /coverage/CometQL.tab.c 29 | /coverage/CometQL.tab.h 30 | /coverage/lex.yy.c 31 | /coverage/Makefile 32 | /coverage/y.tab.c 33 | /coverage/y.tab.h 34 | 35 | /coverage/cppcomet_coverage 36 | 37 | /coverage/CMakeFiles 38 | /coverage/cov 39 | /coverage/coverage 40 | /coverage/node_modules 41 | /coverage/CMakeCache.txt 42 | /coverage/cmake_install.cmake 43 | /coverage/CometQL.tab.c 44 | /coverage/CometQL.tab.h 45 | /coverage/coverage.html 46 | /coverage/lex.yy.c 47 | /coverage/Makefile 48 | /coverage/posix_signal.log 49 | /coverage/test-cov.js 50 | /coverage/y.tab.c 51 | /coverage/y.tab.h 52 | -------------------------------------------------------------------------------- /.polemarch.yaml: -------------------------------------------------------------------------------- 1 | view: 2 | fields: 3 | 4 | 5 | git_cppcomet_repo_url: 6 | title: "CppComet GIT" 7 | default: "https://github.com/CppComet/comet-server" 8 | format: string 9 | help: "CppComet GIT" 10 | 11 | git_branch: 12 | title: "branch" 13 | default: "master" 14 | format: string 15 | help: "GIT branch" 16 | 17 | playbooks: 18 | 19 | 20 | 21 | "highload-host.yml": 22 | title: "Make highload host" 23 | help: "Unset limits for opened connections" 24 | 25 | "update-cppcomet.yml": 26 | title: "Update CppComet" 27 | help: "Updates CppComet from GIT" -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## CONTRIBUTING 2 | 3 | This project has commercial version. I need to have an ability to add new code to both version as to opensourse and as into commercial version. 4 | 5 | Thus every code contributed to CppComet should be licensed under permissive non-copyleft license like MIT, Apache or BSD. 6 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:9 2 | MAINTAINER Trapenok Victor 3 | 4 | 5 | RUN apt-get update && apt-get install --assume-yes cmake make cpp gcc libssl-dev g++ pkg-config libmariadbclient-dev-compat mysql-client flex mailutils uuid-dev git wget 6 | RUN git clone https://github.com/CppComet/comet-server && cd comet-server && cmake . && make && make install && mkdir /var/log/cppcomet 7 | RUN apt-get remove -y cmake make flex git cpp gcc g++ && apt-get clean 8 | 9 | EXPOSE 8087 10 | EXPOSE 3307 11 | EXPOSE 3311 12 | 13 | CMD ["/usr/bin/cppcomet"] 14 | 15 | # You need put comet.ini file in to /etc/comet-server/comet.ini with configuration for coocomet 16 | # Build docker with command 17 | # docker build --tag cppcomet . 18 | # Start docker with command 19 | # docker run -v /var/log/cppcomet:/var/log/cppcomet -v /etc/comet-server/comet.ini:/etc/comet-server/comet.ini -p=8088:80 -p=3305:3306 -p=3316:3316 cppcomet:latest 20 | 21 | 22 | 23 | # stop all containers: 24 | # docker kill $(docker ps -q) 25 | 26 | # remove all containers 27 | # docker rm $(docker ps -a -q) 28 | 29 | # remove all docker images 30 | # docker rmi $(docker images -q) 31 | -------------------------------------------------------------------------------- /Dockerfile-dev: -------------------------------------------------------------------------------- 1 | FROM debian:9 2 | MAINTAINER Levhav@yandex.ru 3 | 4 | 5 | RUN apt-get update && apt-get install --assume-yes htop nano mc cmake make cpp gcc libssl-dev g++ pkg-config libmariadbclient-dev-compat mysql-client flex mailutils uuid-dev git wget checkinstall 6 | RUN apt-get install -y build-essential libssl-dev curl 7 | 8 | RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - 9 | RUN apt-get install -y nodejs valgrind 10 | 11 | RUN npm install websockets mysql 12 | 13 | EXPOSE 8087 14 | EXPOSE 3307 15 | EXPOSE 3311 16 | 17 | # RUN history -s "rm -rf /comet/ && cp -R /cppcomet/ /comet && cd /comet/ && rm -rf /comet/dependencies/jwt-cpp/CMakeCache.txt && rm -rf /comet/CMakeCache.txt && cmake . && make" 18 | 19 | CMD ["/bin/bash"] 20 | 21 | # This file used for building .deb package 22 | # Build docker with command 23 | # docker build --tag debian-dev -f ./Dockerfile-dev . 24 | 25 | 26 | # Start docker with command 27 | # docker run -v $(pwd):/cppcomet -p=8087:8087 -p=3305:3305 -p=3316:3316 -it debian-dev:latest bash 28 | 29 | 30 | 31 | # stop all containers: 32 | # docker kill $(docker ps -q) 33 | 34 | # remove all containers 35 | # docker rm $(docker ps -a -q) 36 | 37 | # remove all docker images 38 | # docker rmi $(docker images -q) 39 | -------------------------------------------------------------------------------- /api/readme.md: -------------------------------------------------------------------------------- 1 | 2 | ## JavaScript API 3 | 4 | See documentation here [EN](https://comet-server.com/wiki/doku.php/en:comet:javascript_api#javascript_api) [RU](https://comet-server.com/wiki/doku.php/comet:javascript_api#javascript_api) -------------------------------------------------------------------------------- /api/telegraf/telegraf.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # telegraf --config-directory=/etc/telegraf --test --input-filter=exec 4 | 5 | COMETUSER="root" 6 | COMETPASS="password" 7 | COMETHOST="127.0.0.1" 8 | COMETPORT=3306 9 | COMETDB="CometQL_v1" 10 | 11 | result=$(echo "show global status" | mysql --skip-column-names -s --skip-ssl -u$COMETUSER -p$COMETPASS -h$COMETHOST -P$COMETPORT -D$COMETDB) 12 | 13 | j=0 14 | k=0 15 | key="" 16 | 17 | count=${#result[@]} 18 | regex="^[0-9.]+$" 19 | 20 | echo -n "{" 21 | 22 | for i in $result 23 | do 24 | if [ $j -eq 1 ] 25 | then 26 | j=0 27 | if [[ $i =~ $regex ]] 28 | then 29 | echo -n "\"$key\":$i," 30 | fi 31 | else 32 | j=1 33 | key=$i 34 | fi 35 | done 36 | 37 | echo -n "\"end\":true}" 38 | -------------------------------------------------------------------------------- /comet-service.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "CppComet" 4 | 5 | PATH=/sbin:/usr/sbin:/bin:/usr/bin 6 | RUNDIR=/usr/bin 7 | EXTRAOPTS= 8 | PIDFILE=/var/run/cppcomet.pid 9 | 10 | 11 | cd ${RUNDIR} 12 | 13 | case "$1" in 14 | start) 15 | if test -f "$PIDFILE" 16 | then 17 | echo "CppComet already run" 18 | else 19 | echo "Starting CppComet" 20 | ulimit -n 100000 21 | /usr/bin/cppcomet --conf /etc/comet-server/comet.ini > /var/log/cpp_comet.log 2>/var/log/cpp_comet.log & 22 | fi 23 | ;; 24 | stop) 25 | if test -f "$PIDFILE" 26 | then 27 | echo "Stopping CppComet" 28 | killall cppcomet 29 | kill `cat $PIDFILE` 30 | `rm -rf $PIDFILE` 31 | else 32 | echo "Stopping CppComet" 33 | killall cppcomet 34 | #echo "pid file does not exist" 35 | #echo 'exit' > /tmp/cpp.comet 36 | fi 37 | ;; 38 | *) 39 | if test -f "$PIDFILE" 40 | then 41 | echo "Stopping CppComet" 42 | killall -9 cppcomet 43 | kill `cat $PIDFILE` 44 | `rm -rf $PIDFILE` 45 | else 46 | echo "pid file does not exist" 47 | fi 48 | echo "Starting CppComet" 49 | sleep 15 50 | ulimit -n 100000 51 | /usr/bin/cppcomet --conf /etc/comet-server/comet.ini > /var/log/cpp_comet.log 2>/var/log/cpp_comet.log & 52 | ;; 53 | esac -------------------------------------------------------------------------------- /comet.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Comet server 3 | After=network.target 4 | Documentation=http://comet-server.com 5 | 6 | [Service] 7 | Type=forking 8 | ExecStart=/etc/comet-server/comet-service.sh start 9 | ExecReload=/etc/comet-server/comet-service.sh restart 10 | ExecStop=/etc/comet-server/comet-service.sh stop 11 | TimeoutStopSec=0 12 | Restart=always 13 | User=root 14 | Group=root 15 | 16 | [Install] 17 | WantedBy=multi-user.target 18 | Alias=cppcomet.service 19 | 20 | -------------------------------------------------------------------------------- /coverage/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Calculate coverage 3 | 4 | Scripts for calculate coverage in tests 5 | 6 | ```./fulltests.sh``` - для запуска полного цикла тестов 7 | 8 | ```./jstestrun.sh``` - для запуска js тестов но без запуска инстансов cppcomet (Удобно при написании естов) 9 | 10 | ```./run.sh``` - Собирает и запускает CppComet с флагами для подсчёта покрытия тестами. 11 | 12 | ```./coverage.sh``` - генерация html отчёта о покрытии тестами C++ кода 13 | 14 | ```apt-get install lcov``` установить lcov 15 | 16 | ## Docker 17 | 18 | Use file Dockerfile-dev for work enviroment 19 | 20 | For build use command 21 | ```docker build --tag debian-dev -f ./Dockerfile-dev .``` 22 | 23 | 24 | For run use command 25 | cd .. && docker run -v $(pwd):/cppcomet -p=8087:8087 -p=3305:3305 -p=3316:3316 -it debian-dev:latest bash 26 | 27 | 28 | ## Dependes 29 | 30 | `sudo apt install npm valgrind` 31 | 32 | `sudo npm install websocket` 33 | `sudo npm install mysql` 34 | `sudo npm install -g istanbul` 35 | -------------------------------------------------------------------------------- /coverage/cli.txt: -------------------------------------------------------------------------------- 1 | sleep 2 | sleep 3 | sleep 4 | sleep 5 | sleep 6 | sleep 7 | sleep 8 | sleep 9 | sleep 10 | sleep 11 | sleep 12 | sleep 13 | sleep 14 | sleep 15 | sleep 16 | sleep 17 | sleep 18 | sleep 19 | sleep 20 | sleep 21 | sleep 22 | sleep 23 | sleep 24 | sleep 25 | sleep 26 | sleep 27 | sleep 28 | sleep 29 | sleep 30 | sleep 31 | sleep 32 | sleep 33 | sleep 34 | sleep 35 | sleep 36 | sleep 37 | sleep 38 | sleep 39 | sleep 40 | sleep 41 | sleep 42 | sleep 43 | sleep 44 | sleep 45 | sleep 46 | sleep 47 | sleep 48 | sleep 49 | sleep 50 | sleep 51 | sleep 52 | sleep 53 | sleep 54 | sleep 55 | sleep 56 | sleep 57 | sleep 58 | sleep 59 | sleep 60 | sleep 61 | exit 62 | 63 | 64 | -------------------------------------------------------------------------------- /coverage/coverage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | mkdir cov -p 5 | cd cov 6 | 7 | # Определение coverage 8 | # find ./ -type f -iname '*.gcno' | grep "main" | sed -e 's/main.cpp/*/g' 9 | files=`find ../ -type f -iname '*.gcno' | grep "main" | sed -e 's/main.cpp/*/g'` 10 | 11 | #print "nnn - $files" 12 | 13 | lcov --directory .. --capture --output-file cov.tmp1 14 | gcov -b $files 15 | 16 | 17 | 18 | # Генерация отчёта 19 | mkdir cov -p 20 | 21 | nstart1=`cat cov.tmp1 | grep -n "\.cc" | grep -E -o "^[0-9]+"` 22 | print "nnn - $nstart1" 23 | cat cov.tmp1 | sed -e "$nstart1,/end_of_record/d" > cov.tmp2 24 | 25 | nstart2=`cat cov.tmp2 | grep -n "\.y" | grep -E -o "^[0-9]+"` 26 | print "nnn - $nstart2" 27 | cat cov.tmp2 | sed -e "$nstart2,/end_of_record/d" > cov.info 28 | 29 | genhtml -o ./cov cov.info 30 | 31 | 32 | 33 | echo "See result in \"`pwd`/cov/index.html\"" 34 | 35 | 36 | -------------------------------------------------------------------------------- /coverage/fulltests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cmake . 4 | make 5 | 6 | ./jstestrun.sh > /tmp/last-tests.log & 7 | 8 | # Запуск под valgrind 9 | valgrind ./cppcomet_coverage --conf ./cometN1.ini --cli < ./cli.txt > /tmp/last-cppcomet-N1-tests.log 10 | #./cppcomet_coverage --conf ./cometN2.ini --cli < ./cli.txt 11 | 12 | ./coverage.sh > /tmp/last-cppcomet-N1-test-coverage.log 13 | 14 | #cat /tmp/last-tests.log | grep "\[js-test-done-ok\]" | wc 15 | 16 | cat /tmp/last-tests.log | grep -A 4 "Coverage summary" 17 | cat /tmp/last-cppcomet-N1-test-coverage.log | grep -A 2 "Overall coverage rate:" 18 | 19 | 20 | testIsOk=`cat /tmp/last-tests.log | grep '\[js-test-done-ok\]' | wc -l` 21 | 22 | if [ "$testIsOk" == "1" ]; 23 | then 24 | echo "Tests completed" 25 | exit 0 26 | else 27 | cat /tmp/last-tests.log 28 | echo "Tests failed" 29 | exit -1 30 | fi 31 | 32 | -------------------------------------------------------------------------------- /coverage/jstestrun.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | printf """\n \ 4 | \n \ 5 | testTimeTimeout = 200*1000\n \ 6 | maxTimeTimeout = testTimeTimeout+30000\n \ 7 | timeSpend = 0;\n \ 8 | setInterval(function (){\n \ 9 | timeSpend++; \ 10 | console.log('[1s spend]['+timeSpend+']');\n \ 11 | }, 1000)\n \ 12 | \n \ 13 | setTimeout(function(){ \n \ 14 | """ > ./test-cov.js 15 | 16 | 17 | printf """\n\n\n""" >> ./test-cov.js 18 | 19 | # Эмуляция объекта window для запуска тестов js api в nodejs 20 | cat ./window-object.js >> ./test-cov.js 21 | 22 | 23 | # Включение CometServerApi.js 24 | cat ../api/CometServerApi.js >> ./test-cov.js 25 | 26 | printf """\n\n\n""" >> ./test-cov.js 27 | 28 | # Тело тестов 29 | cat ./test/*.js >> ./test-cov.js 30 | 31 | # Завершение теста через 10 секунд 32 | printf """\n \ 33 | setTimeout(function(){\n \ 34 | console.log(\"[js-test] [js-test-done-ok] \x1b[1;32m all tests done in js test \x1b[0m\");\ 35 | process.exit()\n \ 36 | }, maxTimeTimeout)\n """ >> ./test-cov.js 37 | 38 | 39 | # Начало всех тестов через 2 секунды после запуска комет сервера. 40 | printf """\n }, 1000)""" >> ./test-cov.js 41 | 42 | istanbul cover ./test-cov.js 43 | 44 | 45 | echo "See result in \"`pwd`/coverage/lcov-report/index.html\"" -------------------------------------------------------------------------------- /coverage/onlyJsTests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ./jstestrun.sh > /tmp/last-tests.log 4 | 5 | cat /tmp/last-tests.log | grep -A 4 "Coverage summary" 6 | 7 | testIsOk=`cat /tmp/last-tests.log | grep '\[js-test-done-ok\]' | wc -l` 8 | 9 | if [ "$testIsOk" == "1" ]; 10 | then 11 | echo "Tests completed" 12 | exit 0 13 | else 14 | cat /tmp/last-tests.log 15 | echo "Tests failed" 16 | exit -1 17 | fi 18 | 19 | -------------------------------------------------------------------------------- /coverage/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cppcomettests", 3 | "version": "1.0.0", 4 | "description": "Scripts for calculate coverage in tests", 5 | "main": "test.js", 6 | "scripts": { 7 | "test": "istanbul cover test.js" 8 | }, 9 | "author": "Trapenok Victor", 10 | "license": "AGPL-3.0", 11 | "dependencies": { 12 | "mysql": "^2.15.0", 13 | "websocket": "^1.0.26" 14 | }, 15 | "optionalDependencies": { 16 | "bufferutil": "^3.0.5", 17 | "utf-8-validate": "^4.0.2" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /coverage/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Запуск с coverage 4 | cmake . 5 | make 6 | 7 | # Запуск под valgrind 8 | valgrind ./cppcomet_coverage --conf ./cometN1.ini 9 | 10 | -------------------------------------------------------------------------------- /dependencies/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Build jwt-cpp..." 4 | cd dependencies/jwt-cpp 5 | cmake . 6 | make 7 | echo "Build jwt-cpp complete" -------------------------------------------------------------------------------- /dependencies/freeswitch-esl/esl_json.c: -------------------------------------------------------------------------------- 1 | #include "esl.h" 2 | 3 | ESL_DECLARE(const char *)cJSON_GetObjectCstr(const cJSON *object, const char *string) 4 | { 5 | cJSON *cj = cJSON_GetObjectItem(object, string); 6 | 7 | if (!cj || cj->type != cJSON_String || !cj->valuestring) return NULL; 8 | 9 | return cj->valuestring; 10 | } 11 | 12 | /* For Emacs: 13 | * Local Variables: 14 | * mode:c 15 | * indent-tabs-mode:t 16 | * tab-width:4 17 | * c-basic-offset:4 18 | * End: 19 | * For VIM: 20 | * vim:set softtabstop=4 shiftwidth=4 tabstop=4 noet: 21 | */ 22 | -------------------------------------------------------------------------------- /dependencies/freeswitch-esl/include/esl_config_auto.h: -------------------------------------------------------------------------------- 1 | /* libs/esl/src/include/esl_config_auto.h. Generated from esl_config_auto.h.in by configure. */ 2 | /* Define to 1 if you have libedit available */ 3 | #define HAVE_LIBEDIT 1 4 | 5 | /* Define to 1 if you have the declaration `EL_PROMPT_ESC', and to 0 6 | if you don't. */ 7 | #define HAVE_DECL_EL_PROMPT_ESC 1 8 | 9 | /* Define to 1 if you have the declaration `EL_REFRESH', and to 0 if 10 | you don't. */ 11 | #define HAVE_DECL_EL_REFRESH 1 12 | 13 | /* Define to 1 if you have the `el_wset' function. */ 14 | #define HAVE_EL_WSET 1 15 | -------------------------------------------------------------------------------- /dependencies/freeswitch-esl/include/esl_config_auto.h.in: -------------------------------------------------------------------------------- 1 | /* Define to 1 if you have libedit available */ 2 | #undef HAVE_LIBEDIT 3 | 4 | /* Define to 1 if you have the declaration `EL_PROMPT_ESC', and to 0 5 | if you don't. */ 6 | #undef HAVE_DECL_EL_PROMPT_ESC 7 | 8 | /* Define to 1 if you have the declaration `EL_REFRESH', and to 0 if 9 | you don't. */ 10 | #undef HAVE_DECL_EL_REFRESH 11 | 12 | /* Define to 1 if you have the `el_wset' function. */ 13 | #undef HAVE_EL_WSET 14 | -------------------------------------------------------------------------------- /dependencies/freeswitch-esl/include/stamp-h2: -------------------------------------------------------------------------------- 1 | timestamp for libs/esl/src/include/esl_config_auto.h 2 | -------------------------------------------------------------------------------- /dependencies/hashlib2plus/doc/FAQ.TXT: -------------------------------------------------------------------------------- 1 | 2 | hashlib++ - a simple hash library for C++ 3 | Copyright (c) 2007-2011 Benjamin Grüdelbach 4 | 5 | About this document: 6 | This document contains frequently asked questions 7 | You should read this stuff before asking for help. 8 | 9 | Apr 2010 10 | 11 | ------------------------------------------------------------------------------- 12 | 13 | Q1) What is hashlib++ ? 14 | A1) hashlib++ is a simple and very easy to use library to create a 15 | cryptographic checksum (like MD5 or SHA1) called "hash" in C++. 16 | 17 | ------------------------------------------------------------------------------- 18 | 19 | Q2) What functions are supported? 20 | A2) By now hashlib++ supports the following functions: 21 | * MD5 Message-Digest algorithm 5 22 | * SHA1 Secure Hash Algorithm 1 23 | * SHA2-Family Secure Hash Algorithm 256, 384 and 512 24 | 25 | ------------------------------------------------------------------------------- 26 | 27 | Q3) I'm getting a linker error like this: 28 | "undefined reference to md5wrapper::md5wrapper()". What can I do? 29 | A3) If you are using hashlib++ as source code library you probably forgot 30 | to add the *.cpp files to your project. 31 | If you are using hashlib++ as static library you need to link against 32 | this library (Please refer to your compiler's manual). 33 | 34 | ------------------------------------------------------------------------------- 35 | EOF 36 | -------------------------------------------------------------------------------- /dependencies/hashlib2plus/doc/LICENSE.TXT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/doc/LICENSE.TXT -------------------------------------------------------------------------------- /dependencies/hashlib2plus/doc/README.TXT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/doc/README.TXT -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/Makefile -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_exception.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_exception.h -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_hashwrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_hashwrapper.h -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_md5.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_md5.cpp -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_md5.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_md5.h -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_md5wrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_md5wrapper.h -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_sha1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_sha1.cpp -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_sha1.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_sha1.h -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_sha1wrapper.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_sha1wrapper.cpp -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_sha1wrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_sha1wrapper.h -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_sha256.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_sha256.cpp -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_sha256.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_sha256.h -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_sha256wrapper.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_sha256wrapper.cpp -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_sha256wrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_sha256wrapper.h -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_sha2ext.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_sha2ext.cpp -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_sha2ext.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_sha2ext.h -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_sha2mac.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_sha2mac.h -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_sha384wrapper.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_sha384wrapper.cpp -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_sha384wrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_sha384wrapper.h -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_sha512wrapper.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_sha512wrapper.cpp -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_sha512wrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_sha512wrapper.h -------------------------------------------------------------------------------- /dependencies/hashlib2plus/src/hl_types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/src/hl_types.h -------------------------------------------------------------------------------- /dependencies/hashlib2plus/tools/h.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/tools/h.cpp -------------------------------------------------------------------------------- /dependencies/hashlib2plus/tools/libtest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/hashlib2plus/tools/libtest.cpp -------------------------------------------------------------------------------- /dependencies/jwt-cpp/.gitignore: -------------------------------------------------------------------------------- 1 | # CMake build directory 2 | build/ 3 | release/ 4 | debug/ 5 | 6 | # intelliJ 7 | .idea/ 8 | *.iml 9 | 10 | 11 | # Compiled Object files 12 | *.slo 13 | *.lo 14 | *.o 15 | *.obj 16 | 17 | # Compiled Dynamic libraries 18 | *.so 19 | *.dylib 20 | *.dll 21 | 22 | # Compiled Static libraries 23 | *.lai 24 | *.la 25 | *.a 26 | *.lib 27 | 28 | # Executables 29 | *.exe 30 | *.out 31 | *.app 32 | 33 | # QtCreator user settings 34 | CMakeLists.txt.user 35 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/.travis.yml: -------------------------------------------------------------------------------- 1 | ######################### 2 | # project configuration # 3 | ######################### 4 | 5 | # C++ project 6 | language: cpp 7 | dist: trusty 8 | sudo: required 9 | 10 | ################ 11 | # build matrix # 12 | ################ 13 | 14 | matrix: 15 | include: 16 | # OSX / Clang 17 | - os: osx 18 | osx_image: xcode6.4 19 | 20 | - os: osx 21 | osx_image: xcode8.3 22 | 23 | - os: osx 24 | osx_image: xcode9 25 | 26 | # Linux / GCC 27 | - os: linux 28 | compiler: gcc 29 | env: MATRIX_EVAL="CXX=g++-7 && CXXFLAGS=-std=c++17" 30 | 31 | addons: 32 | apt: 33 | sources: ['ubuntu-toolchain-r-test' ] 34 | packages: ['g++-7' ] 35 | 36 | # Linux / Clang 37 | - os: linux 38 | compiler: clang 39 | env: MATRIX_EVAL="CXX=clang++-5.0 CXXFLAGS=-std=c++1z" 40 | addons: 41 | apt: 42 | sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-5.0'] 43 | packages: ['g++-6', 'clang-5.0' ] 44 | 45 | ################ 46 | # build script # 47 | ################ 48 | 49 | 50 | before_install: 51 | - eval "${MATRIX_EVAL}" 52 | 53 | script: 54 | # get CMake and Ninja (only for systems with brew - macOS) 55 | - | 56 | if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then 57 | brew update 58 | brew install openssl@1.1 59 | fi 60 | 61 | # show OS/compiler version 62 | - uname -a 63 | - $CXX --version 64 | 65 | # compile and execute unit tests 66 | - mkdir -p build && cd build 67 | - cmake .. ${CMAKE_OPTIONS} && make 68 | - ctest -C Release -V -j 69 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Erwin Jansen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/ext/README.MD: -------------------------------------------------------------------------------- 1 | Directory containing dependent modules 2 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/ext/gtest-1.7.0/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This file contains a list of people who've made non-trivial 2 | # contribution to the Google C++ Testing Framework project. People 3 | # who commit code to the project are encouraged to add their names 4 | # here. Please keep the list sorted by first names. 5 | 6 | Ajay Joshi 7 | Balázs Dán 8 | Bharat Mediratta 9 | Chandler Carruth 10 | Chris Prince 11 | Chris Taylor 12 | Dan Egnor 13 | Eric Roman 14 | Hady Zalek 15 | Jeffrey Yasskin 16 | Jói Sigurðsson 17 | Keir Mierle 18 | Keith Ray 19 | Kenton Varda 20 | Manuel Klimek 21 | Markus Heule 22 | Mika Raento 23 | Miklós Fazekas 24 | Pasi Valminen 25 | Patrick Hanna 26 | Patrick Riley 27 | Peter Kaminski 28 | Preston Jackson 29 | Rainer Klaffenboeck 30 | Russ Cox 31 | Russ Rufer 32 | Sean Mcafee 33 | Sigurður Ásgeirsson 34 | Tracy Bialik 35 | Vadim Berman 36 | Vlad Losev 37 | Zhanyong Wan 38 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/ext/gtest-1.7.0/m4/ltversion.m4: -------------------------------------------------------------------------------- 1 | # ltversion.m4 -- version numbers -*- Autoconf -*- 2 | # 3 | # Copyright (C) 2004 Free Software Foundation, Inc. 4 | # Written by Scott James Remnant, 2004 5 | # 6 | # This file is free software; the Free Software Foundation gives 7 | # unlimited permission to copy and/or distribute it, with or without 8 | # modifications, as long as this notice is preserved. 9 | 10 | # @configure_input@ 11 | 12 | # serial 3337 ltversion.m4 13 | # This file is part of GNU Libtool 14 | 15 | m4_define([LT_PACKAGE_VERSION], [2.4.2]) 16 | m4_define([LT_PACKAGE_REVISION], [1.3337]) 17 | 18 | AC_DEFUN([LTVERSION_VERSION], 19 | [macro_version='2.4.2' 20 | macro_revision='1.3337' 21 | _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) 22 | _LT_DECL(, macro_revision, 0) 23 | ]) 24 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/ext/gtest-1.7.0/xcode/Config/DebugProject.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // DebugProject.xcconfig 3 | // 4 | // These are Debug Configuration project settings for the gtest framework and 5 | // examples. It is set in the "Based On:" dropdown in the "Project" info 6 | // dialog. 7 | // This file is based on the Xcode Configuration files in: 8 | // http://code.google.com/p/google-toolbox-for-mac/ 9 | // 10 | 11 | #include "General.xcconfig" 12 | 13 | // No optimization 14 | GCC_OPTIMIZATION_LEVEL = 0 15 | 16 | // Deployment postprocessing is what triggers Xcode to strip, turn it off 17 | DEPLOYMENT_POSTPROCESSING = NO 18 | 19 | // Dead code stripping off 20 | DEAD_CODE_STRIPPING = NO 21 | 22 | // Debug symbols should be on obviously 23 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES 24 | 25 | // Define the DEBUG macro in all debug builds 26 | OTHER_CFLAGS = $(OTHER_CFLAGS) -DDEBUG=1 27 | 28 | // These are turned off to avoid STL incompatibilities with client code 29 | // // Turns on special C++ STL checks to "encourage" good STL use 30 | // GCC_PREPROCESSOR_DEFINITIONS = $(GCC_PREPROCESSOR_DEFINITIONS) _GLIBCXX_DEBUG_PEDANTIC _GLIBCXX_DEBUG _GLIBCPP_CONCEPT_CHECKS 31 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/ext/gtest-1.7.0/xcode/Config/FrameworkTarget.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // FrameworkTarget.xcconfig 3 | // 4 | // These are Framework target settings for the gtest framework and examples. It 5 | // is set in the "Based On:" dropdown in the "Target" info dialog. 6 | // This file is based on the Xcode Configuration files in: 7 | // http://code.google.com/p/google-toolbox-for-mac/ 8 | // 9 | 10 | // Dynamic libs need to be position independent 11 | GCC_DYNAMIC_NO_PIC = NO 12 | 13 | // Dynamic libs should not have their external symbols stripped. 14 | STRIP_STYLE = non-global 15 | 16 | // Let the user install by specifying the $DSTROOT with xcodebuild 17 | SKIP_INSTALL = NO 18 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/ext/gtest-1.7.0/xcode/Config/General.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // General.xcconfig 3 | // 4 | // These are General configuration settings for the gtest framework and 5 | // examples. 6 | // This file is based on the Xcode Configuration files in: 7 | // http://code.google.com/p/google-toolbox-for-mac/ 8 | // 9 | 10 | // Build for PPC and Intel, 32- and 64-bit 11 | ARCHS = i386 x86_64 ppc ppc64 12 | 13 | // Zerolink prevents link warnings so turn it off 14 | ZERO_LINK = NO 15 | 16 | // Prebinding considered unhelpful in 10.3 and later 17 | PREBINDING = NO 18 | 19 | // Strictest warning policy 20 | WARNING_CFLAGS = -Wall -Werror -Wendif-labels -Wnewline-eof -Wno-sign-compare -Wshadow 21 | 22 | // Work around Xcode bugs by using external strip. See: 23 | // http://lists.apple.com/archives/Xcode-users/2006/Feb/msg00050.html 24 | SEPARATE_STRIP = YES 25 | 26 | // Force C99 dialect 27 | GCC_C_LANGUAGE_STANDARD = c99 28 | 29 | // not sure why apple defaults this on, but it's pretty risky 30 | ALWAYS_SEARCH_USER_PATHS = NO 31 | 32 | // Turn on position dependent code for most cases (overridden where appropriate) 33 | GCC_DYNAMIC_NO_PIC = YES 34 | 35 | // Default SDK and minimum OS version is 10.4 36 | SDKROOT = $(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk 37 | MACOSX_DEPLOYMENT_TARGET = 10.4 38 | GCC_VERSION = 4.0 39 | 40 | // VERSIONING BUILD SETTINGS (used in Info.plist) 41 | GTEST_VERSIONINFO_ABOUT = © 2008 Google Inc. 42 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/ext/gtest-1.7.0/xcode/Config/ReleaseProject.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // ReleaseProject.xcconfig 3 | // 4 | // These are Release Configuration project settings for the gtest framework 5 | // and examples. It is set in the "Based On:" dropdown in the "Project" info 6 | // dialog. 7 | // This file is based on the Xcode Configuration files in: 8 | // http://code.google.com/p/google-toolbox-for-mac/ 9 | // 10 | 11 | #include "General.xcconfig" 12 | 13 | // subconfig/Release.xcconfig 14 | 15 | // Optimize for space and size (Apple recommendation) 16 | GCC_OPTIMIZATION_LEVEL = s 17 | 18 | // Deploment postprocessing is what triggers Xcode to strip 19 | DEPLOYMENT_POSTPROCESSING = YES 20 | 21 | // No symbols 22 | GCC_GENERATE_DEBUGGING_SYMBOLS = NO 23 | 24 | // Dead code strip does not affect ObjC code but can help for C 25 | DEAD_CODE_STRIPPING = YES 26 | 27 | // NDEBUG is used by things like assert.h, so define it for general compat. 28 | // ASSERT going away in release tends to create unused vars. 29 | OTHER_CFLAGS = $(OTHER_CFLAGS) -DNDEBUG=1 -Wno-unused-variable 30 | 31 | // When we strip we want to strip all symbols in release, but save externals. 32 | STRIP_STYLE = all 33 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/ext/gtest-1.7.0/xcode/Config/StaticLibraryTarget.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // StaticLibraryTarget.xcconfig 3 | // 4 | // These are static library target settings for libgtest.a. It 5 | // is set in the "Based On:" dropdown in the "Target" info dialog. 6 | // This file is based on the Xcode Configuration files in: 7 | // http://code.google.com/p/google-toolbox-for-mac/ 8 | // 9 | 10 | // Static libs can be included in bundles so make them position independent 11 | GCC_DYNAMIC_NO_PIC = NO 12 | 13 | // Static libs should not have their internal globals or external symbols 14 | // stripped. 15 | STRIP_STYLE = debugging 16 | 17 | // Let the user install by specifying the $DSTROOT with xcodebuild 18 | SKIP_INSTALL = NO 19 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/ext/gtest-1.7.0/xcode/Config/TestTarget.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // TestTarget.xcconfig 3 | // 4 | // These are Test target settings for the gtest framework and examples. It 5 | // is set in the "Based On:" dropdown in the "Target" info dialog. 6 | 7 | PRODUCT_NAME = $(TARGET_NAME) 8 | HEADER_SEARCH_PATHS = ../include 9 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/ext/gtest-1.7.0/xcode/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.google.${PRODUCT_NAME} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | GTEST_VERSIONINFO_LONG 21 | CFBundleShortVersionString 22 | GTEST_VERSIONINFO_SHORT 23 | CFBundleGetInfoString 24 | ${PRODUCT_NAME} GTEST_VERSIONINFO_LONG, ${GTEST_VERSIONINFO_ABOUT} 25 | NSHumanReadableCopyright 26 | ${GTEST_VERSIONINFO_ABOUT} 27 | CSResourcesFileMapped 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/ext/gtest-1.7.0/xcode/Samples/FrameworkSample/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.google.gtest.${PRODUCT_NAME:identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | CSResourcesFileMapped 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/samples/failed.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "jwt/jwt_all.h" 3 | using json = nlohmann::json; 4 | 5 | int main() { 6 | ExpValidator exp; 7 | HS256Validator signer("secret"); 8 | 9 | // Now we use these validators to parse and verify the token we created 10 | // in the previous example 11 | std::string token = 12 | "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9." 13 | "eyJpc3MiOiJmb28iLCJleHAiOjE0ODMyMjg4MDB9." 14 | "u3JTUx1tJDo601olQv0rHk4kGkKadIj3cvy-DDZKVRo"; 15 | try { 16 | json header, payload; 17 | std::tie(header, payload) = JWT::Decode(token, &signer, &exp); 18 | std::cout << "You should not see this line" << std::endl; 19 | } catch (TokenFormatError &tfe) { 20 | // No data can be recovered.. 21 | } catch (InvalidTokenError &tfe) { 22 | json header, payload; 23 | std::tie(header, payload) = JWT::Decode(token); 24 | std::cout << "Payload: " << payload << std::endl; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/samples/sign.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "jwt/jwt_all.h" 3 | using json = nlohmann::json; 4 | 5 | int main() { 6 | // Setup a signer 7 | HS256Validator signer("secret!"); 8 | 9 | // Create the json payload that expires 01/01/2017 @ 12:00am (UTC) 10 | json payload = {{"sub", "subject"}, {"exp", 1483228800}}; 11 | 12 | // Let's encode the token to a string 13 | auto token = JWT::Encode(signer, payload); 14 | 15 | std::cout << token << std::endl; 16 | } 17 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/samples/validate.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "jwt/jwt_all.h" 3 | using json = nlohmann::json; 4 | 5 | int main() { 6 | ExpValidator exp; 7 | HS256Validator signer("secret!"); 8 | 9 | // Now let's use these validators to parse and verify the token we created 10 | // in the previous example 11 | std::string str_token = 12 | "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9." 13 | "eyJpc3MiOiJmb28iLCJleHAiOjE0ODMyMjg4MDB9." 14 | "u3JTUx1tJDo601olQv0rHk4kGkKadIj3cvy-DDZKVRo"; 15 | try { 16 | // Decode and validate the token 17 | ::json header, payload; 18 | 19 | std::tie(header, payload) = JWT::Decode(str_token, &signer, &exp); 20 | std::cout << "Header: " << header << std::endl; 21 | std::cout << "Payload: " << payload << std::endl; 22 | } catch (InvalidTokenError &tfe) { 23 | // An invalid token 24 | std::cout << "Validation failed: " << tfe.what() << std::endl; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/src/JwtConfig.cmake: -------------------------------------------------------------------------------- 1 | 2 | include("${CMAKE_CURRENT_LIST_DIR}/JwtTargets.cmake") 3 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/src/include/private/ssl_compat.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | #if OPENSSL_VERSION_NUMBER < 0x10100000L 7 | // ssl < 1.1 8 | class EvpMdCtx { 9 | public: 10 | EvpMdCtx() { EVP_MD_CTX_init(&ctx_); } 11 | 12 | ~EvpMdCtx() { EVP_MD_CTX_cleanup(&ctx_); } 13 | 14 | EVP_MD_CTX* get() { return &ctx_; } 15 | 16 | private: 17 | EVP_MD_CTX ctx_; 18 | }; 19 | 20 | class HMacCtx { 21 | public: 22 | HMacCtx() { HMAC_CTX_init(&ctx_); } 23 | 24 | ~HMacCtx() { HMAC_CTX_cleanup(&ctx_); } 25 | 26 | HMAC_CTX* get() { return &ctx_; } 27 | 28 | private: 29 | HMAC_CTX ctx_; 30 | }; 31 | #else 32 | class EvpMdCtx { 33 | public: 34 | EvpMdCtx() { ctx_ = EVP_MD_CTX_new(); } 35 | 36 | ~EvpMdCtx() { EVP_MD_CTX_free(ctx_); } 37 | 38 | EVP_MD_CTX* get() { return ctx_; } 39 | 40 | private: 41 | EVP_MD_CTX* ctx_; 42 | }; 43 | 44 | class HMacCtx { 45 | public: 46 | HMacCtx() { ctx_ = HMAC_CTX_new(); } 47 | 48 | ~HMacCtx() { HMAC_CTX_free(ctx_); } 49 | 50 | HMAC_CTX* get() { return ctx_; } 51 | 52 | private: 53 | HMAC_CTX* ctx_; 54 | }; 55 | #endif 56 | 57 | 58 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/test/all.cpp: -------------------------------------------------------------------------------- 1 | // This is a wee bit of a hack.. 2 | // We combine all the individual test cpp's 3 | // mainly so we can execute the code coverage target with 4 | // some meaningful numbers 5 | #include "base64/base64_test.cpp" 6 | #include "token/token_test.cpp" 7 | #include "validators/claim_validators_factory_test.cpp" 8 | #include "validators/claim_validators_test.cpp" 9 | #include "validators/validators_factory_test.cpp" 10 | #include "validators/validators_test.cpp" 11 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/tools/cmake/doxygen/COPYING-CMAKE-SCRIPTS: -------------------------------------------------------------------------------- 1 | Redistribution and use in source and binary forms, with or without 2 | modification, are permitted provided that the following conditions 3 | are met: 4 | 5 | 1. Redistributions of source code must retain the copyright 6 | notice, this list of conditions and the following disclaimer. 7 | 2. Redistributions in binary form must reproduce the copyright 8 | notice, this list of conditions and the following disclaimer in the 9 | documentation and/or other materials provided with the distribution. 10 | 3. The name of the author may not be used to endorse or promote products 11 | derived from this software without specific prior written permission. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 14 | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 15 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 16 | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 17 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 18 | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 19 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 20 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 22 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/tools/cmake/rpavlik/GetGitRevisionDescription.cmake.in: -------------------------------------------------------------------------------- 1 | # 2 | # Internal file for GetGitRevisionDescription.cmake 3 | # 4 | # Requires CMake 2.6 or newer (uses the 'function' command) 5 | # 6 | # Original Author: 7 | # 2009-2010 Ryan Pavlik 8 | # http://academic.cleardefinition.com 9 | # Iowa State University HCI Graduate Program/VRAC 10 | # 11 | # Copyright Iowa State University 2009-2010. 12 | # Distributed under the Boost Software License, Version 1.0. 13 | # (See accompanying file LICENSE_1_0.txt or copy at 14 | # http://www.boost.org/LICENSE_1_0.txt) 15 | 16 | set(HEAD_HASH) 17 | 18 | file(READ "@HEAD_FILE@" HEAD_CONTENTS LIMIT 1024) 19 | 20 | string(STRIP "${HEAD_CONTENTS}" HEAD_CONTENTS) 21 | if(HEAD_CONTENTS MATCHES "ref") 22 | # named branch 23 | string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}") 24 | if(EXISTS "@GIT_DIR@/${HEAD_REF}") 25 | configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY) 26 | elseif(EXISTS "@GIT_DIR@/logs/${HEAD_REF}") 27 | configure_file("@GIT_DIR@/logs/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY) 28 | set(HEAD_HASH "${HEAD_REF}") 29 | endif() 30 | else() 31 | # detached HEAD 32 | configure_file("@GIT_DIR@/HEAD" "@GIT_DATA@/head-ref" COPYONLY) 33 | endif() 34 | 35 | if(NOT HEAD_HASH) 36 | file(READ "@GIT_DATA@/head-ref" HEAD_HASH LIMIT 1024) 37 | string(STRIP "${HEAD_HASH}" HEAD_HASH) 38 | endif() 39 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/tools/cmake/rpavlik/LICENSE_1_0.txt: -------------------------------------------------------------------------------- 1 | Boost Software License - Version 1.0 - August 17th, 2003 2 | 3 | Permission is hereby granted, free of charge, to any person or organization 4 | obtaining a copy of the software and accompanying documentation covered by 5 | this license (the "Software") to use, reproduce, display, distribute, 6 | execute, and transmit the Software, and to prepare derivative works of the 7 | Software, and to permit third-parties to whom the Software is furnished to 8 | do so, all subject to the following: 9 | 10 | The copyright notices in the Software and this entire statement, including 11 | the above license grant, this restriction and the following disclaimer, 12 | must be included in all copies of the Software, in whole or in part, and 13 | all derivative works of the Software, unless such copies or derivative 14 | works are solely in the form of machine-executable object code generated by 15 | a source language processor. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 20 | SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 21 | FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 22 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/tools/cmake/rpavlik/README: -------------------------------------------------------------------------------- 1 | Taken from https://github.com/rpavlik/cmake-modules 2 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp/tools/valgrind.supp: -------------------------------------------------------------------------------- 1 | { 2 | ignore errors caused by realloc(PTR,0) 3 | Memcheck:Leak 4 | ... 5 | fun:ev_realloc 6 | } 7 | 8 | { 9 | ignore error because srtp_init 10 | Memcheck:Leak 11 | ... 12 | fun:srtp_init 13 | } 14 | 15 | { 16 | ignore error because SSL_library_init 17 | Memcheck:Leak 18 | ... 19 | fun:SSL_library_init 20 | } 21 | 22 | { 23 | ignore error because SSL_library_init 24 | Memcheck:Leak 25 | ... 26 | fun:crypto_kernel_load_debug_module 27 | } 28 | 29 | { 30 | ignore errors loading dynamic libraries 31 | Memcheck:Leak 32 | ... 33 | fun:_dlerror_run 34 | } 35 | 36 | { 37 | ignore errors loading dynamic libraries 38 | Memcheck:Leak 39 | ... 40 | fun:_dl_open 41 | } 42 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/CTestTestfile.cmake: -------------------------------------------------------------------------------- 1 | # CMake generated Testfile for 2 | # Source directory: /home/victor/GIT/CppComet/star-comet/dependencies/jwt-cpp 3 | # Build directory: /home/victor/GIT/CppComet/star-comet/dependencies/jwt-cpp 4 | # 5 | # This file includes the relevant testing commands required for 6 | # testing this directory and lists subdirectories to be tested as well. 7 | subdirs("src") 8 | subdirs("ext/gtest-1.7.0") 9 | subdirs("test") 10 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Erwin Jansen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/ext/README.MD: -------------------------------------------------------------------------------- 1 | Directory containing dependent modules 2 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/ext/gtest-1.7.0/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This file contains a list of people who've made non-trivial 2 | # contribution to the Google C++ Testing Framework project. People 3 | # who commit code to the project are encouraged to add their names 4 | # here. Please keep the list sorted by first names. 5 | 6 | Ajay Joshi 7 | Balázs Dán 8 | Bharat Mediratta 9 | Chandler Carruth 10 | Chris Prince 11 | Chris Taylor 12 | Dan Egnor 13 | Eric Roman 14 | Hady Zalek 15 | Jeffrey Yasskin 16 | Jói Sigurðsson 17 | Keir Mierle 18 | Keith Ray 19 | Kenton Varda 20 | Manuel Klimek 21 | Markus Heule 22 | Mika Raento 23 | Miklós Fazekas 24 | Pasi Valminen 25 | Patrick Hanna 26 | Patrick Riley 27 | Peter Kaminski 28 | Preston Jackson 29 | Rainer Klaffenboeck 30 | Russ Cox 31 | Russ Rufer 32 | Sean Mcafee 33 | Sigurður Ásgeirsson 34 | Tracy Bialik 35 | Vadim Berman 36 | Vlad Losev 37 | Zhanyong Wan 38 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/ext/gtest-1.7.0/CTestTestfile.cmake: -------------------------------------------------------------------------------- 1 | # CMake generated Testfile for 2 | # Source directory: /home/victor/GIT/CppComet/star-comet/dependencies/jwt-cpp/ext/gtest-1.7.0 3 | # Build directory: /home/victor/GIT/CppComet/star-comet/dependencies/jwt-cpp/ext/gtest-1.7.0 4 | # 5 | # This file includes the relevant testing commands required for 6 | # testing this directory and lists subdirectories to be tested as well. 7 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/ext/gtest-1.7.0/m4/ltversion.m4: -------------------------------------------------------------------------------- 1 | # ltversion.m4 -- version numbers -*- Autoconf -*- 2 | # 3 | # Copyright (C) 2004 Free Software Foundation, Inc. 4 | # Written by Scott James Remnant, 2004 5 | # 6 | # This file is free software; the Free Software Foundation gives 7 | # unlimited permission to copy and/or distribute it, with or without 8 | # modifications, as long as this notice is preserved. 9 | 10 | # @configure_input@ 11 | 12 | # serial 3337 ltversion.m4 13 | # This file is part of GNU Libtool 14 | 15 | m4_define([LT_PACKAGE_VERSION], [2.4.2]) 16 | m4_define([LT_PACKAGE_REVISION], [1.3337]) 17 | 18 | AC_DEFUN([LTVERSION_VERSION], 19 | [macro_version='2.4.2' 20 | macro_revision='1.3337' 21 | _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) 22 | _LT_DECL(, macro_revision, 0) 23 | ]) 24 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/ext/gtest-1.7.0/xcode/Config/DebugProject.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // DebugProject.xcconfig 3 | // 4 | // These are Debug Configuration project settings for the gtest framework and 5 | // examples. It is set in the "Based On:" dropdown in the "Project" info 6 | // dialog. 7 | // This file is based on the Xcode Configuration files in: 8 | // http://code.google.com/p/google-toolbox-for-mac/ 9 | // 10 | 11 | #include "General.xcconfig" 12 | 13 | // No optimization 14 | GCC_OPTIMIZATION_LEVEL = 0 15 | 16 | // Deployment postprocessing is what triggers Xcode to strip, turn it off 17 | DEPLOYMENT_POSTPROCESSING = NO 18 | 19 | // Dead code stripping off 20 | DEAD_CODE_STRIPPING = NO 21 | 22 | // Debug symbols should be on obviously 23 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES 24 | 25 | // Define the DEBUG macro in all debug builds 26 | OTHER_CFLAGS = $(OTHER_CFLAGS) -DDEBUG=1 27 | 28 | // These are turned off to avoid STL incompatibilities with client code 29 | // // Turns on special C++ STL checks to "encourage" good STL use 30 | // GCC_PREPROCESSOR_DEFINITIONS = $(GCC_PREPROCESSOR_DEFINITIONS) _GLIBCXX_DEBUG_PEDANTIC _GLIBCXX_DEBUG _GLIBCPP_CONCEPT_CHECKS 31 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/ext/gtest-1.7.0/xcode/Config/FrameworkTarget.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // FrameworkTarget.xcconfig 3 | // 4 | // These are Framework target settings for the gtest framework and examples. It 5 | // is set in the "Based On:" dropdown in the "Target" info dialog. 6 | // This file is based on the Xcode Configuration files in: 7 | // http://code.google.com/p/google-toolbox-for-mac/ 8 | // 9 | 10 | // Dynamic libs need to be position independent 11 | GCC_DYNAMIC_NO_PIC = NO 12 | 13 | // Dynamic libs should not have their external symbols stripped. 14 | STRIP_STYLE = non-global 15 | 16 | // Let the user install by specifying the $DSTROOT with xcodebuild 17 | SKIP_INSTALL = NO 18 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/ext/gtest-1.7.0/xcode/Config/General.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // General.xcconfig 3 | // 4 | // These are General configuration settings for the gtest framework and 5 | // examples. 6 | // This file is based on the Xcode Configuration files in: 7 | // http://code.google.com/p/google-toolbox-for-mac/ 8 | // 9 | 10 | // Build for PPC and Intel, 32- and 64-bit 11 | ARCHS = i386 x86_64 ppc ppc64 12 | 13 | // Zerolink prevents link warnings so turn it off 14 | ZERO_LINK = NO 15 | 16 | // Prebinding considered unhelpful in 10.3 and later 17 | PREBINDING = NO 18 | 19 | // Strictest warning policy 20 | WARNING_CFLAGS = -Wall -Werror -Wendif-labels -Wnewline-eof -Wno-sign-compare -Wshadow 21 | 22 | // Work around Xcode bugs by using external strip. See: 23 | // http://lists.apple.com/archives/Xcode-users/2006/Feb/msg00050.html 24 | SEPARATE_STRIP = YES 25 | 26 | // Force C99 dialect 27 | GCC_C_LANGUAGE_STANDARD = c99 28 | 29 | // not sure why apple defaults this on, but it's pretty risky 30 | ALWAYS_SEARCH_USER_PATHS = NO 31 | 32 | // Turn on position dependent code for most cases (overridden where appropriate) 33 | GCC_DYNAMIC_NO_PIC = YES 34 | 35 | // Default SDK and minimum OS version is 10.4 36 | SDKROOT = $(DEVELOPER_SDK_DIR)/MacOSX10.4u.sdk 37 | MACOSX_DEPLOYMENT_TARGET = 10.4 38 | GCC_VERSION = 4.0 39 | 40 | // VERSIONING BUILD SETTINGS (used in Info.plist) 41 | GTEST_VERSIONINFO_ABOUT = © 2008 Google Inc. 42 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/ext/gtest-1.7.0/xcode/Config/ReleaseProject.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // ReleaseProject.xcconfig 3 | // 4 | // These are Release Configuration project settings for the gtest framework 5 | // and examples. It is set in the "Based On:" dropdown in the "Project" info 6 | // dialog. 7 | // This file is based on the Xcode Configuration files in: 8 | // http://code.google.com/p/google-toolbox-for-mac/ 9 | // 10 | 11 | #include "General.xcconfig" 12 | 13 | // subconfig/Release.xcconfig 14 | 15 | // Optimize for space and size (Apple recommendation) 16 | GCC_OPTIMIZATION_LEVEL = s 17 | 18 | // Deploment postprocessing is what triggers Xcode to strip 19 | DEPLOYMENT_POSTPROCESSING = YES 20 | 21 | // No symbols 22 | GCC_GENERATE_DEBUGGING_SYMBOLS = NO 23 | 24 | // Dead code strip does not affect ObjC code but can help for C 25 | DEAD_CODE_STRIPPING = YES 26 | 27 | // NDEBUG is used by things like assert.h, so define it for general compat. 28 | // ASSERT going away in release tends to create unused vars. 29 | OTHER_CFLAGS = $(OTHER_CFLAGS) -DNDEBUG=1 -Wno-unused-variable 30 | 31 | // When we strip we want to strip all symbols in release, but save externals. 32 | STRIP_STYLE = all 33 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/ext/gtest-1.7.0/xcode/Config/StaticLibraryTarget.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // StaticLibraryTarget.xcconfig 3 | // 4 | // These are static library target settings for libgtest.a. It 5 | // is set in the "Based On:" dropdown in the "Target" info dialog. 6 | // This file is based on the Xcode Configuration files in: 7 | // http://code.google.com/p/google-toolbox-for-mac/ 8 | // 9 | 10 | // Static libs can be included in bundles so make them position independent 11 | GCC_DYNAMIC_NO_PIC = NO 12 | 13 | // Static libs should not have their internal globals or external symbols 14 | // stripped. 15 | STRIP_STYLE = debugging 16 | 17 | // Let the user install by specifying the $DSTROOT with xcodebuild 18 | SKIP_INSTALL = NO 19 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/ext/gtest-1.7.0/xcode/Config/TestTarget.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // TestTarget.xcconfig 3 | // 4 | // These are Test target settings for the gtest framework and examples. It 5 | // is set in the "Based On:" dropdown in the "Target" info dialog. 6 | 7 | PRODUCT_NAME = $(TARGET_NAME) 8 | HEADER_SEARCH_PATHS = ../include 9 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/ext/gtest-1.7.0/xcode/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.google.${PRODUCT_NAME} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | GTEST_VERSIONINFO_LONG 21 | CFBundleShortVersionString 22 | GTEST_VERSIONINFO_SHORT 23 | CFBundleGetInfoString 24 | ${PRODUCT_NAME} GTEST_VERSIONINFO_LONG, ${GTEST_VERSIONINFO_ABOUT} 25 | NSHumanReadableCopyright 26 | ${GTEST_VERSIONINFO_ABOUT} 27 | CSResourcesFileMapped 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/ext/gtest-1.7.0/xcode/Samples/FrameworkSample/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.google.gtest.${PRODUCT_NAME:identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | CSResourcesFileMapped 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/samples/failed.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "jwt/jwt_all.h" 3 | using json = nlohmann::json; 4 | 5 | int main() { 6 | ExpValidator exp; 7 | HS256Validator signer("secret"); 8 | 9 | // Now we use these validators to parse and verify the token we created 10 | // in the previous example 11 | std::string token = 12 | "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9." 13 | "eyJpc3MiOiJmb28iLCJleHAiOjE0ODMyMjg4MDB9." 14 | "u3JTUx1tJDo601olQv0rHk4kGkKadIj3cvy-DDZKVRo"; 15 | try { 16 | json header, payload; 17 | std::tie(header, payload) = JWT::Decode(token, &signer, &exp); 18 | std::cout << "You should not see this line" << std::endl; 19 | } catch (TokenFormatError &tfe) { 20 | // No data can be recovered.. 21 | } catch (InvalidTokenError &tfe) { 22 | json header, payload; 23 | std::tie(header, payload) = JWT::Decode(token); 24 | std::cout << "Payload: " << payload << std::endl; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/samples/sign.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "jwt/jwt_all.h" 3 | using json = nlohmann::json; 4 | 5 | int main() { 6 | // Setup a signer 7 | HS256Validator signer("secret!"); 8 | 9 | // Create the json payload that expires 01/01/2017 @ 12:00am (UTC) 10 | json payload = {{"sub", "subject"}, {"exp", 1483228800}}; 11 | 12 | // Let's encode the token to a string 13 | auto token = JWT::Encode(signer, payload); 14 | 15 | std::cout << token << std::endl; 16 | } 17 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/samples/validate.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "jwt/jwt_all.h" 3 | using json = nlohmann::json; 4 | 5 | int main() { 6 | ExpValidator exp; 7 | HS256Validator signer("secret!"); 8 | 9 | // Now let's use these validators to parse and verify the token we created 10 | // in the previous example 11 | std::string str_token = 12 | "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9." 13 | "eyJpc3MiOiJmb28iLCJleHAiOjE0ODMyMjg4MDB9." 14 | "u3JTUx1tJDo601olQv0rHk4kGkKadIj3cvy-DDZKVRo"; 15 | try { 16 | // Decode and validate the token 17 | ::json header, payload; 18 | 19 | std::tie(header, payload) = JWT::Decode(str_token, &signer, &exp); 20 | std::cout << "Header: " << header << std::endl; 21 | std::cout << "Payload: " << payload << std::endl; 22 | } catch (InvalidTokenError &tfe) { 23 | // An invalid token 24 | std::cout << "Validation failed: " << tfe.what() << std::endl; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/src/JwtConfig.cmake: -------------------------------------------------------------------------------- 1 | 2 | include("${CMAKE_CURRENT_LIST_DIR}/JwtTargets.cmake") 3 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/src/include/private/ssl_compat.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | #if OPENSSL_VERSION_NUMBER < 0x10100000L 7 | // ssl < 1.1 8 | class EvpMdCtx { 9 | public: 10 | EvpMdCtx() { EVP_MD_CTX_init(&ctx_); } 11 | 12 | ~EvpMdCtx() {} 13 | 14 | EVP_MD_CTX* get() { return &ctx_; } 15 | 16 | private: 17 | EVP_MD_CTX ctx_; 18 | }; 19 | 20 | class HMacCtx { 21 | public: 22 | HMacCtx() { HMAC_CTX_init(&ctx_); } 23 | 24 | ~HMacCtx() {} 25 | 26 | HMAC_CTX* get() { return &ctx_; } 27 | 28 | private: 29 | HMAC_CTX ctx_; 30 | }; 31 | #else 32 | class EvpMdCtx { 33 | public: 34 | EvpMdCtx() { ctx_ = EVP_MD_CTX_new(); } 35 | 36 | ~EvpMdCtx() { EVP_MD_CTX_free(ctx_); } 37 | 38 | EVP_MD_CTX* get() { return ctx_; } 39 | 40 | private: 41 | EVP_MD_CTX* ctx_; 42 | }; 43 | 44 | class HMacCtx { 45 | public: 46 | HMacCtx() { ctx_ = HMAC_CTX_new(); } 47 | 48 | ~HMacCtx() { HMAC_CTX_free(ctx_); } 49 | 50 | HMAC_CTX* get() { return ctx_; } 51 | 52 | private: 53 | HMAC_CTX* ctx_; 54 | }; 55 | #endif 56 | 57 | 58 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/test/CTestTestfile.cmake: -------------------------------------------------------------------------------- 1 | # CMake generated Testfile for 2 | # Source directory: /home/victor/GIT/CppComet/star-comet/dependencies/jwt-cpp/test 3 | # Build directory: /home/victor/GIT/CppComet/star-comet/dependencies/jwt-cpp/test 4 | # 5 | # This file includes the relevant testing commands required for 6 | # testing this directory and lists subdirectories to be tested as well. 7 | add_test(validators_test "validators_test") 8 | add_test(validators_factory_test "validators_factory_test") 9 | add_test(claim_validators_test "claim_validators_test") 10 | add_test(claim_validators_factory_test "claim_validators_factory_test") 11 | add_test(base64_test "base64_test") 12 | add_test(token_test "token_test") 13 | add_test(sample "sample") 14 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/test/all.cpp: -------------------------------------------------------------------------------- 1 | // This is a wee bit of a hack.. 2 | // We combine all the individual test cpp's 3 | // mainly so we can execute the code coverage target with 4 | // some meaningful numbers 5 | #include "base64/base64_test.cpp" 6 | #include "token/token_test.cpp" 7 | #include "validators/claim_validators_factory_test.cpp" 8 | #include "validators/claim_validators_test.cpp" 9 | #include "validators/validators_factory_test.cpp" 10 | #include "validators/validators_test.cpp" 11 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/test/all_tests: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/jwt-cpp1/test/all_tests -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/test/base64_test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/jwt-cpp1/test/base64_test -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/test/claim_validators_factory_test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/jwt-cpp1/test/claim_validators_factory_test -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/test/claim_validators_test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/jwt-cpp1/test/claim_validators_test -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/test/sample: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/jwt-cpp1/test/sample -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/test/token_test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/jwt-cpp1/test/token_test -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/test/validators_factory_test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/jwt-cpp1/test/validators_factory_test -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/test/validators_test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/dependencies/jwt-cpp1/test/validators_test -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/tools/cmake/doxygen/COPYING-CMAKE-SCRIPTS: -------------------------------------------------------------------------------- 1 | Redistribution and use in source and binary forms, with or without 2 | modification, are permitted provided that the following conditions 3 | are met: 4 | 5 | 1. Redistributions of source code must retain the copyright 6 | notice, this list of conditions and the following disclaimer. 7 | 2. Redistributions in binary form must reproduce the copyright 8 | notice, this list of conditions and the following disclaimer in the 9 | documentation and/or other materials provided with the distribution. 10 | 3. The name of the author may not be used to endorse or promote products 11 | derived from this software without specific prior written permission. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 14 | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 15 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 16 | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 17 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 18 | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 19 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 20 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 22 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/tools/cmake/rpavlik/GetGitRevisionDescription.cmake.in: -------------------------------------------------------------------------------- 1 | # 2 | # Internal file for GetGitRevisionDescription.cmake 3 | # 4 | # Requires CMake 2.6 or newer (uses the 'function' command) 5 | # 6 | # Original Author: 7 | # 2009-2010 Ryan Pavlik 8 | # http://academic.cleardefinition.com 9 | # Iowa State University HCI Graduate Program/VRAC 10 | # 11 | # Copyright Iowa State University 2009-2010. 12 | # Distributed under the Boost Software License, Version 1.0. 13 | # (See accompanying file LICENSE_1_0.txt or copy at 14 | # http://www.boost.org/LICENSE_1_0.txt) 15 | 16 | set(HEAD_HASH) 17 | 18 | file(READ "@HEAD_FILE@" HEAD_CONTENTS LIMIT 1024) 19 | 20 | string(STRIP "${HEAD_CONTENTS}" HEAD_CONTENTS) 21 | if(HEAD_CONTENTS MATCHES "ref") 22 | # named branch 23 | string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}") 24 | if(EXISTS "@GIT_DIR@/${HEAD_REF}") 25 | configure_file("@GIT_DIR@/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY) 26 | elseif(EXISTS "@GIT_DIR@/logs/${HEAD_REF}") 27 | configure_file("@GIT_DIR@/logs/${HEAD_REF}" "@GIT_DATA@/head-ref" COPYONLY) 28 | set(HEAD_HASH "${HEAD_REF}") 29 | endif() 30 | else() 31 | # detached HEAD 32 | configure_file("@GIT_DIR@/HEAD" "@GIT_DATA@/head-ref" COPYONLY) 33 | endif() 34 | 35 | if(NOT HEAD_HASH) 36 | file(READ "@GIT_DATA@/head-ref" HEAD_HASH LIMIT 1024) 37 | string(STRIP "${HEAD_HASH}" HEAD_HASH) 38 | endif() 39 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/tools/cmake/rpavlik/LICENSE_1_0.txt: -------------------------------------------------------------------------------- 1 | Boost Software License - Version 1.0 - August 17th, 2003 2 | 3 | Permission is hereby granted, free of charge, to any person or organization 4 | obtaining a copy of the software and accompanying documentation covered by 5 | this license (the "Software") to use, reproduce, display, distribute, 6 | execute, and transmit the Software, and to prepare derivative works of the 7 | Software, and to permit third-parties to whom the Software is furnished to 8 | do so, all subject to the following: 9 | 10 | The copyright notices in the Software and this entire statement, including 11 | the above license grant, this restriction and the following disclaimer, 12 | must be included in all copies of the Software, in whole or in part, and 13 | all derivative works of the Software, unless such copies or derivative 14 | works are solely in the form of machine-executable object code generated by 15 | a source language processor. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 20 | SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 21 | FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 22 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 | DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/tools/cmake/rpavlik/README: -------------------------------------------------------------------------------- 1 | Taken from https://github.com/rpavlik/cmake-modules 2 | -------------------------------------------------------------------------------- /dependencies/jwt-cpp1/tools/valgrind.supp: -------------------------------------------------------------------------------- 1 | { 2 | ignore errors caused by realloc(PTR,0) 3 | Memcheck:Leak 4 | ... 5 | fun:ev_realloc 6 | } 7 | 8 | { 9 | ignore error because srtp_init 10 | Memcheck:Leak 11 | ... 12 | fun:srtp_init 13 | } 14 | 15 | { 16 | ignore error because SSL_library_init 17 | Memcheck:Leak 18 | ... 19 | fun:SSL_library_init 20 | } 21 | 22 | { 23 | ignore error because SSL_library_init 24 | Memcheck:Leak 25 | ... 26 | fun:crypto_kernel_load_debug_module 27 | } 28 | 29 | { 30 | ignore errors loading dynamic libraries 31 | Memcheck:Leak 32 | ... 33 | fun:_dlerror_run 34 | } 35 | 36 | { 37 | ignore errors loading dynamic libraries 38 | Memcheck:Leak 39 | ... 40 | fun:_dl_open 41 | } 42 | -------------------------------------------------------------------------------- /docs/API/Error codes in CometQL.md: -------------------------------------------------------------------------------- 1 | 2 | # Error codes in CometQL 3 | 4 | ^ Error code ^ Description ^ Comment ^ 5 | | 1 | Unspecified error| Never should not occur if the received error code 1, refer to the support | 6 | | 2 | This feature is not implemented, but planned. | | 7 | | 3 | Error in sql query | | 8 | | 10 | The table is read-only | It occurs when trying to insert or delete | 9 | | 11 | Too large amount of data | You have exceeded the limit on the length of the data, such as an attempt to convey the channel name longer than 64 characters| 10 | | 12 | Invalid data format | For example occurs when you try to transfer as the name of the channel line content not allowed characters | 11 | | 13 | In the where section is not given a list of strings that must be selected | At this point in the sample requests must always be passed a list of values from the first column of the table. | 12 | | 14 | Error in the enumeration list of columns in the table | | 13 | | 15 | The object does not exist | | 14 | | 16 | Not passed authentication | Occurs when an incorrect username and password pair| -------------------------------------------------------------------------------- /docs/API/Optimization delete, and insert in CometQL.md: -------------------------------------------------------------------------------- 1 | 2 | # Optimization delete, and insert in CometQL 3 | 4 | In order to optimize the internal logic operations delete, and insert does not return the number of rows affected. 5 | 6 | Perhaps then it will change, but for now the case. This is done to be able to return an answer sooner than would know the number of rows affected. 7 | 8 | If you care to know how many people delivered a message that it is possible to learn a separate request. -------------------------------------------------------------------------------- /docs/API/Reserved channel names.md: -------------------------------------------------------------------------------- 1 | 2 | # Reserved channel names 3 | 4 | It is not recommended to use in their projects type channel names: 5 | * "bin_*" 6 | * "big_*" 7 | * "push_*" 8 | * "comet_*" 9 | * "sys_*" 10 | * "self_*" 11 | * "trust_*" 12 | * "video_*" 13 | * "audio_*" 14 | * "private_*" 15 | These names may be used to further extend functionality. And they will have what may be not the usual properties compared with other names of channels. 16 | 17 | # Channels with special properties 18 | 19 | There are also channels with special properties, all of them are below. 20 | * msg - for the delivery of personal messages in accordance with the authorization data 21 | * user_status_* - for automatic notification about the status of JS api users 22 | * web_* - Channels in which you can send messages from both CometQL and from JS api 23 | * track_* - for automatic notification JS api about what someone has subscribed or unsubscribed from this channel 24 | -------------------------------------------------------------------------------- /docs/Examples/An example of sending a message from a bash script.md: -------------------------------------------------------------------------------- 1 | 2 | # An example of sending a message from a bash script 3 | 4 | An example of a console command that sends a message containing a load of data to the server. 5 | 6 | ``` 7 | 8 | echo "INSERT INTO pipes_messages (name, event, message)VALUES('web_MainPageChat', '', '{\"text\":\"`cat /proc/loadavg`\",\"name\":\"AVG `uname -n`\"}' );" | mysql -h app.comet-server.ru -u15 -plPXBFPqNg3f661JcegBY0N0dPXqUBdHXqj2cHf04PZgLHxT6z55e20ozojvMRvB8 -DCometQL_v1 9 | 10 | ``` 11 | 12 | Run this command in linux console and a message containing information about the load on the server in the chat window. 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/Examples/Online CometQL CLI.md: -------------------------------------------------------------------------------- 1 | 2 | # Online CometQL command line 3 | 4 | Located in the lower right corner of the screen on all pages of this site. 5 | The source code for the backend of the command line part, see [on github](https://github.com/CppComet/CometQL-cli). It is not very complex and quite suitable as an example of using CometQL in PHP -------------------------------------------------------------------------------- /install-cppcomet.yml: -------------------------------------------------------------------------------- 1 | - hosts: all 2 | roles: 3 | - { role: cppcomet-ansible-role } -------------------------------------------------------------------------------- /install-mysql.yml: -------------------------------------------------------------------------------- 1 | - hosts: all 2 | roles: 3 | - { role: ansible-role-mysql } -------------------------------------------------------------------------------- /make-highload-host.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: all 3 | sudo: true 4 | vars: 5 | limits_conf_d_files: 6 | 000-cppcomet-server.conf: 7 | - domain: root 8 | type: soft 9 | item: nofile 10 | value: 65535 11 | - domain: root 12 | type: hard 13 | item: nofile 14 | value: 65535 15 | roles: 16 | - ansible-role-highload 17 | - ansible-limits 18 | tasks: 19 | - name: show limits 20 | raw: ulimit -a 21 | -------------------------------------------------------------------------------- /postinstall.cmake: -------------------------------------------------------------------------------- 1 | 2 | IF(NOT /etc/comet-server) 3 | execute_process( COMMAND groupadd cppcomet 4 | COMMAND useradd -c "cppcomet user" -s /bin/false -G cppcomet cppcomet ) 5 | endif() 6 | 7 | #execute_process(COMMAND chown -R cppcomet:cppcomet /etc/comet-server) 8 | execute_process(COMMAND systemctl daemon-reload) 9 | execute_process(COMMAND systemctl enable comet.service) 10 | 11 | MESSAGE("Installed") -------------------------------------------------------------------------------- /roles/ansible-limits/.gitignore: -------------------------------------------------------------------------------- 1 | # OS generated files # 2 | ###################### 3 | .DS_Store 4 | .DS_Store? 5 | ._* 6 | .Spotlight-V100 7 | .Trashes 8 | Icon? 9 | ehthumbs.db 10 | Thumbs.db 11 | 12 | # IDE files # 13 | ################# 14 | /.settings 15 | /.buildpath 16 | /.project 17 | /nbproject 18 | *.komodoproject 19 | *.kpf 20 | /.idea 21 | 22 | # Vagrant files # 23 | .limits/ 24 | .vagrant/ 25 | vagrant_ansible_inventory_* 26 | ansible.cfg 27 | 28 | # Other files # 29 | ############### 30 | !empty 31 | -------------------------------------------------------------------------------- /roles/ansible-limits/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014, DAUPHANT Julien 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, 5 | are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, this 11 | list of conditions and the following disclaimer in the documentation and/or 12 | other materials provided with the distribution. 13 | 14 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 15 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 16 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 17 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 18 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 19 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 20 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 21 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 23 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 | -------------------------------------------------------------------------------- /roles/ansible-limits/defaults/main.yml: -------------------------------------------------------------------------------- 1 | # defaults file for limits 2 | --- 3 | limits_pam_files: 4 | - /etc/pam.d/common-session 5 | - /etc/pam.d/common-session-noninteractive 6 | limits_conf_d_files: {} 7 | -------------------------------------------------------------------------------- /roles/ansible-limits/files/empty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CppComet/comet-server/32eaada73e1e20223ca05e205779203aaa76616d/roles/ansible-limits/files/empty -------------------------------------------------------------------------------- /roles/ansible-limits/handlers/main.yml: -------------------------------------------------------------------------------- 1 | # handlers file for limits 2 | --- 3 | -------------------------------------------------------------------------------- /roles/ansible-limits/meta/main.yml: -------------------------------------------------------------------------------- 1 | # meta file for limits 2 | --- 3 | galaxy_info: 4 | author: Mischa ter Smitten 5 | company: Oefenweb.nl B.V. 6 | description: Manage (security)limits in Debian-like systems 7 | license: MIT 8 | min_ansible_version: 2.2.0.0 9 | platforms: 10 | - name: Ubuntu 11 | versions: 12 | - precise 13 | - trusty 14 | - xenial 15 | - name: Debian 16 | versions: 17 | - wheezy 18 | - jessie 19 | galaxy_tags: 20 | - system 21 | - monitoring 22 | dependencies: [] 23 | -------------------------------------------------------------------------------- /roles/ansible-limits/tasks/main.yml: -------------------------------------------------------------------------------- 1 | # tasks file for limits 2 | --- 3 | - name: configure pam files 4 | lineinfile: 5 | create: true 6 | dest: "{{ item }}" 7 | line: 'session required pam_limits.so' 8 | with_items: "{{ limits_pam_files }}" 9 | tags: 10 | - configuration 11 | - limits 12 | - limits-pam 13 | 14 | - name: update configuration file(s) 15 | template: 16 | src: etc/security/limits.conf.j2 17 | dest: "/etc/security/limits.d/{{ item.key }}" 18 | owner: root 19 | group: root 20 | mode: 0644 21 | with_dict: "{{ limits_conf_d_files }}" 22 | tags: 23 | - configuration 24 | - limits 25 | - limits-configuration 26 | -------------------------------------------------------------------------------- /roles/ansible-limits/templates/etc/security/limits.conf.j2: -------------------------------------------------------------------------------- 1 | # {{ ansible_managed }} 2 | 3 | # 4 | {% for item in item.value %} 5 | {{ item.domain }} {{ item.type }} {{ item.item }} {{ item.value }} 6 | {% endfor %} 7 | -------------------------------------------------------------------------------- /roles/ansible-limits/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost 2 | -------------------------------------------------------------------------------- /roles/ansible-limits/tests/test.yml: -------------------------------------------------------------------------------- 1 | # test file for limits 2 | --- 3 | - hosts: localhost 4 | connection: local 5 | become: true 6 | roles: 7 | - ../../ 8 | vars: 9 | limits_conf_d_files: 10 | 000-percona-server.conf: 11 | - domain: mysql 12 | type: soft 13 | item: nofile 14 | value: 65535 15 | - domain: mysql 16 | type: hard 17 | item: nofile 18 | value: 65535 19 | -------------------------------------------------------------------------------- /roles/ansible-limits/tests/vagrant.yml: -------------------------------------------------------------------------------- 1 | # test file for limits 2 | --- 3 | - hosts: all 4 | remote_user: vagrant 5 | become: true 6 | roles: 7 | - ../../ 8 | post_tasks: 9 | - name: check limit 10 | shell: su -l vagrant -s /bin/sh -c 'ulimit -n' | tail -1 | grep -q 65535 11 | changed_when: false 12 | vars: 13 | limits_conf_d_files: 14 | 000-vagrant-server.conf: 15 | - domain: vagrant 16 | type: soft 17 | item: nofile 18 | value: 65535 19 | - domain: vagrant 20 | type: hard 21 | item: nofile 22 | value: 65535 23 | -------------------------------------------------------------------------------- /roles/ansible-limits/vars/main.yml: -------------------------------------------------------------------------------- 1 | # vars file for limits 2 | --- 3 | -------------------------------------------------------------------------------- /roles/ansible-role-docker/.gitignore: -------------------------------------------------------------------------------- 1 | *.retry 2 | tests/test.sh 3 | -------------------------------------------------------------------------------- /roles/ansible-role-docker/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | services: docker 3 | 4 | env: 5 | - distro: centos7 6 | - distro: ubuntu1804 7 | - distro: ubuntu1604 8 | - distro: ubuntu1404 9 | - distro: debian9 10 | - distro: fedora27 11 | 12 | script: 13 | # Configure test script so we can run extra tests after playbook is run. 14 | - export container_id=$(date +%s) 15 | - export cleanup=false 16 | 17 | # Download test shim. 18 | - wget -O ${PWD}/tests/test.sh https://gist.githubusercontent.com/geerlingguy/73ef1e5ee45d8694570f334be385e181/raw/ 19 | - chmod +x ${PWD}/tests/test.sh 20 | 21 | # Run tests. 22 | - ${PWD}/tests/test.sh 23 | 24 | # Test whether Docker is running correctly (Dockerception!). 25 | - docker exec --tty ${container_id} docker run hello-world 26 | 27 | notifications: 28 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ 29 | -------------------------------------------------------------------------------- /roles/ansible-role-docker/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 Jeff Geerling 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /roles/ansible-role-docker/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Edition can be one of: 'ce' (Community Edition) or 'ee' (Enterprise Edition). 3 | docker_edition: 'ce' 4 | docker_package: "docker-{{ docker_edition }}" 5 | docker_package_state: present 6 | docker_restart_on_package_change: True 7 | 8 | # Service options. 9 | docker_service_state: started 10 | docker_service_enabled: yes 11 | docker_restart_handler_state: restarted 12 | 13 | # Docker Compose options. 14 | docker_install_compose: True 15 | docker_compose_version: "1.21.2" 16 | docker_compose_path: /usr/local/bin/docker-compose 17 | 18 | # Used only for Debian/Ubuntu. Switch 'stable' to 'edge' if needed. 19 | docker_apt_release_channel: stable 20 | docker_apt_arch: amd64 21 | docker_apt_repository: "deb [arch={{ docker_apt_arch }}] https://download.docker.com/linux/{{ ansible_distribution|lower }} {{ ansible_distribution_release }} {{ docker_apt_release_channel }}" 22 | docker_apt_ignore_key_error: True 23 | 24 | # Used only for RedHat/CentOS/Fedora. 25 | docker_yum_repo_url: https://download.docker.com/linux/{{ (ansible_distribution == "Fedora") | ternary("fedora","centos") }}/docker-{{ docker_edition }}.repo 26 | docker_yum_repo_enable_edge: 0 27 | docker_yum_repo_enable_test: 0 28 | 29 | # A list of users who will be added to the docker group. 30 | docker_users: [] 31 | -------------------------------------------------------------------------------- /roles/ansible-role-docker/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart docker 3 | service: "name=docker state={{ docker_restart_handler_state }}" 4 | -------------------------------------------------------------------------------- /roles/ansible-role-docker/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | dependencies: [] 3 | 4 | galaxy_info: 5 | author: geerlingguy 6 | description: Docker for Linux. 7 | company: "Midwestern Mac, LLC" 8 | license: "license (BSD, MIT)" 9 | min_ansible_version: 2.4 10 | platforms: 11 | - name: EL 12 | versions: 13 | - 6 14 | - 7 15 | - name: Fedora 16 | versions: 17 | - all 18 | - name: Debian 19 | versions: 20 | - jessie 21 | - name: Ubuntu 22 | versions: 23 | - trusty 24 | - xenial 25 | - bionic 26 | galaxy_tags: 27 | - web 28 | - system 29 | - containers 30 | - docker 31 | - orchestration 32 | - compose 33 | - server 34 | -------------------------------------------------------------------------------- /roles/ansible-role-docker/tasks/docker-compose.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Check current docker-compose version. 3 | command: docker-compose --version 4 | register: docker_compose_current_version 5 | changed_when: false 6 | failed_when: false 7 | 8 | - name: Delete existing docker-compose version if it's different. 9 | file: 10 | path: "{{ docker_compose_path }}" 11 | state: absent 12 | when: > 13 | docker_compose_current_version.stdout is defined 14 | and docker_compose_version not in docker_compose_current_version.stdout 15 | 16 | - name: Install Docker Compose (if configured). 17 | get_url: 18 | url: https://github.com/docker/compose/releases/download/{{ docker_compose_version }}/docker-compose-Linux-x86_64 19 | dest: "{{ docker_compose_path }}" 20 | mode: 0755 21 | -------------------------------------------------------------------------------- /roles/ansible-role-docker/tasks/docker-users.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Ensure docker users are added to the docker group. 3 | user: 4 | name: "{{ item }}" 5 | groups: docker 6 | append: yes 7 | with_items: "{{ docker_users }}" 8 | -------------------------------------------------------------------------------- /roles/ansible-role-docker/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - include_tasks: setup-RedHat.yml 3 | when: ansible_os_family == 'RedHat' 4 | 5 | - include_tasks: setup-Debian.yml 6 | when: ansible_os_family == 'Debian' 7 | 8 | - name: Install Docker. 9 | package: 10 | name: "{{ docker_package }}" 11 | state: "{{ docker_package_state }}" 12 | notify: restart docker 13 | 14 | - name: Ensure Docker is started and enabled at boot. 15 | service: 16 | name: docker 17 | state: "{{ docker_service_state }}" 18 | enabled: "{{ docker_service_enabled }}" 19 | 20 | - name: Ensure handlers are notified now to avoid firewall conflicts. 21 | meta: flush_handlers 22 | when: docker_restart_on_package_change 23 | 24 | - include_tasks: docker-compose.yml 25 | when: docker_install_compose 26 | 27 | - include_tasks: docker-users.yml 28 | when: docker_users 29 | -------------------------------------------------------------------------------- /roles/ansible-role-docker/tasks/setup-Debian.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Ensure old versions of Docker are not installed. 3 | package: 4 | name: '{{ item }}' 5 | state: absent 6 | with_items: 7 | - docker 8 | - docker-engine 9 | 10 | - name: Ensure dependencies are installed. 11 | apt: 12 | name: "{{ item }}" 13 | state: present 14 | with_items: 15 | - apt-transport-https 16 | - ca-certificates 17 | 18 | - name: Add Docker apt key. 19 | apt_key: 20 | url: https://download.docker.com/linux/ubuntu/gpg 21 | id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88 22 | state: present 23 | register: add_repository_key 24 | ignore_errors: "{{ docker_apt_ignore_key_error }}" 25 | 26 | - name: Ensure curl is present (on older systems without SNI). 27 | package: name=curl state=present 28 | when: add_repository_key is failed 29 | 30 | - name: Add Docker apt key (alternative for older systems without SNI). 31 | shell: "curl -sSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -" 32 | args: 33 | warn: no 34 | when: add_repository_key is failed 35 | 36 | - name: Add Docker repository. 37 | apt_repository: 38 | repo: "{{ docker_apt_repository }}" 39 | state: present 40 | update_cache: yes 41 | -------------------------------------------------------------------------------- /roles/ansible-role-docker/tasks/setup-RedHat.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Ensure old versions of Docker are not installed. 3 | package: 4 | name: '{{ item }}' 5 | state: absent 6 | with_items: 7 | - docker 8 | - docker-common 9 | - docker-engine 10 | 11 | - name: Add Docker GPG key. 12 | rpm_key: 13 | key: https://download.docker.com/linux/centos/gpg 14 | state: present 15 | 16 | - name: Add Docker repository. 17 | get_url: 18 | url: "{{ docker_yum_repo_url }}" 19 | dest: '/etc/yum.repos.d/docker-{{ docker_edition }}.repo' 20 | owner: root 21 | group: root 22 | mode: 0644 23 | 24 | - name: Configure Docker Edge repo. 25 | ini_file: 26 | dest: '/etc/yum.repos.d/docker-{{ docker_edition }}.repo' 27 | section: 'docker-{{ docker_edition }}-edge' 28 | option: enabled 29 | value: '{{ docker_yum_repo_enable_edge }}' 30 | 31 | - name: Configure Docker Test repo. 32 | ini_file: 33 | dest: '/etc/yum.repos.d/docker-{{ docker_edition }}.repo' 34 | section: 'docker-{{ docker_edition }}-test' 35 | option: enabled 36 | value: '{{ docker_yum_repo_enable_test }}' 37 | -------------------------------------------------------------------------------- /roles/ansible-role-docker/tests/README.md: -------------------------------------------------------------------------------- 1 | # Ansible Role tests 2 | 3 | To run the test playbook(s) in this directory: 4 | 5 | 1. Install and start Docker. 6 | 1. Download the test shim (see .travis.yml file for the URL) into `tests/test.sh`: 7 | - `wget -O tests/test.sh https://gist.githubusercontent.com/geerlingguy/73ef1e5ee45d8694570f334be385e181/raw/` 8 | 1. Make the test shim executable: `chmod +x tests/test.sh`. 9 | 1. Run (from the role root directory) `distro=[distro] playbook=[playbook] ./tests/test.sh` 10 | 11 | If you don't want the container to be automatically deleted after the test playbook is run, add the following environment variables: `cleanup=false container_id=$(date +%s)` 12 | -------------------------------------------------------------------------------- /roles/ansible-role-docker/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: all 3 | 4 | pre_tasks: 5 | - name: Update apt cache. 6 | apt: update_cache=yes cache_valid_time=600 7 | when: ansible_os_family == 'Debian' 8 | 9 | - name: Install test dependencies. 10 | package: name=curl state=present 11 | 12 | roles: 13 | - role_under_test 14 | -------------------------------------------------------------------------------- /roles/ansible-role-highload/ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | roles_path = .. 3 | -------------------------------------------------------------------------------- /roles/ansible-role-highload/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for kostyrevaa.highload 3 | highload_rmem_max: '16777216' 4 | highload_wmem_max: '16777216' 5 | highload_rmem_default: '16777216' 6 | highload_wmem_default: '16777216' 7 | highload_optmem_max: '40960' 8 | highload_tcp_rmem: '4096 87380 16777216' 9 | highload_tcp_wmem: '4096 65536 16777216' 10 | 11 | highload_ip_local_port_range: "1025 65000" 12 | highload_tcp_tw_reuse: '1' 13 | highload_tcp_tw_recycle: "0" 14 | 15 | 16 | highload_netdev_max_backlog: '50000' 17 | highload_tcp_max_syn_backlog: '30000' 18 | highload_tcp_max_tw_buckets: '2000000' 19 | highload_tcp_fin_timeout: '30' 20 | 21 | # Disable TCP slow start on idle connections 22 | highload_tcp_slow_start_after_idle: '0' 23 | 24 | # If your servers talk UDP, also up these limits 25 | highload_udp_rmem_min: '8192' 26 | highload_udp_wmem_min: '8192' 27 | highload_tune_udp: false 28 | -------------------------------------------------------------------------------- /roles/ansible-role-highload/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for kostyrevaa.highload 3 | -------------------------------------------------------------------------------- /roles/ansible-role-highload/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | galaxy_info: 3 | author: Aleksandr Kostyrev 4 | description: Configures a server for highload 5 | license: BSD 6 | min_ansible_version: 1.9 7 | 8 | platforms: 9 | - name: EL 10 | versions: 11 | - 6 12 | 13 | categories: 14 | - system 15 | 16 | dependencies: [] 17 | -------------------------------------------------------------------------------- /roles/ansible-role-highload/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost ansible_connection=local 2 | -------------------------------------------------------------------------------- /roles/ansible-role-highload/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: all 3 | sudo: true 4 | roles: 5 | - kostyrevaa.highload 6 | -------------------------------------------------------------------------------- /roles/ansible-role-highload/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for kostyrevaa.highload 3 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/.gitignore: -------------------------------------------------------------------------------- 1 | *.retry 2 | tests/test.sh 3 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 Jeff Geerling 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart mysql 3 | service: "name={{ mysql_daemon }} state=restarted sleep=5" 4 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | dependencies: [] 3 | 4 | galaxy_info: 5 | author: geerlingguy 6 | description: MySQL server for RHEL/CentOS and Debian/Ubuntu. 7 | company: "Midwestern Mac, LLC" 8 | license: "license (BSD, MIT)" 9 | min_ansible_version: 2.2 10 | platforms: 11 | - name: EL 12 | versions: 13 | - 6 14 | - 7 15 | - name: Ubuntu 16 | versions: 17 | - all 18 | - name: Debian 19 | versions: 20 | - all 21 | - name: Archlinux 22 | versions: 23 | - all 24 | galaxy_tags: 25 | - database 26 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/tasks/databases.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Ensure MySQL databases are present. 3 | mysql_db: 4 | name: "{{ item.name }}" 5 | collation: "{{ item.collation | default('utf8_general_ci') }}" 6 | encoding: "{{ item.encoding | default('utf8') }}" 7 | state: "{{ item.state | default('present') }}" 8 | with_items: "{{ mysql_databases }}" 9 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Variable configuration. 3 | - include_tasks: variables.yml 4 | 5 | # Setup/install tasks. 6 | - include_tasks: setup-RedHat.yml 7 | when: ansible_os_family == 'RedHat' 8 | 9 | - include_tasks: setup-Debian.yml 10 | when: ansible_os_family == 'Debian' 11 | 12 | - include_tasks: setup-Archlinux.yml 13 | when: ansible_os_family == 'Archlinux' 14 | 15 | - name: Check if MySQL packages were installed. 16 | set_fact: 17 | mysql_install_packages: "{{ (rh_mysql_install_packages is defined and rh_mysql_install_packages.changed) 18 | or (deb_mysql_install_packages is defined and deb_mysql_install_packages.changed) 19 | or (arch_mysql_install_packages is defined and arch_mysql_install_packages.changed) }}" 20 | 21 | # Configure MySQL. 22 | - include_tasks: configure.yml 23 | - include_tasks: secure-installation.yml 24 | - include_tasks: databases.yml 25 | - include_tasks: users.yml 26 | - include_tasks: replication.yml 27 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/tasks/setup-Archlinux.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Ensure MySQL Python libraries are installed. 3 | pacman: "name=mysql-python state=present" 4 | 5 | - name: Ensure MySQL packages are installed. 6 | pacman: "name={{ item }} state=present" 7 | with_items: "{{ mysql_packages }}" 8 | register: arch_mysql_install_packages 9 | 10 | - name: Run mysql_install_db if MySQL packages were changed. 11 | command: mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql 12 | when: arch_mysql_install_packages.changed 13 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/tasks/setup-Debian.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Check if MySQL is already installed. 3 | stat: path=/etc/init.d/mysql 4 | register: mysql_installed 5 | 6 | - name: Update apt cache if MySQL is not yet installed. 7 | apt: update_cache=yes 8 | when: mysql_installed.stat.exists == false 9 | 10 | - name: Determine required MySQL Python libraries. 11 | set_fact: 12 | deb_mysql_python_package: "{% if 'python3' in ansible_python_interpreter|default('') %}python3-mysqldb{% else %}python-mysqldb{% endif %}" 13 | 14 | - name: Ensure MySQL Python libraries are installed. 15 | apt: "name={{ deb_mysql_python_package }} state=present" 16 | 17 | - name: Ensure MySQL packages are installed. 18 | apt: "name={{ item }} state=present" 19 | with_items: "{{ mysql_packages }}" 20 | register: deb_mysql_install_packages 21 | 22 | # Because Ubuntu starts MySQL as part of the install process, we need to stop 23 | # mysql and remove the logfiles in case the user set a custom log file size. 24 | - name: Ensure MySQL is stopped after initial install. 25 | service: "name={{ mysql_daemon }} state=stopped" 26 | when: mysql_installed.stat.exists == false 27 | 28 | - name: Delete innodb log files created by apt package after initial install. 29 | file: path={{ mysql_datadir }}/{{item}} state=absent 30 | with_items: 31 | - "ib_logfile0" 32 | - "ib_logfile1" 33 | when: mysql_installed.stat.exists == false 34 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/tasks/setup-RedHat.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Ensure MySQL packages are installed. 3 | yum: "name={{ item }} state=present enablerepo={{ mysql_enablerepo }}" 4 | with_items: "{{ mysql_packages }}" 5 | register: rh_mysql_install_packages 6 | 7 | - name: Ensure MySQL Python libraries are installed. 8 | yum: "name=MySQL-python state=present enablerepo={{ mysql_enablerepo }}" 9 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/tasks/users.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Ensure MySQL users are present. 3 | mysql_user: 4 | name: "{{ item.name }}" 5 | host: "{{ item.host | default('localhost') }}" 6 | password: "{{ item.password }}" 7 | priv: "{{ item.priv | default('*.*:USAGE') }}" 8 | state: "{{ item.state | default('present') }}" 9 | append_privs: "{{ item.append_privs | default('no') }}" 10 | encrypted: "{{ item.encrypted | default('no') }}" 11 | with_items: "{{ mysql_users }}" 12 | no_log: true 13 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/templates/root-my.cnf.j2: -------------------------------------------------------------------------------- 1 | # {{ ansible_managed }} 2 | 3 | [client] 4 | user="{{ mysql_root_username }}" 5 | password="{{ mysql_root_password }}" 6 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/templates/user-my.cnf.j2: -------------------------------------------------------------------------------- 1 | # {{ ansible_managed }} 2 | 3 | [client] 4 | user="{{ mysql_user_name }}" 5 | password="{{ mysql_user_password }}" 6 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/tests/README.md: -------------------------------------------------------------------------------- 1 | # Ansible Role tests 2 | 3 | To run the test playbook(s) in this directory: 4 | 5 | 1. Install and start Docker. 6 | 1. Download the test shim (see .travis.yml file for the URL) into `tests/test.sh`: 7 | - `wget -O tests/test.sh https://gist.githubusercontent.com/geerlingguy/73ef1e5ee45d8694570f334be385e181/raw/` 8 | 1. Make the test shim executable: `chmod +x tests/test.sh`. 9 | 1. Run (from the role root directory) `distro=[distro] playbook=[playbook] ./tests/test.sh` 10 | 11 | If you don't want the container to be automatically deleted after the test playbook is run, add the following environment variables: `cleanup=false container_id=$(date +%s)` 12 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/tests/centos-7-test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: all 3 | vars: 4 | mysql_packages: 5 | - mariadb 6 | - mariadb-server 7 | - mariadb-libs 8 | - MySQL-python 9 | - perl-DBD-MySQL 10 | mysql_daemon: mariadb 11 | mysql_log_error: /var/log/mariadb/mariadb.log 12 | mysql_syslog_tag: mariadb 13 | mysql_pid_file: /var/run/mariadb/mariadb.pid 14 | roles: 15 | - role_under_test 16 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/tests/initctl_faker: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ALIAS_CMD="$(echo ""$0"" | sed -e 's?/sbin/??')" 3 | 4 | case "$ALIAS_CMD" in 5 | start|stop|restart|reload|status) 6 | exec service $1 $ALIAS_CMD 7 | ;; 8 | esac 9 | 10 | case "$1" in 11 | list ) 12 | exec service --status-all 13 | ;; 14 | reload-configuration ) 15 | exec service $2 restart 16 | ;; 17 | start|stop|restart|reload|status) 18 | exec service $2 $1 19 | ;; 20 | \?) 21 | exit 0 22 | ;; 23 | esac 24 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: all 3 | 4 | pre_tasks: 5 | - name: Copy initctl_faker into place for Ubuntu 14.04. 6 | copy: 7 | src: initctl_faker 8 | dest: /sbin/initctl 9 | mode: 0755 10 | force: yes 11 | when: ansible_distribution == 'Ubuntu' and ansible_distribution_version == '14.04' 12 | changed_when: false 13 | 14 | roles: 15 | - role_under_test 16 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/vars/Archlinux.yml: -------------------------------------------------------------------------------- 1 | --- 2 | __mysql_daemon: mariadb 3 | __mysql_packages: 4 | - mariadb 5 | __mysql_slow_query_log_file: /var/log/mysql/mysql-slow.log 6 | __mysql_log_error: /var/log/mysql.err 7 | __mysql_syslog_tag: mysql 8 | __mysql_pid_file: /run/mysqld/mysqld.pid 9 | __mysql_config_file: /etc/mysql/my.cnf 10 | __mysql_config_include_dir: /etc/mysql/conf.d 11 | __mysql_socket: /run/mysqld/mysqld.sock 12 | __mysql_supports_innodb_large_prefix: true 13 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/vars/Debian.yml: -------------------------------------------------------------------------------- 1 | --- 2 | __mysql_daemon: mysql 3 | __mysql_packages: 4 | - mysql-common 5 | - mysql-server 6 | mysql_log_file_group: adm 7 | __mysql_slow_query_log_file: /var/log/mysql/mysql-slow.log 8 | __mysql_log_error: /var/log/mysql/mysql.err 9 | __mysql_syslog_tag: mysql 10 | __mysql_pid_file: /var/run/mysqld/mysqld.pid 11 | __mysql_config_file: /etc/mysql/my.cnf 12 | __mysql_config_include_dir: /etc/mysql/conf.d 13 | __mysql_socket: /var/run/mysqld/mysqld.sock 14 | __mysql_supports_innodb_large_prefix: true 15 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/vars/RedHat-6.yml: -------------------------------------------------------------------------------- 1 | --- 2 | __mysql_daemon: mysqld 3 | __mysql_packages: 4 | - mysql 5 | - mysql-server 6 | __mysql_slow_query_log_file: /var/log/mysql-slow.log 7 | __mysql_log_error: /var/log/mysql.err 8 | __mysql_syslog_tag: mysql 9 | __mysql_pid_file: /var/run/mysqld/mysqld.pid 10 | __mysql_config_file: /etc/my.cnf 11 | __mysql_config_include_dir: /etc/my.cnf.d 12 | __mysql_socket: /var/lib/mysql/mysql.sock 13 | __mysql_supports_innodb_large_prefix: false 14 | -------------------------------------------------------------------------------- /roles/ansible-role-mysql/vars/RedHat-7.yml: -------------------------------------------------------------------------------- 1 | --- 2 | __mysql_daemon: mariadb 3 | __mysql_packages: 4 | - mariadb 5 | - mariadb-server 6 | - mariadb-libs 7 | - MySQL-python 8 | - perl-DBD-MySQL 9 | __mysql_slow_query_log_file: /var/log/mysql-slow.log 10 | __mysql_log_error: /var/log/mariadb/mariadb.log 11 | __mysql_syslog_tag: mariadb 12 | __mysql_pid_file: /var/run/mariadb/mariadb.pid 13 | __mysql_config_file: /etc/my.cnf 14 | __mysql_config_include_dir: /etc/my.cnf.d 15 | __mysql_socket: /var/lib/mysql/mysql.sock 16 | __mysql_supports_innodb_large_prefix: true 17 | -------------------------------------------------------------------------------- /roles/cppcomet-ansible-role/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # Used only for Debian/Ubuntu installation, as the -t option for apt. 3 | 4 | 5 | cppcomet_node_name: n1 6 | cppcomet_useQueryLoger: false 7 | cppcomet_base_dir: static 8 | cppcomet_buf_size: 10384 9 | cppcomet_fragment_buf_max_size: 10384 10 | cppcomet_answer_buf_size: 1000000 11 | cppcomet_db_host: localhost 12 | cppcomet_db_user: comet 13 | cppcomet_db_password: cometpassword 14 | cppcomet_db_name: comet_db 15 | cppcomet_db_port: 3306 16 | cppcomet_ws_ip: 0.0.0.0 17 | cppcomet_ws_thread_num: 4 18 | cppcomet_statistics: 10 19 | cppcomet_ws_port: 8087 20 | cppcomet_cometql_ip: 0.0.0.0 21 | cppcomet_cometql_thread_num: 4 22 | cppcomet_cometql_port: 3307 23 | cppcomet_mysqlproxy_ip: 0.0.0.0 24 | cppcomet_mysqlproxy_thread_num: 4 25 | cppcomet_mysqlproxy_port: 3308 26 | cppcomet_log_level: 200 27 | cppcomet_password: root 28 | cppcomet_fragment_buf_size: 600 29 | cppcomet_git_branch: master 30 | -------------------------------------------------------------------------------- /roles/cppcomet-ansible-role/meta/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | dependencies: [] 3 | 4 | galaxy_info: 5 | author: trapenokvictor 6 | description: CppComet for Ubuntu/Debian 7 | company: "Trapenk Victor" 8 | license: "license (BSD, MIT)" 9 | min_ansible_version: 2.4 10 | platforms: 11 | - name: Debian 12 | versions: 13 | - stretch 14 | - name: Ubuntu 15 | versions: 16 | - bionic 17 | - yakkety 18 | - artful 19 | - xenial 20 | galaxy_tags: 21 | - development 22 | - web 23 | - CppComet 24 | - language 25 | - chat 26 | - websockets 27 | - http 28 | - webserver 29 | - server -------------------------------------------------------------------------------- /roles/cppcomet-ansible-role/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Update 3 | apt: update_cache=yes 4 | 5 | - name: Installing deps 6 | apt: 7 | name: cmake,make,cpp,gcc,libssl-dev,g++,nginx,pkg-config,libmariadbclient-dev-compat,mysql-client,flex,mailutils,uuid-dev,git,wget 8 | state: present 9 | 10 | #- name: Clean CppComet dir 11 | # file: 12 | # state: absent 13 | # path: "/usr/src/cppcomet" 14 | 15 | - name: Git clone CppComet 16 | git: 17 | repo: https://github.com/CppComet/comet-server 18 | dest: /usr/src/cppcomet 19 | version: "{{cppcomet_git_branch}}" 20 | force: yes 21 | 22 | - name: cmake 23 | shell: cmake . 24 | args: 25 | chdir: /usr/src/cppcomet/ 26 | 27 | - name: make 28 | shell: make 29 | args: 30 | chdir: /usr/src/cppcomet/ 31 | 32 | - name: make install 33 | shell: make install 34 | args: 35 | chdir: /usr/src/cppcomet/ 36 | 37 | - name: set comet.ini 38 | template: 39 | src: templates/comet.ini.j2 40 | dest: /etc/comet-server/comet.ini 41 | 42 | - name: Start CppComet 43 | service: 44 | service: name=comet.service state=start 45 | 46 | -------------------------------------------------------------------------------- /roles/freeswitch-video/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Update 3 | apt: update_cache=yes 4 | 5 | #- name: Installing deps 6 | # apt: 7 | # name: cmake,make,cpp,gcc,libssl-dev,g++,nginx,pkg-config,libmariadbclient-dev-compat,mysql-client,flex,mailutils,uuid-dev,git,wget 8 | # state: present 9 | 10 | - name: copying conf dir 11 | copy: 12 | src: templates/conf 13 | dest: /etc/freeswitch-video 14 | owner: root 15 | group: root 16 | mode: 0644 17 | 18 | - name: set cpp_comet.xml 19 | template: 20 | src: templates/cpp_comet.xml.j2 21 | dest: /etc/freeswitch-video/cpp_comet.xml 22 | 23 | 24 | # docker login --password PW --username trapenokvictor 25 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/abstraction.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/acl.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/alsa.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/blacklist.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/cdr_mongodb.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/cdr_sqlite.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/cepstral.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/cidlookup.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 24 | 26 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/db.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/dialplan_directory.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/dingaling.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/directory.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/distributor.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/easyroute.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/enum.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/erlang_event.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/event_multicast.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/event_socket.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/fax.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/fifo.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/graylog2.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/hash.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/hiredis.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/http_cache.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/ivr.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/java.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/logfile.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/lua.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | 11 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/memcache.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/mongo.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/opal.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/oreka.conf.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/perl.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/pocketsphinx.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/post_load_modules.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/presence_map.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/python.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/redis.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/rss.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/rtmp.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/shout.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/skinny.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/smpp.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/sms_flowroute.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/sofia.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 15 | 16 | 17 | 18 | 19 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/syslog.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/translate.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/tts_commandline.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/unicall.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/unimrcp.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/v8.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/xml_curl.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/xml_rpc.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/xml_scgi.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/autoload_configs/zeroconf.conf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/chatplan/default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/cpp_comet.xml: -------------------------------------------------------------------------------- 1 | 2 | 15 | 16 | 17 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1000.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1001.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1002.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1003.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1004.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1005.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1006.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1007.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1008.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1009.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1010.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1011.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1012.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1013.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1014.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1015.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1016.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1017.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1018.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/1019.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/example.com.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /roles/freeswitch-video/templates/conf/directory/default/skinny-example.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | 11 | 12 | 17 | 21 |