summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* tool: set port when not specified in --server flagfix_621Alan Antonuk2020-08-071-0/+7
| | | | | | | Set the port to 5672 and 5671 in SSL mode in the tools when the --server flag is used, but does not specify a port. Fixes: #621
* Support openssl engine settingHan Mai2020-06-255-5/+118
|
* ci: remove install popt on osxAlan Antonuk2020-06-251-1/+0
| | | | popt is already in the default install and causes the build to fail.
* lib: correct amqp_time_from_now behavior at {0, 0}Alan Antonuk2020-06-213-15/+4
| | | | | | | | | | | | Change behavior of amqp_time_from_now to set to the current timestamp when a struct timeval of {0, 0} is passed in instead of 0. This better aligns with how one would expect the function to work. As a byproduct this corrects an issue where amqp_consume_message would not return AMQP_STATUS_HEARTBEAT_TIMEOUT when a tv of {0, 0} and the heartbeat interval had passed. Fixes #557 in a more concise way.
* Allow use of pthreads with WindowsZane van Iperen2020-06-211-14/+3
|
* Add vcpkg installation instructionswangli282020-06-211-0/+15
|
* Add rabbitmq-c-config.cmake generationEric Huff2020-05-313-2/+45
| | | | | | Generating a -config.cmake or Config.cmake lets rabbitmq-c be discoverable via cmake's `find_package`, and allows easier use in the vcpkg ecosystem.
* Updating how openssl is configuredMichael D. Stemle, Jr2020-04-191-3/+1
| | | | | Per guidance from the openssl project, this seems like it might be the more correct way to configure openssl with the default configuration files. #603
* Add option to run system tests (disabled by default).Simon Lepasteur2020-03-125-5/+10
| | | | | | | | | System tests require a RabbitMQ or other AMQP server to be running on `localhost` at TCP port number 5672 and therefore fails if no such server is running on the build machine. This is surprising for everyone running the standard `make test` to ensure the library is built correctly.
* Fix incorrect private lib field in librabbitmq.pcAndriy Gelman2020-02-201-2/+5
| | | | | | | | | Fixes #599 Private lib entries are currently separated by semicolon. Replace semicolon by space and add -l prefix to libs. Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
* Fix mem leak in examplesAndriy Gelman2020-01-312-0/+4
| | | | Frees heap allocated memory in queuename.bytes on exit.
* Fix repeated word and spelling in api docAndriy Gelman2020-01-291-1/+1
|
* win32: define AMQP_UNUSED for win32Alan Antonuk2019-12-291-1/+1
| | | | | | does not provide any sort of optimization help for win32. Fixes #591
* Fix unused parameter warning in amqp_time_tv_untilSteven Van Ingelgem2019-12-292-8/+11
| | | | | | 'in' parameter was not referenced in amqp_time_tv_until as described in the documentation. This brings the implementation inline with what is intended.
* Make all timeval's constantSteven Van Ingelgem2019-12-299-32/+33
| | | | Make all struct timeval parameters that can be a const, a const.
* win32: disable secure CRT warnings in OpenSSL codeAlan Antonuk2019-12-241-0/+4
| | | | | | | | These warnings have been disabled in other parts of the code and are generally harmless. Recent refactoring in the amqp_openssl.c file have caused these warnings to appear. Fixes: #588
* ssl: fix OpenSSL modes to correct non-blocking behaviorAlan 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.