blob: 1dbd8dc889a1912c8e8cc96d40d889b1128a1786 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
--- ldap-nss.c 2004-09-28 03:20:11.000000000 +0100
+++ ldap-nss.c.new 2005-07-04 01:32:12.000000000 +0100
@@ -330,6 +330,39 @@
timelimit = __session.ls_config->ldc_bind_timelimit;
+#ifdef HAVE_LDAP_START_TLS_S
+ if (__session.ls_config->ldc_ssl_on == SSL_START_TLS)
+ {
+ int version;
+
+ if (ldap_get_option
+ (__session.ls_conn, LDAP_OPT_PROTOCOL_VERSION,
+ &version) == LDAP_OPT_SUCCESS)
+ {
+ if (version < LDAP_VERSION3)
+ {
+ version = LDAP_VERSION3;
+ ldap_set_option (__session.ls_conn, LDAP_OPT_PROTOCOL_VERSION,
+ &version);
+ }
+ }
+
+ debug ("==> start_tls");
+ if (ldap_start_tls_s (__session.ls_conn, NULL, NULL) == LDAP_SUCCESS)
+ {
+ debug ("TLS startup succeeded");
+ }
+ else
+ {
+ debug ("TLS startup failed");
+ do_close ();
+ debug ("<== do_open");
+ return NSS_UNAVAIL;
+ }
+ debug ("<== start_tls");
+ }
+#endif /* HAVE_LDAP_START_TLS_S */
+
return do_bind (ld, timelimit, who, cred, with_sasl);
}
#else
|