Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 34289 Details for
Bug 50801
EBuild request for the newly open-sourced Ximian-Connector for MS Exchange
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
openldap-2.1.30-ximian_connector.patch
openldap-2.1.30-ximian_connector.patch (text/plain), 6.28 KB, created by
Alastair Tse (RETIRED)
on 2004-06-27 11:08:51 UTC
(
hide
)
Description:
openldap-2.1.30-ximian_connector.patch
Filename:
MIME Type:
Creator:
Alastair Tse (RETIRED)
Created:
2004-06-27 11:08:51 UTC
Size:
6.28 KB
patch
obsolete
>(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/.) > >diff -Nrc -x '*~' -x '*.o' openldap-2.1.23.orig/include/ldap.h openldap-2.1.23/include/ldap.h >*** openldap-2.1.23.orig/include/ldap.h Wed Mar 5 18:48:31 2003 >--- openldap-2.1.23/include/ldap.h Mon Nov 17 13:46:23 2003 >*************** >*** 1645,1649 **** >--- 1645,1670 ---- > LDAPControl **sctrls, > LDAPControl **cctrls )); > >+ /* >+ * 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 -Nrc -x '*~' -x '*.o' openldap-2.1.23.orig/libraries/libldap/Makefile.in openldap-2.1.23/libraries/libldap/Makefile.in >*** openldap-2.1.23.orig/libraries/libldap/Makefile.in Sun Mar 30 09:47:09 2003 >--- openldap-2.1.23/libraries/libldap/Makefile.in Mon Nov 17 13:48:02 2003 >*************** >*** 11,17 **** > 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 sbind.c kbind.c unbind.c cancel.c cache.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 sortctrl.c vlvctrl.c \ >--- 11,17 ---- > 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 sbind.c kbind.c ntlm.c unbind.c cancel.c cache.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 sortctrl.c vlvctrl.c \ >*************** >*** 20,26 **** > 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 sbind.lo kbind.lo unbind.lo cancel.lo cache.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 sortctrl.lo vlvctrl.lo \ >--- 20,26 ---- > 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 sbind.lo kbind.lo ntlm.lo unbind.lo cancel.lo cache.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 sortctrl.lo vlvctrl.lo \ >diff -Nrc -x '*~' -x '*.o' openldap-2.1.23.orig/libraries/libldap/ntlm.c openldap-2.1.23/libraries/libldap/ntlm.c >*** openldap-2.1.23.orig/libraries/libldap/ntlm.c Wed Dec 31 19:00:00 1969 >--- openldap-2.1.23/libraries/libldap/ntlm.c Mon Nov 17 13:46:23 2003 >*************** >*** 0 **** >--- 1,141 ---- >+ /* $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; >+ >+ 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 ) ); >+ >+ rc = ber_printf( ber, "{it{istON}" /*}*/, >+ ++ld->ld_msgid, 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; >+ } >+ >+ #ifndef LDAP_NOCACHE >+ if ( ld->ld_cache != NULL ) { >+ ldap_flush_cache( ld ); >+ } >+ #endif /* !LDAP_NOCACHE */ >+ >+ /* send the message */ >+ *msgidp = ldap_send_initial_request( ld, LDAP_REQ_BIND, dn, ber ); >+ >+ 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 ); >+ }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 50801
:
31238
|
31239
|
31240
|
31242
|
31287
|
31301
|
31307
|
31370
|
32749
|
34288
| 34289 |
35403