From 174d5fdd52d45c9634818a291f7f544245f093c1 Mon Sep 17 00:00:00 2001 From: Thomas Unterreitmeier Date: Fri, 16 Jan 2026 08:18:54 +0100 Subject: [PATCH] feat(exchange): treat various ssl and tcp errors as `AMQPConnectionException` --- amqp.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/amqp.c b/amqp.c index 84a87b7b..bd5df48c 100644 --- a/amqp.c +++ b/amqp.c @@ -491,12 +491,23 @@ void php_amqp_zend_throw_exception( break; case AMQP_RESPONSE_LIBRARY_EXCEPTION: switch (reply.library_error) { + case AMQP_STATUS_BROKER_UNSUPPORTED_SASL_METHOD: case AMQP_STATUS_CONNECTION_CLOSED: + case AMQP_STATUS_HOSTNAME_RESOLUTION_FAILED: case AMQP_STATUS_SOCKET_ERROR: case AMQP_STATUS_SOCKET_CLOSED: case AMQP_STATUS_SOCKET_INUSE: - case AMQP_STATUS_BROKER_UNSUPPORTED_SASL_METHOD: - case AMQP_STATUS_HOSTNAME_RESOLUTION_FAILED: + case AMQP_STATUS_SSL_CONNECTION_FAILED: + case AMQP_STATUS_SSL_ERROR: + case AMQP_STATUS_SSL_HOSTNAME_VERIFY_FAILED: + case AMQP_STATUS_SSL_PEER_VERIFY_FAILED: +#if AMQP_VERSION >= AMQP_VERSION_CODE(0, 11, 0, 1) + case AMQP_STATUS_SSL_SET_ENGINE_FAILED: +#endif +#if AMQP_VERSION >= AMQP_VERSION_CODE(0, 14, 0, 1) + case AMQP_STATUS_SSL_UNIMPLEMENTED: +#endif + case AMQP_STATUS_TCP_ERROR: exception_ce = amqp_connection_exception_class_entry; break; default: