Commit Graph

685 Commits

Author SHA1 Message Date
Hallvard Furuseth
2026aa84fa Add bmu_funcp to bmu_align_u 1999-07-13 03:54:42 +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
4831bb0a75 request value should be optional. 1999-07-07 17:52:06 +00:00
Kurt Zeilenga
a67b08d515 Minor editorial change. 1999-07-07 17:51:39 +00:00
Kurt Zeilenga
522cd72f43 Fix CRITICIAL typo 1999-07-07 17:49:15 +00:00
Julio Sánchez Fernández
c8e37af0ca Removed numerous memory leaks detected by Mark Meredith.
Make sure the token_val argument to get_token is always initialized
to something, either newly allocated memory or NULL.
1999-07-02 11:57:07 +00:00
Kurt Zeilenga
ddd0559284 Fairly complete slapd SASL bind parsing... and centralized cleanup code.
Update error strings and cldap misuse of server error.
1999-07-01 04:42:01 +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
dcc5bdfe7e Log out to stderr, add LDAP_VERSION3 support to bind.c and modrdn.c 1999-06-29 01:02:48 +00:00
Kurt Zeilenga
f4ff5a9299 EXPERIMENTAL: Use sasl bind for simple bind.
Add sasl.c to libldap_r.dsp.
1999-06-28 23:24:16 +00:00
Kurt Zeilenga
64d5725662 Allow ctrls argument to be NULL. 1999-06-28 22:47:20 +00:00
Kurt Zeilenga
5045f15b23 EXPERIMENTAL ldap_parse_result() 1999-06-28 22:33:03 +00:00
Kurt Zeilenga
8482d2b488 Provide build support for sasl.c. 1999-06-28 22:30:56 +00:00
Kurt Zeilenga
1fd3c797a8 Validate outvalue after session param. 1999-06-28 22:22:27 +00:00
Kurt Zeilenga
37fceeb662 Minor cleanup of ldap_result(). 1999-06-28 22:20:04 +00:00
Kurt Zeilenga
80e5e3fead First cut at SASL routines. 1999-06-28 22:19:21 +00:00
Kurt Zeilenga
613bf0b077 Return LDAP_BAD_PARAM if res is not EXOP result.
Skip over referrals that might exist in EXOP result.
1999-06-28 22:17:38 +00:00
Kurt Zeilenga
1fe082d16c Support both vsnprintf and vsprintf 1999-06-28 22:04:31 +00:00
Kurt Zeilenga
048547a652 modify ber_put_berval to put NULL ostring when bv == NULL or bv->bv_len == 0. 1999-06-28 20:12:30 +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
dcf9209ae3 *** empty log message *** 1999-06-28 04:05:53 +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
61c5f7a2ca Add debug to nt project, remove lint. 1999-06-21 22:59:23 +00:00
Kurt Zeilenga
0b924192e7 Move nt_debug to -llutil and generalize for all platforms. 1999-06-21 22:52:28 +00:00
Kurt Zeilenga
24c39b31b6 Add LDAP_VALID and other asserts. 1999-06-21 22:38:00 +00:00
Julio Sánchez Fernández
fd15804f63 Tokenization is not really well done. This is a temporary fix for parsing
answers from Innosoft servers, but expect better tokenization in the
future.
1999-06-21 10:08:03 +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
e61bb6aa3f close registry, and return static pointer (no free) from getRegParam 1999-06-18 21:29:02 +00:00
Gary Williams
7a7f3018fa fix flag on formatMessage to not allocate buffer 1999-06-18 21:27:43 +00:00
Gary Williams
19d346ba71 remove dependencies on other libraries 1999-06-18 21:27:20 +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
Gary Williams
8f99cafe87 add new NT service modules 1999-06-16 17:53:38 +00:00
Gary Williams
4d6ce8b87e new code to support slapd as an NT service 1999-06-16 17:53:17 +00:00
Kurt Zeilenga
fdbb2b80bf Remove misplaced LDAP_P() in declaration of ldap_int_get_controls. 1999-06-16 17:11:14 +00:00
Julio Sánchez Fernández
64d018c357 Make sure print_numericoid always returns with a value.
Remove some lint.
1999-06-16 12:31:18 +00:00
Kurt Zeilenga
e8a45b52b3 assert read/write to not in use sockbufs. This may cause problems
with slapd... slapd should be fixed.
1999-06-15 02:31:15 +00:00
Julio Sánchez Fernández
2abcbd5a4d Matching rules.
Replace be_liberal by allow_quoted in low level parsers since that
reflects better its semantics.
Add allow_quoted to parse_numericoid.
1999-06-14 13:40:52 +00:00
Julio Sánchez Fernández
3e6fe96a96 Constification. 1999-06-14 11:57:43 +00:00
Julio Sánchez Fernández
766a5832b1 Netscape DS quotes the SYNTAX values, we propagate the be_liberal
setting to parse_noidlen so that it can grok that.
Propagate be_liberal parse_oids so that it only accepts a qdstring when
necessary (i.e. in SUP) to cater for another Netscapism.
1999-06-14 11:31:42 +00:00
Julio Sánchez Fernández
8d2b71e6c1 ldap_*_free routines are new and replace the old static routines, all
references changed.
Parsers are now more liberal in that they can accept missing OIDs or
OIDs that are in the wrong syntax.
1999-06-13 23:34:41 +00:00
Kurt Zeilenga
cb68aab469 s/ldap_open/ldap_init/ calls... ldap_open is deprecated. 1999-06-13 21:49:35 +00:00
Juan Gomez
34f068f131 Drop support for alloca(). 1999-06-11 18:56:28 +00:00
Kurt Zeilenga
2cb228a9ce Clean up build_result_ber error handling. 1999-06-11 18:48:34 +00:00
Kurt Zeilenga
fde9d8702e Fix build_result_ber to construct a new ber and to set ld_errno appropriately. 1999-06-10 18:00:04 +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
Julio Sánchez Fernández
92839e817f Fixed inconsistent management of white space that was producing parsing
problems in slapd.
1999-06-09 11:51:31 +00:00
Julio Sánchez Fernández
9291bf6f44 Added whitespace in output in a few places.
Minor cosmetic changes.
Fixed parsing of noidlen.
1999-06-08 17:40:27 +00:00
Kurt Zeilenga
c6cf2815cb Add missing ';' after BER_MEM_VALID macro calls. 1999-06-08 01:41:38 +00:00
Kurt Zeilenga
82def24b31 don't test BER_MEM_VALID forever. 1999-06-08 01:37:47 +00:00
Kurt Zeilenga
ca00536233 Minor clean of assert() and comments. 1999-06-07 23:12:34 +00:00
Kurt Zeilenga
b09e658d5b Add and use a BER_MEM_VALID macro (behind ifdef LDAP_MEMORY_DEBUG).
Make sure LBER_INTIALIZED is set on any ber_mem* call.
1999-06-07 19:33:08 +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
f257ee858c Use LDAP_VERSION2 instead of LDAP_VERSION. 1999-06-07 18:45:52 +00:00
Kurt Zeilenga
8c772985c7 s/LDAP_OPT_MATCHED_STRING/LDAP_OPT_MATCHED_DN/
Added place holder for LDAP_FILTER_EXTENDED code.
Added assert() here and there and removed lint.
Removed version promotion code (version must be manually set).
Added messages.c to MSVC project.
1999-06-05 20:18:32 +00:00
Kurt Zeilenga
b219b6aa48 Remove DOS comment. 1999-06-05 20:14:02 +00:00
Kurt Zeilenga
48c8aa035d EXPERIMENTAL ldap_extended_operation() and ldap_parse_extended_result() 1999-06-04 00:34:04 +00:00
Kurt Zeilenga
a53823a613 Update comments to reflect RFC2251 specs. 1999-06-03 19:22:33 +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
21c70857f1 s/<stdlib.h>/<ac/stdlib.h>/ 1999-06-03 00:37:44 +00:00
Kurt Zeilenga
3046c0449e Fix up s/NULL.*/NULL/ errors 1999-06-02 23:21:06 +00:00
Kurt Zeilenga
f472d3abcf No anonymous unions. 1999-06-02 22:40:58 +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
09fe2bc905 Add experimental wrong heap detection behind LDAP_MEMORY_DEBUG macro. 1999-06-02 21:34:34 +00:00
Kurt Zeilenga
12176a0af9 Update Release/SRelease include paths 1999-06-02 04:08:50 +00:00
Kurt Zeilenga
e44971436c Minor adjustments to the LBER_VFREE() & LDAP_VFREE macros. 1999-06-01 19:25:17 +00:00
Kurt Zeilenga
8e60c8e287 Clean up memory handlers. Share vector free routines... ber_memvfree(). 1999-06-01 19:08:27 +00:00
Kurt Zeilenga
716523f1ac Clean up namespace 1999-06-01 19:03:47 +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
2718ec4238 Add "lutil*.h" to project. 1999-06-01 18:58:19 +00:00
Kurt Zeilenga
847c452c9d Add extended.c to projects
remove bogus libldap_r/apitest.ds[pw] files.
1999-06-01 02:07:05 +00:00
Kurt Zeilenga
f83e93af21 Share errcode lookup code. Modify ld_version conditions not to test absolutes.
Add asserts and additional param checks.
1999-06-01 02:06:12 +00:00
Kurt Zeilenga
60d9aeed6e Remove LDAP_LIBUI dependency. 1999-06-01 02:03:21 +00:00
Kurt Zeilenga
c581055b54 Add skeleton ldap_extended_operation routines. 1999-05-31 21:19:07 +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
Kurt Zeilenga
a641a9266d use LDAP_MALLOC instead of malloc. Check for allocation errors. 1999-05-31 20:04:15 +00:00
Kurt Zeilenga
7bd5b261fb Move most header inclusion below #ifdef HAVE_XXX.
Use LDAP_MALLOC instead of ch_malloc
1999-05-31 19:59:29 +00:00
Kurt Zeilenga
37636eabd3 Clean up LDAP_BOOL_GET and fetching via ldap_get_option().
Modify apitest to test for non-zero instead of LDAP_OPT_ON.
1999-05-31 17:30:22 +00:00
Julio Sánchez Fernández
2b69b706de Syntaxes.
Accept X- experimental clauses.
1999-05-31 12:04:06 +00:00
Julio Sánchez Fernández
f804c46da6 Cosmetic/spelling fixes. 1999-05-31 11:23:41 +00:00
Kurt Zeilenga
5176f4e356 Free strings returned by ldap_get_option(). 1999-05-31 05:34:49 +00:00
Kurt Zeilenga
d8032bcbaa Use #error if ctime_r nargs are screwy. 1999-05-31 05:34:13 +00:00
Kurt Zeilenga
c72cb0c8fe Remove dependency upon lber-int.h by using ber_set_option(). 1999-05-31 05:27:32 +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
Julio Sánchez Fernández
be051c3fb3 Relax some rules to survive Netscape DS brokennes, more to come.
A few parse_whsp were missing.
Detect and survive null input.
1999-05-30 00:01:53 +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
Kurt Zeilenga
87a8abe880 old_abandon should be int* not long*. 1999-05-29 03:32:33 +00:00
Kurt Zeilenga
4839e570fb safe_free_string() should be static 1999-05-29 01:45:55 +00:00
Kurt Zeilenga
cad31e00cc Add memory.c to -llber 1999-05-29 01:35:34 +00:00
Julio Sánchez Fernández
e6f9faa94a Fixed parsing of noidlen 1999-05-29 01:32:37 +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
27caa58f51 ber_clear() no longer needed. Removed. 1999-05-28 20:19:28 +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
Julio Sánchez Fernández
06c5f96b49 safe_string_free was freeing the string value, so we have to save it. 1999-05-28 18:51:21 +00:00
Julio Sánchez Fernández
8c954245fd Add schema support 1999-05-28 14:26:25 +00:00
Julio Sánchez Fernández
76da8881d2 Change to be in line with libldap, i.e. add schema 1999-05-28 14:25:14 +00:00
Howard Chu
d44ac9835a In try_read1msg, clear errno before calling ber_get_next, otherwise leftover
values will obscure EOF condition on closed sockets.
1999-05-28 05:19:18 +00:00
Kurt Zeilenga
6e0c7b95ab Death to LBER_END_SEQORSET. 1999-05-28 03:24:41 +00:00
Kurt Zeilenga
2b9a296eb4 Initial implementation of ldap_int_get_controls()... EXPERIMENTAL. 1999-05-28 02:15:57 +00:00
Kurt Zeilenga
c1501fd3a7 Use difftime() to determine cache age. 1999-05-27 22:48:14 +00:00
Kurt Zeilenga
f90277edc5 strlen returns size_t not int. 1999-05-27 22:33:12 +00:00
Kurt Zeilenga
8c793fa1c9 rename ldap_pvt_init_utils() to ldap_int_utils_init() and provide
prototype in ldap-int.h.
1999-05-27 22:25:55 +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
40874c6d2c Add missing MSVC5 workspace/projects. 1999-05-26 19:49:10 +00:00
Julio Sánchez Fernández
676558aa64 Provide human-readable syntax errors. 1999-05-26 19:21:55 +00:00
Julio Sánchez Fernández
fd488b3846 Fix namespace contamination, some comments added. 1999-05-26 13:52:11 +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
e8116a8a74 Use memcmp not strncmp for non-string comparisons. 1999-05-24 22:51:13 +00:00
Kurt Zeilenga
4b832f1d35 Do not set db_cachesize under BerkeleyDB 2.4. 1999-05-24 21:21:09 +00:00
Julio Sánchez Fernández
06239ebd66 Untested support for parsing attribute type definitions 1999-05-24 12:44:48 +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
5654a0b231 fix url vs url_in typo. 1999-05-21 22:20:28 +00:00
Kurt Zeilenga
ca2145cccf Initial checkin of ldap_search_ext() and friends. 1999-05-21 19:20:25 +00:00
Kurt Zeilenga
3d9c49f982 Fix typo in ldap_delete_ext() which caused msgid to be incremented twice. 1999-05-21 16:11:52 +00:00
Kurt Zeilenga
9c2ebd1f42 Assert pointer args 1999-05-21 03:56:17 +00:00
Kurt Zeilenga
6a56886cf5 etest/dtest now work correctly. Commented out bogus assert
in io.c.
1999-05-20 22:28:45 +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
68fb44b450 Fix initialization bug in ber_init_w_nullc()
Added assert(), additional comments, and a few minor adjustments.
1999-05-20 21:21:57 +00:00
Kurt Zeilenga
042898d2f0 Version.c deprecated in favor of mkversion.
Minor cleanup to lber files.
1999-05-20 19:38:03 +00:00
Kurt Zeilenga
1975433234 Deprecated in favor of mkversion. 1999-05-20 19:35:07 +00:00
Kurt Zeilenga
d42e658fcb Fixed bug in dtest code. 1999-05-20 00:04:16 +00:00
Kurt Zeilenga
e27ba3f0ee Improving e/d test (until I find the my damn bug) 1999-05-19 20:38:02 +00:00
Kurt Zeilenga
6c00e11fbc Enhance encode/decode test programs to encode sets, ie:
./etest '{sis}' | ./dtest '{sis}'
1999-05-19 19:10:55 +00:00
Kurt Zeilenga
8ef7993047 Removed lint. 1999-05-19 07:20:06 +00:00
Kurt Zeilenga
f9bbdb34c5 Add UL to more BER tags. 1999-05-19 06:27:35 +00:00
Kurt Zeilenga
6ee995f528 Add UL to LBER tags. 1999-05-19 06:13:44 +00:00
Kurt Zeilenga
f01a7dad53 s/HAVE_SYSLOG/LDAP_SYSLOG/g
Use <ac/syslog.h>
1999-05-19 01:58:23 +00:00
Kurt Zeilenga
df616d76ce Replace #ifndef WIN32 with #ifdef HAVE_SYSLOG 1999-05-19 01:54:33 +00:00
Kurt Zeilenga
3b16742eba Add LDAP_CONST to kerberos bind routines 1999-05-19 01:53:09 +00:00
Kurt Zeilenga
ddf8624abc Add LDAP_CONST to ldap_set_option() invalue 1999-05-19 01:52:46 +00:00
Kurt Zeilenga
11c052fae6 Missing LDAP_CONST from ldap_set_option() declaration. 1999-05-19 01:42:29 +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
bd30767a4f Fix typo EEE -> EE in LDAP_API_FEATURE_X_OPENLDAP_REEENTRANT 1999-04-30 11:48:36 +00:00
Hallvard Furuseth
c35af39248 Fix typo LDAP_END_SEQORSET -> LBER_END_SEQORSET 1999-04-30 08:23:32 +00:00
Hallvard Furuseth
fb1227a547 Remove superfluous \ at end of lines outside macros; DEC cc doesn't like them. 1999-04-30 06:39:19 +00:00
Hallvard Furuseth
786bbe4fc1 enclose macro arguments in () 1999-04-30 00:35:27 +00:00
Kurt Zeilenga
a80ff50a67 Lint removal: signed i < unsigned j 1999-04-27 05:19:32 +00:00
Kurt Zeilenga
504fac55c8 Clean up valid flag: _VALUE -> _VALID. 1999-04-27 05:18:21 +00:00
Julio Sánchez Fernández
bb7a0b816e Move declaration of st 1999-04-19 17:56:48 +00:00
Kurt Zeilenga
2813272234 Wrap stat() st_blksize use behind HAVE_ST_BLKSIZE 1999-04-17 03:28:20 +00:00
Gary Williams
2948d34f0a adjust project settings 1999-04-14 17:08:31 +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
Kurt Zeilenga
33dae09abd Don't hide the unlock fix behind SLAP_CLEANUP... 1999-04-06 03:23:40 +00:00
Hallvard Furuseth
d9d11a315f ifdef SLAP_CLEANUP: close db files, free memory, some other cleanup before exit 1999-04-06 01:55:11 +00:00
Hallvard Furuseth
d60bcb02c4 Plug memory leak in avl_free() 1999-04-04 21:29:22 +00:00
Hallvard Furuseth
24fd4404d2 Plug a few memory leaks 1999-04-04 05:04:48 +00:00
Hallvard Furuseth
a0b741102d Add missing \n's in Debug statements 1999-04-03 03:39:16 +00:00
Gary Williams
df02a81f6c put single and multi-threaded output in different directories 1999-04-02 15:33:41 +00:00
Gary Williams
30a51ac013 create single-thread configurations 1999-04-01 21:46:48 +00:00
Kurt Zeilenga
dda1fb4ba0 Updates for NT4 (MSVC5++).
Removed external include/library paths from projects.  External paths should
be set via Tools | Options | Directories.  This allows each developer the
freedom to install external libraries where they desire.
Used libdb.lib instead of libdbs.lib to avoid thread conflicts.
Added hs_regex.lib to library input.  We require some form of regex, this
library works (and is relatively easy for the user to install).
Removed a little lint which MCVC5 detected.
Need to sort out single-threaded vs multithreaded library generation.
1999-04-01 20:26:09 +00:00
Gary Williams
b454005ea8 NT port 1999-04-01 16:06:08 +00:00
Gary Williams
e86e39ad31 NT port 1999-04-01 16:00:24 +00:00
Gary Williams
3146c94e03 update project settings 1999-04-01 15:57:57 +00:00
Gary Williams
5fc6a9b0ca NT port 1999-04-01 15:51:11 +00:00
Juan Gomez
01d9ac9168 MDBM Support added. 1999-03-30 04:39:08 +00:00
Kurt Spanier
80400aba52 Fix ldbmcat crash problem: first use the key before deleting it! 1999-03-29 16:01:59 +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
30665cb19a Misc header cleanup 1999-03-29 02:07:18 +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
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
Hallvard Furuseth
2527e0d878 ROTATE<LEFT/RIGHT> error messages to stderr, not stdout 1999-03-27 18:12:58 +00:00
Kurt Zeilenga
11add79cb1 Update locking codes. 1999-03-26 17:43:23 +00:00
Kurt Zeilenga
af2183c35e close ldap.conf after reading it. 1999-03-25 22:19:42 +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
Hallvard Furuseth
520ea9b87f Parameters in front of va_alist are unportable; use va_arg instead. 1999-03-13 22:59:18 +00:00
Hallvard Furuseth
212e3d0f01 Add missing newline at end of file 1999-03-13 21:38:40 +00:00
Ben Collins
75d6e3f738 Added lockf.o to list of OBJS and lockf.c to list of SRCS 1999-03-13 20:32:40 +00:00
Ben Collins
9d2ea940e0 Check that FIONBIO is defined, also add defined(__BEOS__) to list for send/recv defines 1999-03-13 20:29:35 +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
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
Hallvard Furuseth
b6d85256e7 "const"ify some static arrays, and related parameters/variables 1999-03-09 08:40:36 +00:00
Hallvard Furuseth
083455be6b Bugfix: Move handling of boolean options in front of invalue==NULL error check 1999-03-09 07:49:56 +00:00
Hallvard Furuseth
26f257f40d Replace (int)LDAP_BOOL_GET(...) with LDAP_BOOL_GET(...)==LDAP_OPT_ON 1999-03-09 07:42:17 +00:00
Kurt Zeilenga
53fc115b6f Add LDIF_ to LINE_WIDTH 1999-03-09 00:50:41 +00:00
Kurt Zeilenga
96a5f20d41 Don't install CFFILES in ldap_r. 1999-03-08 23:14:43 +00:00
Hallvard Furuseth
3f65f687e5 Put the ATTR_BOOL option numbers in attrs.offset instead of attrs.data,
to avoid unportable casts of integers to pointers and back.
1999-03-06 18:31:19 +00:00
Kurt Zeilenga
2c06d0da09 Change (int) invalue == (int) LDAP_OPT_ON to invalue == LDAP_OPT_ON. 1999-03-06 17:11:35 +00:00
Hallvard Furuseth
509a927fcd Make block non-static and properly aligned 1999-03-06 16:31:13 +00:00
Hallvard Furuseth
3277a27b10 Remove unused variables 1999-03-06 16:29:05 +00:00
Kurt Zeilenga
94fea2a17e defined USE_NONBLOCK for now... need to implement configure detection.
rewrote sockbuf_buf_init macro not to expand its argument multiple times.
1999-03-06 07:52:33 +00:00
Hallvard Furuseth
4d7138a45c include ldap_pvt_thread.h, to verify func declarations against their definitinos 1999-03-06 06:24:15 +00:00
Hallvard Furuseth
c35f2086d8 Fix typo .size -> .dsize in ldbm_datum_free() 1999-03-06 04:25:50 +00:00
Hallvard Furuseth
9bef1a2bc1 Obey CTIME_R_RETURNS_INT 1999-03-06 04:23:17 +00:00
Ben Collins
caddcf8600 Moved 'key.flags = 0;' inside of DB2 defines, it isn't available in DB1 1999-03-06 04:15:18 +00:00
Kurt Zeilenga
553b601161 Move lber_get/set_option stuff to a private structure. 1999-03-06 02:36:21 +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
Hallvard Furuseth
3b5a5b792c Remove spurious backslash-newlines 1999-03-05 01:21:44 +00:00
Hallvard Furuseth
a2ee841121 Change LDAP.ld_lberoptions to `short', to realign with BerElement.ber_options 1999-03-05 01:20:55 +00:00
Hallvard Furuseth
61174d1960 Cast char* argument to hh_to_c() to Byte* 1999-03-05 01:04:56 +00:00
Hallvard Furuseth
921158f6fc Remove LDAP_P() from prototypes with 'Byte' arguments 1999-03-05 01:03:13 +00:00
Hallvard Furuseth
ac687014ec K&R varargs branch of ldap_log_printf() was bogus 1999-03-04 12:55:59 +00:00
Juan Gomez
00558f962b Added the functions ldap_rename2() and ldap_rename2_s() to support LDAP
v3 MODDN (MODRDN) operation on the client side.
1999-03-04 03:16:29 +00:00
Hallvard Furuseth
5b83a959d2 Don't choke if gethostby{name,addr}_r's number of arguments differ
from what the current code can handle.
1999-03-03 21:34:49 +00:00
Hallvard Furuseth
69c00e27da Posix Draft 4 (HAVE_PTHREADS_D4) fixes:
Use pthread_*attr_default.
Don't use a void return value from pthread_yield.
1999-03-03 21:21:40 +00:00
Hallvard Furuseth
74f808f44c Bugs with !HAVE_PTHREAD_KILL: include errno.h. Typo: sig should be signo. 1999-03-03 17:52:40 +00:00
Hallvard Furuseth
c98892cb17 cast printf(%s) argument from void* to char* 1999-03-03 17:32:26 +00:00
Hallvard Furuseth
7f79f57167 Remove untrue /*NOTREACHED*/: return 0 on EOF from stdin 1999-03-03 17:30:55 +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
Hallvard Furuseth
7bac8381a6 function pointers are incompatible with `void *'; remove NULL or replace with 0 1999-03-03 16:02:00 +00:00
Hallvard Furuseth
eaedc9228b function pointers are incompatible with void *'; remove != NULL' from tests. 1999-03-03 15:57:57 +00:00
Hallvard Furuseth
81e7f98e30 include lber-int.h to get lber_pvt_* declarations 1999-03-03 15:46:50 +00:00
Hallvard Furuseth
52e57a195a ber_scanf returns LBER_ERROR, not -1, on failure. 1999-03-03 15:45:06 +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
246a738c00 Fix typo in previous commit. 1999-03-02 03:09:04 +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
a8a05cbe48 Update NT port with support for -lldap_r and -lldbm.
Also add initial slapd .dsw/.dsp files.  Still needs work (mainly syslog).
1999-03-01 22:37:05 +00:00
Kurt Zeilenga
a2aa1c38ec Fix HAVE_WINSOCK for winsock32.lib 1999-03-01 21:08:07 +00:00
Kurt Zeilenga
fd9fbb3306 Update libpath. 1999-03-01 21:07:10 +00:00
Bart Hartgers
e26de67770 Patch to support to determine the number of args of the
gethostby{name,addr}_r functions.
Contributed by Juan Carlos Gomes IT#68 (apparently).

