summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* ssl: fix OpenSSL modes to correct non-blocking behaviorissue586Alan Antonuk2019-12-111-0/+5
| | | | | | | | | | | | OpenSSL changed the default in v1.1.1 of SSL_MODE_AUTO_RETRY from off to on. Because rabbitmq-c uses non-blocking calls internally, this must be disabled. Additionally turn on SSL_MODE_ENABLE_PARTIAL_WRITE to allow SSL_write to return before a full frame is written. This is likely a latent bug that hasn't been found until recently. Fixes #586
* lib: fix openSSL symbol clash on win32 (#583)Zane van Iperen2019-12-082-1/+5
| | | Fix a compile error on win32 where OpenSSL and Win32 X509_* errors collide
* Bumping revision for developmentAlan Antonuk2019-12-012-3/+3
|
* Preparation for v0.10.0 releasev0.10.0Alan Antonuk2019-12-013-4/+19
|
* lib: check frame_size is >= INT32_MAXAlan Antonuk2019-11-041-3/+12
| | | | | | | | | | | | When parsing a frame header, validate that the frame_size is less than or equal to INT32_MAX. Given frame_max is limited between 0 and INT32_MAX in amqp_login and friends, this does not change the API. This prevents a potential buffer overflow when a malicious client sends a frame_size that is close to UINT32_MAX, in which causes an overflow when computing state->target_size resulting in a small value there. A buffer is then allocated with the small amount, then memcopy copies the frame_size writing to memory beyond the end of the buffer.
* ssl: Add amqp_ssl_socket_get_context()Zane van Iperen2019-05-142-0/+20
|
* ci: Bump Travis dist to Xenial as Trusty is now EOLZane van Iperen2019-05-131-21/+18
|
* Make cmake build reproduciblymarinamoore2018-10-241-1/+1
|
* Install manpages into DATAROOTDIRAlexander Kapshuna2018-10-191-1/+1
|
* Provide downloadable DLLs from appveyorJean-Baptiste Nahan2018-09-081-0/+8
| | | | Exposes DLLs generated by the build in appveyor to be downloaded.
* Set AMQP_DEFAULT_MAX_CHANNELS to 2047Alan Antonuk2018-09-081-2/+5
| | | | | | | | | RabbitMQ set a new default limit of 2048 channels to prevent buggy clients from consuming too many broker resources with open channels. This change matches the default set in the Java client. See: https://github.com/rabbitmq/rabbitmq-server/issues/1593 Fixes: #513
* OpenSSL should ignore missing config fileAlan Antonuk2018-09-081-2/+3
| | | | | | | When initializing OpenSSL in v1.1.0 or later, tell OpenSSL to ignore missing openssl.cnf. Fixes #523
* Fix instructions for default buildRoss Cousens2018-07-151-1/+1
| | | The order of arguments were incorrect, --build must directly specify the directory afterwards.
* Bumping revision for developmentAlan Antonuk2018-05-082-3/+3
|
* Preparation for v0.9.0 release.v0.9.0-masterAlan Antonuk2018-05-083-6/+40
|
* Lib: Present "exchange_exchange_bindings" capability to serverJesus Fernandez Manzano2018-05-071-1/+3
|
* Examples: fix argument parsing in sendstring examplejerome2018-05-071-2/+2
|
* Lib: Add #defines to allow building with LibreSSLZane van Iperen2018-04-101-1/+4
|
* lib: define WINVER under mingwAlan Antonuk2018-03-281-1/+4
| | | | Fixes #488
* examples: fix building against static librabbitmq.Eduard Egorov2018-03-281-0/+4
|
* Lib: Fixed an invalid CHECK_SUCCESS in amqp_set_initialize_ssl_libraryZane van Iperen2018-03-271-1/+1
|
* ci: enable OpenSSL v1.1.0 on Appveyorsigiesec2018-03-221-0/+12
|
* ci: add openssl 1.1.0 build on travissigiesec2018-03-221-0/+12
|
* Lib: remove use of OpenSSL functions deprecated in v1.1.0+Simon Giesecke2018-03-224-38/+70
|
* Lib: Support OpenSSL v1.1.0 in amqp_openssl_bioAlan Antonuk2018-03-123-10/+57
|
* Examples: Update amqp_ssl_connect.c to show how to un-initialize SSL library.Jesus Fernandez Manzano2018-01-301-0/+1
| | | | | After commit b80de27b, users have to explicitly un-initialize OpenSSL if they care to.
* Lib: initialize amqp_openssl_bio on first useAlan Antonuk2018-01-101-0/+6
|
* ssl: add support for SSL SNIChristian Betz2018-01-101-0/+7
|
* Lib: check encoded table length isn't too longAlan Antonuk2018-01-091-0/+4
| | | | | | Check encoded table length isn't longer than the encoded buffer. Fixes CID 1383630 caught by Coverity.
* Lib: check encoded array length isn't too longAlan Antonuk2018-01-091-0/+4
| | | | | | | Check that the encoded array length doesn't go past the available encoded data. Fixes defect CID 1383632 found by Coverity.
* Lib: fix socket leak when sockfd == 0Alan Antonuk2018-01-091-1/+1
| | | | | | amqp_open_socket_inner will leak the socket when sockfd == 0. Fixes CID: 1383631 caught by Coverity.
* Examples: remove duplicate amqps_* examplesrm-amqps-examplesAlan Antonuk2018-01-0910-1291/+2
| | | | | | | amqps_* examples only differ in the connection, and are otherwise duplicates of the amqp_* examples. Delete these examples and rename amqps_connection_timeout.c to amqp_ssl_connect.c to demonstrate how to connect over SSL.
* ssl: OpenSSL should require explicitly un-initAlan Antonuk2017-12-106-101/+180
| | | | | | | | | | | Instead of un-initializing OpenSSL when the connection count reaches 0 require API users to explicitly un-initialize OpenSSL if they care to. In the common case this will require much less work to start a new SSL connection. As a side effect: cleanup and simplify the OpenSSL initialization routines, including removing the thread-safety checks done for the BIO since they will be called under the OpenSSL locking.
* ssl: Make thread-safety unconditional in rabbitmq-cAlan Antonuk2017-12-105-45/+26
| | | | | | | | | Remove the option to disable thread-safety in the parts of rabbitmq-c that use OpenSSL, making it a requirement for thread-safety to use SSL with rabbitmq-c. The existing #ifdef's are a source of additional complexity and the non-thread-safe version is not well tested.
* ci: add format check to travis-ci build matrixAlan Antonuk2017-12-055-1/+18
| | | | | | Add a check that validates that running clang-format across the codebase does not produce diffs. This will (hopefully) reduce the amount of effort spent formatting stuff during PR reviews.
* Format code with clang-formatAlan Antonuk2017-12-0565-4266/+4453
|
* Remove vim mode lines.formatAlan Antonuk2017-12-0477-77/+0
| | | | They're hard to keep in sync with .clang-format or other tools.
* Examples: remove #include <amqp_framing.h>Alan Antonuk2017-12-0419-45/+37
| | | | | amqp_framing.h is included by amqp.h, user code should not need to include this.
* test: Bump timeout in tests to 5spr443Alan Antonuk2017-11-061-2/+2
| | | | 500ms is too short, and regularly times out when running on travis.
* Doc: add coveralls badge.sigiesec2017-10-301-0/+2
|
* ci: Add coverage build to travissigiesec2017-10-303-1/+23
| | | | | This builds rabbitmq-c with coverage enabled, and runs the tests, uploading the results to coveralls.io.
* test: add tests for basic.get, basic.consume & basic.publishsigiesec2017-10-302-0/+211
| | | | Add integration tests that run against a locally running broker.
* tools-doc: correct typo in librabbitmq-tools.xmlAlan Antonuk2017-10-191-1/+1
| | | Fixes #451
* Remove mention of autotools build in READMEAlan Antonuk2017-10-111-12/+0
|
* build: remove autotools build systemAlan Antonuk2017-10-1011-1002/+1
| | | | | | CMake based system works on the 3 platforms that we target, and maintaining a parallel build-system isn't worth it for this sized project.
* build: remove obsolete HAVE_HTONLL checkAlan Antonuk2017-10-102-11/+0
| | | | | HAVE_HTONLL was used for the byteswap code, which no longer uses htonll, this can be removed.
* Remove unneeded bracesJuan Eugenio Abadie2017-10-071-22/+20
|
* Doc: fix broken linkpr445Juan Eugenio Abadie2017-10-041-2/+2
|
* Calling va_start with enum is undefined behavior, replaced enum with ↵kokan2017-09-121-2/+2
| | | | | | compatible int. Signed-off-by: kokan <peter.kokai@balabit.com>
* Compiling issue with autotools, clang -Werror.kokan2017-09-121-0/+3
| | | | | | | | | | | | Autotools configure steps fails, when clang is used with -Werror option. autoreconf (GNU Autoconf) 2.69 clang version 4.0.0-1ubuntu1 (tags/RELEASE_400/rc1) More details: The `AC_SEARCH_LIBS` creates a dummy function definition, with empty argument list, but in clang it is a warning unless void is given as parameter. Signed-off-by: kokan <peter.kokai@balabit.com>