summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update framing to latest RabbitMQ 3.8.19updateframingAlan Antonuk2021-07-281-1/+1
| | | | | | This is the latest RabbitMQ release, there are no changes to framing, Signed-off-by: GitHub <noreply@github.com>
* Update copyright & license header to use SPDX idAlan Antonuk2021-07-2770-2027/+168
| | | | | | | This makes license detection machine-readable, and makes source files more concise and easier to read and understand. Signed-off-by: GitHub <noreply@github.com>
* More tweaks to LICENSE file for github detectionAlan Antonuk2021-07-262-6/+34
| | | | | | | This does not change the license or copyright of rabbitmq-c. This tweaks the LICENSE file so that github properly detects the license. Signed-off-by: GitHub <noreply@github.com>
* Tweak LICENSE file so that github recognizes itAlan Antonuk2021-07-261-0/+2
| | | | | | | This does not change the license, rabbitmq-c is still licensed under the the MIT license. Signed-off-by: GitHub <noreply@github.com>
* cmake: Change definition of OpenSSL dep in pc fileDaniel Engberg2021-07-131-2/+1
| | | | | | Instead of defining OpenSSL dependency via Requires.private use Libs.private instead. This removes the requirement of a .pc file for OpenSSL which not all distributions ship such as FreeBSD. Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* cmake: only enable doxygen when configured toAlan Antonuk2021-05-201-6/+2
| | | | | | Also use find_package(... REQUIRED) pattern to be a bit more concise. Signed-off-by: GitHub <noreply@github.com>
* lib: remove use of msinttypesAlan Antonuk2021-05-202-311/+0
| | | | | | | | | msinttypes was a workaround for MSVC not supplying a working stdint.h and inttypes.h. MSVC 2013 and newer supply these headers. Older versions of MSVC are not supported by Microsoft, so it seems reasonable to drop these at this point. Signed-off-by: GitHub <noreply@github.com>
* lib: delete obsolete inline keyword detectionAlan Antonuk2021-05-203-33/+0
| | | | | | C99 supports the inline keyword, this is now not useful. Signed-off-by: GitHub <noreply@github.com>
* lib: compile rabbitmq-c as C99Alan Antonuk2021-05-201-1/+1
| | | | | | | | | It is believed that enough maintained platforms (Linux, MacOS, Win32) have a compiler that supports a compiler that can compile in C99. This also removes the need to maintain a number of workarounds, as well as awkward coding patterns. Signed-off-by: GitHub <noreply@github.com>
* lib: remove unused AMQP_PRIVATE macroAlan Antonuk2021-05-191-6/+0
| | | | Signed-off-by: GitHub <noreply@github.com>
* cmake: remove unused RMQ_LIBRARY_TARGET varAlan Antonuk2021-04-281-2/+0
| | | | Signed-off-by: GitHub <noreply@github.com>
* lib: fix clang-tidy finding in simple_rpc_innerAlan Antonuk2021-04-281-1/+1
| | | | | | | While this wasn't causing any errors, it did have the potential to cause a bug if the error codes ever were positive. Signed-off-by: GitHub <noreply@github.com>
* lib: remove unused store in amqp_urlAlan Antonuk2021-04-281-1/+1
| | | | | | Found using clang-tidy Signed-off-by: GitHub <noreply@github.com>
* ci: Add github CodeQL configurationAlan Antonuk2021-04-271-0/+50
| | | | Signed-off-by: GitHub <noreply@github.com>
* lib: update framing regenerator to use python 3Alan Antonuk2021-04-202-98/+96
| | | | Signed-off-by: GitHub <noreply@github.com>
* ci: add framing regeneration to CI configAlan Antonuk2021-04-202-1/+12
| | | | Signed-off-by: GitHub <noreply@github.com>
* lib: add tool to framing.h/amqp_framing.cAlan Antonuk2021-04-202-0/+18
| | | | Signed-off-by: GitHub <noreply@github.com>
* lib: regenerate framing with codegen v3.8.14Alan Antonuk2021-04-202-144/+254
| | | | Signed-off-by: GitHub <noreply@github.com>
* cmake: remove framing generation from cmakeAlan Antonuk2021-04-204-150/+2
| | | | | | This will be replaced with some sort of shell script. Signed-off-by: GitHub <noreply@github.com>
* lib: make library version match release versionAlan Antonuk2021-04-202-6/+5
| | | | | | | This makes full library version on unix-like systems match the release version. The SOVERSION remains as unchanged, for compatibility sake. Signed-off-by: GitHub <noreply@github.com>
* lib: Fix minor issues with codegenAlan Antonuk2021-04-202-0/+2
| | | | Signed-off-by: GitHub <noreply@github.com>
* ci: enable building of tools manpagesAlan Antonuk2021-04-191-2/+3
| | | | | | | This unfortunately pulls in xmlto which is huge, thus we only enable it for a subset of the build configurations. Signed-off-by: GitHub <noreply@github.com>
* cmake: make tools-common depend on popt::poptAlan Antonuk2021-04-191-6/+6
| | | | Signed-off-by: GitHub <noreply@github.com>
* ci: build CLI tools in github actionsAlan Antonuk2021-04-192-8/+8
| | | | | | | | Make sure that these tools continue to build, unfortunately this requires installing additional packages on Linux/MacOS, which is expected to slow down CI runs. Signed-off-by: GitHub <noreply@github.com>
* ci: use ninja to build under linux/macosAlan Antonuk2021-04-192-7/+13
| | | | | | | | | | | This is done to make the output when the build fails a bit easier to read, specifically we'd like to see the compiler command used. This theoretically will improve the build performance a bit by doing the compilation in parallel, however the cost for installing ninja likely more than offsets this. Signed-off-by: GitHub <noreply@github.com>
* cmake: remove unused if(XMLTO_FOUND) in tools dirAlan Antonuk2021-04-191-34/+29
| | | | | | | This codepath should not be hit, as XMLTO is required to be defined if BUILD_TOOLS_DOCS is set (it should error-our earlier in CMake. Signed-off-by: GitHub <noreply@github.com>
* cmake: rename FindXMLTO.cmake to correct warningAlan Antonuk2021-04-192-2/+2
| | | | | | | | | | | | | CMake issues the following developer warning about FindXmlTo: The package name passed to `find_package_handle_standard_args` (XMLTO) does not match the name of the calling package (XmlTo). This can lead to problems in calling code that expects `find_package` result variables (e.g., `_FOUND`) to follow a certain pattern. This corrects that by naming it FindXMLTO.cmake. Signed-off-by: GitHub <noreply@github.com>
* Update build status badge to new github actionsAlan Antonuk2021-04-191-1/+1
| | | | | | The travis build has been turned off for a while. Signed-off-by: GitHub <noreply@github.com>
* Remove out of date .ycm_extra_conf.py fileAlan Antonuk2021-04-191-157/+0
| | | | | | | | | This file was by for YouCompleteMe for those developing with this extension. The replacement is to use the -DCMAKE_EXPORT_COMPILE_COMMANDS flag to generate a compile_commands.json with cmake, then configure YouCompleteMe to read that. Signed-off-by: GitHub <noreply@github.com>
* cmake: set default for BUILD_TOOLS to OFFAlan Antonuk2021-04-191-15/+11
| | | | | | | | | | | Then make BUILD_TOOLS_DOCS only usable when BUILD_TOOLS is ON and explicitly specified. This makes the project easier to add_submodule by not sometimes turning on features based on the environment. And makes it explict when things are enabled vs something that is triggered based on the environment. Signed-off-by: GitHub <noreply@github.com>
* cmake: delete unused LIBRABBITMQ_INCLUDE_DIRS and RMQ_LIBRARY_TARGETAlan Antonuk2021-04-191-9/+1
| | | | | | These have not been replaced with better alternatives. Signed-off-by: GitHub <noreply@github.com>
* cmake: modernize tools CMakeListsAlan Antonuk2021-04-191-33/+33
| | | | Signed-off-by: GitHub <noreply@github.com>
* Make FindPOPT.cmake import cmake targetsAlan Antonuk2021-04-191-18/+27
| | | | Signed-off-by: GitHub <noreply@github.com>
* tools: remove unused config.h includeAlan Antonuk2021-04-199-36/+0
| | | | | | HAVE_CONFIG_H is never defined, thus this is never included. Signed-off-by: GitHub <noreply@github.com>
* cmake: change BUILD_EXAMPLES to default to OFFAlan Antonuk2021-04-193-11/+13
| | | | | | | | | | | This makes the project easier to use as an add_subdirectory in a larger project without needing to explicitly disable this feature. As a minor side-effect: BUILD_EXAMPLES now requires BUILD_SHARED_LIBS=ON. While there isn't a technical limitation, it makes the CMake code easier to reason about, and is believed this will not impact a lot of users. If this ends up being a problem, it can be reconsidered.
* cmake: modernize examples CMakeListsAlan Antonuk2021-04-191-38/+32
|
* cmake: use OpenSSL::SSL imported targetAlan Antonuk2021-04-191-4/+3
| | | | Signed-off-by: GitHub <noreply@github.com>
* cmake: add alias targets for library targetsAlan Antonuk2021-04-181-0/+4
| | | | | | | | Users using rabbitmq-c by using add_subdirectory on the project should use the rabbitmq::rabbitmq or rabbitmq::rabbitmq-static targets to use the rabbitmq-c library. Signed-off-by: GitHub <noreply@github.com>
* doc: update required cmake version in README.mdAlan Antonuk2021-04-131-1/+1
| | | | Signed-off-by: GitHub <noreply@github.com>
* cmake: modernize lib target specificationAlan Antonuk2021-04-131-98/+126
| | | | | | | Use modern CMake idioms when defining rabbitmq and rabbitmq-static library targets. Signed-off-by: GitHub <noreply@github.com>
* cmake: remove unused -DAMQP_BUILD definitionAlan Antonuk2021-04-131-2/+0
| | | | Signed-off-by: GitHub <noreply@github.com>
* lib remove undefined func amqp_ssl_error_stringAlan Antonuk2021-04-132-5/+0
| | | | | | Then also remove unused -DWITH_SSL define when compiling the library. Signed-off-by: GitHub <noreply@github.com>
* lib: use $ORIGIN for installed rpath on non-MacOSAlan Antonuk2021-04-111-0/+4
| | | | | | | | This sets an rpath that makes it a bit more intuitive to use when the library is moved after installation. This matches the behavior on MacOS platform, which is why this is not changed for MacOS platforms. Signed-off-by: GitHub <noreply@github.com>
* cmake: specify COMPONENT on install commandsAlan Antonuk2021-04-113-5/+14
| | | | | | | | | | | | | | | | To help package managers cmake install commands now specify a COMPONENT. Components include: - rabbitmq-c-runtime: libraries necessary for running programs linked against rabbitmq-c. - rabbitmq-c-development: static libraries, headers necessary for building programs against rabbitmq-c - rabbitmq-c-tools: CLI tools for interacting with RabbitMQ broker - rabbitmq-c-tool-docs: man pages for CLI tools. This also updates the tool install directory to use GnuInstallDirs- compatible location Signed-off-by: GitHub <noreply@github.com>
* ssl: remove obsolete amqp_hostcheckAlan Antonuk2021-04-075-321/+0
| | | | | | This is dead code, obsoleted by #673 (setting minimum OpenSSL v1.1.1). Signed-off-by: GitHub <noreply@github.com>
* Add TLSv1.3 support and set min-version to TLSv1.2Alan Antonuk2021-04-062-8/+14
| | | | | | | | | Add support for TLSv1.3, and set the default supported versions to be TLSv1.2 and TLSv1.3. TLSv1.0 and TLSv1.1 both have security flaws that make them unsuitable as a default. If these versions are required, they can be explictly set by users to use these older versions. Signed-off-by: GitHub <noreply@github.com>
* ssl: drop support OpenSSL v1.1.0 and olderAlan Antonuk2021-04-068-288/+5
| | | | | | | | | | | | v1.1.0 and older is no longer supported by OpenSSL (https://www.openssl.org/policies/releasestrat.html). While there is the possibility that someone is paying for support for v1.0.2, this library is not regularly tested against these versions. As a side-effect older workarounds for hostname verification can be removed. Signed-off-by: GitHub <noreply@github.com>
* cmake: use GenerateExportHeader for AMQP_EXPORTAlan Antonuk2021-04-069-231/+168
| | | | | | | | | | Use cmake's GenerateExportHeader to define AMQP_EXPORT & AMQP_DEPRECATED over the one in amqp.h. This is likely to be more correct over time. Note this requires bumping the minimum required version from v3.10 to v3.12 to pick up support in CMake for C libraries. Signed-off-by: GitHub <noreply@github.com>
* Move official includes to rabbitmq-c/ directoryAlan Antonuk2021-04-0535-3954/+4123
| | | | | | | | | | | | | | | Move official rabbitmq-c includes under the rabbitmq-c, thus new programs should use the following include paths: amqp.h -> rabbitmq-c/amqp.h amqp_tcp_socket.h -> rabbitmq-c/tcp_socket.h amqp_ssl_socket .h-> rabbitmq-c/ssl_socket.h amqp_framing.h -> rabbitmq-c/framing.h Existing include files are left with a warning message and including their new equivalents, so existing programs should compile without modification. Signed-off-by: GitHub <noreply@github.com>
* Move public header files to include directoryAlan Antonuk2021-04-057-13/+18
| | | | Signed-off-by: GitHub <noreply@github.com>