[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Solaris 8 Ldap Native Support



On Thu, 11 Jul 2002, Walter Vendraminetto wrote:

>
> Hi,
> I can't attach solaris 8 to a OpenLDAP 2.0.23.
> I hope someone will help. Thanks in advance.
>
> - I installed Openldap 2.0.23 on solaris 8 (BerkeleyDB 3.2.9). It seems it
> works fine.
> - I chose not to install neither SASL nor TSL because the Network is
> considered secure"
> - I populated it with some test users (fictious users).
>
> I'd like to use the sun native support for authentication and i read that
> OpenLDAP needs to be patched.
> I found a patch by Igor B. which doesn't work (make fails).

I suspect that make fails because the patch is not applied properly.

> I found another patch I can't apply (patch fails claiming that it can't
> recognize the format).
>

This is the same patch, just a different format.

> At the moment sun's ldapclient stops on "Can't find rootDN" due to the
> missing patch.
> Provided what stated above:
>
> 1) Where can I find a working patch?

I attached the patch for OpenLDAP 2.0.23.

> 2) Am I wrong trying to apply the patch with "patch < <patch_file>" ?

cd $openldap_src
patch -p0 <sol.patch

> 3) Does the OpenLDAP 2.1.3 avoid the patching (i.e. answers with the rootDN
> to ldapclient?)

No.  This patch compensates for a Solaris 8 bug in ldap_client.  This
patch is _not_ needed if you use a manual configuration as suggested on
some web sites.

This patch is also not needed for Solaris 9.  Just get the new schema from
http://docs.sun.com/?p=/doc/806-4077/6jd6blbf3&a=view.

Hope this will help.

--
Igor
--- result.c.orig	2002-01-04 15:38:29.000000000 -0500
+++ result.c	2002-07-11 17:29:09.594923000 -0400
@@ -628,7 +628,9 @@
 			/* all addrs request, skip operational attributes */
 			if( is_at_operational( desc->ad_type ) )
 			{
-				continue;
+				if (strcasecmp( e->e_dn, LDAP_ROOT_DSE )) {
+					continue;
+				}
 			}
 
 		} else {
@@ -700,7 +702,9 @@
 		if ( attrs == NULL ) {
 			/* all addrs request, skip operational attributes */
 			if( is_at_operational( desc->ad_type ) ) {
-				continue;
+				if (strcasecmp( e->e_dn, LDAP_ROOT_DSE )) {
+					continue;
+				}
 			}
 
 		} else {