Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Eric Sandall (3bde8160d5d18b18f5b789af8e43c4e7a801d4d0)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Eric Sandall <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Eric Sandall (3bde8160d5d18b18f5b789af8e43c4e7a801d4d0)
  • Date: Fri, 20 Feb 2009 17:51:23 -0600

GIT changes to master grimoire by Eric Sandall <sandalle AT sourcemage.org>:

collab/openldap/CONFIGURE | 2
collab/openldap/HISTORY | 10 +
collab/openldap/PRE_BUILD | 7
collab/openldap/PRE_SUB_DEPENDS | 1
collab/openldap/SUB_DEPENDS | 2
collab/openldap/openldap-2.4-ntlm.patch | 203
++++++++++++++++++++++
gnome2-libs/evolution-data-server/HISTORY | 4
gnome2-libs/evolution-data-server/PRE_SUB_DEPENDS | 4
gnome2-libs/evolution-data-server/SUB_DEPENDS | 2
gnome2-libs/evolution-exchange/DEPENDS | 1
gnome2-libs/evolution-exchange/HISTORY | 4
11 files changed, 237 insertions(+), 3 deletions(-)

New commits:
commit 3bde8160d5d18b18f5b789af8e43c4e7a801d4d0
Author: Eric Sandall <sandalle AT sourcemage.org>
Commit: Eric Sandall <sandalle AT sourcemage.org>

openldap, evolution-data-server: Add support to enable Exchange support

When building evolution-data-server (and evolution-exchange), one
receives this warning:
configure: WARNING:
No NTLM support in OpenLDAP; Plaintext password authentication will be
used when connecting to the Exchange Global Catalog server. Consider
installing the evo-openldap package, or building OpenLDAP with the
patch in servers/exchange/docs/openldap-ntlm.diff

And evolution-data-server's ./configure notes:
Exchange support: no

With this patch, the warning goes away for both and
evolution-data-server's ./configure notes:
Exchange support: yes

I still cannot seem to get the Exchange Plugin to load in Evolution and
allow me access to OWA (I can select Exchange, but cannot enter the OWA
URL, see

http://www.go-evolution.org/FAQ#Where_do_I_add_the_user_name_and_the_OWA_URL_in_the_setup_dialog.3F
for the issue I have (except I can enter my username), though I can't
find the plugin to enable it!

commit c11a6e4b365a809f58f3893a482d9b66b86e3244
Author: Eric Sandall <sandalle AT sourcemage.org>
Commit: Eric Sandall <sandalle AT sourcemage.org>

evolution-exchange: Removed duplicate dependency on evolution-exchange
Second dependency includes -sub LDAP

diff --git a/collab/openldap/CONFIGURE b/collab/openldap/CONFIGURE
index 38022a5..b4e2bb0 100755
--- a/collab/openldap/CONFIGURE
+++ b/collab/openldap/CONFIGURE
@@ -16,5 +16,7 @@ if echo $OPENLDAP_SLAPD | grep -q enable; then
'--enable-aci' '--disable-aci'
fi &&

+config_query OPENLDAP_NTLM "Enable NTLM API support (needed for Evolution
Exchange plugin)?" n &&
+
message "${MESSAGE_COLOR}If you care about security, check out
http://timof.qipc.org/ldap/libldap.html .$DEFAULT_COLOR" &&
message "${MESSAGE_COLOR}The patch is not in the spell anymore because of
version mismatch...$DEFAULT_COLOR."
diff --git a/collab/openldap/HISTORY b/collab/openldap/HISTORY
index 3b62c9b..48f09a6 100644
--- a/collab/openldap/HISTORY
+++ b/collab/openldap/HISTORY
@@ -1,3 +1,13 @@
+2009-02-18 Eric Sandall <sandalle AT sourcemage.org>
+ * CONFIGURE: Query if we want openldap-2.4-ntlm.patch applied
+ * PRE_BUILD: Apply openldap-2.4-ntlm.patch if requested
+ * {PRE_,}SUB_DEPENDS: Allow forcing openldap-2.4-ntlm.patch
+ * openldap-2.4-ntlm.patch: Patch to provide more NTLM API calls for
+ evolution-data-server to use for Exchange support
+ This patch was obtained from
+
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/openldap-ntlm.diff and
+ updated to openldap 2.4.14
+
2009-02-15 Ladislav Hagara <hgr AT vabo.cz>
* DETAILS: 2.4.14

