Commit graph

2084 commits

Author SHA1 Message Date
Ondřej Kuzník
7e7fad5e03 ITS#9828 Fix ldap_count_values_len pointer confusion 2022-04-21 12:14:06 +01:00
Ondřej Kuzník
0dae0704c0 ITS#9811 Allow newlines at end of included file 2022-03-21 17:48:34 +00:00
Ondřej Kuzník
e8813b12b6 ITS#9803 Drop connection when receiving non-LDAP data 2022-03-08 17:28:05 +00:00
Howard Chu
e62d05d26c ITS#9436 libldap: OpenSSL 3.0 compat 2022-02-03 16:42:44 +00:00
Orgad Shaneh
04093763f9 ITS#9791 Fix compilation with openssl exclusions 2022-01-25 15:41:07 +00:00
Ondřej Kuzník
f4e74d51f5 ITS#9781 Relax refcount assertion for referrals 2022-01-19 10:35:01 +00:00
Quanah Gibson-Mount
788e9592ba Happy New Year! 2022-01-07 18:40:00 +00:00
Ondřej Kuzník
19d4a69882 ITS#9642 Notify runner of any changes to the runqueue 2021-12-15 20:40:53 +00:00
Ondřej Kuzník
e3905c9898 ITS#9596 Let libldap keep explicit port 0 as that 2021-12-14 16:30:54 +00:00
Howard Chu
69727ebbc8 ITS#9743 init client socket port
also silence meaningless warning
2021-11-09 18:06:18 +00:00
Quanah Gibson-Mount
4a87d7aad2 ITS#9673 - Start fully tracking symbols for versioning 2021-10-18 17:56:13 +00:00
Quanah Gibson-Mount
783fcbe8ed ITS#9673 - Fix library symbol versioning 2021-09-20 18:00:36 +00:00
Howard Chu
d285c05106 ITS#9686 plug peercert memleak 2021-09-15 13:03:13 +01:00
Howard Chu
6c0dc99389 ITS#9668 ldap_int_tls_connect: isdigit() requires unsigned char 2021-09-06 21:14:21 +01:00
Quanah Gibson-Mount
617e6974f7 ITS#9648 - Fix request.c for MAXPATHLEN not result.c Fixes 0412814c55 2021-08-31 16:33:57 +00:00
Quanah Gibson-Mount
0412814c55 ITS#9648 - Include ac/param.h for MAXPATHLEN 2021-08-26 17:55:54 +00:00
Howard Chu
5ad6ab3568 ITS#8958 rename ldap_pvt_thread_pool_pausecheck()
to ..._pausewait() since that's what it really does.
Add ..._pausequery() that only checks and doesn't wait.
2021-08-12 18:59:06 +00:00
Howard Chu
ff0defdc13 ITS#6248 fix prev commit tlso_ca_list
Don't quit on first dir failure, try them all before giving up.
2021-07-22 23:54:25 +01:00
Howard Chu
dfcaa3f01e ITS#6248 support multiple CAcert dirs 2021-07-22 21:07:21 +01:00
Howard Chu
2c0707cf13 ITS#9157 save TLS errmsg in ld->ld_error 2021-07-22 15:27:31 +01:00
Bin Lan
457f5bd4a9 ITS#9602 Silence warnings in libldap/tls_o.c 2021-06-29 13:16:37 +01:00
Bin Lan
3be2447dfc ITS#9601 Silence warning in libldap/tpool.c 2021-06-29 13:16:26 +01:00
Konstantin Andreev
7bd1fac58c ITS#9590 libldap: fix missing unlock on connection alloc failure 2021-06-24 13:40:44 +01:00
Konstantin Andreev
00529facbe ITS#9578 ldif: terminate buf after truncating \r 2021-06-12 15:08:11 +01:00
Howard Chu
cd3567d750 ITS#9521 additional ciphersuite fixes
Actually check version of matched ciphersuite names.
Also, don't change existing TLS1.3 suites if none are specified
in the new suite string. Avoids ITS#9546.
2021-05-06 20:16:40 +01:00
Howard Chu
16fcba1e98 ITS#9541 fix typo in util-int.c
From 94fbd96826
2021-04-30 09:25:13 +01:00
Nadezhda Ivanova
db389d38ce ITS#9502 Implement LDAP_OPT_TCP_USER_TIMEOUT 2021-04-22 21:52:12 +00:00
Howard Chu
edfc4e7ffe ITS#9530 ldo_defbase now must be freed in ldap_ld_free() 2021-04-21 18:06:26 +01:00
Norm Green
87397b345b ITS#9530 fix double-free of LDAP_OPT_DEFBASE 2021-04-21 18:03:43 +01:00
Ondřej Kuzník
7df2a0f394 ITS#8847 Allocate a large enough buffer 2021-04-15 15:16:19 +01:00
Andreas Schulze
680091b5b4 ITS#8586 load cert+chain from TLSCertificateFile
For OpenSSL
2021-04-12 20:32:09 +01:00
Howard Chu
e0dcf4c4d7 ITS#9518 fix prev commit 2021-04-09 19:29:11 +01:00
Howard Chu
fe6a740381 ITS#9521 clarify - affects OpenSSL 1.1.1, not 1.1.0 2021-04-09 18:23:53 +01:00
Howard Chu
2a3b64f4e6 ITS#9518 add LDAP_OPT_X_TLS_PROTOCOL_MAX option
OpenSSL only
2021-04-09 18:12:40 +01:00
Howard Chu
b72bce2400 ITS#9521 Set TLSv1.3 cipher suites for OpenSSL 1.1 2021-04-09 15:59:22 +01:00
Howard Chu
94fbd96826 ITS#9513 Change all lutil time structs to use nanoseconds
Instead of microseconds
2021-03-31 18:53:50 +00:00
Ondřej Kuzník
3bd1b0909a ITS#9001 Use a TAvl for request tracking in libldap 2021-03-30 15:46:40 +01:00
Ondřej Kuzník
e36d1e31c5 ITS#9001 manual changes 2021-03-30 15:46:40 +01:00
Quanah Gibson-Mount
38d1ac0449 ITS#5365 - Add support for symbol versioning libldap and lilber 2021-03-29 18:11:00 +00:00
Howard Chu
bc0d62db23 Revert "ITS#8847 more fallout from ldap_pvt_sockaddrstr move"
This reverts commit f2ddf89e3c.

