Commit Graph

250 Commits

Author SHA1 Message Date
xqing2003 e40006058e
fix memory leak
fix memory leak when channel error
2018-06-06 22:11:55 +08:00
xqing2003 7737917886
solve memory leak 2018-06-01 23:30:30 +08:00
Emiel Bruijntjes 025fdb5530
Merge pull request #134 from mgibula/master
Add Publisher Confirms support
2018-05-14 22:42:56 +02:00
Marcin Gibula cab0602dbf Forgot to set ChannelImpl::_confirm 2018-05-14 22:36:49 +02:00
Marcin Gibula 578abbf973 Update src/CMakeLists.txt 2018-05-14 21:44:01 +02:00
Marcin Gibula 2aa55b83c7 Replace old API with DeferredConfirm class 2018-05-14 21:12:34 +02:00
Marcin Gibula bf1caa1eae Add DeferredConfirm class 2018-05-14 21:05:49 +02:00
Marcin Gibula eeee1c3c5f Rename setConfirmMode() to confirmSelect() 2018-05-14 12:59:20 +02:00
Marcin Gibula e0b04ad7e0 Remove messageCounter() 2018-05-14 12:55:15 +02:00
Emiel Bruijntjes 5d69cc567c more calls to openssl::err_clear_error() to prevent that the error queue contains errors that are not related to the operations that is being checked 2018-04-27 12:38:06 +02:00
Trevor Perrin 416e244b31 Clear SSL Error Queue
The OpenSSL documentation states that the error queue for the current
thread needs to be emptied prior to the next TLS/SSL I/O operation,
or the call to SSL_get_error() will not be reliable.
2018-04-26 15:50:32 -05:00
Marcin Gibula bfd91b6ab5 Merge with upstream 2018-04-10 10:30:01 +02:00
Emiel Bruijntjes 69a201e741 optimizid dealing with ssl connections by not going back to the event loop that often, and prevented that object was staying in send state if it was endlessly sending data and not receiving anything, found this out when working on issue #207 2018-04-05 11:10:55 +02:00
Emiel Bruijntjes b26058f3e2 renamed bytesQueued() to queued() 2018-04-01 22:34:15 +02:00
Mike Playle 8800d2917e Add method to return the amount of queued outgoing data 2018-04-01 10:54:05 +01:00
tilsche ec21091080 Make sure ssl files are included in the library and add missing libraries for linking the examples 2018-03-12 10:46:32 +01:00
Emiel Bruijntjes f1c32242f7 Merge branch 'master' of github.com:CopernicaMarketingSoftware/AMQP-CPP 2018-03-10 14:56:18 +01:00
Emiel Bruijntjes d2b2d5af14 shared-ptr has been turned into a unique-ptr for the tcp-state 2018-03-10 14:55:57 +01:00
Emiel Bruijntjes d81565fe6a fixed that stream operator of address wrote the port number when the default amqps port was used 2018-03-10 10:31:40 +01:00
Emiel Bruijntjes 367de51d77 added method to intercept tls handshakes, and to verify certificates 2018-03-10 00:59:14 +01:00
Emiel Bruijntjes 4c2b8ff68e added ability to set the handle to the openssl library (so that programs that load openssl via dlopen() can still use amqp-cpp) 2018-03-09 15:08:52 +01:00
Emiel Bruijntjes 28b6c903e1 finished implementing amqps:// support 2018-03-09 13:55:49 +01:00
Emiel Bruijntjes c26005ddfb work in progress on setting up tls connections to rabbitmq 2018-03-08 14:00:44 +01:00
Emiel Bruijntjes e39ca5b012 ssl connection fixes 2018-03-08 13:36:56 +01:00
Emiel Bruijntjes 872d4e9a11 implemented flushing for ssl connections 2018-03-08 13:09:56 +01:00
Emiel Bruijntjes bc4db8d8fe elegant shutdown for ssl connections 2018-03-08 12:11:45 +01:00
Emiel Bruijntjes 38d504d8a0 reportClosed() is never called when still busy with ssl handshake, so that method has been removed, and better handling of scenarion in which user space destructs connections in onError() implementation 2018-03-08 11:20:07 +01:00
Emiel Bruijntjes 25df834e74 prevent ssl errors or reference count errors when copying around ssl objects 2018-03-08 11:04:39 +01:00
Emiel Bruijntjes cea5a54487 fix bug: error about missing openssl was also reported when not even opening a secure connection 2018-03-08 10:44:42 +01:00
Emiel Bruijntjes 9a08c64ff7 more elegant close procedure for tcp connections 2018-03-08 10:37:49 +01:00
Emiel Bruijntjes f23bcf19f1 improved docblocks in tcpstate.h header file, when an error or closed is reported to user space, the _handler variable is now reset to prevent that it will be used to report more than once (we still need to check if this does not trigger other errors), and the state object is no longer destructed after a reportClosed() call, so that it can clean up nicely (which we need to the tls shutdown anyway) 2018-03-08 10:02:42 +01:00
Emiel Bruijntjes 8065cfe940 update docblock 2018-03-06 22:06:41 +01:00
Emiel Bruijntjes 7aa7794e3e work in progress on ssl implementation 2018-03-06 22:03:53 +01:00
Emiel Bruijntjes 0ca9bc9dad added error in case openssl is missing 2018-03-06 18:07:34 +01:00
Emiel Bruijntjes 25d5410b13 fixed some compile issues 2018-03-06 17:52:44 +01:00
Tamas Elekes 8ba8ed1727 dynamically loading openssl funtions during runtime work in progress 2018-03-06 14:40:46 +01:00
Tamas Elekes 3bb7714f3b dynamically loading openssl funtions during runtime work in progress 2018-03-06 14:39:36 +01:00
Emiel Bruijntjes baa4450aa6 update indentation 2018-03-06 09:44:24 +01:00
Emiel Bruijntjes 69596e49dc removed tabs 2018-03-06 08:40:44 +01:00
Emiel Bruijntjes 69c615d0a4 removed tcp prefix from all ssl related classes 2018-03-06 08:39:42 +01:00
Emiel Bruijntjes 72ffd5eb1a disabled ssl for the time being 2018-03-05 22:25:58 +01:00
Emiel Bruijntjes 463eed89c0 work in progress on closing ssl connections 2018-03-05 22:24:19 +01:00
Emiel Bruijntjes 4a51c5dd60 improve ssl handshake methods 2018-03-05 20:08:09 +01:00
Emiel Bruijntjes fa5ef5318a work in progress on dealing with secure connections 2018-03-05 19:53:53 +01:00
Tamas Elekes e46dfcf3b8 work in progress on ssl support for the AMQP-CPP library 2018-03-05 17:29:37 +01:00
Tamas Elekes 9c1a09a711 ssl connection WIP 2018-03-02 16:56:35 +01:00
Tamas Elekes 342268e50a support for amqps:// addresses in the AMQP::Address class (although it does not yet make a real secure connection) 2018-03-02 13:53:00 +01:00
Emiel Bruijntjes 2a0a6f3fb7 update cmake stuff 2018-03-01 23:13:07 +01:00
Emiel Bruijntjes 41239a1952 fixed to make returning message functional, and added test code 2018-03-01 22:54:50 +01:00
Emiel Bruijntjes 1ccd93cc5e final step (although untested) for handling returned messages 2018-03-01 22:27:27 +01:00