[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: SASL EXTERNAL via ldapi
On Tue, 22 Nov 2005 13:56:54 -0500
"James F. Hranicky" <jfh@cise.ufl.edu> wrote:
> On Tue, 22 Nov 2005 13:26:07 -0500
> "James F. Hranicky" <jfh@cise.ufl.edu> wrote:
>
> > I gdb'd through the SASL code and it appeared to return SASL_OK to
> > ldap_int_sasl_bind() . I guess I'll compile openldap for debugging
> > and see what I can see.
>
> I just realized I never mentioned my platform:
>
> OS : Sol 10 x86
> openldap : 2.3.12
> sasl : 2.1.21
> BDB : 4.2.52+patches
> compiler : SUNWspro, gcc 3.4.4
>
> Jim
>
I believe I've found it. There's a typo in the files
libraries/liblutil/getpeereid.c
libraries/libldap/os-local.c
The macro
HAVE_STRUCT_MSGHDR_MSG_ACCRIGHTS
needs to be
HAVE_STRUCT_MSGHDR_MSG_ACCRIGHTSLEN
Now SASL/EXTERNAL appears to work again on Sol 10. The patch is attached.
Sol 10 now supports getpeerucred() -- I don't know if it would be better
to define getpeereid in terms of that or not.
Jim
--- openldap-2.3.12/libraries/libldap/os-local.c Tue Sep 27 20:30:28 2005
+++ openldap-2.3.12.mod/libraries/libldap/os-local.c Wed Nov 23 12:08:27 2005
@@ -156,7 +156,7 @@
#if !defined(HAVE_GETPEEREID) && \
!defined(SO_PEERCRED) && !defined(LOCAL_PEERCRED) && \
- defined(HAVE_SENDMSG) && (defined(HAVE_STRUCT_MSGHDR_MSG_ACCRIGHTS) || \
+ defined(HAVE_SENDMSG) && (defined(HAVE_STRUCT_MSGHDR_MSG_ACCRIGHTSLEN) || \
defined(HAVE_STRUCT_MSGHDR_MSG_CONTROL))
#define DO_SENDMSG
static const char abandonPDU[] = {LDAP_TAG_MESSAGE, 6,
diff -ur openldap-2.3.12/libraries/liblutil/getpeereid.c openldap-2.3.12.mod/libraries/liblutil/getpeereid.c
--- openldap-2.3.12/libraries/liblutil/getpeereid.c Mon Aug 29 14:46:17 2005
+++ openldap-2.3.12.mod/libraries/liblutil/getpeereid.c Wed Nov 23 11:53:32 2005
@@ -32,7 +32,7 @@
#endif
#if !defined(SO_PEERCRED) && !defined(LOCAL_PEERCRED) && \
- defined(HAVE_SENDMSG) && (defined(HAVE_STRUCT_MSGHDR_MSG_ACCRIGHTS) || \
+ defined(HAVE_SENDMSG) && (defined(HAVE_STRUCT_MSGHDR_MSG_ACCRIGHTSLEN) || \
defined(HAVE_STRUCT_MSGHDR_MSG_CONTROL))
#define DO_SENDMSG
#ifdef HAVE_SYS_UIO_H