diff --git a/collab/openldap/PRE_BUILD b/collab/openldap/PRE_BUILD
new file mode 100755
index 0000000..b598fd0
--- /dev/null
+++ b/collab/openldap/PRE_BUILD
@@ -0,0 +1,7 @@
+default_pre_build &&
+
+if [[ "$OPENLDAP_NTLM" == "y" ]]
+then
+ cd $SOURCE_DIRECTORY &&
+ patch -p1 < $SCRIPT_DIRECTORY/openldap-2.4-ntlm.patch
+fi
diff --git a/collab/openldap/PRE_SUB_DEPENDS b/collab/openldap/PRE_SUB_DEPENDS
index bcf947c..3625961 100755
--- a/collab/openldap/PRE_SUB_DEPENDS
+++ b/collab/openldap/PRE_SUB_DEPENDS
@@ -1,5 +1,6 @@
case $THIS_SUB_DEPENDS in
SASL) is_depends_enabled $SPELL cyrus-sasl;;
+ NTLM) [[ OPENLDAP_NTLM == "y" ]] && return 0;;
*) message "${PROBLEM_COLOR}bogus sub_depends: $SPELL
$THIS_SUB_DEPENDS${DEFAULT_COLOR}"
return 1;;
esac
diff --git a/collab/openldap/SUB_DEPENDS b/collab/openldap/SUB_DEPENDS
index 69b3687..391032f 100755
--- a/collab/openldap/SUB_DEPENDS
+++ b/collab/openldap/SUB_DEPENDS
@@ -1,6 +1,8 @@
case $THIS_SUB_DEPENDS in
SASL) message "OpenLDAP with SASL support requested, forcing cyrus-sasl
dependency" &&
depends cyrus-sasl "--with-cyrus-sasl";;
+ NTLM) message "OpenLDAP with NTLM support requested, forcing NTLM patch"
&&
+ OPENLDAP_NTLM=y ;;
*) message "${PROBLEM_COLOR}bogus sub_depends: $SPELL
$THIS_SUB_DEPENDS${DEFAULT_COLOR}"
return 1;;
esac
diff --git a/collab/openldap/openldap-2.4-ntlm.patch
b/collab/openldap/openldap-2.4-ntlm.patch
new file mode 100644
index 0000000..1f1e8f2
--- /dev/null
+++ b/collab/openldap/openldap-2.4-ntlm.patch
@@ -0,0 +1,203 @@
+(Note that this patch is not useful on its own... it just adds some
+hooks to work with the LDAP authentication process at a lower level
+than the API otherwise allows. The code that calls these hooks and
+actually drives the NTLM authentication process is in
+lib/e2k-global-catalog.c, and the code that actually implements the
+NTLM algorithms is in xntlm/.)
+
+This is a patch against OpenLDAP 2.2.6. Apply with -p0
+
+This patch was obtained from
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/openldap-ntlm.diff and
updated to openldap 2.4.14. Apply with -p1.
+
+diff -Naur openldap-2.4.14.orig/include/ldap.h openldap-2.4.14/include/ldap.h
+--- openldap-2.4.14.orig/include/ldap.h 2009-02-18 03:43:05.491974110
-0800
++++ openldap-2.4.14/include/ldap.h 2009-02-18 03:43:16.327725135 -0800
+@@ -2461,5 +2461,26 @@
+ LDAPControl **ctrls,
+ LDAPDerefRes **drp ));
+
++/*
++ * hacks for NTLM
++ */
++#define LDAP_AUTH_NTLM_REQUEST ((ber_tag_t) 0x8aU)
++#define LDAP_AUTH_NTLM_RESPONSE ((ber_tag_t) 0x8bU)
++LDAP_F( int )
++ldap_ntlm_bind LDAP_P((
++ LDAP *ld,
++ LDAP_CONST char *dn,
++ ber_tag_t tag,
++ struct berval *cred,
++ LDAPControl **sctrls,
++ LDAPControl **cctrls,
++ int *msgidp ));
++LDAP_F( int )
++ldap_parse_ntlm_bind_result LDAP_P((
++ LDAP *ld,
++ LDAPMessage *res,
++ struct berval *challenge));
++
++
+ LDAP_END_DECL
+ #endif /* _LDAP_H */
+diff -Naur openldap-2.4.14.orig/libraries/libldap/Makefile.in
openldap-2.4.14/libraries/libldap/Makefile.in
+--- openldap-2.4.14.orig/libraries/libldap/Makefile.in 2009-02-18
03:43:05.489975043 -0800
++++ openldap-2.4.14/libraries/libldap/Makefile.in 2009-02-18
03:43:16.327725135 -0800
+@@ -20,7 +20,7 @@
+ SRCS = bind.c open.c result.c error.c compare.c search.c \
+ controls.c messages.c references.c extended.c cyrus.c \
+ modify.c add.c modrdn.c delete.c abandon.c \
+- sasl.c gssapi.c sbind.c unbind.c cancel.c \
++ sasl.c gssapi.c ntlm.c sbind.c unbind.c cancel.c \
+ filter.c free.c sort.c passwd.c whoami.c \
+ getdn.c getentry.c getattr.c getvalues.c addentry.c \
+ request.c os-ip.c url.c pagectrl.c sortctrl.c vlvctrl.c \
+@@ -33,7 +33,7 @@
+ OBJS = bind.lo open.lo result.lo error.lo compare.lo search.lo \
+ controls.lo messages.lo references.lo extended.lo cyrus.lo \
+ modify.lo add.lo modrdn.lo delete.lo abandon.lo \
+- sasl.lo gssapi.lo sbind.lo unbind.lo cancel.lo \
++ sasl.lo gssapi.lo ntlm.lo sbind.lo unbind.lo cancel.lo \
+ filter.lo free.lo sort.lo passwd.lo whoami.lo \
+ getdn.lo getentry.lo getattr.lo getvalues.lo addentry.lo \
+ request.lo os-ip.lo url.lo pagectrl.lo sortctrl.lo vlvctrl.lo \
+diff -Naur openldap-2.4.14.orig/libraries/libldap/ntlm.c
openldap-2.4.14/libraries/libldap/ntlm.c
+--- openldap-2.4.14.orig/libraries/libldap/ntlm.c 1969-12-31
16:00:00.000000000 -0800
++++ openldap-2.4.14/libraries/libldap/ntlm.c 2009-02-18 03:43:16.328725611
-0800
+@@ -0,0 +1,137 @@
++/* $OpenLDAP: pkg/ldap/libraries/libldap/ntlm.c,v 1.1.4.10 2002/01/04
20:38:21 kurt Exp $ */
++/*
++ * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.
++ * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
++ */
++
++/* Mostly copied from sasl.c */
++
++#include "portable.h"
++
++#include <stdlib.h>
++#include <stdio.h>
++
++#include <ac/socket.h>
++#include <ac/string.h>
++#include <ac/time.h>
++#include <ac/errno.h>
++
++#include "ldap-int.h"
++
++int
++ldap_ntlm_bind(
++ LDAP *ld,
++ LDAP_CONST char *dn,
++ ber_tag_t tag,
++ struct berval *cred,
++ LDAPControl **sctrls,
++ LDAPControl **cctrls,
++ int *msgidp )
++{
++ BerElement *ber;
++ int rc;
++ ber_int_t id;
++
++ Debug( LDAP_DEBUG_TRACE, "ldap_ntlm_bind\n", 0, 0, 0 );
++
++ assert( ld != NULL );
++ assert( LDAP_VALID( ld ) );
++ assert( msgidp != NULL );
++
++ if( msgidp == NULL ) {
++ ld->ld_errno = LDAP_PARAM_ERROR;
++ return ld->ld_errno;
++ }
++
++ /* create a message to send */
++ if ( (ber = ldap_alloc_ber_with_options( ld )) == NULL ) {
++ ld->ld_errno = LDAP_NO_MEMORY;
++ return ld->ld_errno;
++ }
++
++ assert( LBER_VALID( ber ) );
++
++ LDAP_NEXT_MSGID( ld, id );
++ rc = ber_printf( ber, "{it{istON}" /*}*/,
++ id, LDAP_REQ_BIND,
++ ld->ld_version, dn, tag,
++ cred );
++
++ /* Put Server Controls */
++ if( ldap_int_put_controls( ld, sctrls, ber ) != LDAP_SUCCESS ) {
++ ber_free( ber, 1 );
++ return ld->ld_errno;
++ }
++
++ if ( ber_printf( ber, /*{*/ "N}" ) == -1 ) {
++ ld->ld_errno = LDAP_ENCODING_ERROR;
++ ber_free( ber, 1 );
++ return ld->ld_errno;
++ }
++
++ /* send the message */
++ *msgidp = ldap_send_initial_request( ld, LDAP_REQ_BIND, dn, ber, id );
++
++ if(*msgidp < 0)
++ return ld->ld_errno;
++
++ return LDAP_SUCCESS;
++}
++
++int
++ldap_parse_ntlm_bind_result(
++ LDAP *ld,
++ LDAPMessage *res,
++ struct berval *challenge)
++{
++ ber_int_t errcode;
++ ber_tag_t tag;
++ BerElement *ber;
++ ber_len_t len;
++
++ Debug( LDAP_DEBUG_TRACE, "ldap_parse_ntlm_bind_result\n", 0, 0, 0 );
++
++ assert( ld != NULL );
++ assert( LDAP_VALID( ld ) );
++ assert( res != NULL );
++
++ if ( ld == NULL || res == NULL ) {
++ return LDAP_PARAM_ERROR;
++ }
++
++ if( res->lm_msgtype != LDAP_RES_BIND ) {
++ ld->ld_errno = LDAP_PARAM_ERROR;
++ return ld->ld_errno;
++ }
++
++ if ( ld->ld_error ) {
++ LDAP_FREE( ld->ld_error );
++ ld->ld_error = NULL;
++ }
++ if ( ld->ld_matched ) {
++ LDAP_FREE( ld->ld_matched );
++ ld->ld_matched = NULL;
++ }
++
++ /* parse results */
++
++ ber = ber_dup( res->lm_ber );
++
++ if( ber == NULL ) {
++ ld->ld_errno = LDAP_NO_MEMORY;
++ return ld->ld_errno;
++ }
++
++ tag = ber_scanf( ber, "{ioa" /*}*/,
++ &errcode, challenge, &ld->ld_error );
++ ber_free( ber, 0 );
++
++ if( tag == LBER_ERROR ) {
++ ld->ld_errno = LDAP_DECODING_ERROR;
++ return ld->ld_errno;
++ }
++
++ ld->ld_errno = errcode;
++
++ return( ld->ld_errno );
++}
diff --git a/gnome2-libs/evolution-data-server/HISTORY
b/gnome2-libs/evolution-data-server/HISTORY
index 2915210..29931ea 100644
--- a/gnome2-libs/evolution-data-server/HISTORY
+++ b/gnome2-libs/evolution-data-server/HISTORY
@@ -1,3 +1,7 @@
+2009-02-18 Eric Sandall <sandalle AT sourcemage.org>
+ * {PRE_,}SUB_DEPENDS: In order for Exchange support to be built,
+ openldap needs to be built with the NTLM patch
+
2009-02-09 George Sherwood <gsherwood AT sourcemage.org>
* DETAILS: Updated to verison 2.24.4.1

