View | Details | Raw Unified | Return to bug 41351
Collapse All | Expand All

(-)ldap/apr_ldap_init.c (+11 lines)
Lines 64-69 Link Here
64
    ldapssl_client_init(NULL, NULL);
64
    ldapssl_client_init(NULL, NULL);
65
#endif
65
#endif
66
66
67
#if APR_HAS_TIVOLI_LDAPSDK
68
    ldap_ssl_client_init((char *)cert_auth_file, NULL, 0, &result->rc);
69
#else
67
    /* if a certificate was specified, set it */
70
    /* if a certificate was specified, set it */
68
    if (cert_auth_file) {
71
    if (cert_auth_file) {
69
        apr_ldap_opt_tls_cert_t *cert = (apr_ldap_opt_tls_cert_t *)apr_pcalloc(pool, sizeof(apr_ldap_opt_tls_cert_t));
72
        apr_ldap_opt_tls_cert_t *cert = (apr_ldap_opt_tls_cert_t *)apr_pcalloc(pool, sizeof(apr_ldap_opt_tls_cert_t));
Lines 71-76 Link Here
71
        cert->path = cert_auth_file;
74
        cert->path = cert_auth_file;
72
        return apr_ldap_set_option(pool, NULL, APR_LDAP_OPT_TLS_CERT, (void *)cert, result_err);
75
        return apr_ldap_set_option(pool, NULL, APR_LDAP_OPT_TLS_CERT, (void *)cert, result_err);
73
    }
76
    }
77
#endif
74
78
75
#else  /* not compiled with SSL Support */
79
#else  /* not compiled with SSL Support */
76
    if (cert_auth_file) {
80
    if (cert_auth_file) {
Lines 110-115 Link Here
110
#if APR_HAS_LDAP_SSL && APR_HAS_LDAPSSL_CLIENT_DEINIT
114
#if APR_HAS_LDAP_SSL && APR_HAS_LDAPSSL_CLIENT_DEINIT
111
    ldapssl_client_deinit();
115
    ldapssl_client_deinit();
112
#endif
116
#endif
117
#if APR_HAS_LDAP_SSL && APR_HAS_LDAP_SSL_CLIENT_DEINIT
118
    ldap_ssl_client_deinit();
119
#endif
113
    return APR_SUCCESS;
120
    return APR_SUCCESS;
114
121
115
}
122
}
Lines 149-154 Link Here
149
    *ldap = ldapssl_init(hostname, portno, 0);
156
    *ldap = ldapssl_init(hostname, portno, 0);
150
#elif APR_HAS_LDAP_SSLINIT
157
#elif APR_HAS_LDAP_SSLINIT
151
    *ldap = ldap_sslinit((char *)hostname, portno, 0);
158
    *ldap = ldap_sslinit((char *)hostname, portno, 0);
159
#elif APR_HAS_LDAP_SSL_INIT
160
    /* Tivolo: Third parameter is null, defualt CA list provided with SDK is used */
161
    if (secure == APR_LDAP_SSL) *ldap = ldap_ssl_init((char *)hostname, portno, NULL); 
162
    else  *ldap = ldap_init((char *)hostname, portno);
152
#else
163
#else
153
    *ldap = ldap_init((char *)hostname, portno);
164
    *ldap = ldap_init((char *)hostname, portno);
154
#endif
165
#endif
(-)ldap/apr_ldap_option.c (+9 lines)
Lines 578-583 Link Here
578
    result->rc = -1;
578
    result->rc = -1;
579
#endif
579
#endif
580
580
581
#if APR_HAS_TIVOLI_LDAPSDK
582
    /* Tivoli accepts a KDB file with both CAs and private keys during one-time initialization
583
     * and takes a certificate label during ldap_ssl_init */
584
    result->reason = "LDAP: certificates cannot be set using this method, "
585
                     "CA must be set during apr_ldap_ssl_init and labels for private "
586
                     "keys cannot be set at this time";
587
    result->rc = -1;
588
#endif
589
581
    /* SDK not recognised */
590
    /* SDK not recognised */
