summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Set AMQP_DEFAULT_MAX_CHANNELS to 2047issue513Alan 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>
* Lib: simplify the byte-swap codeAlan Antonuk2017-08-202-135/+123
|
* Fix: correct spelling of comment in amqp.hAlan Antonuk2017-08-201-1/+1
|
* Add AMQP_DEFAULT_VHOST define for "/"Alan Antonuk2017-08-201-0/+11
| | | | | | Add a #define for AMQP_DEFAULT_VHOST pointing to "/", which is the default vhost used by the RabbitMQ broker. This makes the code a bit more readable, especially in example code.
* amqp_consume_message: replace AMQP_STATUS_UNEXPECTED_FRAME in docstringDavid Sharp2017-08-021-2/+2
| | | | | The documentation for amqp_consume_message refers to AMQP_STATUS_UNEXPECTED_FRAME, but this value doesn't exist. The correct value appears to be AMQP_STATUS_UNEXPECTED_STATE to match the implementation and amqp_consumer.c example. https://github.com/alanxz/rabbitmq-c/blob/master/examples/amqp_consumer.c#L85
* Lib: simplify socket connection logicconn-tryAlan Antonuk2017-07-251-163/+154
| | | | | | | | | | | | Refactor amqp_socket_open_inner so that the socket connection logic is in it's own OS-specific socket_connect function, and the host resolution and retry logic calls this. This makes the socket connection logic easier to understand and reduces the number of win32 #ifdefs. This also fixes an issue where multiple hostnames are not tried if connect doesn't fail immediately. Fixes #430
* ci: build on trusty (14.04) on travis-ci.trustyAlan Antonuk2017-07-122-16/+13
| | | | | | | | precise (12.04) is EOL'd and scheduled to be turned down by the travis folks in the next couple months. Note that this switches back to VM-based system, as the libpopt-dev package isn't available yet.
* Properly deinit of OpenSSLJesus Fernandez Manzano2017-06-221-0/+12
|
* autotools: Fix linker errors when SSL is enabledTristan Matthews2017-05-161-0/+3
| | | | e.g., librabbitmq/.libs/librabbitmq.so: undefined reference to `pthread_once'
* TCP Keep alive for RabbitMQ ClientKetan Kulkarni2017-03-251-0/+6
| | | | | | - Enable TCP Keep Alive for rabbitmq client - Helps in cases when the connection is conntracked or there is NAT in between
* Lib: Do not set MSG_MORE on last message header if no body followsMartin Willi2017-03-231-2/+7
| | | | | | | | | | | | | Introduced with commit 2bc1f9b1b0 (lib: use MSG_MORE on Linux for basic.publish), amqp_basic_publish() sets MSG_MORE on all but the last send() syscall it triggers on the TCP socket to improve performance. However, if no message body is provided, no completing call without MSG_MORE follows, keeping the TCP packet pending. On Linux, this may introduce a message send delay, until the kernel sends out the data anyway after 200ms. This may add a significant delay if a consumer is waiting for such an empty (confirmation) message.