Move Sockaddr def to ac/socket.h instead.
2021-03-27 10:38:59 +00:00
Howard Chu
f2ddf89e3c ITS#8847 more fallout from ldap_pvt_sockaddrstr move 2021-03-26 14:12:47 +00:00
Howard Chu
829263c454 ITS#8847 move lutil_sockaddrstr() to ldap_pvt_sockaddrstr() 2021-03-26 13:45:26 +00:00
HoweverAT
9d594a118e ITS#8847 Add SOCKET_BIND_ADDRESSES Option 2021-03-25 18:47:11 +00:00
HoweverAT
8ebd065048 ITS#8847 Print local address in connection dump 2021-03-25 17:37:26 +00:00
Howard Chu
bb6844e296 ITS#7295 don't init TLS threads by default
Do it explicitly in servers
2021-03-21 15:26:57 +00:00
Hugh McMaster
baee6c47e7 ITS#8996 - Generate and install a pkg-config file for the libldap library 2021-03-15 21:39:55 +00:00
Tero Saarni
5f9352986d ITS#9419 fix comparison 2021-03-15 19:03:59 +00:00
Quanah Gibson-Mount
5d5f431868 ITS#9490 - Add keepalive settings to ldap.conf 2021-03-04 17:11:35 +00:00
Ondřej Kuzník
568239731f ITS#8345 Remove LDIF_KLUDGE and defer defaults to _wrap() 2021-03-03 10:37:19 +00:00
Matus Honek
1cb4d2f0c9 ITS#8904 - Ensure SSLv3 is enabled when necessary
Either at compilation time, or as a system-wide configuration, OpenSSL
may have disabled SSLv3 protocol by default. This change ensures the
protocol NO flag is cleared when necessary, hence allowing for the
protocol to be used.
2021-02-26 18:30:38 +00:00
Quanah Gibson-Mount
a84d11dcce ITS#9422 - Update for TLS v1.3 2021-02-25 21:32:58 +00:00
Paul B. Henson
146889f205 ITS#9419 Add support for HAProxy proxy protocol v2 2021-02-24 18:11:09 +00:00
Quanah Gibson-Mount
ce2c5173bd ITS#9161 - Fix various typos
Fix a number of different typos across the code base
2021-02-17 18:42:46 +00:00
Howard Chu
00a5815c2c ITS#9465 remove assert in ldap_get_option()
Since it's already checked for error
2021-02-11 17:03:32 +00:00
Ondřej Kuzník
08f07b2ac1 Fix typo in MS AD persistent search ctrl 2021-02-04 15:55:57 +00:00
Quanah Gibson-Mount
61f619043e ITS#8580 - Explicitly honor the server side cipher suite preference 2021-01-28 20:22:50 +00:00
Quanah Gibson-Mount
efaf9a4a17 Happy New Year! 2021-01-11 19:25:53 +00:00
Howard Chu
d2936fb1d5 ITS#9425 add more checks to ldap_X509dn2bv 2020-12-14 20:05:44 +00:00
Howard Chu
c944dc55b7 ITS#9423 ldap_X509dn2bv: check for invalid BER after RDN count 2020-12-13 21:52:00 +00:00
Ondřej Kuzník
3f5293e145 ITS#5422 Save errno before passing it to Debug() 2020-09-24 23:34:36 +00:00
Howard Chu
c3131eb5a3 ITS#9348 replace all uses of STRERROR with AC_STRERROR_R
Avoid using sys_errlist unless there's no other choice
2020-09-24 23:34:36 +00:00
Howard Chu
6d7c2511b4 ITS#9201 partial revert 2020-09-03 21:08:17 +01:00
Howard Chu
ccfbb74c62 ITS#9201 additional fixes 2020-09-03 21:01:07 +01:00
Howard Chu
b24ca75993 ITS#9201 fix LDAP_THREAD_DEBUG
Add missing defs to ldap_thr_debug.h.
slap tools must init libldap so internal mutexes get inited.
2020-09-03 12:37:32 +01:00
Howard Chu
4c74bd0a41 ITS#9332 add placeholder in LDAP_LDO_TLS_NULLARG 2020-09-01 20:25:00 +01:00
Howard Chu
536767798b ITS#9054 fix typo 2020-08-27 11:22:58 +01:00
Howard Chu
e3faae939c ITS#9328 cldap: check for error on connected socket
libldap doesn't use a connected socket for UDP sessions, but 3rd
parties can, passed in with ldap_init_fd().
2020-08-26 20:53:38 +00:00
Quanah Gibson-Mount
c1411b8199 ITS#9323 - Limit to OpenSSL 1.0.2 or later 2020-08-25 21:52:04 +00:00
Howard Chu
608a822349 ITS#9318 add TLS_REQSAN option
Add an option to specify how subjectAlternativeNames should be
handled when validating the names in a server certificate.
2020-08-21 18:05:08 +00:00
Howard Chu
2386a11649 ITS#9054 Add support for multiple EECDH curves
Requires OpenSSL 1.0.2 or newer
2020-08-21 07:58:07 +01:00
Howard Chu
9d2f15307d ITS#7926 dynamic changes to olcListenerThreads
Reallocates sockets from old to new listener threads
2020-08-18 22:37:50 +01:00
Ondřej Kuzník
917fcc03ee ITS#9279 Send Netscape expired control as a bare string 2020-07-27 14:22:24 +02:00
Ondřej Kuzník
fd921e7121 ITS#9279 Expose Netscape password policy controls in libldap 2020-07-22 18:57:38 +00:00
Quanah Gibson-Mount
21eef84a49 ITS#9275 -- Update wording to remove slave and master terms, consolidate on provider/consumer 2020-07-18 16:27:04 +00:00
Howard Chu
24b45f57f2 ITS#9287 use getaddrinfo for ldap_pvt_get_fqdn
If getaddrinfo is available, should use it here
2020-07-16 21:08:36 +01:00
Ondřej Kuzník
1129df533d ITS#8701 Expose account usability in libldap 2020-07-07 16:43:35 +01:00
Ryan Tandy
a4474d3584 ITS#9235 Delete LDAP_THREAD_SAFE 2020-07-03 17:24:16 -07:00
Ryan Tandy
c4b6aad6cb ITS#9235 Link test progs with thread libs 2020-07-03 17:23:14 -07:00
Ryan Tandy
a10210db84 ITS#9235 Only compile libldap_r sources when LDAP_R_COMPILE 2020-07-03 17:23:14 -07:00
Ryan Tandy
a5c0b59398 ITS#9235 Define LDAP_R_COMPILE iff building with threads 2020-07-03 17:23:14 -07:00
Quanah Gibson-Mount
c06ac436e2 ITS#9235 Merge libldap_r into libldap 2020-07-03 17:23:14 -07:00
Brett Sheffield
42d7238925 ITS#8603 Add ldif_open_mem()
ldif_open_mem() is the fmemopen(3) equivalent of ldif_open() which opens
an ldif steam from memory, rather than from a file.
2020-06-23 10:31:08 +01:00
Sergio Gelato
8006ee58b8 ITS#8204 Improved RFC2782 shuffle when several, but not all, records have weight 0.
The fallback to a straight Fisher-Yates shuffle needs to occur whenever the
sum of the *remaining* weights is zero, or else the remaining records will
not be reordered. Testing only once at the beginning covers the case when
all weights are zero, and obviously no shuffling is needed when only one
weight is zero; but other weight combinations are possible, such as (1, 0, 0).
2020-06-22 17:27:30 +00:00
Sergio Gelato
ee7502accd ITS#8204 Remove bias towards the first record in RFC2782 shuffle implementation.
Prior to this change, given two records of weight 1 the algorithm would
return them in the order (0,1) with 100% probability instead of the
desired 50%. This was due to an off-by-one error in the range test.

