Commit Graph

338 Commits

Author SHA1 Message Date
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
97fa2ea293 Remove NULL* macros (namespace). 1999-06-01 19:05:54 +00:00
Kurt Zeilenga
eab4a30a2e Add ldap_memvfree(void** vector) 1999-06-01 19:02:10 +00:00
Kurt Zeilenga
89ffbead68 Move berval routines to memory.c. 1999-06-01 18:59:27 +00:00
Kurt Zeilenga
95b3c92df7 use 'int' instead of 'char' for balance factor.
(barely) hide more internals.
1999-05-31 20:44:05 +00:00
Kurt Zeilenga
f704f1c475 (barely) hide AVL internals 1999-05-31 20:40:42 +00:00
Kurt Zeilenga
322bb86fa4 #ifdef out non-reentrant prototypes.
Only testavl uses this interface.
1999-05-31 20:32:21 +00:00
Julio Sánchez Fernández
288c304aeb Syntaxes. 1999-05-31 12:02:43 +00:00
Kurt Zeilenga
117d3275ac Genericize byte types into autoconf namespace. 1999-05-31 05:39:10 +00:00
Kurt Zeilenga
9417618276 Remove redundant WSAEWOULDBLOCK declaration. 1999-05-31 05:37:09 +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
4bba4a48dd Remove prototype for removed ber_clear(). 1999-05-30 21:59:45 +00:00
Julio Sánchez Fernández
7129d11e8f New error code for null string input. 1999-05-29 23:57:39 +00:00
Kurt Zeilenga
de7db04d0c Update DIRSEP handling (temporary, should be handled by autoconf) 1999-05-29 18:58:45 +00:00
Kurt Zeilenga
fbc0bd013e Minor adjustments to better handle NT vs UNIX. 1999-05-29 18:57:23 +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
Julio Sánchez Fernández
fbcbf29651 Install ldap_schema.h 1999-05-29 01:28:36 +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
Julio Sánchez Fernández
a97e3e94e6 Provide (and use) #define shortcuts
Really kill global_oc & global_at
Publish schema through LDAP (really, it's there at last :-)
1999-05-28 18:56:47 +00:00
Kurt Zeilenga
6e0c7b95ab Death to LBER_END_SEQORSET. 1999-05-28 03:24:41 +00:00
Julio Sánchez Fernández
d5509bbbe9 Incorporate #define's per Kurt's suggestion 1999-05-27 18:18:36 +00:00
Kurt Zeilenga
549dd29607 Remove HAVE_THREADS define. NO_THREADS is used instead. 1999-05-27 06:22:04 +00:00
Julio Sánchez Fernández
c445cb5546 Provide human-readable errors. 1999-05-26 19:20:40 +00:00
Julio Sánchez Fernández
fd488b3846 Fix namespace contamination, some comments added. 1999-05-26 13:52:11 +00:00
Juan Gomez
b2d40841d8 Add warning regarding LDAP_MOD_* so poeple won't reuse the LDAP_MOD_SOFTADD
code by mistake.
1999-05-26 11:33:57 +00:00
Howard Chu
967d1dcb2d For ITS#157: Added LDAP backend for slapd, which also required adding
LDAP_OPT_MATCH_STRING to ldap.h and libldap/options.c.
1999-05-26 02:35:20 +00:00
Kurt Zeilenga
83408503a7 Eliminate DECL_STRDUP check in favor of simple fix to <ac/string.h> header.
Add #undef and other protection of macros.
1999-05-24 23:01:57 +00:00
Kurt Zeilenga
4c3f2c9fa9 Minor header cleanup. 1999-05-24 20:55:47 +00:00
Julio Sánchez Fernández
b2b3581bc1 Initial incomplete and broken version. 1999-05-24 01:38:57 +00:00
Kurt Zeilenga
22d98c85c3 ldap.h:
added comments
 removed LDAP_MAX_ATTR_LEN
 removed LDAP_COMPAT* from <ldap.h> but not code.
 move LDAP_DEFAULT_REFHOPCOUNT to ldap-int.h
 added experimental options macros
 added LDAP_CONTROL_REFERRALS macros
libldap:
 Replace ld_attrbuffer with per use allocated attributed.
 ldap_first/next_attribute attributes now must be freed (as per draft).
 unifdef -DLDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS
1999-05-22 06:11:48 +00:00
Kurt Zeilenga
c26db69fe1 Add prototypes for ldap_parse_result() and friends. 1999-05-21 20:46:48 +00:00
Kurt Zeilenga
ca2145cccf Initial checkin of ldap_search_ext() and friends. 1999-05-21 19:20:25 +00:00
Kurt Zeilenga
4e2b2f8a70 s/PACKAGE/OPENLDAP_PACKAGE/
s/VERSION/OPENLDAP_VERSION/
manually define for NT.  Should sort out mechanism for one place
updating of package/version strings.
1999-05-21 04:00:25 +00:00
Kurt Zeilenga
5a5fc0872b Protect strcasecmp from macro w/ args expansion. 1999-05-21 03:10:52 +00:00
Kurt Zeilenga
3540857e03 Disable LBER_END_SEQORSET for now. 1999-05-20 23:40:06 +00:00
Kurt Zeilenga
97e5524af9 found my lber bug... ber_buf should have been freed in ber_peek_tag. Ugh! 1999-05-20 21:53:56 +00:00
Kurt Zeilenga
c23e4fe6a7 Add EXEEXT and MKVERSION support. 1999-05-19 07:12:20 +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
29a7d6229a Wrap externs with parens to protect against inproper macro expansion. 1999-05-18 20:52:36 +00:00
Kurt Zeilenga
00da392c5f Add check for <sys/select.h> for AIX. 1999-05-18 18:34:02 +00:00
Ben Collins
d4f4f8f197 Moved db1/db.h check to the db1 marco in openldap.m4. Also added check for HAVE_DB1_DB_H for which header to include since it's only defined when using db1 1999-05-07 01:27:16 +00:00
Kurt Zeilenga
af25d94db9 Fix "configurations". 1999-05-04 04:30:43 +00:00
Kurt Zeilenga
031b9ec092 Add LDAP_CONST macro for use within EXTERNAL headers such as
<lber.h> and <ldap.h>.
Note: This should not be used within the implementation itself as
our "portable.h" mechanism provides Standard C vs. K&R "const" handling.
1999-05-03 21:10:35 +00:00
Hallvard Furuseth
f43663860d Fix typo in comment 1999-04-30 11:49:28 +00:00
Kurt Zeilenga
5882352a2e protect multi-statement macros... ie: do { s1; s2; } while(0) 1999-04-30 00:53:10 +00:00
Kurt Zeilenga
beddb31813 Backout ssl/ssl.h change for now. Trying to support "odd" 3rd
repackagers is a can of worms.
1999-04-30 00:50:08 +00:00
Kurt Zeilenga
135d850ee6 Generate #error instead of just letting the compile fail. 1999-04-30 00:48:47 +00:00
Hallvard Furuseth
786bbe4fc1 enclose macro arguments in () 1999-04-30 00:35:27 +00:00
Kurt Zeilenga
b06c4a5576 Winsock changes:
Centralize #define EWOULDBLOCK WSAEWOULDBLOCK to ac/errno.h
Move WSAStartup to slapd_daemon(), add WSACleanup() to match.
1999-04-28 21:21:14 +00:00
Kurt Zeilenga
504fac55c8 Clean up valid flag: _VALUE -> _VALID. 1999-04-27 05:18:21 +00:00
Kurt Zeilenga
7ba980f0f6 Modify slapd set user/group support to use -u/-g instead -U/-G.
Moved -u (udp) to -c (connectionless).  Connectionless is depreciated
and undocumented.
Added tests for set{,e}{u,g}id to configure.  Use existance of
setuid/setgid to enable feature.  Use seteuid/setegid only if
they exist.
Fixed minor minor leak of username/groupname if specificied
more than once.  (This should actually be an error)
1999-04-21 00:40:20 +00:00
Kurt Zeilenga
a3f1e5c4c9 Warn users not to much with paths in ldapconfig.h 1999-04-14 19:36:47 +00:00
Gary Williams
5ccc8b5ab9 fix typo on destroy 1999-04-14 15:02:38 +00:00
Kurt Zeilenga
48e73426cb Add basic gmodule detection for SLAPD_MODULES.
Cleanup perl detection.
1999-04-14 01:33:01 +00:00
Kurt Zeilenga
404f953ef0 New pthread_try_link test. Looks for pthread_create and pthread_detach
and, if LinuxThreads, pthread_kill_other_threads_np().
1999-04-07 02:47:15 +00:00
Kurt Zeilenga
bbb7964508 New LinuxThreads detection. Correctly detects FreeBSD's LinuxThreads port
(but not sure if it's usable yet).  Needs to be tested on various versions
of Linux native LinuxThreads.
1999-04-06 23:44:27 +00:00
Kurt Zeilenga
73b846c011 Add ldap_pvt_thread_destory() to un-ldap_pvt_thread_initialize().
Move all SunOS routines (ie: _sleep() and its helpers) to thr_lwp.c
so that it's internals can be 'static'.  Add 'static' to thr_lwp.c.
Add comment to LWP:  NEEDS WORK, may not compile!  Need some
SunOS user to sort out the details.  Volunteers?
1999-04-06 21:57:16 +00:00
Hallvard Furuseth
e78f4140d7 Use macros for the dummy definitions of sys_errlist/sys_errno 1999-04-06 01:25:03 +00:00
Kurt Zeilenga
b4658cbe24 Cleanup socket() detection.
Move select() detection forward, error if not available.
Move select() args type check forward so it can be used in subsequent tests.
1999-04-04 20:36:35 +00:00
Kurt Zeilenga
82453169fc Add select args type & vfork tests for experimentation purposes. 1999-04-04 00:59:32 +00:00
Hallvard Furuseth
9ebd9a0289 Add -U and -G options to set user and group id.
Move socket setup to set_socket(), called before the uid/gid change.
1999-04-03 03:19:07 +00:00
Gary Williams
92d4ccf906 NT port 1999-04-01 16:38:11 +00:00
Kurt Zeilenga
f626fbbd57 Rebuild configure due to MDBM addition. 1999-03-30 04:46:17 +00:00
Juan Gomez
8c23e997e9 MDBM support added. 1999-03-30 04:39:41 +00:00
Juan Gomez
009038a795 MDBM detection feature. 1999-03-30 04:25:52 +00:00
Kurt Zeilenga
b9109a9f20 add wait macros. add LDAP_SIGCHLD. and other misc NT cleanups. 1999-03-29 09:04:35 +00:00
Kurt Zeilenga
db721ca821 Add ioctl_t for arg type (Unix requires 'int', Winsock requires 'u_long'). 1999-03-29 05:28:29 +00:00
Kurt Zeilenga
ff23537bcb Rework ac/socket.h for HAVE_WINSOCK:
tcp_close -> closesocket
  ioctl -> ioctlsocket
Modify codes to use tcp_close() instead of close() for sockets.
Modify ioctl codes to be compatible with WINSOCK.
1999-03-29 05:15:59 +00:00
Kurt Zeilenga
30f953160f Add wait4/3 detection.
Modify slapd_tester to use pid_t and wait macros.  May need to
implement additional macros in ac/wait.h (in addition to
WEXITSTATUS and WIFEXITED).
1999-03-29 01:40:17 +00:00
Kurt Zeilenga
598b7473fe All implementations of lutil_lockf (aka ldap_lockf) block until
the lock is acquired.  Add comments to that effect.  Remove
unnecessary busy loops from slapd/lock.c and slurpd/lock.c.
1999-03-28 22:43:43 +00:00
Kurt Zeilenga
f4161b5bf8 NT doesn't have waitpid() 1999-03-28 22:42:13 +00:00
Kurt Zeilenga
7adc0a65d0 Update lutil_lockf (aka: ldap_lockf) to hide implementation in
library, not header.  Eliminate need for <ac/unistd.h> to sometimes
include <fcntl.h> and/or <sys/file.h>.  Change lock API to expect
fd not FILE*.  Allows wider use and eliminates requirement that
lutil_lockf.h depencency on stdio.h.
Implemented lockf, fcntl, and flock locking in lutil/lockf.c.
Additional implementations (including no-op) may be needed.
Update slapd/lock.c and slurpd/lock.c to use new API.
1999-03-28 21:39:02 +00:00
Ben Collins
5c931bdffa If we are using lutil_lock functions then define NEED_SIMPLE_LOCKING or
liblutil/lockf.c wont be compiled.
1999-03-28 18:07:44 +00:00
Kurt Zeilenga
11add79cb1 Update locking codes. 1999-03-26 17:43:23 +00:00
Ben Collins
cfe36cb71f Added extra checks to locking definitions 1999-03-26 15:10:06 +00:00
Kurt Zeilenga
81acad8937 Add LDAP_DEBUG promotion and include of ac/insert.h 1999-03-26 04:37:39 +00:00
Kurt Zeilenga
61f6d5d8ca Add check for <assert.h> and put include in right file (acconfig.h) 1999-03-20 03:21:19 +00:00
Kurt Zeilenga
f999e1350d Provide global assert solution. <ac/assert.h> (new) is now included
by portable.h with NDEBUG undefined.  This makes assert() is always
available and automatically disables itself when LDAP_DEBUG is undefined.
I've included a basic assert() for pre-STDC compilers.  It relies on
abort() which may not actually be available.  (well replace abort()
with whatever is appropriate if and when we're faced with a pre-STDC
compiler that doesn't have assert()).
1999-03-20 03:13:24 +00:00
Kurt Zeilenga
5a4babde00 Add DEFAULT_EDITOR to ldapconfig.h. Used by ldbmtest and ud. 1999-03-17 22:34:17 +00:00
Kurt Zeilenga
96b2ae55ac Add OL_STRUCT_PASSWD_PW_GECOS test. Checks for pw_gecos in struct passwd. 1999-03-17 22:23:29 +00:00
Kurt Zeilenga
98d3206c42 Rebuild configure and portable.h.in... 1999-03-17 22:10:31 +00:00
Kurt Zeilenga
8694a8395c Add EBCDIC test in preparation for VM port. 1999-03-15 19:31:13 +00:00
Kurt Zeilenga
5f3c7a88dc Add 'extern' to externals. 1999-03-15 01:06:02 +00:00
Ben Collins
13f169ee54 Only declare strdup() if DECL_STRDUP is defined 1999-03-15 00:19:46 +00:00
Ben Collins
e732e12279 configure.in now includes OL_DECL_STRDUP, configure and portable.h.in
rebuilt to reflect it.
1999-03-15 00:18:49 +00:00
Hallvard Furuseth
7927ffe7f3 Add missing parens around Debug macro parameter 1999-03-14 07:15:58 +00:00
Ben Collins
4e733cf024 Macros for file locking/unlocking added (ldap_lockf/ldap_unlockf) 1999-03-13 20:31:55 +00:00
Ben Collins
615923f0d1 Functions for using fcntl to lock/unlock files in case lockf is not available 1999-03-13 19:25:15 +00:00
Ben Collins
ebce51b2db actually define HAVE_SYS_ERRLIST if we have it, if not then declare it locally in ac/errno.h 1999-03-13 18:19:11 +00:00
Ben Collins
362f051a57 Added check for <arpa/inet.h> 1999-03-13 02:17:34 +00:00
Ben Collins
c0b11aa8b5 Added check for getpass() as well as adding it to the -llutil Makefile.in (BeOS will need this) 1999-03-13 02:08:42 +00:00
Ben Collins
8f0aae9b72 #ifdef for <arpa/inet.h> 1999-03-13 01:12:54 +00:00
Kurt Zeilenga
e2d90b3acb Update configure to:
-- fixed gethostbyaddr_r/gethostbyname_r compile warnings
  -- relocated Pthread -mt test to be before -kthread test
1999-03-10 23:31:06 +00:00
Hallvard Furuseth
6de5ba2834 Fix typo -lxttp => -lxtpp in HAVE_XTPP comment 1999-03-09 08:05:27 +00:00
Kurt Zeilenga
53fc115b6f Add LDIF_ to LINE_WIDTH 1999-03-09 00:50:41 +00:00
Kurt Zeilenga
6570ec368c Regenerate configure and friends. 1999-03-08 20:01:17 +00:00
Kurt Zeilenga
8d3f492698 Add GNU readline detection. Needed for saucer enhancement (ITS#96). 1999-03-08 01:48:45 +00:00
Kurt Zeilenga
9e71e09bac Relocate reentrant function checks to before thread library checks.
Disable ctime_r() type check.  Need better test.
1999-03-07 00:22:11 +00:00
Kurt Zeilenga
588a458d78 MSVC5 cleanup...
lber: ifdef'ed out lber_..set_nonblock() function because it used ioctl's.
  If it remains, it needs to be written to support various methods for
  setting non-blocking.  ioctls should probably be last choice.  configure
  could detect existance of fcntl(), ioctl(), etc.
bdb2:
  added .dsp/.dsw files and did some basic cleanup (still needs work).
1999-03-06 00:57:25 +00:00
Kurt Spanier
6da27229d9 1. Fix of ldbmcat segmentation fault bug (ITS#85 and #81).
2. Make ldbm_Env a failure-safe entity.
1999-03-05 11:24:42 +00:00