summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Lib: add methods to set timeout of AMQP RPCsrpc-timeoutAlan Antonuk2017-03-154-19/+104
| | | | Fixes #403
* Lib: close socket when amqp_login fails.Alan Antonuk2017-03-151-4/+2
|
* Lib: simplify reply generation in simple_rpc_innerAlan Antonuk2017-03-011-9/+3
|
* Doc: fix typo in amqp_get_handshake_timeout commentAlan Antonuk2017-03-011-1/+1
|
* CI: use appveyor's OpenSSL install.Alan Antonuk2017-02-201-15/+0
|
* Win32: use SRWLOCK instead of CRITIAL_SECTIONAlan Antonuk2017-02-203-46/+16
| | | | | | | | | | SRWLOCK allows for static-initialization of the lock, matching the semantics of pthread_mutex that is used in OpenSSL bits, simplifying the code somewhat. Note that this API only became available in Windows Vista and newer. Given Windows XP and Windows Server 2003 are no longer supported by Microsoft, using this newer API is an acceptable tradeoff.
* ssl: Add OpenSSL BIO that passes MSG_NOSIGNALssl_bioAlan Antonuk2017-02-205-4/+209
| | | | | | | Add an OpenSSL BIO that ignores SIGPIPE by passing MSG_NOSIGNAL to the send() and recv() calls on platforms that support it. Fixes #401
* ci: Update OpenSSL package on appveyor to v1.0.1k.Alan Antonuk2017-02-201-1/+1
|
* Add platform directory to YCM config.Alan Antonuk2017-02-201-0/+1
|
* Lib: re-order NULL check in empty_blocklistAlan Antonuk2016-12-041-3/+3
| | | | | | | NULL check in empty_blockless was happening after its used. This would've likely resulted in crashes if it was hit. Found with PVS Studio run.
* Lib: add timeout for amqp_login and friendspr383Haster2016-11-276-72/+205
| | | | | | | | | | | By default the RabbitMQ broker sets a tunable timeout of 10 seconds from socket-open to successful handshake. This introduces a similar login timeout on the client side. If the login does not complete within this timeout, amqp_login and friends will return AMQP_STATUS_TIMEOUT and the connection will be considered dead. Two new functions amqp_set_handshake_timeout and amqp_get_handshake_timeout are introduced to tune this behavior.
* Fix link to rabbitmq-c-users link in README.mdAlan Antonuk2016-11-151-1/+1
| | | Fixes #388
* CI: disable tsan, appears to be brokenAlan Antonuk2016-11-101-0/+4
|
* Fix: add ABI AMQP_CALL decorator on public functionsmissing_callAlan Antonuk2016-11-101-0/+3
| | | | | amqp_get_socket, amqp_get_server_properties, amqp_get_client_properites were missing AMQP_CALL decorator.
* CI: bump OpenSSL version on appveyor to 1.0.2jAlan Antonuk2016-10-141-1/+1
|
* ci: add 'make dist' to autotools travis buildAlan Antonuk2016-10-141-0/+1
|
* automake: fix make dist due to missing files.Alan Antonuk2016-10-141-7/+1
| | | | Files were removed as a part of a cleanup, and this was not caught.
* - Modified to enable cross-compilation with mingw-w64 cross compiler.Darmawan Salihun2016-10-146-11/+11
|
* CI: install openssl on travis/osx.fix_osxAlan Antonuk2016-10-141-1/+4
| | | | | MacOSX 10.11 no longer supplies headers for openssl. Install OpenSSL using homebrew, and tell cmake where to find it.
* removed /Z7 key when using non-Microsoft compilerpr373EvilBeaver2016-09-181-3/+8
|
* Add ability to specify headers on the command line for amqp-publishAndrew Gough2016-09-112-0/+48
|
* Lib: simplify empty-bytes assignment in amqp_login.ub-fixAlan Antonuk2016-08-201-2/+1
|
* Lib: fix undefined behavior in amqp_encode_bytesAlan Antonuk2016-08-201-0/+7
| | | | | | Passing a NULL pointer to the src parameter of memcpy results in undefined behavior even if the len parameter is 0. Fix is to check for the length before attempting to memcpy.
* Docs: add AMQP_SASL_METHOD_EXTERNAL documentation.sasl-docsAlan Antonuk2016-08-201-8/+16
| | | | | | | Add docs to amqp_login* functions on how to correctly use AMQP_SASL_METHOD_EXTERNAL to authenticate to the broker. Fixes #349
* Tools: fix --url parameter processing issues.tools-flagsAlan Antonuk2016-08-191-23/+20
| | | | | | | | --url parameter should not be specified with the --server --port --username and --password parameters. Correct parameter processing routines to correctly enforce this. Fixes #364
* Docs: add link to new mailing list for rabbitmq-c-users.readme-updateAlan Antonuk2016-08-191-1/+2
|
* CI: Update to latest OpenSSL version in appveyor.openssl-versionAlan Antonuk2016-08-191-1/+1
|
* Add NORETURN macro for MSVCJakub Stefański2016-04-211-0/+4
|