2011-06-10 17:04:26 +04:00
/*
Unix SMB / CIFS implementation .
Copyright ( C ) Andrew Tridgell 2001
Copyright ( C ) Remus Koos 2001
Copyright ( C ) Jim McDonough < jmcd @ us . ibm . com > 2002
Copyright ( C ) Guenther Deschner 2005
Copyright ( C ) Gerald Carter 2006
This program is free software ; you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation ; either version 3 of the License , or
( at your option ) any later version .
This program is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU General Public License for more details .
You should have received a copy of the GNU General Public License
along with this program . If not , see < http : //www.gnu.org/licenses/>.
*/
2011-02-24 13:56:08 +03:00
# ifndef _SMB_LDAP_H
# define _SMB_LDAP_H
2018-11-20 16:11:39 +03:00
# ifdef HAVE_LBER_H
2011-02-24 13:56:08 +03:00
# include <lber.h>
# if defined(HPUX) && !defined(_LBER_TYPES_H)
/* Define ber_tag_t and ber_int_t for using
* HP LDAP - UX Integration products ' LDAP libraries .
*/
# ifndef ber_tag_t
typedef unsigned long ber_tag_t ;
typedef int ber_int_t ;
# endif
# endif /* defined(HPUX) && !defined(_LBER_TYPES_H) */
# ifndef LBER_USE_DER
# define LBER_USE_DER 0x01
# endif
# endif /* HAVE_LBER_H */
2018-11-20 16:11:39 +03:00
# ifdef HAVE_LDAP_H
2011-02-24 13:56:08 +03:00
# include <ldap.h>
# ifndef LDAP_CONST
# define LDAP_CONST const
# endif
2011-04-28 09:49:21 +04:00
# ifdef HAVE_LDAP_PVT_H
# include <ldap_pvt.h>
# endif /* HAVE_LDAP_PVT_H */
2011-04-29 12:43:30 +04:00
2011-02-24 13:56:08 +03:00
/* Solaris 8 and maybe other LDAP implementations spell this "..._INPROGRESS": */
# if defined(LDAP_SASL_BIND_INPROGRESS) && !defined(LDAP_SASL_BIND_IN_PROGRESS)
# define LDAP_SASL_BIND_IN_PROGRESS LDAP_SASL_BIND_INPROGRESS
# endif
/* Solaris 8 defines SSL_LDAP_PORT, not LDAPS_PORT and it only does so if
LDAP_SSL is defined - but SSL is not working . We just want the
port number ! Let ' s just define LDAPS_PORT correct . */
# if !defined(LDAPS_PORT)
# define LDAPS_PORT 636
# endif
# endif /* HAVE_LDAP_H */
# ifndef HAVE_LDAP
# define LDAP void
# define LDAPMessage void
# define LDAPMod void
# define LDAP_CONST const
# define LDAPControl void
struct berval ;
struct ldapsam_privates ;
# endif /* HAVE_LDAP */
# ifndef LDAP_OPT_SUCCESS
# define LDAP_OPT_SUCCESS 0
# endif
2011-11-16 21:59:26 +04:00
# define LDAP_DEFAULT_TIMEOUT 15
# define LDAP_CONNECTION_DEFAULT_TIMEOUT 2
2016-01-14 03:25:33 +03:00
# define LDAP_PAGE_SIZE 1000
2011-11-16 21:59:26 +04:00
# define ADS_PAGE_CTL_OID "1.2.840.113556.1.4.319"
/*
* Work around versions of the LDAP client libs that don ' t have the OIDs
* defined , or have them defined under the old name .
* This functionality is really a factor of the server , not the client
*
*/
# if defined(LDAP_EXOP_X_MODIFY_PASSWD) && !defined(LDAP_EXOP_MODIFY_PASSWD)
# define LDAP_EXOP_MODIFY_PASSWD LDAP_EXOP_X_MODIFY_PASSWD
# elif !defined(LDAP_EXOP_MODIFY_PASSWD)
# define LDAP_EXOP_MODIFY_PASSWD "1.3.6.1.4.1.4203.1.11.1"
# endif
# if defined(LDAP_EXOP_X_MODIFY_PASSWD_ID) && !defined(LDAP_EXOP_MODIFY_PASSWD_ID)
# define LDAP_TAG_EXOP_MODIFY_PASSWD_ID LDAP_EXOP_X_MODIFY_PASSWD_ID
# elif !defined(LDAP_EXOP_MODIFY_PASSWD_ID)
# define LDAP_TAG_EXOP_MODIFY_PASSWD_ID ((ber_tag_t) 0x80U)
# endif
# if defined(LDAP_EXOP_X_MODIFY_PASSWD_NEW) && !defined(LDAP_EXOP_MODIFY_PASSWD_NEW)
# define LDAP_TAG_EXOP_MODIFY_PASSWD_NEW LDAP_EXOP_X_MODIFY_PASSWD_NEW
# elif !defined(LDAP_EXOP_MODIFY_PASSWD_NEW)
# define LDAP_TAG_EXOP_MODIFY_PASSWD_NEW ((ber_tag_t) 0x82U)
# endif
2011-02-24 13:56:08 +03:00
# endif /* _SMB_LDAP_H */