diff --git a/gnome2-libs/evolution-data-server/PRE_SUB_DEPENDS
b/gnome2-libs/evolution-data-server/PRE_SUB_DEPENDS
index f1db034..70cb798 100755
--- a/gnome2-libs/evolution-data-server/PRE_SUB_DEPENDS
+++ b/gnome2-libs/evolution-data-server/PRE_SUB_DEPENDS
@@ -1,4 +1,6 @@
case $THIS_SUB_DEPENDS in
- LDAP) is_depends_enabled $SPELL openldap && return 0;;
+ LDAP) persistent_read openldap OPENLDAP_NTLM OPENLDAP_NTLM &&
+ is_depends_enabled $SPELL openldap &&
+ [[ OPENLDAP_NTLM == "y" ]] &&return 0;;
esac
return 1
diff --git a/gnome2-libs/evolution-data-server/SUB_DEPENDS
b/gnome2-libs/evolution-data-server/SUB_DEPENDS
index 6e0b4a8..0c5c32e 100755
--- a/gnome2-libs/evolution-data-server/SUB_DEPENDS
+++ b/gnome2-libs/evolution-data-server/SUB_DEPENDS
@@ -1,5 +1,5 @@
case $THIS_SUB_DEPENDS in
LDAP)
- depends openldap --with-openldap=yes "(because sub depends forced it)"
+ depends -sub NTLM openldap --with-openldap=yes "(because sub depends
forced it)"
;;
esac
diff --git a/gnome2-libs/evolution-exchange/DEPENDS
b/gnome2-libs/evolution-exchange/DEPENDS
index a33257c..21a9ea5 100755
--- a/gnome2-libs/evolution-exchange/DEPENDS
+++ b/gnome2-libs/evolution-exchange/DEPENDS
@@ -8,7 +8,6 @@ depends libgnomeui &&
depends libsoup &&
depends libxml2 &&
depends evolution &&
-depends evolution-data-server &&
depends -sub LDAP evolution-data-server &&
depends krb5 &&

diff --git a/gnome2-libs/evolution-exchange/HISTORY
b/gnome2-libs/evolution-exchange/HISTORY
index 12e2701..32b9cb5 100644
--- a/gnome2-libs/evolution-exchange/HISTORY
+++ b/gnome2-libs/evolution-exchange/HISTORY
@@ -1,3 +1,7 @@
+2009-02-18 Eric Sandall <sandalle AT sourcemage.org>
+ * DEPENDS: Removed duplicate dependency on evolution-exchange
+ Second dependency includes -sub LDAP
+
2008-11-30 Robin Cook <rcook AT wyrms.net>
* DETAILS: updated VERSION to 2.24.2




  • [SM-Commit] GIT changes to master grimoire by Eric Sandall (3bde8160d5d18b18f5b789af8e43c4e7a801d4d0), Eric Sandall, 02/20/2009

Archive powered by MHonArc 2.6.24.

Top of Page