summaryrefslogtreecommitdiff
path: root/examples/amqps_sendstring.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/amqps_sendstring.c')
-rw-r--r--examples/amqps_sendstring.c37
1 files changed, 28 insertions, 9 deletions
diff --git a/examples/amqps_sendstring.c b/examples/amqps_sendstring.c
index 2315982..a888da8 100644
--- a/examples/amqps_sendstring.c
+++ b/examples/amqps_sendstring.c
@@ -35,19 +35,18 @@
#include <string.h>
#include <stdint.h>
-#include <amqp-ssl.h>
+#include <amqp-ssl-socket.h>
#include <amqp_framing.h>
#include "utils.h"
int main(int argc, char const * const *argv) {
char const *hostname;
- int port;
+ int port, status;
char const *exchange;
char const *routingkey;
char const *messagebody;
-
- int sockfd;
+ amqp_socket_t *socket;
amqp_connection_state_t conn;
if (argc < 6) {
@@ -64,11 +63,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 > 6 ? argv[6] : NULL,
- argc > 8 ? argv[7] : NULL,
- argc > 8 ? argv[8] : NULL),
- "Opening socket");
+ socket = amqp_ssl_socket_new();
+ if (!socket) {
+ die("creating SSL/TLS socket");
+ }
+
+ if (argc > 6) {
+ status = amqp_ssl_socket_set_cacert(socket, argv[6]);
+ if (status) {
+ die("setting CA certificate");
+ }
+ }
+
+ if (argc > 8) {
+ status = amqp_ssl_socket_set_key(socket, argv[7], argv[8]);
+ 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);