summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* ssl: Limit SSL to only support TLSv1.2 and TLSv1.3HEADmasterAlan Antonuk2023-05-032-50/+42
| | | | | | | This also restructures the SSL code to use the modern OpenSSL equivalent of these functions simplifying internal code to be more readable. Signed-off-by: GitHub <noreply@github.com>
* ssl: Use OPENSSL_API_COMPAT v1.1.1Alan Antonuk2023-05-032-5/+5
| | | | | | | OpenSSL v1.1.1 is the minimum version that rabbitmq-c supports and the API that it's programmed against. Signed-off-by: GitHub <noreply@github.com>
* Fix bug with absolute paths in pc file generationAlan Antonuk2023-05-031-2/+2
| | | | | | Fixes: alanxz/rabbitmq-c#733 Signed-off-by: GitHub <noreply@github.com>
* Make cmake package-config find OpenSSL when usedAlan Antonuk2023-05-022-1/+10
| | | | | | | | | This makes the rabbitmq-c-config.cmake package config correctly find the OpenSSL library dependency when required. Fixes: #725 Signed-off-by: GitHub <noreply@github.com>
* cmake: use SameMajorVersion compatibility strategyAlan Antonuk2023-05-021-1/+1
| | | | Signed-off-by: GitHub <noreply@github.com>
* fuzz: connect to 127.0.0.1 instead of localhostAlan Antonuk2023-05-021-1/+1
| | | | | | | | We're observing ENETUNREACH, the thought is that something about name lookup is returning something that we cannot connect to, which makes connect fail eith ENETUNREACH. Signed-off-by: GitHub <noreply@github.com>
* fuzz: add more error reporting to fuzz_serverAlan Antonuk2023-05-011-8/+23
| | | | Signed-off-by: GitHub <noreply@github.com>
* Add oss-fuzz badge to README.mdAlan Antonuk2023-05-011-0/+2
| | | | | | Shows oss-fuzz status at a glance. Signed-off-by: GitHub <noreply@github.com>
* cmake: bump minimum required version to 3.22Alan Antonuk2023-05-011-1/+1
| | | | | | | | This is the version that is installed on Ubuntu 22.04-LTS, and what is possible to regularly test with the current infrastructure. 3.19+ is needed to allow for use of CMakePresets.json. Signed-off-by: GitHub <noreply@github.com>
* Add codespaces configuration.Alan Antonuk2023-04-303-0/+103
| | | | Signed-off-by: GitHub <noreply@github.com>
* Correct library versions on Mach-O platformsAlan Antonuk2023-04-302-2/+17
| | | | | | | | | | | Set the compatibility and current version strings on Mach-O (Apple) platforms. The compatibility version remains the same as the SOVERSION, the current version is SOVERSION.AGE.REVISION, which matches the previous libtool semantics for this. Fixes #758 Signed-off-by: GitHub <noreply@github.com>
* fuzz: add additional debugging information to fuzz_serverAlan Antonuk2023-04-291-10/+28
| | | | | | | The idea is to give a bit more information about what is calling exit in the fuzz test. Signed-off-by: GitHub <noreply@github.com>
* fix: recursion when decoding arrays.Alan Antonuk2023-03-121-4/+4
| | | | | | | | | This corrects what was done in 903b6b5 to correctly limit array recursion in addition recursion within a table. Fixes: https://crbug.com/oss-fuzz/56949 Signed-off-by: GitHub <noreply@github.com>
* fix: limit recursion in table decodingAlan Antonuk2023-03-101-9/+25
| | | | | | | | | | | | Limit depth of table and arrays when decoding to 100. This is done to prevent stack overflows from potentially adversial input. 100 is picked as its high enough that its unlikely that a valid input would be that big. Fixes: https://crbug.com/oss-fuzz/56296 Fixes: https://crbug.com/oss-fuzz/56204 Signed-off-by: GitHub <noreply@github.com>
* Update to CodeQL Action v2Alan Antonuk2023-02-281-2/+2
| | | | | | | v1 was deprecated as of Jan 18, 2023, see: https://github.blog/changelog/2023-01-18-code-scanning-codeql-action-v1-is-now-deprecated/ Signed-off-by: GitHub <noreply@github.com>
* Correct fuzz_url.c to conform to fuzzing APIAlan Antonuk2023-02-281-3/+10
| | | | | | | | | | | 1. Always null-terminate the string provided, this is a requirement of the API itself (fixes: https://crbug.com/oss-fuzz/56157). 2. Provide a string that amqp_parse_url can modify. This API modifies its input (fixes: https://crbug.com/oss-fuzz/56162). 3. Always return 0 from the fuzzing function. It is expected that amqp_parse_url will return non-0 when it fails to parse the input. Signed-off-by: GitHub <noreply@github.com>
* Correct fuzz_table.c to conform to fuzzing APIAlan Antonuk2023-02-281-3/+4
| | | | | | | | | | | 1. The amqp_pool_t must be emptied after use using empty_amqp_pool (which should correct the obvious issue with a leak detected in: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=56161). 2. The return value of amqp_decode_table will be non-zero when it cannot decode the table, this is working as expected. So this value should not be returned out of a single loop. Signed-off-by: GitHub <noreply@github.com>
* Bumping revision for developmentAlan Antonuk2023-02-051-2/+2
| | | | Signed-off-by: GitHub <noreply@github.com>
* Preparation for v0.13.0 releasev0.13.0Alan Antonuk2023-02-053-2/+14
| | | | Signed-off-by: GitHub <noreply@github.com>
* Remove obsolete TODO file.Alan Antonuk2023-02-051-9/+0
| | | | | | This file is long obsolete. Signed-off-by: GitHub <noreply@github.com>
* fix: correct amqp_ssl_socket_set_key_buffer valueAlan Antonuk2023-02-021-0/+1
| | | | | | | | | | Make amqp_ssl_socket_set_key_buffer return AMQP_STATUS_OK on success. It currently returns the status of the underlying OpenSSL call, which isn't correct. Fixes: alanxz/rabbitmq-c#723 Signed-off-by: GitHub <noreply@github.com>
* Remove obsoleted OpenSSL init codeAlan Antonuk2023-02-022-136/+21
| | | | | | | | | | Starting with OpenSSL v1.1.0, library init/uninit is automatically handled by the library. This removes unnecessary code from rabbitmq-c and marks the initialization functions as deprecated. Fixed: alanxz/rabbitmq-c#737 Signed-off-by: GitHub <noreply@github.com>
* remove obsolete const workaround in ssl bioAlan Antonuk2023-02-021-12/+9
| | | | | | | This workaround was needed for OpenSSL v1.1.0 and older. rabbitmq-c requires v1.1.1 or newer, so this workaround can be removed. Signed-off-by: GitHub <noreply@github.com>
* fix empty version for pkgconfigRemi Collet2023-02-021-1/+1
|
* for initial integration in oss-fuzz (#736)Arjun2023-02-017-89/+69
| | | | | * support of oss-fuzz Signed-off-by: 0x34d <ajsinghyadav00@gmail.com>
* add option to install or not the static libraryRemi Collet2023-02-012-4/+7
|
* Bumping revision for development.Alan Antonuk2023-02-012-3/+3
| | | | Signed-off-by: GitHub <noreply@github.com>
* Preparation for v0.12.0 releasev0.12.0Alan Antonuk2023-02-013-2/+17
| | | | Signed-off-by: GitHub <noreply@github.com>
* Define OPENSSL_API_COMPAT to 1.1.0 version.Alan Antonuk2023-02-012-0/+6
| | | | | | | | | This should stop warnings about deprecated APIs. RabbitMQ-c will adopt OpenSSL 3.x APIs in a future version. Fixed: #729 Signed-off-by: GitHub <noreply@github.com>
* fix invalid Cflags property nameUgo Cottin2022-10-091-1/+1
|
* fuzzer deployment (#734)Arjun2022-07-257-0/+243
| | | | | * fuzzer deployment Signed-off-by: 0x34d <ajsinghyadav00@gmail.com>
* tools: print verbose error message when failed to open a socketEgor Ignatov2022-01-261-1/+1
|
* tools: enable ssl in connection_info if --ssl used with --serverEgor Ignatov2022-01-261-2/+6
|
* restore compatibility with old Microsoft compilersFabio Napoli2021-11-121-1/+2
|
* Fix no rabbitmq target when building static-onlyAlan Antonuk2021-09-291-1/+5
| | | | | Fixes: #708 Signed-off-by: GitHub <noreply@github.com>
* cmake: removed unused CheckCCompilerFlagAlan Antonuk2021-09-271-1/+0
| | | | | | This appears to be unused. Signed-off-by: GitHub <noreply@github.com>
* lib: compatibility with old Borland compilersFábio Machado de Oliveira2021-08-233-6/+14
|
* Update framing to latest RabbitMQ 3.8.19Alan Antonuk2021-07-271-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>