Commit Graph

38 Commits

Author SHA1 Message Date
Kurt Zeilenga
c1117666b1 remove old STR_TRANSLATION feature. The use of this feature
was only of limited use with LDAPv2 (worked okay if no non-T.61
values existed) but downright dangerous in the face of LDAPv3.
Any translation must be schema aware and the BER isn't.
2000-06-05 19:22:19 +00:00
Kurt Zeilenga
2e0912622b ITS#537: lber io rewrite from Gambor Gombas.
Copyright 2000 Gábor Gombás. All rights reserved.
This is free software. You may redistribute and use it under the same
terms as OpenLDAP itself.
2000-06-01 20:59:21 +00:00
Kurt Zeilenga
29d9fa20a2 Y2k copyright update 2000-05-13 02:36:07 +00:00
Kurt Zeilenga
c2050e04d3 ITS#479 fix: ber_put_seqorset() writes a few bytes beyond an allocated buffer
Commit based upon patch and comments provided by Alan Clark <aclark@novell.com>.
> Kudos to Dave Steck for the find and fix
2000-03-15 19:47:22 +00:00
Kurt Zeilenga
4c7739e6e5 ITS#408: add missing LDAP_END_DECL 1999-12-22 00:42:05 +00:00
Howard Chu
eaaea51b53 Fixes for NT dynamic linking. 1999-11-27 23:40:08 +00:00
Kurt Zeilenga
8b99e6cdbd Remove LBER_{TAG,INT,LEN}_{NTOH,HTON} macros. Rewrite code to
manual push bytes about.  Allows ber_*_t to be any 32-bit or
larger type.  Reworked AC_{HTON,NTOH}{L,S} macros to care only
about 32-bit (netlong) and 16-bit (netshort) reordering as
needed for BSD socket interface.
1999-11-26 23:32:18 +00:00
Kurt Zeilenga
c59d1a34db Use 'long' for LBER_INT_T. 1999-11-25 17:45:21 +00:00
Kurt Zeilenga
62a06eda3e Don't use 'int' for LBER_*_T types as we only have hton{s,l}.
Select appropriopriate hton{s,l} function to use in lber-int.h.
1999-11-25 17:10:45 +00:00
Kurt Zeilenga
f4856214fb *** empty log message *** 1999-11-08 15:38:59 +00:00
Howard Chu
5438e045af Fixed use of LDAP_F macro
See README 1.27 log
1999-10-28 07:29:25 +00:00
Kurt Zeilenga
7ef67830af Minor adjustments based upon initial read of draft-ietf-ldapext-ldap-c-api-04.txt. 1999-10-19 18:57:38 +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
9e82379b6e More CSRI malloc debugging support and destroy sockbuf fix.
Test008 now runs without leak.
1999-08-19 18:48:17 +00:00
Kurt Zeilenga
7275861039 Provide set_nonblock code which acts upon ber_socket_t and use this
as in sockbuf_set_nonblock code.  Allows -llber and -lldap to share
a common implementation.
1999-08-04 18:29:59 +00:00
Julio Sánchez Fernández
eeec88a8c4 Add a couple of control flags to sockbufs and macros to test them. 1999-07-13 19:38:01 +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
012f4e29b0 Hide assert(p == NULL) behind LDAP_MEMORY_DEBUG.
Add detection for duplicate free in LDAP_MEMORY_DEBUG code.
1999-06-07 18:48:22 +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
bed6465529 Make first argument of *_get_option const (experimental).
Make _MOD_SOFTADD 0x1000 to minimize chance of conflict with legit changes
to API spec.
Fix memory leak in ldap_mods_free() and minor memory allocator issues.
1999-06-02 21:38:48 +00:00
Kurt Zeilenga
e44971436c Minor adjustments to the LBER_VFREE() & LDAP_VFREE macros. 1999-06-01 19:25:17 +00:00
Kurt Zeilenga
4ccab0d4df move berval memory routines to memory.c
Add ber_memvfree(void** vector)
1999-06-01 19:01:05 +00:00
Kurt Zeilenga
2e5a52414a Initial round 2 memory allocation changes. THIS IS A WORK IN PROGRESS.
includes single to multiple hooks changes.
ber_mem* reimplementation.
namespace glue (finally naming has not be decided upon nor implemented).
Added ldap_int_strdup to handle "internal" strdup'ing, this version uses hooks.
ldap_pvt_strdup still available for when strdup() is missing, this version
directly uses system allocators.
Updated -lldif to use ber allocators.  Items returned by ldif routines
should be ber_memfree()d as needed.
1999-05-30 23:00:52 +00:00
Kurt Zeilenga
2f969f8552 First cut at ber_set_option(NULL,LBER_OPT_MEMORY_FN, myrealloc) where
myrealloc is pointer to a realloc() wrapper.
Must be first library call or else.
1999-05-29 05:16:31 +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
4e5ed2dffc Changed lc_conn to be a pointer to a BerElement to aid in state management.
Added validation to exposed opaque data structures (BerElement, Sockbuf,
and LDAP).  Added macros BER_VALID, SOCKBUF_VALID, LDAP_VALID.
Added ber_pvt_ber_bytes() and ber_pvt_ber_remaining() macros to hide
some ber internals.  These really should be handled by ber_get_option().
1999-05-28 19:33:05 +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
Kurt Zeilenga
553b601161 Move lber_get/set_option stuff to a private structure. 1999-03-06 02:36:21 +00:00
Hallvard Furuseth
8573316a16 Declare lber_pvt_sb_* functions from io.c in lber-int.h 1999-03-03 15:39:57 +00:00
Hallvard Furuseth
2e68514409 Back out previous change; it was an accidental commit 1999-03-03 15:35:29 +00:00
Hallvard Furuseth
d00b99fd37 Declare lber_pvt_sb_* functions from io.c in lber-int.h 1999-03-03 15:25:44 +00:00
Bart Hartgers
8153a4039b The new&improved Sockbuf. This adds the infrastructure on which
support for TLS and SASL will be build.

Please inform me of any problems.
1999-03-02 20:23:14 +00:00
Kurt Zeilenga
321354ecff Add lber_pvt.h with prototypes of lber_pvt_log_print{,f}.
Ripple name change through -llber & -lldap.
Update -lldif to use lber_pvt_log_printf() instead of Debug.
1999-01-26 01:21:35 +00:00
Kurt Zeilenga
763ce84f7c Minor update to copyright (forgot 'portions') 1998-12-28 20:46:13 +00:00
Kurt Zeilenga
88ec459a5f Add simple copyright notice 1998-12-28 20:38:04 +00:00
Kurt Zeilenga
a3ac3be6a7 Added lber_get/set_option. Removed lber_debug/ldap_debug.
Updated other codes as needed.
1998-12-22 01:34:01 +00:00
Kurt Zeilenga
43f29c3cb8 More header work toward draft-ietf-ldapext-ldap-c-api-01. 1998-10-26 01:49:56 +00:00
Kurt Zeilenga
702109706b update ldap/lber headers towards ldapext-ldap-c-api-01 1998-10-26 01:18:41 +00:00