| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| | |
This fixes a regression introduced in 6ad770dc where the
amqp_open_socket() function is no longer defined.
|
| |
| |
| |
| |
| |
| |
| | |
In amqp_ssl_socket_open() set self->ssl to NULL after SSL_free() to
avoid calling SSL_free() on a SSL object that has already been freed.
This fixes #129 crash while call amqp_destroy_connection() with ssl
|
| | |
|
| |
| |
| |
| | |
Properly handle 0-length strings in amqp_basic_properties_clone()
|
| |
| |
| |
| |
| |
| |
| |
| | |
amqp_pool_alloc_bytes() has undefined behavior when a 0-length buffer is
allocated. Properly handles cases where 0-length tables or buffers are
encountered when cloning a table.
This fixes #127
|
| |
| |
| |
| |
| |
| |
| |
| | |
Probably introduced when consume_one_frame() function was added, and
wasn't found during testing because its rare to see partial recv of
frame when testing locally. Need to devise a test for this.
Fixes #126
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Some platforms declare tv.tv_sec and tv.tv_usec as long which is 32-bit
which will integer overflow in our date math
|
| | |
|
| | |
|
| |
| |
| |
| | |
This should've been removed in da9c2c109a
|
| |
| |
| |
| |
| | |
Get rid of experimental amqp_socket_error interface. Errors are returned
using the error codes from the primary function
|
| |
| |
| |
| |
| |
| |
| |
| | |
Improve the socket interface by making the amqp_connection_state_t
object the amqp_socket_t owner, and tie its lifetime to the connection's
lifetime. This prevents a class of silly errors where the socket object
isn't freed, or the socket object is assigned to two different
connection objects
|
| | |
|
|\ \
| |/
| |
| |
| |
| | |
Conflicts:
Makefile.am
librabbitmq/amqp_private.h
|
| |
| |
| |
| | |
Tested on OpenVMS v8.3 - Alpha. Likely to work on IA based systems as well
|
| | |
|
| |
| |
| |
| |
| | |
Check heartbeats when doing basic.publish. Do this by doing a recv on
the socket.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
The DISABLE_SIGPIPE_WITH_SETSOCKOPT preprocessor define got deleted the
os-layer socket functions were moved to amqp_socket.c. This fixes that.
|
| |
| |
| |
| |
| |
| | |
Assign a decoding pool on a per-channel basis. This allows memory to be
released on a per-channel basis which is helpful for clients handling
multiple channels
|
| | |
|
| |
| |
| |
| |
| | |
amqp_tune_connection shouldn't destroy the state object on memory error,
it should be left to the calling function
|
| |
| |
| |
| |
| | |
CID 1035138
CID 1035137
|
| |
| |
| |
| | |
CID 1035140
|
| | |
|
| |
| |
| |
| |
| |
| | |
Add non-blocking variant of amqp_simple_wait_frame() to assist clients
in writing programs that want non-blocking behavior when consuming
messages from the broker.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
amqp_socket_close has the side-effect of destroying the socket object.
Use after this will cause undefined behavior
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To preserve ABI, map positive error codes into the negative error-code
domain in the amqp_error_string() function. This will preserve compat
with older code-bases that do amqp_error_string(-returnval)
Note: the function is marked as deprecated so the user will still get a
warning when compiling code that uses this function.
|
| |
| |
| |
| |
| |
| | |
Preserve API/ABI of amqp_error_string() by having it return a string
allocated on the heap. Deprecate this function in favor of
amqp_error_string2() which returns a statically allocated string
|
| |
| |
| |
| | |
This is an API/ABI break.
|
| |
| |
| |
| |
| | |
Doing this for code clarity, as its easier to see what the issues are
when you have all implementations in one file
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Add the following error codes:
- hostname verify failure: e.g., provided hostname doesn't match peer
certificate
- peer verification failed
- connection handshake failed
|
| |
| |
| |
| |
| | |
A 0 return value from SSL_read/SSL_write means the (SSL) connection has
been terminated.
|
| |
| |
| |
| |
| | |
Winsock2 requires calling a function to initialize the socket library.
This call can fail. Return an error code to the user if it does.
|
| |
| |
| |
| |
| |
| |
| | |
amqp_simple_wait_method() should not call abort(), instead close the
underlying socket, then return AMQP_STATUS_WRONG_METHOD. This is still
rather heavy-handed for a public API, however, its a lot better than
killing the entire application
|
| |
| |
| |
| |
| | |
Return AMQP_STATUS_INVALID_PARAMETER instead of calling abort() on an
invalid frame type.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
amqp_encode_8 and amqp_encode_bytes return 1 on success, 0 otherwise.
Correct the checking of the return value of these functions to match the
style used in amqp_table.c
Report AMQP_STATUS_INVALID_PARAMETER in the event an invalid field kind
is input (instead of abort()).
Report AMQP_STATUS_TABLE_TOO_BIG if the table is too large to be encoded
in the buffer provided.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Publicly define the error codes returned from the various public API
functions. The error codes are defined in the amqp_status_enum and are
all negative in value to work with functions that return positive
values.
OS and SSL specific codes are no longer munged into the error code, as
it is unlikely for that information to be useful to library users.
|
| |
| |
| |
| |
| | |
Be sure to va_end any va_start'ed va_lists in amqp_login and
amqp_login_with_properties
|
| |
| |
| |
| |
| |
| | |
amqp_new_connection will fail to free the amqp_connection_state_t object
that is allocated when amqp_tune_connection fails with ERROR_NO_MEMORY.
This fixes that
|
| |
| |
| | |
Bug fixes, building with cmake & mingw on win32
|
| | |
|
| |
| |
| |
| |
| |
| | |
Now have one variable to adjust when adding new libraries instead of
adding it in 2 different places. Also make sure static rabbitmq-c links
against the SSL libraries
|
| | |
|