[PECL-CVS] [pecl-networking-gearman] add-ssl-support: address reviews

[email protected] (Rasmus Lerdorf) Sat, 4 Apr 2026 19:46:32 +0000
Newsgroups php.pecl.cvs
Message-ID <[email protected]>
Author: Rasmus Lerdorf (rlerdorf)
Date: 2026-04-04T15:46:27-04:00

Commit: https://github.com/php/pecl-networking-gearman/commit/3131ef744062e36c9518f791123f68699d095a47
Raw diff: https://github.com/php/pecl-networking-gearman/commit/3131ef744062e36c9518f791123f68699d095a47.diff

address reviews

Changed paths:
  M  php_gearman_worker.c


Diff:

diff --git a/php_gearman_worker.c b/php_gearman_worker.c
index 6d65d5d..342035e 100644
--- a/php_gearman_worker.c
+++ b/php_gearman_worker.c
@@ -324,17 +324,18 @@ PHP_FUNCTION(gearman_worker_set_ssl) {
          * flag only. Per-worker cert paths are not supported in this fallback;
          * set GEARMAND_CA_CERTIFICATE, GEARMAN_CLIENT_SSL_CERTIFICATE, and
          * GEARMAN_CLIENT_SSL_KEY environment variables before starting PHP. */
-        if (ssl) {
-                gearman_worker_add_options(&(obj->worker), GEARMAN_WORKER_SSL);
-        } else {
-                gearman_worker_remove_options(&(obj->worker), GEARMAN_WORKER_SSL);
-        }
         if (ca_file || certificate || key_file) {
                 php_error_docref(NULL, E_WARNING,
                         "Per-worker SSL certificate paths require libgearman with "
                         "gearman_worker_set_ssl() support; use environment variables "
                         "GEARMAND_CA_CERTIFICATE, GEARMAN_CLIENT_SSL_CERTIFICATE, "
                         "and GEARMAN_CLIENT_SSL_KEY instead");
+                RETURN_FALSE;
+        }
+        if (ssl) {
+                gearman_worker_add_options(&(obj->worker), GEARMAN_WORKER_SSL);
+        } else {
+                gearman_worker_remove_options(&(obj->worker), GEARMAN_WORKER_SSL);
         }
 #else
         php_error_docref(NULL, E_WARNING,