| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
500ms is too short, and regularly times out when running on travis.
|
| |
|
|
|
|
|
| |
This builds rabbitmq-c with coverage enabled, and runs the tests,
uploading the results to coveralls.io.
|
|
|
|
| |
Add integration tests that run against a locally running broker.
|
|
|
| |
Fixes #451
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
HAVE_HTONLL was used for the byteswap code, which no longer uses htonll,
this can be removed.
|
| |
|
| |
|
|
|
|
|
|
| |
compatible int.
Signed-off-by: kokan <peter.kokai@balabit.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
e.g., librabbitmq/.libs/librabbitmq.so: undefined reference to `pthread_once'
|
|
|
|
|
|
| |
- Enable TCP Keep Alive for rabbitmq client
- Helps in cases when the connection is conntracked or there is NAT
in between
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Fixes #403
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Add an OpenSSL BIO that ignores SIGPIPE by passing MSG_NOSIGNAL to the
send() and recv() calls on platforms that support it.
Fixes #401
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
| |
Fixes #388
|
| |
|
|
|
|
|
| |
amqp_get_socket, amqp_get_server_properties, amqp_get_client_properites
were missing AMQP_CALL decorator.
|
| |
|
| |
|
|
|
|
| |
Files were removed as a part of a cleanup, and this was not caught.
|
| |
|
|
|
|
|
| |
MacOSX 10.11 no longer supplies headers for openssl. Install OpenSSL
using homebrew, and tell cmake where to find it.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Add docs to amqp_login* functions on how to correctly use
AMQP_SASL_METHOD_EXTERNAL to authenticate to the broker.
Fixes #349
|
|
|
|
|
|
|
|
| |
--url parameter should not be specified with the --server --port
--username and --password parameters. Correct parameter processing
routines to correctly enforce this.
Fixes #364
|
| |
|
| |
|
| |
|