582
#if APR_HAS_OTHER_LDAPSDK
591
#if APR_HAS_OTHER_LDAPSDK
583
    result->reason = "LDAP: LDAP_OPT_X_TLS_CACERTFILE not "
592
    result->reason = "LDAP: LDAP_OPT_X_TLS_CACERTFILE not "
(-)include/apr_ldap.h.in (+4 lines)
Lines 40-45 Link Here
40
#define APR_HAS_MOZILLA_LDAPSDK   @apu_has_ldap_mozilla@
40
#define APR_HAS_MOZILLA_LDAPSDK   @apu_has_ldap_mozilla@
41
#define APR_HAS_OPENLDAP_LDAPSDK  @apu_has_ldap_openldap@
41
#define APR_HAS_OPENLDAP_LDAPSDK  @apu_has_ldap_openldap@
42
#define APR_HAS_MICROSOFT_LDAPSDK @apu_has_ldap_microsoft@
42
#define APR_HAS_MICROSOFT_LDAPSDK @apu_has_ldap_microsoft@
43
#define APR_HAS_TIVOLI_LDAPSDK    @apu_has_ldap_tivoli@
43
#define APR_HAS_OTHER_LDAPSDK     @apu_has_ldap_other@
44
#define APR_HAS_OTHER_LDAPSDK     @apu_has_ldap_other@
44
45
45
46
Lines 79-89 Link Here
79
 * Detected standard functions
80
 * Detected standard functions
80
 */
81
 */
