Commit Graph

188 Commits

Author SHA1 Message Date
Kurt Zeilenga
ca6820c42e Add Internet Society copyright notices 2003-07-07 05:14:03 +00:00
Kurt Zeilenga
e83b55ebde intermediate response fix 2003-05-31 05:48:16 +00:00
Kurt Zeilenga
12304f64e5 Merge partial and intermediate responses 2003-05-31 05:01:49 +00:00
Howard Chu
215be5f443 Fix previous commit 2003-02-28 13:41:53 +00:00
Howard Chu
387a76934b Fix ITS#2335, properly parse multiple CLDAP responses in a single datagram
for both RFC1798 and MS CLDAP.
2003-02-28 12:57:28 +00:00
Howard Chu
747265419d Change "goto leave" to "goto exit" to avoid DEC namespace pollution 2003-02-22 01:49:55 +00:00
Howard Chu
8dac33b6c3 Fix previous commit 2003-02-14 10:27:39 +00:00
Howard Chu
844cc97928 More for re-entrant LDAP* handles. Works much better. 2003-02-13 23:02:31 +00:00
Howard Chu
a6b3a92cc5 Added ld_req_mutex and ld_res_mutex to protect ld_requests and ld_responses
queues for multithreaded access to LDAP*'s. Also used to protect writes and
reads of ld_sb, respectively. Appears to work...
2003-02-13 10:43:16 +00:00
Kurt Zeilenga
4b3396f5fd unifdef -DLDAP_NOCACHE 2003-02-09 07:42:18 +00:00
Kurt Zeilenga
48d47954a6 Rework #ifdef'ing of expermental controls to ease release engineering
using LDAP_DEVEL (to indicate experimental) to enable experimental features
(true for HEAD unless LDAP_REL_ENG is defined)
2003-02-08 21:53:05 +00:00
Jong Hyuk Choi
e1bf8cc437 Intermediate Response 2003-02-03 17:28:19 +00:00
Kurt Zeilenga
6939c53170 Happy new year 2003-01-03 20:20:47 +00:00
Howard Chu
6b53b4c507 Plug memleak in previous commit 2002-10-24 23:51:34 +00:00
Howard Chu
4396ad3316 ITS#2153, make sure sockbuf buffer is empty before returning (-2) from
try_read1msg. Blind fix, problem was not duplicated/tested.
2002-10-24 11:39:06 +00:00
Kurt Zeilenga
75e1620ee4 Add copy of OPL 2.0.1 and note in files which specifically refer
to 2.0.1 as to the location to the copy.
2002-10-15 23:22:20 +00:00
Howard Chu
456e6c73ab Fix ITS#1983, handle writing of large requests. Only one pending request is
allowed per LDAP* handle. It works, but needs review.
2002-08-29 12:12:36 +00:00
Julius Enarusai
6107ba67d2 Coverted LDAP_LOG macro to use subsystem ID int values instead of string values 2002-07-11 20:33:24 +00:00
Kurt Zeilenga
99f5983fb6 Consistently don't check for NULL session handle and other pointers.
Application is responsible for providing valid session pointers.
2002-06-05 15:46:26 +00:00
Howard Chu
b732d3ec55 Fix previous commit, only zero out v3 refer_cnt if we got a SEARCH_RESULT.
If we got a SEARCH_REFERENCE, we need to keep going...
2002-05-02 12:08:19 +00:00
Howard Chu
dc3e5fb99d ITS#818, ITS#980, ITS#1234 ldapsearch/referral hang - set refer_cnt to 0
after v3refs have been chased. They are fully processed by the time we get
back, so we should just return the current result message to the caller.
2002-04-16 12:53:13 +00:00
Howard Chu
bb17493d31 ITS#1732 signed/unsigned fixes 2002-04-11 08:47:37 +00:00
Julius Enarusai
70c73da22c Added LDAP_LOG messages 2002-04-01 22:08:32 +00:00
Howard Chu
25cd89b443 Use ber_scanf 'm' format for ignored UDP string 2002-01-17 23:30:05 +00:00
Kurt Zeilenga
0c36372134 Some memory allocation cleanup. 2002-01-06 02:18:37 +00:00
Kurt Zeilenga
0e2af54a3f Update copyright statements 2002-01-04 21:17:25 +00:00
Kurt Zeilenga
883196d348 Clean up some symbol scoping 2001-12-24 06:36:44 +00:00
Howard Chu
693a81e1db More CLDAP tweaks, to differentiate between real LDAPv2 CLDAP and "other"
LDAP/UDP messages. Slapd marks received CLDAP messages as LDAP_VERSION2.
The client library can generate CLDAP queries if -Protocol 2 is chosen,
otherwise not. LDAPv2 CLDAP cannot query the slapd rootDSE, gets no reply.
2001-10-02 01:02:23 +00:00
Howard Chu
647b5f84ee Resurrection/rewrite of CLDAP (RFC1798 Connectionless LDAP).
Compile with -DLDAP_CONNECTIONLESS to use this code.
For slapd, use "-h cldap://" to listen on UDP.
For ldapsearch, use "-H cldap://" to query on UDP.
Client-side support is very minimal:
  no automatic timeout/retries
  no basedn wildcard expansion on results
  no support for specifying multiple servers at once.
