Kurt Zeilenga
6939c53170
Happy new year
2003-01-03 20:20:47 +00:00
Howard Chu
6a903bc1e5
Added new ldap_get_{dn,attribute,values}_ber functions for linearly
...
processing a search entry. Avoids O(n^2) ldap_get_values() behavior.
2002-09-05 11:33:32 +00:00
Howard Chu
90b1e7bd45
Fix ldap_X509dn2bv, OpenSSL gives us DN attributeTypes in EBCDIC
2002-09-02 13:46:56 +00:00
Julius Enarusai
6107ba67d2
Coverted LDAP_LOG macro to use subsystem ID int values instead of string values
2002-07-11 20:33:24 +00:00
Kurt Zeilenga
2de291ed6e
Cut back on the logging...
2002-06-21 19:49:25 +00:00
Kurt Zeilenga
40ef77a8f8
Add error handling cleanup
2002-06-05 15:51:42 +00:00
Kurt Zeilenga
99f5983fb6
Consistently don't check for NULL session handle and other pointers.
...
Application is responsible for providing valid session pointers.
2002-06-05 15:46:26 +00:00
Howard Chu
e8e7847175
ITS#1797 silence uninit'd var warnings
2002-05-04 10:52:05 +00:00
Howard Chu
c9699c1072
Fix previous commit - must fully init newAVA
2002-04-30 14:43:05 +00:00
Howard Chu
b005540094
Added ldap_ucs_to_utf8s to convert ASN.1 T61STRING, BMPSTRING, and
...
UNIVERSALSTRING to UTF-8 format.
Rewrote ldap_X509dn2bv to check ASN.1 types and use above function.
2002-04-30 13:57:01 +00:00
Howard Chu
17ae956518
Added ldap_X509dn2bv()
...
deleted ldap_pvt_tls_get_peer()
changed ldap_pvt_tls_get_peer_dn() to use ldap_X509dn2bv()
added ldap_pvt_tls_get_my_dn()
2002-04-18 12:29:30 +00:00
Pierangelo Masarati
4a8ab5dbf2
Mostly based on patches provided by Hallvard B. Furuseth
...
ITS#1677 - cast away const warnings
ITS#1678 - unsigned char args to ctype funcs
ITS#1682 - don't redefine ldap_debug
ITS#1683 - uninitialized vars
ITS#1703 - ldo_debug initialization
ITS#1705 - unsigned testing
ITS#1706 - socklen_t args
ITS#1719 - back-tcl update (other cleanups/fixes/improvements; yet untested)
ITS#1724 - integerNormalize/integerFilter/integerIndexer bugs
ITS#1725 - libdes not required
Implement back-null (/dev/null style backend)
Cleanup some misc warnings ("%lu" format, unused/uninitialized vars,
ambiguous operator precedence)
Kurt, please regenerate configure
2002-04-08 09:43:22 +00:00
Julius Enarusai
3921e1b0c2
Added LDAP_LOG messages
2002-03-27 21:38:32 +00:00
Kurt Zeilenga
d50eb2e959
C translator portability changes (ITS#1609)
2002-02-23 23:47:37 +00:00
Pierangelo Masarati
32e48d9e4d
disallow unescaped NULs in UTF-8 string values
2002-02-13 22:49:03 +00:00
Kurt Zeilenga
427478a753
Use memchr, not strlen, to look for embedded NULs.
2002-02-13 17:48:39 +00:00
Kurt Zeilenga
dd12660a14
Add embedded NUL check. This is one case where we don't want to
...
be liberal in what we accept.
2002-02-13 17:23:33 +00:00
Kurt Zeilenga
ee6d1a4d40
Check for NULs in DNs.
2002-02-13 16:41:41 +00:00
Pierangelo Masarati
6913aadcdf
minor cleanup
2002-02-13 14:44:08 +00:00
Pierangelo Masarati
33d5f0f8f8
honor the ber_len field to allow to exploit ldap_bv2[r]dn to handle DNs embedded in longer strings ...
2002-02-13 12:09:36 +00:00
Pierangelo Masarati
a117c5eee7
use ldap_bv2[r]dn and turn ldap_str2[r]dn into wrappers
2002-02-13 11:46:33 +00:00
Pierangelo Masarati
959edd88c0
prepare for ldap_bv2dn()
2002-02-13 10:05:22 +00:00
Kurt Zeilenga
f1cc2b7ab2
#if 0 RDN debugging
2002-02-13 08:00:31 +00:00
Kurt Zeilenga
275f3be363
Misc. DN fixes and cleanups, namely don't muck with AVA_BINARY values
...
Also, pass empty_bv when bv_val is NULL.
2002-02-13 06:35:27 +00:00
Pierangelo Masarati
5c1d9b4fce
fix assertion
2002-01-16 10:58:04 +00:00
Pierangelo Masarati
6c5be3006d
don't auto-detect DCE form; assert the UTF-8 charlen is legal
2002-01-16 09:57:20 +00:00
Howard Chu
2d51ad52b3
Added LDAP_UTF8_CHARLEN2() to validate shortest possible encoding
...
of UTF8 string. (Returns charlen if valid, 0 if not.)
2002-01-15 08:07:46 +00:00
Pierangelo Masarati
36f6a1169a
make temporary RDN and AVA arrays rescalable if needed
2002-01-14 19:44:04 +00:00
Pierangelo Masarati
2ee2e7a145
quick fix that in pretty mode escapes with hexpair the specials ',', '+' and '\'
2002-01-14 19:33:13 +00:00
Pierangelo Masarati
7887ef7e92
revert previous commit: do accept '\00'
2002-01-14 11:09:14 +00:00
Pierangelo Masarati
3a6676a082
accept '\<special>' anywhere in the string
2002-01-14 10:50:02 +00:00
Pierangelo Masarati
c4164193ad
fix behavior on improperly escaped illegal hexpair; do not accept '\00'
2002-01-14 09:56:54 +00:00
Kurt Zeilenga
f80b4ad53e
Minor const'ification cleanup
2002-01-08 20:24:56 +00:00
Pierangelo Masarati
e5f503c24a
Passes last test (empty value); also passes many of the invalid DN tests if liberal parsing is allowed
2002-01-07 15:23:23 +00:00
Pierangelo Masarati
e15aa7b682
fix non-printable flag detection; improve dn test (passes all but last in http://www.openldap.org/ietf/ldapbis/dn.txt )
2002-01-07 15:10:50 +00:00
Pierangelo Masarati
23cd7e837a
fix domain generation for UFN
2002-01-07 13:16:53 +00:00
Kurt Zeilenga
0e2af54a3f
Update copyright statements
2002-01-04 21:17:25 +00:00
Howard Chu
da00e5dac1
Use LDAP_FREE instead of free
2002-01-03 23:30:45 +00:00
Kurt Zeilenga
1d4e2342d2
Add LBER DN format flag (no code yet).
...
Return API result codes, not protocol result codes.
2002-01-03 20:06:29 +00:00
Kurt Zeilenga
fdb62b5650
Even larger TMP_SLOTS
2002-01-03 19:45:34 +00:00
Howard Chu
cc60686c0d
Renamed parse_numericoid to ldap_int_parse_numericoid since it is
...
no longer static. Moved declaration to ldap-int.h and removed extern
from getdn.c
2002-01-02 21:59:26 +00:00
Kurt Zeilenga
763c0de59b
Rework filter code
...
Misc cleanup / lint removal
2002-01-02 17:06:56 +00:00
Howard Chu
81e9e86861
Fix ldap_str2rdn, make sure to update progress pointer; don't
...
free attrType since we never allocate it
2002-01-02 09:59:37 +00:00
Howard Chu
b7be022824
Minor fix for LDAP_DN_IS_RDN_DC macro
2001-12-30 23:10:31 +00:00
Howard Chu
776ce133e9
More str2rdn tweaks
2001-12-30 09:42:58 +00:00
Howard Chu
5d28b4555e
Reorganize LDAPAVA allocation layout
2001-12-30 06:56:57 +00:00
Pierangelo Masarati
754470162d
remove useless function
2001-12-29 12:13:11 +00:00
Howard Chu
a191392e2e
Changed LDAP_AVA struct berval * to struct berval.
2001-12-29 10:35:24 +00:00
Howard Chu
60510c5e39
Fix memory leak in ldap_explode_dn
2001-12-29 06:37:20 +00:00
Howard Chu
729fe56698
Made LDAP_UTF8_CHARLEN/ldap_utf8_charlen table-driven.
2001-12-29 02:57:32 +00:00
Pierangelo Masarati
2f3f7c6765
ldap_str2rdn() can parse without allocating a LDAPRDN* (not very clean, though); used by dn_rdnlen
2001-12-28 12:50:48 +00:00
Howard Chu
4d7e904404
Added ldap_dn2bv and ldap_rdn2bv
2001-12-28 10:03:39 +00:00
Pierangelo Masarati
1f8e4d3884
cleanup
2001-12-27 13:54:22 +00:00
Kurt Zeilenga
cddf7e0e00
More struct berval DN changes
...
decrease dependency on dn_validate/dn_normalize
2001-12-27 07:13:13 +00:00
Pierangelo Masarati
5f28673792
hex escape everything requires escape (uncomment #define PRETTY_ESCAPE to revert to previous behavior)
2001-12-24 19:17:10 +00:00
Pierangelo Masarati
4d981f7cc5
better rdn exploding
2001-12-24 15:47:06 +00:00
Pierangelo Masarati
65fad45129
bug in explode dn (caused most test failures when requesting client-side sorted results)
2001-12-24 10:31:11 +00:00
Kurt Zeilenga
450e0d6803
Some minor bugs for dntest ""
2001-12-24 07:22:25 +00:00
Kurt Zeilenga
a2c6a98427
cannot assert la_private == NULL on free
2001-12-24 07:03:14 +00:00
Kurt Zeilenga
04ea760a91
Delete USE_LDAP_DN_PARSING
2001-12-24 06:02:59 +00:00
Kurt Zeilenga
9d56c59d1b
Minor cleanup, rename ldapava_free_*() routines and
...
don't expose symbols of ava helper routines
2001-12-23 22:46:37 +00:00
Pierangelo Masarati
dcc062dce5
least escaping in dnPretty (hope my wife doesn't catch me in front of the laptop :)
2001-12-23 09:26:44 +00:00
Pierangelo Masarati
6620bbff16
small bug exploited by malformed DCE format
2001-12-23 09:04:44 +00:00
Howard Chu
e5eb270e6c
from jon@symas.com - misc Windows cleanup
2001-12-17 22:42:55 +00:00
Pierangelo Masarati
f4b21cc7b5
reworked internal stuff
2001-12-10 09:43:31 +00:00
Pierangelo Masarati
67ed3982fb
now dnValidate loops thru each value; added private member to LDAPAVA to hold the attribute description
2001-12-06 11:50:17 +00:00
Pierangelo Masarati
9260b22dec
liberally accept many LDAPv2/LDAPv3 stuff in DN (quoted parts, ';' as rdn separator and so); enforce exact case match of normalized dn in dnMatch (let's see what happens ...); fix a ldapava_free_rdn bug
2001-12-06 10:01:25 +00:00
Pierangelo Masarati
9004262d95
reimplement dn_validate/normalize/(match) using the ldap_str2dn/dn2str stuff; need to #define USE_LDAP_DN_PARSING
2001-12-04 20:22:26 +00:00
Kurt Zeilenga
95b3e2a97d
Minor cleanup
2001-12-03 20:04:08 +00:00
Pierangelo Masarati
598d6e7859
small improvements and fixes; now honors ';' as rdn separator in LDAPv2 mode
2001-12-03 07:55:25 +00:00
Pierangelo Masarati
ea54a1a8e8
fix bug in previous commit
2001-11-12 08:47:09 +00:00
Pierangelo Masarati
6400698d17
struct berval * instead of char * in ldap_ava struct; minor cleanup
2001-11-12 08:10:12 +00:00
Pierangelo Masarati
a2eec74fc1
moved rdn parsing in a dedicated routine, ldap_str2rdn(), that can be used directly; now ldap_rdn2str() handles all the formats
2001-10-30 10:04:24 +00:00
Pierangelo Masarati
64c7e39aa8
More compliant version of str2dn/dn2str;
...
may need optimization;
uncomment #define USE_LDAP_DN_PARSING in libraries/libldap/getdn.c
to enable its use.
The ava/rdn/dn handling routines (append, insert, free and so) must
be made available thru declaration in some header.
2001-10-29 08:05:23 +00:00
Pierangelo Masarati
0ba03b18e7
enhanced dn parsing; see libraries/libldap/dntest for a 'demo'. Need to define USE_LDAP_DN_PARSING to override usual ldap_dn2ufn and so, and PARSE_UTF8 to parse attribute values as utf-8
2001-10-26 18:10:05 +00:00
Pierangelo Masarati
5b4b535617
handle lead/trail escape chars in LDAPv2/LDAPv3; change misleading name of AVA type modifier
2001-10-22 19:23:37 +00:00
Pierangelo Masarati
fefc29786c
skeleton of ldap_str2nd/dn2str; works with most of the simple cases, but there's much to do with unicode, I think
2001-10-18 19:00:07 +00:00
Pierangelo Masarati
93923d4345
honors multiple type/value in rdn when generating ufn
2001-07-11 20:16:25 +00:00
Kurt Zeilenga
778b665242
Fix up some free'ing.
2000-10-02 17:43:39 +00:00
Kurt Zeilenga
efe39c999f
modify ldap_dn2ufn() to return completely typeless UFNs
...
hide rest of UFN code behind #ifdef LDAP_UFN in preparation
for eventual removal.
2000-09-16 04:33:52 +00:00
Kurt Zeilenga
5b856458a2
s/SAFEMEMCPY/AC_MEMCPY/
...
Use AC_FMEMCPY where appropriate (-llber)
2000-07-28 01:07:07 +00:00
Mark Valence
0715e29ae5
Fix uninitialized var bug.
2000-06-09 06:45:14 +00:00
Kurt Zeilenga
1aa4b07c98
Remove support for DNS DNs (not to be confused with X.500 DN using
...
domainComponents (DC)).
2000-06-05 20:07:02 +00:00
Kurt Zeilenga
29d9fa20a2
Y2k copyright update
2000-05-13 02:36:07 +00:00
Kurt Zeilenga
21431725fc
fix = vs == bug
2000-04-12 01:06:58 +00:00
Kurt Zeilenga
42cc5e5333
Fix bugs in UTF-8 code. Apply to getdn and charray.
2000-01-23 23:07:24 +00:00
Luke Howard
9b4e3b2234
Merged in preliminary support for Cyrus SASL library;
...
support for DCE slash-delimited, left-to-right DNs;
support for a domain socket transport (enable with
--enable-ldapi); and extensions to URL parsing to
support the latter transport.
2000-01-02 01:21:25 +00:00
Kurt Zeilenga
403f4479bc
Add OpenLDAP RCSid to *.[ch] in clients, libraries, and servers.
...
Replace old Id as needed (back-tcl).
Leave updating of contribWare to contributors (for now).
1999-09-08 19:06:24 +00:00
Kurt Zeilenga
f5c2ba7c3e
Fix last commit. Should not have deleted assignment to p away.
1999-09-01 05:28:29 +00:00
Kurt Zeilenga
5c63fd55b5
Implement ldap_dn_normalize and friends. Should be used by clients
...
to validate input dn's BEFORE sending dn's to server.
Also fixed getfilter to use REG_EXTENDED|REG_NOSUB. (and fixed one
case where REG_BASIC was still used).
s/strdup/LDAP_STRDUP/
Added ldap_pvt_str2lower/upper
1999-08-25 06:44:08 +00:00
Hallvard Furuseth
5f880ae022
Fix LDAP_CONST->const in explode_name(), it failed when LDAP_CONST was empty.
1999-07-13 06:48:35 +00:00
Kurt Zeilenga
669b8f4047
ber_int_t, ber_tag_t, ber_socket_t, ber_len_t
...
added lber_types.h.nt, lber_types.h.in
removal of NULLxxx internal macros (in favor of NULL).
ch_free added to slapd,slurpd/ch_malloc.c
#define free ch_free (should be removed after s/free/ch_free/g) in proto-slap.h
ch_malloc and friends use ber_memalloc and friends
1999-06-18 23:53:05 +00:00
Kurt Zeilenga
21c70857f1
s/<stdlib.h>/<ac/stdlib.h>/
1999-06-03 00:37:44 +00:00
Kurt Zeilenga
1f52f6e43e
Add ber_strdup(), remove ldap_int_strdup(), add LDAP_STRDUP macro
...
and ripple change through -lldap.
1999-06-02 22:28:22 +00:00
Kurt Zeilenga
1bcec8bf6a
Add LBER_ and LDAP_ memory allocators/deallocators for internal
...
library use:
LBER_ macros expand to system routines.
LDAP_ macros expand to new ber_ allocators.
Add ber_ and ldap_ memory allocators/deallocator:
ber_ routines are wrappers of LBER_ macros.
ldap_ routines are wrappers of ber_ routines.
Removed safe_realloc() macro from various files. This issue
(if an issue) should be resolved across whole package.
ldapmodify.c now uses ber_ allocators to resolve ber_bvfree()
vs. WIN32 multiple heaps issue.
These changes should facilate implementation of
ber_set_option( NULL, LBER_OPT_MEMORY_FN, ...)
and
ldap_set_option( NULL, LDAP_OPT_MEMORY_FN, ...).
1999-05-29 01:19:14 +00:00
Kurt Zeilenga
dc07e765f2
Vienna Bulk Commit
...
This commit includes many changes. All changes compile under NT but
have not been tested under UNIX.
A Summary of changes (likely incomplete):
NT changes:
Removed lint.
Clean up configuration support for "Debug", "Release", "SDebug",
and "SRelease" configurations.
Share output directories for clients, libraries,
and slapd. (maybe they should be combined further
and moved to build/{,S}{Debug,Release}).
Enable threading when _MT is defined.
Enable debuging when _DEBUG is defined.
Disable setting of NDEBUG under Release/SRelease. Asserts
are disabled in <ac/assert.h> when LDAP_DEBUG is not
defined.
Added 'build/main.dsp' Master project.
Removed non-slapd projects from slapd.dsp (see main.dsp).
Removed replaced many uses of _WIN32 macro with feature based
macros.
ldap_cdefs.h changes
#define LDAP_CONST const
(see below)
#define LDAP_F(type) LDAP_F_PRE type LDAP_F_POST
To allow specifiers to be added before and after
the type declaration. (For DLL handling)
LBER/LDAP changes
Namespace changes:
s/lber_/ber_/ for here and there.
s/NAME_ERROR/LDAP_NAME_ERROR/g
Deleted NULLMSG and other NULL* macros for namespace reasons.
"const" libraries. Installed headers (ie: lber.h, ldap.h)
use LDAP_CONST macro. Normally set to 'const' when
__STDC__. Can be set externally to enable/disable
'constification' of external interface. Internal
interface always uses 'const'. Did not fix warnings
in -lldif (in lieu of new LDIF parser).
Added _ext API implementations (excepting search and bind).
Need to implement ldap_int_get_controls() for reponses
with controls.
Added numberous assert() checks.
LDAP_R
_MT defines HAVE_NT_THREADS
Added numberous assert() checks.
Changed ldap_pthread_t back to unsigned long. Used cast
to HANDLE in _join().
LDBM
Replaced _WIN32 with HAVE_SYSLOG
ud
Added version string if MKVERSION is not defined. (MKVERSION
needs to be set under UNIX).
slapd
Made connection sockbuf field a pointer to a sockbuf. This
removed slap.h dependency on lber-int.h. lber-int.h now only
included by those files needing to mess with the sockbuf.
Used ber_* functions/macros to access sockbuf internals whenever
possible.
Added version string if MKVERSION is not defined. (MKVERSION
needs to be set under UNIX).
Removed FD_SET unsigned lint
slapd/tools
Used EXEEXT to added ".exe" to routines. Need to define EXEEXT
under UNIX.
ldappasswd
Added ldappasswd.dsp. Ported to NT. Used getpid() to seed rand().
nt_debug
Minor cleanup. Added "portable.h" include and used <ac/*.h> where
appropriate. Added const to char* format argument.
1999-05-19 01:12:33 +00:00
Hallvard Furuseth
73db912500
Cast char' arguments to ctype.h functions to
unsigned char'.
...
These functions require their arguments to be in the range of `unsigned char'.
1999-02-22 17:57:22 +00:00
Bart Hartgers
027d2fadc6
Updates regarding threads and names.
1999-01-15 14:49:03 +00:00
Kurt Zeilenga
4d2761a6a6
Add simple copyright notice.
1998-12-28 20:53:15 +00:00
Kurt Zeilenga
0024cf2f4b
-lldap reentrantancy improvements from Bart Hartgers <A.Hartgers@phys.tue.nl>
...
including use of ctime_r, gethostby*_r, etc.. Also reworked ldap_sort_entries
to be reentrant.
Need to add code to properly set LDAP_API_FEATURE_THREAD_SAFE.
1998-12-19 01:27:20 +00:00