This repository has been archived by the owner on Jan 11, 2023. It is now read-only.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
The general idea is to have a non-instantiable socket base class. Connection-specific sub-classes provide a constructor and methods for modifying connection parameters. `amqp_socket_close()` is the destructor. Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
1. Use a single instance of the vtable for each object. This saves some memory at the expense of an extra pointer dereference per method invocation. 2. Compare the class vtable pointer in sub-class methods to determine if the object type is correct. Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
- Fixed a couple small MIPS-related alignment warnings - Updated version & created a dist tarball - Added a configure option to disable examples Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
The SSL & TCP code now use a common function to open sockets. Previously Nagle's algorithm wasn't disabled for SSL sockets. Also, bump the patch version for release. Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
It doesn't make much sense to have separate APIs to set the client key/cert pair. This change also make it easier to port to other backends. Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
LibFindMacros.cmake was removed from the project. Update FindPolarSSL and FindcyaSSL scripts to work without LibFindMacros.cmake
SSL examples should link against the ${RMQ_LIBRARY_TARGET} in the examples directory. This allows either static or shared library to be built.
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
Signed-off-by: Michael Steinert <mike.steinert@gmail.com>
The helper macro makes it easier to add #if/#endif build time checks.
Remove scope local res variable that shadows the function local variable defined in amqp_socket.c:1118. This removes a possible branch point that triggered a return of uninitialized value.
According to documentation SSL_connect() can return: - 1 if handshake was successful or - 0 or < 0 if handshake failed and connection was cleaned up or communcation error occurred When nonblocking flag is set on the socket and handshake is in progress, SSL_connect() retruns -1 and sets error SSL_ERROR_WANT_READ. The test will then skip the switch() branch, and proceed forward with hanshake procedure in unfinished state. This may lead to certificate verification failure, as should the handshake be interrupted too soon, no server certificates would be received.
If building with a compiler that does not support C99, this would raise a warning.
Autotools build uses c90/gnu90. Add similar functionality for cmake build. This will work for gcc and clang, while for other compilers the checks will just fail and no additional flags will be added.
Function amqp_ssl_socket_send() should return the number of bytes written. Retruning AMQP_STATUS_OK on success will cause all amqp_socket_send() with SSL socket implementation to behave incorrectly.
As a performance optimization in the send path, add an AMQP_SF_MORE flag indicating that more data is intended to be sent, and that packets shouldn't be sent out on the wire unless there is a full packet's worth of data available. Use this to specify MSG_MORE to send() on Linux.
Get rid of amqp_poll_{read,write} and flatten the call-tree to amqp_poll with an appropriate flag. Done in preparation for adding a select()-based implementation of the amqp_poll() function.
Add select() based poll() implementation for platforms that either support this better (Win32) or don't support poll().
The -Wall -Wextra... etc should be prepended to any passed in CMAKE_C_FLAGS as is done with gcc and others.
alanxz
force-pushed
the
ci_builds
branch
2 times, most recently
from
June 7, 2015 07:37
4ec65fd
to
4bb6b85
Compare
asan = address sanitizer tsan = thread sanitizer
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.