2001-09-28 00:18:40 +00:00
Kurt Zeilenga
790a18cb86 chasing multi-level referrals core dumps (ITS#1346) bug fix
from Zachary Amsden <zach@mirapoint.com>.
2001-09-24 18:50:44 +00:00
Kurt Zeilenga
978e417699 Make some additional UTF8 public
Remove lint
2001-07-21 23:13:04 +00:00
Kurt Zeilenga
bd4c6b84ea Bug in chkResponseList loop (ITS#1047) from David @ Novell 2001-03-15 03:11:52 +00:00
Kurt Zeilenga
a0828d6135 Rework scope defaulting to only default scope for references.
Might break LDAPv2 partial results
2001-01-10 23:48:24 +00:00
Kurt Zeilenga
d491ac55de Update handling of partial responses
Update comments
Update log messages
rename symbols per conventions
2000-10-18 00:26:53 +00:00
Kurt Zeilenga
f8e5ed25e9 Revised ITS#799 fix from Steve Sonntag <vtag@novell.com>
The problem is that the current code checks the queue inside
 the test for correct connecction state, so sometimes the queue
 doesn't get checked. This change moves the test outside
 the connection check.
2000-10-11 21:11:34 +00:00
Kurt Zeilenga
8e6062eb82 References with empty dn (ITS#817) 2000-10-11 04:23:23 +00:00
Kurt Zeilenga
6712936ef8 ITS#799: chasing multiple referrals bug
Patch provided by Steve Sonntag <vtag@novell.com>
2000-10-05 01:40:36 +00:00
Kurt Zeilenga
005a2f7aec Don't assert on null 2000-10-03 18:51:30 +00:00
Kurt Zeilenga
25a9f7427d Remove CLDAP cruft 2000-08-18 04:25:00 +00:00
Kurt Zeilenga
20e6dcec3b Improved but still broken client tools. 2000-07-04 21:49:00 +00:00
Kurt Zeilenga
49f4147385 Added -llber 'N' ber_printf format which inserts a NULL if
an internal flag set.  Used for SEQUENCE testing.  Flag must
be set using debugger.  Modified ber_printf to use new format
were needed for extensibility testing.

Added first cut -lldap support for extended responses.
Modified ldapsearch(1) to handle v3 search references when not
chasing.  Also added extended/unsolicited notification handling
and extended partial response handling.  Changes include a
number of LDIF enhancements.

Fixed getpassphrase() returns NULL bugs
2000-06-24 01:40:39 +00:00
Kurt Zeilenga
ae61f3dcaf Memory leak in referral code (ITS#596)
Apply patch from Steve Sonntag <vtag@novell.com>
2000-06-16 20:00:21 +00:00
Kurt Zeilenga
2e0912622b ITS#537: lber io rewrite from Gambor Gombas.
Copyright 2000 Gábor Gombás. All rights reserved.
This is free software. You may redistribute and use it under the same
terms as OpenLDAP itself.
2000-06-01 20:59:21 +00:00
Kurt Zeilenga
81d2747247 A couple of minor fixes to LDAPv3 referral chasing 2000-05-31 17:47:33 +00:00
Kurt Zeilenga
a26cef7fc8 LDAPv3 referrals changes by Steve Sonntag @ Novell 2000-05-31 17:34:43 +00:00
Kurt Zeilenga
63de8a6ea5 s/0/LDAP_MSG_ONE/ per Steve's patch (ITS#542) 2000-05-26 01:11:18 +00:00
Kurt Zeilenga
29d9fa20a2 Y2k copyright update 2000-05-13 02:36:07 +00:00
Howard Chu
568e25a7a9 ldap_result was losing messages when multiple msgids were queued,
and results were being returned one-at-a-time. Ugh, this cost me two
days, loss of hair, sleep, etc.....!
1999-11-30 13:32:06 +00:00
Mark Valence
e20d6dfb8b bug fixes for ldap_msgtype and ldap_msgid 1999-10-30 18:33:37 +00:00
Kurt Zeilenga
403f4479bc Add OpenLDAP RCSid to *.[ch] in clients, libraries, and servers.
Replace old Id as needed (back-tcl).
Leave updating of contribWare to contributors (for now).
1999-09-08 19:06:24 +00:00
Hallvard Furuseth
c09a2c63e7 Cleanup:
Fix printf formats, remove unused variables, add missing prototypes in slapd,
add static/const, add some return types or change to void return type.
1999-09-02 08:05:17 +00:00
Hallvard Furuseth
fb3b8e5ef1 Fix LDAP_CONNECTIONLESS code rot 1999-07-13 06:39:55 +00:00
Kurt Zeilenga
37fceeb662 Minor cleanup of ldap_result(). 1999-06-28 22:20:04 +00:00
Kurt Zeilenga
669b8f4047 ber_int_t, ber_tag_t, ber_socket_t, ber_len_t
added lber_types.h.nt, lber_types.h.in
removal of NULLxxx internal macros (in favor of NULL).
ch_free added to slapd,slurpd/ch_malloc.c
#define free ch_free (should be removed after s/free/ch_free/g) in proto-slap.h
ch_malloc and friends use ber_memalloc and friends
1999-06-18 23:53:05 +00:00
Kurt Zeilenga
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
a53823a613 Update comments to reflect RFC2251 specs. 1999-06-03 19:22:33 +00:00
Kurt Zeilenga
21c70857f1 s/<stdlib.h>/<ac/stdlib.h>/ 1999-06-03 00:37:44 +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
Kurt Zeilenga
1bcec8bf6a Add LBER_ and LDAP_ memory allocators/deallocators for internal
library use:
  LBER_ macros expand to system routines.
  LDAP_ macros expand to new ber_ allocators.

Add ber_ and ldap_ memory allocators/deallocator:
  ber_ routines are wrappers of LBER_ macros.
  ldap_ routines are wrappers of ber_ routines.

Removed safe_realloc() macro from various files.  This issue
(if an issue) should be resolved across whole package.

ldapmodify.c now uses ber_ allocators to resolve ber_bvfree()
vs. WIN32 multiple heaps issue.

These changes should facilate implementation of
  ber_set_option( NULL, LBER_OPT_MEMORY_FN, ...)
and
  ldap_set_option( NULL, LDAP_OPT_MEMORY_FN, ...).
1999-05-29 01:19:14 +00:00
Kurt Zeilenga
4e5ed2dffc Changed lc_conn to be a pointer to a BerElement to aid in state management.
Added validation to exposed opaque data structures (BerElement, Sockbuf,
and LDAP).  Added macros BER_VALID, SOCKBUF_VALID, LDAP_VALID.
Added ber_pvt_ber_bytes() and ber_pvt_ber_remaining() macros to hide
some ber internals.  These really should be handled by ber_get_option().
1999-05-28 19:33:05 +00:00
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
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
9c2ebd1f42 Assert pointer args 1999-05-21 03:56:17 +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
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
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
4d2761a6a6 Add simple copyright notice. 1998-12-28 20:53:15 +00:00
Kurt Zeilenga
138d76ecf4 getentry.c: LDAP_RES_SEARCH_REFERENCE changes after fixing loop initializer.
references.c: fix same bug here.  need to implement parsing.
Still need to implement chasing in cldap.c/result.c
1998-12-24 06:00:53 +00:00
Hallvard Furuseth
7273fd47fd gcc -W cleanup 1998-11-23 01:46:32 +00:00
Kurt Zeilenga
a48b606a2f Initial LDAP_API_FEATURE_X_OPENLDAP commit:
configure generates ldap_features.h based from ldap_features.h.in
  LDAP_REFERRALS -> LDAP_API_FEATURE_OPENLDAP_V2_REFERRALS
  LDAP_DNS -> LDAP_API_FEATURE_OPENLDAP_V2_DNS
1998-11-09 19:41:09 +00:00
Kurt Zeilenga
5960272713 Split out ldapoptions from struct ldap to facilate global options.
Add openldap_ldap_initialize() call to ldap_init/ldap_open/ldap_get/set_options.
1998-11-09 18:40:37 +00:00
Hallvard Furuseth
c6e48d6770 Typo when !LDAP_REFERRALS 1998-11-05 04:58:52 +00:00
Hallvard Furuseth
f81ee9b63e Added ldap_msgtype() and ldap_msgid() 1998-11-04 23:51:31 +00:00
Hallvard Furuseth
d171cd4f42 Some gcc -W cleanup 1998-11-04 13:15:18 +00:00
Kurt Zeilenga
8333a03346 struct ldap is now opaque to clients.
updated clients to use ldap_get/set_options
ld_options is renamed ld_booleans.  ldap-int.h has accessor macros.
updated libldap to use new accessor macros.
1998-11-04 01:41:00 +00:00
Kurt Zeilenga
42f2a83607 rename ber_init() to ber_init_w_nullc in preparation of LDAPv3 ber_init() 1998-10-26 02:38:39 +00:00
Kurt Zeilenga
702109706b update ldap/lber headers towards ldapext-ldap-c-api-01 1998-10-26 01:18:41 +00:00
Kurt Zeilenga
dd51f86042 More files that didn't get merged properly. 1998-10-25 03:13:43 +00:00
Kurt Zeilenga
cbc4b47f70 removed lint 1998-08-20 19:42:38 +00:00
Kurt Zeilenga
2cf9690f9f Added support for SLEEPYCAT DB2.
Modified main makefile to support local Make-common.  Builds file
from Make-common.dist.
1998-08-20 00:05:08 +00:00
Kurt Zeilenga
fa2da63ca4 Merge from LAMBERT branch 1998-08-17 23:26:25 +00:00
Kurt Zeilenga
c46afcbd63 Backed up LDAP world P16, causes hang 1998-08-14 05:08:34 +00:00
Kurt Zeilenga
0b0c178c1a LDAPworldP16: Search responses may not be returned properly 1998-08-09 03:08:09 +00:00
Kurt Zeilenga
29eda9c799 LDAPworldP15: Internal LDAP function rename 1998-08-09 03:04:12 +00:00
Kurt Zeilenga
42e0d83cb3 Initial revision 1998-08-09 00:43:13 +00:00