Commit Graph

485 Commits

Author SHA1 Message Date
Kurt Zeilenga
cbb5553b03 Newer versions of OpenSSL install headers in $prefix/include/openssl... 1999-07-14 00:03:52 +00:00
Julio Sánchez Fernández
96ae2837f6 Add option definitions for TLS 1999-07-13 19:23:41 +00:00
Kurt Zeilenga
ff28f54d2d Add configure support for 'socklen_t' as provided by Hallvard. 1999-07-13 18:46:22 +00:00
Kurt Zeilenga
47be141fb4 Support old c_plusplus... 1999-07-13 18:41:00 +00:00
Hallvard Furuseth
e2bfb420d7 Fix use and decl of ber_pvt_assert. Fix ac/stdio.h -> stdio.h. 1999-07-13 03:50:39 +00:00
Kurt Zeilenga
7574b70c6b Add charray (from slapd) to -lldap/-lldap_r (not yet used)
Add digest md5 codes to -lldap/-lldap_r (work in progress)
1999-07-07 17:58:21 +00:00
Kurt Zeilenga
522cd72f43 Fix CRITICIAL typo 1999-07-07 17:49:15 +00:00
Kurt Zeilenga
51d1c90887 unifdef -DSLAPD_ACLGROUPS -DSLAPD_ACLAUTH 1999-07-05 06:26:26 +00:00
Kurt Zeilenga
a1665712f2 Fix LDAP_RANGE typo 1999-07-01 21:56:53 +00:00
Kurt Zeilenga
97bc107537 Add macros to support testing of error categories to ldap.h
Modify ldap_result to assert returned error is not an one reserved
for API use.
Modify frontend LDAP operation routines to return an error code.
The returned value will be used to determine if an unsolicited notification
should be sent to the client.
Need to review returned error codes.  Namely some LDAP_PROTOCOL_ERROR
will like need to be changed (as they will cause unsolicited notifications).
1999-07-01 21:20:45 +00:00
Kurt Zeilenga
159067cc83 swap LDAP_STRONG_AUTH_NOT_SUPPORTED & LDAP_AUTH_METHOD_NOT_SUPPORTED 1999-07-01 04:37:46 +00:00
Kurt Zeilenga
8871b527d2 Add LDAP_CLIENT_ERROR macro. 1999-07-01 04:25:16 +00:00
Kurt Zeilenga
6f4d23667e Add LDAP_TAG_LDAPCRED macro. 1999-07-01 04:21:53 +00:00
Kurt Zeilenga
9225707a06 Modify lutil_passwd to accept a third argument char** methods to
specific which methods may be used.  This will facilate development
of a slapd config directive "passwordMethod ..." to specify which
methods should be allowed.
1999-06-29 22:24:53 +00:00
Kurt Zeilenga
f49cee0571 Add prototypes for strerror/strerror_r. 1999-06-29 02:58:14 +00:00
Kurt Zeilenga
2660d0b42f Remove old U-Mich v3.0 and OLD_LDAP_* crud.
Leave only LDAPv2+ and LDAPv3.
1999-06-29 00:03:34 +00:00
Kurt Zeilenga
09a007c031 Fix up minor errors in prototypes to bring them in line with LDAP C API draft. 1999-06-28 22:13:56 +00:00
Kurt Zeilenga
5f28509311 detect write() and use HAVE_WRITE instead of
!defined( DOS ) && !defined( MACOS )
Add detection for read & recv/send for later use.
1999-06-28 04:11:41 +00:00
Kurt Zeilenga
ab10099fc1 Added support for "userPassword: {UNIX}uid". getpwnam("uid") is
used to fetch the pw_passwd which is than passwd to crypt().
getspnam() is used instead of getpwnam() when available.
Added configration detection of pw_passwd, shadow.h, getpwnam()
and getspnam().
1999-06-26 20:52:59 +00:00
Kurt Zeilenga
fcaddb60b4 Install lber_types.h 1999-06-25 14:41:10 +00:00
Bastiaan Bakker
5a470f8959 Merged dynamic module support patch (see ITS #196). To enable, run ./configure w
ith --enable-modules. GLib v1.2 or higher is required.
1999-06-24 17:06:34 +00:00
Kurt Zeilenga
977292a967 Always implement Debug as lutil_debug(). 1999-06-21 22:33:35 +00:00
Kurt Zeilenga
f97251a9d1 Add support for lber_types.h.nt and add a few NT specific feature macros. 1999-06-21 22:32:38 +00:00
Kurt Zeilenga
87149de771 Add lber_types.h to setup.dsp.
s/setup.exe/setup.txt/g
create workspace for testing purposes.
1999-06-19 01:53:15 +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
Gary Williams
61bf5877b8 new project to copy files from *.h.nt to .h 1999-06-18 21:24:04 +00:00
Kurt Zeilenga
bbc568b21f ldapconfig.h vs ldap_config.h changes
backout previous nt changes (actually, just don't include nt_svc.c)
1999-06-17 04:43:24 +00:00
Kurt Zeilenga
21e081dc5b Separate autoconf generated values from "defaults".
ldap_defaults.h incorporates non-generated ldapconfig.h values.
	ldap_config.h.in is new template for autoconf generated defaults
		(namely directories and paths)
	ldap_config.h.nt, NT template (must be manually copied)
	s/<ldapconfig.h>/<ldap_defaults.h>/
	s/DIRSEP/LDAP_DIRSEP/ & s/DEFAULT_/LDAP_/
1999-06-17 03:54:25 +00:00
Kurt Zeilenga
3c09414075 Fix bad LBER_INVALID macro 1999-06-15 17:35:31 +00:00
Julio Sánchez Fernández
fb422591a2 Matching rules. 1999-06-14 13:37:59 +00:00
Julio Sánchez Fernández
e9e0e613b2 Constification 1999-06-14 11:57:02 +00:00
Julio Sánchez Fernández
5e0f62e454 New ldap_syntax_free, ldap_attributetype_free and ldap_objectclass_free
that replace old static routines.
1999-06-13 23:31:35 +00:00
Juan Gomez
34f068f131 Drop support for alloca(). 1999-06-11 18:56:28 +00:00
Kurt Zeilenga
da549e3a42 _SGI_MP_SOURCE errno/h_errno experiment 1999-06-11 00:07:10 +00:00
Kurt Zeilenga
f34c94e5d5 Disable LDAP_MEMORY_DEBUG on NT (should not have been enabled by default).
Fix LDAP_MEMORY_DEBUG realloc size bug, thanks Alex.
1999-06-10 00:56:00 +00:00
Kurt Zeilenga
be991c81df Add test for BeOS's closesocket 1999-06-09 00:10:26 +00:00
Kurt Zeilenga
5632c11bd2 Use LDAP_F/LDAP_P macros on library externs.
Fix install of ldap_schema.h to use $(srcdir)
1999-06-07 18:37:16 +00:00
Kurt Zeilenga
12ed7e46ef Use LDAP_F and LDAP_P macros.
Fix LDAP_HI 0x377 vs 0377 bug.
1999-06-07 18:35:30 +00:00
Kurt Zeilenga
c12b24102a rename LDAP_OPT_MATCHED_STRING to LDAP_OPT_MATCHED_DN. 1999-06-05 20:12:53 +00:00
Kurt Zeilenga
5f7f095b1c Undo assert fix included in last commit.
Add extra AC_HTONL for win32 alpha.
1999-06-04 22:27:28 +00:00
Kurt Zeilenga
5cb35c2827 Add #define FD_SETSIZE 1024 1999-06-04 22:23:52 +00:00
Kurt Zeilenga
48c8aa035d EXPERIMENTAL ldap_extended_operation() and ldap_parse_extended_result() 1999-06-04 00:34:04 +00:00
Kurt Zeilenga
0c8f1d240a lber.h: added #include <stddef.h> conditional on LBER_SIZE_T_DEFINED
ldap.h: added #include <lber.h>
ldap.h: added tags for extended operations
1999-06-03 22:54:51 +00:00
Kurt Zeilenga
9fef42d3f8 Enable browsing info in MSVC debugging configurations.
Toy with dllimport/dllexport stuff (think I'll leave the real dll work to
somebody else).
Added ldap_strdup() wrapper of ber_strdup().
1999-06-03 18:24:22 +00:00
Kurt Zeilenga
6956207270 Remove <memory.h> from stdlib.h (mem* fns should be in string.h). 1999-06-03 00:45:50 +00:00
Kurt Zeilenga
5a8170253a Add <ac/stdlib.h> to genericize memory allocators.
Remove memory.h/malloc.h inclusion from <ac/string.h>.
Need to s/<stdlib.h>/<ac/stdlib.h> everywhere.
1999-06-02 23:39:55 +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
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
Juan Gomez
e46c2e494e Added prototypes for ldap_rename2() and ldap_rename2_s(), which generate
a MODDN or MODRDN request depending on the newSuperior parameter.
1999-03-04 03:14:31 +00:00
Kurt Zeilenga
ce6836dbed Apply Hallvard's D4 pthread detection patch. 1999-03-03 23:32:00 +00:00
Juan Gomez
cd90353f10 Added LDAP_TAG_NEWSUPERIOR tag and a brief description about tag
construction which may be useful later when adding new tags. This
in preparation to support moddn v3.
1999-03-03 22:51:43 +00:00
Hallvard Furuseth
45bf79315e Correct typo ldap_count_reference -> ldap_count_references 1999-03-03 17:45:15 +00:00
Bart Hartgers
a81ca18845 Added support in liblber and libldap for partial reads, i.e. situations in
which only part of a LDAPMessage is available on a socket.

The server-code seemed to handle this correctly already, so I didn't touch
it.

My apologies for the hack in ber_get_next :-).
1999-03-03 16:38:56 +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
4e160e83b6 Replace IFP() with appropriate full prototypes:
AVL_CMP, AVL_DUP, AVL_FREE, AVL_APPLY.
Apply casts as needed.
Change data pointer from caddr_t to void *.
1999-03-02 00:32:59 +00:00
Kurt Zeilenga
180eed16fe Rebuild autoconf/autoheader generated files after TLS and gethostbyname_r
changes.
1999-03-01 18:55:52 +00:00
Hallvard Furuseth
79f7c85067 Add locale support (slapd.conf keyword "locale") to slapd if HAVE_LOCALE_H 1999-02-22 21:01:24 +00:00
Kurt Zeilenga
aa17fdd0bd Use ldap_pvt_strtok directly and unconditionally.
Implementation no longer uses strtok_r(), it may be broken
or have an odd prototype.
Update configure not to check for strtok/strtok_r nor require
strtok_r to LDAP_API_FEATURE_X_OPENLDAP_REENTRANT.
1999-02-20 20:12:03 +00:00
Kurt Zeilenga
84bafea62e #undef symbols before #defining them. This provides a little protection
when symbol being replaced was defined as a macro.
1999-02-20 18:31:56 +00:00
Hallvard Furuseth
19c2a483e6 fix TOLOWER, it was equal to TOUPPER 1999-02-20 16:22:10 +00:00
Kurt Zeilenga
a71f328831 Import Ben Collins <bcollins@debian.org> Back-TCL for SLAPD. 1999-02-14 19:20:14 +00:00
Kurt Zeilenga
a362bde4a7 Forgot changes made in portable.h need to be imported back into portable.h.nt 1999-02-11 22:33:19 +00:00
Kurt Zeilenga
6e2557f051 Update features for MSVC 5. 1999-02-11 21:49:35 +00:00
Kurt Zeilenga
e4a589d99e Updates for MSVC 5.0. Fix libraries names to be ol{ber,dap,..}32.lib.
Fix library/include paths for building "Release".
Create getpass() from ud's mygetpass().
1999-02-11 21:16:03 +00:00
Kurt Zeilenga
859b1ae451 Detect pthread_detach using #include <pthread.h> (using AC_TRY_LINK)
instead of AC_CHECK_FUNCS() as symbol may be mangled.
1999-02-08 22:54:40 +00:00
Kurt Spanier
42f6e78dd4 Integration of the BDB2 backend into the new init/startup/shutdown schema.
Integration into ./configure ( --enable-bdb2 ).
Adaptation of the test-suite ( 'make' -> ldbm; 'make bdb2-local' -> bdb2 ).
Minor fixes in slapd/libldbm.
1999-02-08 11:42:14 +00:00
Kurt Zeilenga
216049bd12 New Frontend->Backend Interface
Separates per backend type from per backend database initialization
	and startup.  Also supports per type / per backend shutdown.
New frontend startup/shutdown routines are also provided:
	slap_init() slap_startup() slap_shutdown() slap_destroy()
New frontend->backend startup/shutdown is managed by:
	backend_init() backend_startup() backend_shutdown backend_destroy
backend_init() now calls bi_init() to initial all function pointers
for the backend (excepting bi_init() which is now the only hardcoded
entry point).  New entry points are detailed in slap.h struct
backend_info.  backend_info is a per database type structure.
Besides the new startup/shutdown entry points, the new interface
also supports per backend type configuration options.  One could have:

	backend bdb2	(new Berkeley DB 2 backend)
	bdb2_home	/directory

	database bdb2
	...

	*** This code is fairly experimental ***
	*** Much cleanup and testing is still needed ***

see slap.h for details on struct backend_db and backend_info.
1999-02-05 09:03:47 +00:00
Kurt Zeilenga
f4dd466315 Build environment changes including:
Kerberos detection of des_debug
	detection of resolv.h and arpa/nameserv.h
Updated affected codes.
1999-02-04 21:54:38 +00:00
Kurt Zeilenga
366701bdf7 Fix dbcache/entry lock deadlock. If dbcache lock is held, it's
okay to read and write LDBM specific fields (state, refcnt,
LRU.  The id field, though is read-only once set.
cache_find_entry_dn2id(), hence, does not require any entry locks.
cache_find_entry_id() must do a entry_rdwr_trylock() and back
off if busy.
Add new rdwr lock code with trylock() functionality.
Implement entry_rdwr_trylock().
1999-02-04 18:00:50 +00:00
Kurt Zeilenga
1e53519136 Backout recent initialization/startup changes in preparation for
new frontend-backend interface.
1999-02-04 17:36:06 +00:00
Kurt Zeilenga
d671c49b94 Fix set concurrency typos. 1999-02-03 18:29:27 +00:00
Kurt Zeilenga
ee05cd8038 Update AC_DEFINES to use autoconf 1.3 descriptions.
Update acconfig.h to use @TOP@ and @BOTTOM@ to rid ourselves of
the .top/.bot files.
1999-02-03 01:05:41 +00:00
Kurt Zeilenga
fb0489d922 Added --enable-bdb2 for Ksp's Berkeley DB 2 specific slapd backend.
Supports 'yes', 'no' (default), and 'auto'.
1999-02-01 22:19:42 +00:00
Kurt Spanier
314f3f6ed7 Introduction of a backend startup/shutdown function to make backend-specific
initialization after reading slapd.conf, and before starting the daemon
1999-02-01 17:37:43 +00:00
Kurt Zeilenga
9f96ab2fb0 Add ac/sysexits.h for GNU win32 environments.
Fix LDAP_API_VENDOR_VERSION -> LDAP_VENDOR_VERSION bug
1999-02-01 02:47:39 +00:00
Kurt Zeilenga
8981a52ed3 Rebuild configure using autoconf 1.3 (with aclocal from automake 1.4). 1999-02-01 01:36:42 +00:00
Kurt Zeilenga
30d106079d Add cond/rdwr destroy routines. 1999-01-29 05:52:40 +00:00
Kurt Zeilenga
72ba4cfb71 Use -lldap_r instead of -lldap -lthread.
Likely broke things for non-posix threadings....

Update -lldap_r implementation to:
	remove attribute support
	hide thread detachment
	provide concurrency accessors
	provide initialization function
	fix gethostby{addr,name}_r codes (not coverred by HAVE_REENTRANT_FUNCTIONS)
Update servers/libraries to use ldap_pvt_thread_ calls.
Cleanup server codes (no #ifdef HAVE_PTHREAD_THIS or _THATs)!
Removed -llthread
1999-01-28 04:34:55 +00:00
Kurt Zeilenga
c32dcd6365 Fixup begin/end declaration tags
Assume portable.h has been included
Include ldap_cdefs.h at the top.
1999-01-27 21:11:55 +00:00
Kurt Zeilenga
bd6dfe333d LDBM/back-ldbm locking reworked!
back-ldbm was using a cache specific lock to protect non-reentrant
	database routines from being reenterred.  This is inadequate.
	Also, reentrant database systems calls were serialized unnecessarily.

	Non-reentrant database calls must have a big_mutex.  Implemented
	this within -lldbm itself.  library requires ldbm_initialize()
	be called before any other ldbm call to initialize the big_mutex
	and to do any other db specific initialization (ie: such as
	required for DB2).

The dbc_mutex, dbc_cv, & dbc_readers fileds of dbcache are history.
The "reentrant_database" (REENTRANT_DATABASE) define is also axed.
1999-01-26 20:55:54 +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
f988fdbec1 add ldap_cdef'ing. 1999-01-26 00:04:01 +00:00
Kurt Zeilenga
d7079a10c3 Add support for LBER_OPT_LOG_PRINT_FN option. 1999-01-25 22:55:00 +00:00
Kurt Zeilenga
a31de60768 Minor cleanup of various detections... 1999-01-24 01:33:22 +00:00
Kurt Zeilenga
4863d98084 Remove configure's wait3 test as we don't care about the rusage.
Rewrite all child waits to use wait4 (for consistency only).
1999-01-23 04:03:43 +00:00
Kurt Zeilenga
7c2bcc4e12 Add LDAP_API_FEATURE_X_OPENLDAP to imply this implementation
has OpenLDAP extensions.  (This may be defined on non-OpenLDAP
implmentations that implement features of our API).
The extensions implied by this flag are TBD.
1999-01-23 03:39:06 +00:00
Kurt Zeilenga
ddb0752b8f Move libldap/strdup.c to string.c.
libldap/string.c will hold various string.h replacements.
Removed liblutil/strdup.c
Moved ldap_pvt_strtok to string.c.
Moved prototype of ldap_pvt_strtok to <ac/string.h>.
Added #define strtok_r ldap_pvt_strtok (if strtok_r doesn't exist).
1999-01-22 04:33:29 +00:00
Kurt Zeilenga
2a7794de09 Fix minor typo in lthread.h (which was copied into ldap_pvt_thread.h). 1999-01-22 03:48:31 +00:00
Kurt Spanier
68a8798594 Definition of slapd pid and args files as slapd.conf general parameters;
introduction of pid/agrs parameters to the test-suite slapd.conf files;
creation of sub-directory test/var for storage of pid/args files during test;
update of the slapd and slapd.conf man pages.
(The change reduces dependency on ldapconfig.h, since SLAPD_PIDEXT
 and SLAPD_ARGSEXT are deleted from the code.)
1999-01-21 15:53:54 +00:00
Kurt Zeilenga
e2a15115b0 Update slap_conn to maintain client provided dn and bound dn.
Update slap_op to maintain dn and ndn (derived from conn->c_dn).
Update ldbm_back_bind to return actual bound dn (including rootdn)
	for use in slapd_conn.  Other backends use client dn.
Modify other codes to use ndn (normalized uppercase dn) most everywhere.
Aliasing, Suffixing and modrdn could use more work.
Applied suffixing to compare and modrdn.
1999-01-19 05:10:50 +00:00
Bart Hartgers
41234c2819 Fixed my own stupid mistake of not noticing the 'n' in #ifndef. strdup
should work as it was again...
1999-01-17 15:27:30 +00:00
Kurt Zeilenga
c09da45c85 Run autoconf/autoheader to generate new configure/portable.h.in 1999-01-16 00:59:49 +00:00
Bart Hartgers
b896152290 Updates for the new threading and utility stuff in libldap{_r}. 1999-01-15 14:31:12 +00:00
Kurt Zeilenga
b7beec1663 Initial version of the experimental 'back-perl'
John's still working on the 'perl-test' (the perl backend test module).
1999-01-14 06:33:09 +00:00
Kurt Zeilenga
cb31c7aa9a Update check for res_search. If not available in $LIBS, check
in -lbind then in -lresolv.
1999-01-13 01:11:28 +00:00
Kurt Zeilenga
318531a437 Use pthread_detach() to detach connection threads instead of
creating them detached.  This hopefully will reduce problems on
draft4 pthread implementations related to creating detached
threads (which is _np under draft4) on some platforms without
causing problems with other thread implementations.
1999-01-11 19:04:34 +00:00
Kurt Zeilenga
82b94e2258 Change SLAPD shutdown to do a cond wait on active threads instead
of a busy wait and allow the pthread_yield within the loop to be
removed.  This was the only pthread_yield which was necessary
when usng non-preemptive threads.  As such, the configure.in
sched_yield/pthread_yield missing error can be removed from
configure.in.  If explicit yield function is missing, just provide
a no-op replacement.
Moved declaration of various slapd globals from main.c to init.c
so they can be shared with ldbm tools.
1999-01-11 18:36:40 +00:00
Kurt Zeilenga
334768c1bb Update build environment to fix VPATH support.
make depend, make tests, and make install all work when build directory
  is not the $srcdir.
Also modified library handling such that -lpthread more likely to be last.
WARNING: new orderring requires use of LDFLAGS to set global loader options
  such as -L/usr/local/lib.  If you put this in LIBS, some libraries
  may not be found a link time.
Likely broke Kerberos/LDAPD support.  Don't have those in my testbed.
1999-01-10 02:25:41 +00:00
Kurt Zeilenga
de8c07c62c Updated SLAPD args/pid file codes to use DEFAULT_RUNDIR and DEFAULT_DIRSEP.
Removed old defines.
1999-01-07 18:16:40 +00:00
Kurt Spanier
9c6d384b9a - Make install creates $(RUNDIR)/var for pid and args files of slapd.
- slapd's pid/args file names are based on the servers binary file names,
  providing for multiple servers beeing run on one host.
- slapd supports the -l command line parameter for selection of a
  syslog LOCAL user (-lLOCAL0 .. -lLOCAL7)
- db_appinit() is called during first ldbm_open() in DB 2.x to initialize
  DB debugging features (good to find bugs in the DB code :-)
- a patch for a non-initialized variable in DB's 2.x db_open is provided.
1999-01-05 15:40:58 +00:00
Kurt Zeilenga
114a0cd339 Update ctime_r() argument macro to cache results and to produce
one preprocessor macro instead of two.  Ran aclocal, autoconf,
autoheader to update derived files.  Modify util-int.c to use
CTIME_R_NARGS define and fallback to ctime() if not set.
Made LDAP_API_FEATURE_X_OPENLDAP_REENTRANT dependent upon result.
1999-01-02 23:40:31 +00:00