Also includes support for detecting ssleay in configure.in.
1999-02-25 13:07:27 +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
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
9cc9a84527 Remaining LDAP_COMPILING_R should be LDAP_R_COMPILE. 1999-02-20 18:33:24 +00:00
Hallvard Furuseth
d7451444c2 cast avl_free argument to IFP 1999-02-20 08:16:33 +00:00
Kurt Zeilenga
102f6f2f43 print.c doesn't belong in libldif.dsp. 1999-02-11 23:05:29 +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
4a19ae3567 Fix text2time to handle 4 digit years. Fix YEAR() to handle
tm_year being 100+.
1999-02-09 06:31:34 +00:00
Kurt Zeilenga
a3a576c3b9 Don't provide ldap.OpenLDAP.org and dc=OpenLDAP, dc=Org as the defaults.
Just use compiled in defaults.
1999-02-08 18:59:05 +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
0482baa520 Need KRB_LIBS to link test programs. 1999-02-04 19:21:04 +00:00
Kurt Zeilenga
e15e035bbb Fix XXDIR to use $(srcdir) so that VPATH works. 1999-02-04 18:13:51 +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
463b64a94c Backout recent init/startup changes in preparation for new
frontend-backend interface.
Includes a number changes to share common routines between
database api types.
1999-02-04 17:41:19 +00:00
Kurt Zeilenga
a68daccf16 Fix DB_ENV typo. 1999-02-04 05:14:38 +00:00
Kurt Zeilenga
d671c49b94 Fix set concurrency typos. 1999-02-03 18:29:27 +00:00
Kurt Zeilenga
c61114a4ff Fix typo suggested by Heiko W.Rupp in ITS#63 1999-02-02 20:38:45 +00:00
Kurt Zeilenga
bbc2dfa105 gdbm_nextkey() takes two arguments not one. 1999-02-02 20:36:10 +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
ba0c0e022c Fix ldap_send_initial_request() to open connection if not already
openned (by ldap_open()).  This allows ldap_init() to function
properly!
1999-01-31 01:09:00 +00:00
Kurt Zeilenga
4040fc39ca zap ber buf pointer on free. 1999-01-29 06:07:02 +00:00
Kurt Zeilenga
26d29bb2f4 Add (back in) destroy functions... 1999-01-29 06:05:18 +00:00
Kurt Zeilenga
2c4e2fbfb2 ldap_sort_entries() should try to malloc(0) when the count is zero.
should also return error in ldap_count_entries returns an error.
1999-01-29 03:56:18 +00:00
Kurt Zeilenga
98f2462af0 ldap_pvt_thread_cond_broadcast() was missing from stubs.
I probably deleted it by mistaked when axing cond attrs.
1999-01-28 23:40:26 +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
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
7eec267436 Add lber_log_print support to libldap.
Redefine Debug macro to call ldap_log_printf(NULL, lvl, fmt, ...)
Should replace each Debug statement with direct call to ldap_log_printf
passing LDAP session if available.
1999-01-26 00:27:51 +00:00
Kurt Zeilenga
d7079a10c3 Add support for LBER_OPT_LOG_PRINT_FN option. 1999-01-25 22:55:00 +00:00