From 46aab923535cdf5e2f575b854dd47a3486303060 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ond=C5=99ej=20Kuzn=C3=ADk?= <ondra@mistotebe.net>
Date: Fri, 14 Jun 2019 11:21:27 +0200
Subject: [PATCH] ITS#8671 Expose OpenLDAP specific interfaces in openldap.h

---
 doc/man/man3/ldap_open.3 |  2 +-
 include/Makefile.in      |  2 +-
 include/ldap_pvt.h       |  8 +-------
 include/openldap.h       | 39 +++++++++++++++++++++++++++++++++++++++
 4 files changed, 42 insertions(+), 9 deletions(-)
 create mode 100644 include/openldap.h

diff --git a/doc/man/man3/ldap_open.3 b/doc/man/man3/ldap_open.3
index 18c32669d3..445cc72e0c 100644
--- a/doc/man/man3/ldap_open.3
+++ b/doc/man/man3/ldap_open.3
@@ -45,7 +45,7 @@ LDAPURLDesc **url;
 void *params;
 .LP
 .ft B
-#include <ldap_pvt.h>
+#include <openldap.h>
 .LP
 .ft B
 int ldap_init_fd(fd, proto, uri, ldp)
diff --git a/include/Makefile.in b/include/Makefile.in
index 3faaff0903..43aef31d45 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -21,7 +21,7 @@ install-local: FORCE
 		$(srcdir)/ldap.h $(srcdir)/ldap_cdefs.h \
 		$(srcdir)/ldap_schema.h $(srcdir)/ldap_utf8.h \
 		$(srcdir)/slapi-plugin.h ldap_features.h \
-		$(srcdir)/ldif.h ; \
+		$(srcdir)/ldif.h $(srcdir)/openldap.h ; \
 	do \
 		$(INSTALL) $(INSTALLFLAGS) -m 644 $$header $(DESTDIR)$(includedir); \
 	done
diff --git a/include/ldap_pvt.h b/include/ldap_pvt.h
index 87bfa0be2b..b32a5c08e9 100644
--- a/include/ldap_pvt.h
+++ b/include/ldap_pvt.h
@@ -20,16 +20,12 @@
 #ifndef _LDAP_PVT_H
 #define _LDAP_PVT_H 1
 
+#include <openldap.h>				/* get public interfaces */
 #include <lber.h>				/* get ber_slen_t */
 #include <lber_pvt.h>				/* get Sockbuf_Buf */
 
 LDAP_BEGIN_DECL
 
-#define LDAP_PROTO_TCP 1 /* ldap://  */
-#define LDAP_PROTO_UDP 2 /* reserved */
-#define LDAP_PROTO_IPC 3 /* ldapi:// */
-#define LDAP_PROTO_EXT 4 /* user-defined socket/sockbuf */
-
 LDAP_F ( int )
 ldap_pvt_url_scheme2proto LDAP_P((
 	const char * ));
@@ -333,8 +329,6 @@ ldap_get_message_ber LDAP_P((
 /* open */
 LDAP_F (int) ldap_open_internal_connection LDAP_P((
 	struct ldap **ldp, ber_socket_t *fdp ));
-LDAP_F (int) ldap_init_fd LDAP_P((
-	ber_socket_t fd, int proto, LDAP_CONST char *url, struct ldap **ldp ));
 
 /* sasl.c */
 LDAP_F (int) ldap_pvt_sasl_generic_install LDAP_P(( Sockbuf *sb,
diff --git a/include/openldap.h b/include/openldap.h
new file mode 100644
index 0000000000..8d7b1560d6
--- /dev/null
+++ b/include/openldap.h
@@ -0,0 +1,39 @@
+/* $OpenLDAP$ */
+/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+ *
+ * Copyright 2019 The OpenLDAP Foundation.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
+ *
+ * A copy of this license is available in file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * <http://www.OpenLDAP.org/license.html>.
+ */
+
+/* openldap.h - Header for openldap specific interfaces. */
+
+#ifndef _OPENLDAP_H
+#define _OPENLDAP_H 1
+
+#include <ldap.h>
+
+LDAP_BEGIN_DECL
+
+#define LDAP_PROTO_TCP 1 /* ldap://  */
+#define LDAP_PROTO_UDP 2 /* reserved */
+#define LDAP_PROTO_IPC 3 /* ldapi:// */
+#define LDAP_PROTO_EXT 4 /* user-defined socket/sockbuf */
+
+LDAP_F( int )
+ldap_init_fd LDAP_P((
+	ber_socket_t fd,
+	int proto,
+	LDAP_CONST char *url,
+	LDAP **ldp ));
+
+LDAP_END_DECL
+
+#endif /* _OPENLDAP_H */
-- 
GitLab