X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Flibldap%2Finit.c;h=3e602dff9ad9f4bf1f80348ae637159499381e08;hb=35a880c53ed0d06b9d0010c9a3ddca04f66dfa9c;hp=c7db9ed6b16f11260cc22fac7c7683e4f39553c2;hpb=bfbc6fe4a6e515189962aebba517138d909fbfed;p=openldap diff --git a/libraries/libldap/init.c b/libraries/libldap/init.c index c7db9ed6b1..3e602dff9a 100644 --- a/libraries/libldap/init.c +++ b/libraries/libldap/init.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2014 The OpenLDAP Foundation. + * Copyright 1998-2017 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -596,6 +596,10 @@ void ldap_int_initialize_global_options( struct ldapoptions *gopts, int *dbglvl char * ldap_int_hostname = NULL; #endif +#ifdef LDAP_R_COMPILE +int ldap_int_stackguard; +#endif + void ldap_int_initialize( struct ldapoptions *gopts, int *dbglvl ) { if ( gopts->ldo_valid == LDAP_INITIALIZED ) { @@ -658,12 +662,24 @@ void ldap_int_initialize( struct ldapoptions *gopts, int *dbglvl ) if ( ldap_int_tblsize == 0 ) ldap_int_ip_init(); #endif +#ifdef HAVE_CYRUS_SASL + if ( ldap_int_sasl_init() != 0 ) { + return; + } +#endif + ldap_int_initialize_global_options(gopts, dbglvl); if( getenv("LDAPNOINIT") != NULL ) { return; } +#ifdef LDAP_R_COMPILE + if( getenv("LDAPSTACKGUARD") != NULL ) { + ldap_int_stackguard = 1; + } +#endif + #ifdef HAVE_CYRUS_SASL { /* set authentication identity to current user name */