+++ /dev/null
-From b2623b57b79becf707ff1800bfb5153af3f0d1fc Mon Sep 17 00:00:00 2001
-From: babak sarashki <babak.sarashki@windriver.com>
-Date: Wed, 4 Dec 2019 07:58:45 -0800
-Subject: [PATCH 12/12] openldap ldapi sasl
-
-From stx 1901: openldap-ldapi-sasl.patch
----
- libraries/libldap/cyrus.c | 19 ++++++++++++++++---
- 1 file changed, 16 insertions(+), 3 deletions(-)
-
-diff --git a/libraries/libldap/cyrus.c b/libraries/libldap/cyrus.c
-index 8a496f990..06a9fdf41 100644
---- a/libraries/libldap/cyrus.c
-+++ b/libraries/libldap/cyrus.c
-@@ -385,6 +385,8 @@ ldap_int_sasl_bind(
- struct berval ccred = BER_BVNULL;
- int saslrc, rc;
- unsigned credlen;
-+ char my_hostname[HOST_NAME_MAX + 1];
-+ int free_saslhost = 0;
-
- Debug( LDAP_DEBUG_TRACE, "ldap_int_sasl_bind: %s\n",
- mechs ? mechs : "<null>", 0, 0 );
-@@ -445,14 +447,25 @@ ldap_int_sasl_bind(
-
- /* If we don't need to canonicalize just use the host
- * from the LDAP URI.
-+ * Always use the result of gethostname() for LDAPI.
- */
-- if ( nocanon )
-+ if (ld->ld_defconn->lconn_server->lud_scheme != NULL &&
-+ strcmp("ldapi", ld->ld_defconn->lconn_server->lud_scheme) == 0) {
-+ rc = gethostname(my_hostname, HOST_NAME_MAX + 1);
-+ if (rc == 0) {
-+ saslhost = my_hostname;
-+ } else {
-+ saslhost = "localhost";
-+ }
-+ } else if ( nocanon )
- saslhost = ld->ld_defconn->lconn_server->lud_host;
-- else
-+ else {
- saslhost = ldap_host_connected_to( ld->ld_defconn->lconn_sb,
- "localhost" );
-+ free_saslhost = 1;
-+ }
- rc = ldap_int_sasl_open( ld, ld->ld_defconn, saslhost );
-- if ( !nocanon )
-+ if ( free_saslhost )
- LDAP_FREE( saslhost );
- }
-
---
-2.17.1
-