summaryrefslogtreecommitdiff
path: root/examples/amqps_listenq.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/amqps_listenq.c')
-rw-r--r--examples/amqps_listenq.c37
1 files changed, 28 insertions, 9 deletions
diff --git a/examples/amqps_listenq.c b/examples/amqps_listenq.c
index 90b608a..0a9c687 100644
--- a/examples/amqps_listenq.c
+++ b/examples/amqps_listenq.c
@@ -35,7 +35,7 @@
#include <string.h>
#include <stdint.h>
-#include <amqp-ssl.h>
+#include <amqp-ssl-socket.h>
#include <amqp_framing.h>
#include <assert.h>
@@ -44,10 +44,9 @@
int main(int argc, char const * const *argv) {
char const *hostname;
- int port;
+ int port, status;
char const *queuename;
-
- int sockfd;
+ amqp_socket_t *socket;
amqp_connection_state_t conn;
if (argc < 4) {
@@ -62,11 +61,31 @@ int main(int argc, char const * const *argv) {
conn = amqp_new_connection();
- die_on_error(sockfd = amqp_open_ssl_socket(conn, hostname, port,
- argc > 4 ? argv[4] : NULL,
- argc > 6 ? argv[5] : NULL,
- argc > 6 ? argv[6] : NULL),
- "Opening socket");
+ socket = amqp_ssl_socket_new();
+ if (!socket) {
+ die("creating SSL/TLS socket");
+ }
+
+ if (argc > 4) {
+ status = amqp_ssl_socket_set_cacert(socket, argv[4]);
+ if (status) {
+ die("setting CA certificate");
+ }
+ }
+
+ if (argc > 6) {
+ status = amqp_ssl_socket_set_key(socket, argv[5], argv[6]);
+ if (status) {
+ die("setting client key/cert");
+ }
+ }
+
+ status = amqp_socket_open(socket, hostname, port);
+ if (status) {
+ die("opening SSL/TLS connection");
+ }
+
+ amqp_set_socket(conn, socket);
die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, "guest", "guest"),
"Logging in");
amqp_channel_open(conn, 1);