81
#define APR_HAS_LDAPSSL_CLIENT_INIT @apu_has_ldapssl_client_init@
82
#define APR_HAS_LDAPSSL_CLIENT_INIT @apu_has_ldapssl_client_init@
83
#define APR_HAS_LDAP_SSL_CLIENT_INIT @apu_has_ldap_ssl_client_init@
82
#define APR_HAS_LDAPSSL_CLIENT_DEINIT @apu_has_ldapssl_client_deinit@
84
#define APR_HAS_LDAPSSL_CLIENT_DEINIT @apu_has_ldapssl_client_deinit@
85
#define APR_HAS_LDAP_SSL_CLIENT_DEINIT @apu_has_ldap_ssl_client_deinit@
83
#define APR_HAS_LDAPSSL_ADD_TRUSTED_CERT @apu_has_ldapssl_add_trusted_cert@
86
#define APR_HAS_LDAPSSL_ADD_TRUSTED_CERT @apu_has_ldapssl_add_trusted_cert@
84
#define APR_HAS_LDAP_START_TLS_S @apu_has_ldap_start_tls_s@
87
#define APR_HAS_LDAP_START_TLS_S @apu_has_ldap_start_tls_s@
85
#define APR_HAS_LDAP_SSLINIT @apu_has_ldap_sslinit@
88
#define APR_HAS_LDAP_SSLINIT @apu_has_ldap_sslinit@
86
#define APR_HAS_LDAPSSL_INIT @apu_has_ldapssl_init@
89
#define APR_HAS_LDAPSSL_INIT @apu_has_ldapssl_init@
90
#define APR_HAS_LDAP_SSL_INIT @apu_has_ldap_ssl_init@
87
#define APR_HAS_LDAPSSL_INSTALL_ROUTINES @apu_has_ldapssl_install_routines@
91
#define APR_HAS_LDAPSSL_INSTALL_ROUTINES @apu_has_ldapssl_install_routines@
88
92
89
/*
93
/*
(-)include/apr_ldap_option.h (+4 lines)
Lines 137-142 Link Here
137
#define APR_LDAP_CERT_TYPE_PFX      13
137
#define APR_LDAP_CERT_TYPE_PFX      13
138
/** PKCS#12 encoded private key */
138
/** PKCS#12 encoded private key */
139
#define APR_LDAP_KEY_TYPE_PFX       14
139
#define APR_LDAP_KEY_TYPE_PFX       14
140
/** CMS Key Database with private key and cert chain */
141
#define APR_LDAP_KEY_TYPE_CMS       15
142
/** Label of a private key in CMS */
143
#define APR_LDAP_KEY_TYPE_CMS_LABEL 16
140
144
141
/**
145
/**
142
 * Certificate structure.
146
 * Certificate structure.
(-)build/apu-conf.m4 (+18 lines)
Lines 186-196 Link Here
186
        APR_ADDTO(APRUTIL_EXPORT_LIBS,[-l${ldaplib} ${extralib}])
186
        APR_ADDTO(APRUTIL_EXPORT_LIBS,[-l${ldaplib} ${extralib}])
187
        APR_ADDTO(APRUTIL_LIBS,[-l${ldaplib} ${extralib}])
187
        APR_ADDTO(APRUTIL_LIBS,[-l${ldaplib} ${extralib}])
188
        AC_CHECK_LIB(${ldaplib}, ldapssl_client_init, apu_has_ldapssl_client_init="1", , ${extralib})
188
        AC_CHECK_LIB(${ldaplib}, ldapssl_client_init, apu_has_ldapssl_client_init="1", , ${extralib})
189
        AC_CHECK_LIB(${ldaplib}, ldap_ssl_client_init, apu_has_ldap_ssl_client_init="1", , ${extralib})
189
        AC_CHECK_LIB(${ldaplib}, ldapssl_client_deinit, apu_has_ldapssl_client_deinit="1", , ${extralib})
190
        AC_CHECK_LIB(${ldaplib}, ldapssl_client_deinit, apu_has_ldapssl_client_deinit="1", , ${extralib})
191
        AC_CHECK_LIB(${ldaplib}, ldap_ssl_client_deinit, apu_has_ldap_ssl_client_deinit="1", , ${extralib})
190
        AC_CHECK_LIB(${ldaplib}, ldapssl_add_trusted_cert, apu_has_ldapssl_add_trusted_cert="1", , ${extralib})
192
        AC_CHECK_LIB(${ldaplib}, ldapssl_add_trusted_cert, apu_has_ldapssl_add_trusted_cert="1", , ${extralib})
191
        AC_CHECK_LIB(${ldaplib}, ldap_start_tls_s, apu_has_ldap_start_tls_s="1", , ${extralib})
193
        AC_CHECK_LIB(${ldaplib}, ldap_start_tls_s, apu_has_ldap_start_tls_s="1", , ${extralib})
192
        AC_CHECK_LIB(${ldaplib}, ldap_sslinit, apu_has_ldap_sslinit="1", , ${extralib})
194
        AC_CHECK_LIB(${ldaplib}, ldap_sslinit, apu_has_ldap_sslinit="1", , ${extralib})
193
        AC_CHECK_LIB(${ldaplib}, ldapssl_init, apu_has_ldapssl_init="1", , ${extralib})
195
        AC_CHECK_LIB(${ldaplib}, ldapssl_init, apu_has_ldapssl_init="1", , ${extralib})
196
        AC_CHECK_LIB(${ldaplib}, ldap_ssl_init, apu_has_ldap_ssl_init="1", , ${extralib})
194
        AC_CHECK_LIB(${ldaplib}, ldapssl_install_routines, apu_has_ldapssl_install_routines="1", , ${extralib})
197
        AC_CHECK_LIB(${ldaplib}, ldapssl_install_routines, apu_has_ldapssl_install_routines="1", , ${extralib})
195
        apu_has_ldap="1";
198
        apu_has_ldap="1";
196
      ], , ${extralib})
199
      ], , ${extralib})
Lines 207-216 Link Here
207
210
208
apu_has_ldap="0";
211
apu_has_ldap="0";
209
apu_has_ldapssl_client_init="0"
212
apu_has_ldapssl_client_init="0"
213
apu_has_ldap_ssl_client_init="0"
210
apu_has_ldapssl_client_deinit="0"
214
apu_has_ldapssl_client_deinit="0"
215
apu_has_ldap_ssl_client_deinit="0"
211
apu_has_ldapssl_add_trusted_cert="0"
216
apu_has_ldapssl_add_trusted_cert="0"
212
apu_has_ldap_start_tls_s="0"
217
apu_has_ldap_start_tls_s="0"
213
apu_has_ldapssl_init="0"
218
apu_has_ldapssl_init="0"
219
apu_has_ldap_ssl_init="0"
214
apu_has_ldap_sslinit="0"
220
apu_has_ldap_sslinit="0"
215
apu_has_ldapssl_install_routines="0"
221
apu_has_ldapssl_install_routines="0"
216
apu_has_ldap_openldap="0"
222
apu_has_ldap_openldap="0"
Lines 219-224 Link Here
219
apu_has_ldap_microsoft="0"
225
apu_has_ldap_microsoft="0"
220
apu_has_ldap_netscape="0"
226
apu_has_ldap_netscape="0"
221
apu_has_ldap_mozilla="0"
227
apu_has_ldap_mozilla="0"
228
apu_has_ldap_tivoli="0"
222
apu_has_ldap_other="0"
229
apu_has_ldap_other="0"
223
230
224
AC_ARG_WITH(ldap-include,[  --with-ldap-include=path  path to ldap include files with trailing slash])
231
AC_ARG_WITH(ldap-include,[  --with-ldap-include=path  path to ldap include files with trailing slash])
Lines 320-325 Link Here
320
                                           apr_cv_ldap_toolkit="Mozilla"])
327
                                           apr_cv_ldap_toolkit="Mozilla"])
321
        fi
328
        fi
322
        if test "x$apr_cv_ldap_toolkit" = "x"; then
329
        if test "x$apr_cv_ldap_toolkit" = "x"; then
330
          AC_EGREP_CPP([International Business Machines], [$lber_h
331
                       $ldap_h
332
                       LDAP_VENDOR_NAME], [apu_has_ldap_tivoli="1"
333
                                           apr_cv_ldap_toolkit="Tivoli"])
334
        fi
335
336
        if test "x$apr_cv_ldap_toolkit" = "x"; then
323
          apu_has_ldap_other="1"
337
          apu_has_ldap_other="1"
324
          apr_cv_ldap_toolkit="unknown"
338
          apr_cv_ldap_toolkit="unknown"
325
        fi
339
        fi
Lines 335-344 Link Here
335
AC_SUBST(lber_h)
349
AC_SUBST(lber_h)
336
AC_SUBST(ldap_ssl_h)
350
AC_SUBST(ldap_ssl_h)
337
AC_SUBST(apu_has_ldapssl_client_init)
351
AC_SUBST(apu_has_ldapssl_client_init)
352
AC_SUBST(apu_has_ldap_ssl_client_init)
338
AC_SUBST(apu_has_ldapssl_client_deinit)
353
AC_SUBST(apu_has_ldapssl_client_deinit)
354
AC_SUBST(apu_has_ldap_ssl_client_deinit)
339
AC_SUBST(apu_has_ldapssl_add_trusted_cert)
355
AC_SUBST(apu_has_ldapssl_add_trusted_cert)
340
AC_SUBST(apu_has_ldap_start_tls_s)
356
AC_SUBST(apu_has_ldap_start_tls_s)
341
AC_SUBST(apu_has_ldapssl_init)
357
AC_SUBST(apu_has_ldapssl_init)
358
AC_SUBST(apu_has_ldap_ssl_init)
342
AC_SUBST(apu_has_ldap_sslinit)
359
AC_SUBST(apu_has_ldap_sslinit)
343
AC_SUBST(apu_has_ldapssl_install_routines)
360
AC_SUBST(apu_has_ldapssl_install_routines)
344
AC_SUBST(apu_has_ldap)
361
AC_SUBST(apu_has_ldap)
Lines 348-353 Link Here
348
AC_SUBST(apu_has_ldap_microsoft)
365
AC_SUBST(apu_has_ldap_microsoft)
349
AC_SUBST(apu_has_ldap_netscape)
366
AC_SUBST(apu_has_ldap_netscape)
350
AC_SUBST(apu_has_ldap_mozilla)
367
AC_SUBST(apu_has_ldap_mozilla)
368
AC_SUBST(apu_has_ldap_tivoli)
351
AC_SUBST(apu_has_ldap_other)
369
AC_SUBST(apu_has_ldap_other)
352
370
353
])
371
])

Return to bug 41351