From f67d372449a358f72c9f8d654dadda014fccf293 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Tue, 10 Jun 2014 05:57:05 -0400
Subject: [PATCH] Fix "PHP Fatal error: Cannot break/continue 1 level" when ldap_start_tls() fails

---
 program/lib/Roundcube/rcube_ldap_generic.php |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/program/lib/Roundcube/rcube_ldap_generic.php b/program/lib/Roundcube/rcube_ldap_generic.php
index 252eafa..25fe2e5 100644
--- a/program/lib/Roundcube/rcube_ldap_generic.php
+++ b/program/lib/Roundcube/rcube_ldap_generic.php
@@ -175,9 +175,11 @@
         $this->_debug("C: Connect to $hostname [{$this->config['name']}]");
 
         if ($lc = @ldap_connect($host, $this->config['port'])) {
-            if ($this->config['use_tls'] === true)
-                if (!ldap_start_tls($lc))
-                    continue;
+            if ($this->config['use_tls'] === true) {
+                if (!ldap_start_tls($lc)) {
+                    return false;
+                }
+            }
 
             $this->_debug("S: OK");
 
@@ -186,7 +188,7 @@
             $this->conn = $lc;
 
             if (!empty($this->config['network_timeout']))
-              ldap_set_option($lc, LDAP_OPT_NETWORK_TIMEOUT, $this->config['network_timeout']);
+                ldap_set_option($lc, LDAP_OPT_NETWORK_TIMEOUT, $this->config['network_timeout']);
 
             if (isset($this->config['referrals']))
                 ldap_set_option($lc, LDAP_OPT_REFERRALS, $this->config['referrals']);

--
Gitblit v1.9.1