srv_rand() returns a float in the range [0.0, 1.0[, so r is an integer in the
range [0, total[. The correct probability for record 0 to be chosen is
a[0].weight/total, not (a[0].weight+1)/total.
2020-06-22 17:27:30 +00:00
Quanah Gibson-Mount
fb1933f567 Issue#7530 - Test for ERANGE when using 6 form gethostbyname_r 2020-05-26 19:18:02 +00:00
Ryan Tandy
9282e6edea ITS#8155 Support cacertdir with GnuTLS 2020-05-14 07:56:28 -07:00
Ryan Tandy
e96f90e212 ITS#9176 Implement SNI for GnuTLS 2020-04-27 11:01:01 -07:00
Howard Chu
4265849b0f ITS#9176 check for failure setting SNI 2020-04-27 18:54:02 +01:00
Howard Chu
b8f34888c3 ITS#9176 check for numeric addrs before passing SNI 2020-04-27 18:25:49 +01:00
Howard Chu
5c0efb9ce8 ITS#9176 Add TLS SNI support to libldap
Implemented for OpenSSL, GnuTLS just stubbed
2020-04-27 03:41:12 +01:00
Isaac Boukris
4c545ee078 ITS#9242 - ifdef tls-endpoint code in openssl pre 0.9.8 2020-04-25 22:50:52 +02:00
Isaac Boukris
4cac398b19 ITS#9189 - initialize ldo_sasl_cbinding in LDAP_LDO_SASL_NULLARG
Reported-by: Ryan Tandy @ryan
2020-04-23 22:28:51 +00:00
Isaac Boukris
3cd50fa8b3 ITS#9189 rework sasl-cbinding support
Add LDAP_OPT_X_SASL_CBINDING option to define the binding type to use,
defaults to "none".

Add "tls-endpoint" binding type implementing "tls-server-end-point" from
RCF 5929, which is compatible with Windows.

Fix "tls-unique" to include the prefix in the bindings as per RFC 5056.
2020-04-23 21:00:39 +02:00
Quanah Gibson-Mount
8505f774a5 Update to drop NON_BLOCKING ifdefs that were only really for moznss 2020-04-20 21:38:01 +00:00
Quanah Gibson-Mount
a019e7fe1a ITS#9207 - Remove MozNSS code and documentation 2020-04-20 21:38:01 +00:00
Quanah Gibson-Mount
a97eed06f0 ITS#6937 - Remove unused proctitle bits 2020-04-15 19:32:28 +00:00
Quanah Gibson-Mount
e50741e459 ITS#6567 - More cleanup 2020-04-13 17:19:35 +00:00
Howard Chu
735e1ab14b ITS#8650 loop on incomplete TLS handshake
Always retry ldap_int_tls_connect() if it didn't complete,
regardless of blocking or non-blocking socket. Code from
ITS#7428 was wrong to only retry for async.
2020-04-12 23:51:09 +01:00
Quanah Gibson-Mount
c6493c45b5 ITS#6567 - Remove non-cyrus-sasl GSSAPI bits 2020-04-10 18:19:33 +00:00
Ryan Tandy
7732cb2794 ITS#9086 Add debug logging for more GnuTLS errors 2020-04-02 15:52:31 +00:00