Commit Graph

30 Commits

Author SHA1 Message Date
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
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
Gary Williams
2b17be8329 Move maxkids = cmdkids after fork of ldif2id2children. Also fix NT waiting for kids 1999-05-07 14:30:31 +00:00
Hallvard Furuseth
ca7dba5182 ITS#141: Add ldbm_ignore_nextid_file, since tools/ldif2* handles it privately 1999-04-30 05:24:16 +00:00
Gary Williams
41adaad0ad let ldif2id2entry complete before allowing other children to start 1999-04-28 17:25:30 +00:00
Gary Williams
532fb0961f honor the maxkids variable on NT 1999-04-19 17:13:14 +00:00
Gary Williams
84f84c28b8 I moved slap_shutdown after the waitforkids. I also wait for each process to complete before returning from fork_child since I had two lockups on my NT box. 1999-04-14 16:56:23 +00:00
Gary Williams
1a7acaa945 fix arg loop, move starttime to mimic.c 1999-04-14 14:11:56 +00:00
Gary Williams
0667782720 add section for NT to create processes 1999-04-13 21:34:00 +00:00
Kurt Zeilenga
cc38cf6534 Cast pointer to strcasecmp to AVL_CMP. 1999-03-16 21:55:00 +00:00
Hallvard Furuseth
984bdfa605 Remove unused variables 1999-03-06 06:33:34 +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
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
ed33462bdf Use MAXARGS... we should actually check for limits.h's ARG_MAX and
use this everywhere... but that's for another day.
1999-01-06 20:27:27 +00:00
Kurt Zeilenga
a5e6fa0d1c Wrap strtok use with mutex. 1999-01-01 20:22:56 +00:00
Kurt Zeilenga
695508813d Fix --disable-crypt and --disable-cleartext
mutex declaration should be moved from slapd/main.c to slapd/init.c
so we don't have ripple changes through slapd/tools.
1998-12-29 21:45:08 +00:00
Kurt Spanier
bfb27120be Patch for Berkeley DB 2.6.4 (beta) (DB)->cursor() call.
Introduction of ldbm_datum_init().
Patch for non-NULL pointer test befor call to ldbm_datum_free().
1998-12-29 17:28:45 +00:00
Hallvard Furuseth
19742f2e93 Remove duplicate definitions of global_schemacheck and global_oc 1998-12-27 08:59:38 +00:00
Kurt Zeilenga
5c6ad6c5b1 ldif'ize ldif library (ie: everything is now in the ldif_ namespace) 1998-12-20 22:28:33 +00:00
Kurt Zeilenga
3e390a8074 Unexpand spaces for tabs in prior commit before merging to rel_eng_1_1. 1998-12-20 19:31:21 +00:00
Kurt Zeilenga
b5e50eff5e Disable writing syncing when creating databases. 1998-12-18 22:21:16 +00:00
Kurt Spanier
9e97da14fb Initialization of Datum structures to zero by memset() before first use.
If Berkeley DB version 2.x is used as a slapd back-end a not-initialized
Datum structure will raise an EINVAL error in (DB)->put().
1998-12-18 12:28:47 +00:00
Kurt Zeilenga
b5494457d8 Remove extern declarations of library functions from source.c.
This could cause problems on odd systems.  The generic
  headers should be extended as needed to include necessary
  system headers or, if necessary, make explicit declarations.
Extended ac/string.h header to look for string.h/strings.h if
  STDC_HEADERS is not defined.  Also provide basic declarations for
  str*() functions.  This could cause problems on odd systems.
Extended ac/unistd.h header to define basic declaration for misc
  functions that might be missing from headers.   This includes
  externs for getenv(), getopt(), mktemp(), tempname().
Protect fax500.h from multiple inclusion.  Moved includes of
  system/generic headers back to source files.
Made mail500 helper functions static.
Fixed includes of ctype.h, signal.h, etc. to use generics.
lutil/tempname.c: was including stdlib.h twice, one should stdio.h.
Wrapped <sys/resource.h> with HAVE_SYS_RESOURCE_H.
lber/io.c/ber_get_next(): Changed noctets back to signed.
  Used with BerRead which expects signed int as second arg and
  returns signed int.
1998-11-16 05:07:27 +00:00
Hallvard Furuseth
7e6ad5100c Protoized, moved extern definitions to .h files, fixed related bugs.
Most function and variable definitions are now preceded by its extern
definition, for error checking.  Retyped a number of functions, usually
to return void.  Fixed a number of printf format errors.

API changes (in ldap/include):
  Added avl_dup_ok, avl_prefixapply, removed ber_fatten (probably typo
  for ber_flatten), retyped ldap_sort_strcasecmp, grew lutil.h.

A number of `extern' declarations are left (some added by protoize), to
be cleaned away later.  Mostly strdup(), strcasecmp(), mktemp(), optind,
optarg, errno.
1998-11-15 22:40:11 +00:00
Kurt Zeilenga
c32792b489 Include ldif.h to pickup declaration of str_getline()
Fix pointer truncation to int by including prototypes in forward declarations.
1998-11-12 20:17:01 +00:00
Kurt Zeilenga
2a869f5a99 merged with autoconf branch 1998-10-25 01:41:42 +00:00
Kurt Zeilenga
b3ac184962 Fixed ldapconfig.h.edit/Make-template to generate ldapconfig.h correctly.
ldif2ldbm.c defaults moved to ldapconfig.h, sed no longer needed.
Changed type of lconn_lastused to time_t.
Added include <time.h> were needed.
1998-08-20 02:18:28 +00:00
Kurt Zeilenga
079f21c3ac Added LIBEXECDIR, SBINDIR and patched install rules and files as needed. 1998-08-19 02:38:35 +00:00
Kurt Zeilenga
8d5c2b41e6 LDAPworld P3: SLAPD LDBM Generation with Multiple Backends 1998-08-09 02:33:01 +00:00
Kurt Zeilenga
42e0d83cb3 Initial revision 1998-08-09 00:43:13 +00:00