Commit Graph

373 Commits

Author SHA1 Message Date
Kurt Zeilenga
9275b09954 Add a bit of hardening 2001-05-06 19:07:24 +00:00
Kurt Zeilenga
61d874af10 reimplementation of sb_max_incoming 2001-05-04 21:15:09 +00:00
Kurt Zeilenga
383391b460 detect and use fcntl (for BSD/OS)
detect inet_ntop (for MacOSX)
2001-05-03 05:53:34 +00:00
Kurt Zeilenga
00c645b9a1 ITS#133 2001-05-03 05:51:39 +00:00
Gary Williams
16e6422329 new logging 2001-01-17 17:08:44 +00:00
Kurt Zeilenga
fafbe5878b Clean up 2000-11-29 03:30:59 +00:00
Gary Williams
3fdbbcaba3 add new logging macros/defs (behind NEW_LOGGING) 2000-10-25 16:47:17 +00:00
Gary Williams
0e7f9b7ab4 try new logging routines (behind NEW_LOGGING) 2000-10-25 15:35:01 +00:00
Gary Williams
ecad3079e5 add new ber dump routine (behind NEW_LOGGING) 2000-10-25 15:33:39 +00:00
Kurt Zeilenga
7beb6e4f89 minor cleanup 2000-10-18 00:24:58 +00:00
Kurt Zeilenga
92625471e1 Fix typo 2000-10-14 02:13:11 +00:00
Gary Williams
1217a452e9 add typedef for log function that was in lber.h 2000-10-13 14:10:41 +00:00
Gary Williams
7f888171f7 update logging 2000-10-12 21:14:43 +00:00
Gary Williams
a10feabf25 slight change to macro 2000-10-12 21:02:58 +00:00
Gary Williams
d37f3e6ee2 first try at logging improvements 2000-10-12 20:01:12 +00:00
Kurt Zeilenga
1dc469e064 Remove max buffer constraint!
and general cleanup
2000-10-11 02:43:14 +00:00
Kurt Zeilenga
3c63a944eb Initialize globals as some linkers don't support shared, uninitialized
data segments.
2000-10-02 17:53:50 +00:00
Kurt Zeilenga
822bfc3670 Rework stringal decode to return { NULL, 0 } bv's instead of { "", 0 }
when len is 0.
2000-10-02 17:43:06 +00:00
Kurt Zeilenga
003a293e2b Don't specify LDFLAGS when using LTLINK to avoid duplicate
specfication of flags.
2000-10-01 08:10:37 +00:00
Kurt Zeilenga
6ec475cd61 Code cleanup 2000-09-22 22:43:30 +00:00
Kurt Zeilenga
55ad2c9319 Validate ber on get/set option calls 2000-09-16 01:28:20 +00:00
Kurt Zeilenga
4e1b3229d6 Another minor ber_dump output format change 2000-09-15 18:59:46 +00:00
Kurt Zeilenga
14abfc7fe6 Minor format adjust to ber_dump output 2000-09-15 18:10:52 +00:00
Kurt Zeilenga
b611ec4b87 consistently use ber_pvt_ber_*() routines 2000-09-15 05:56:37 +00:00
Ben Collins
ed7f95edb0 wrap unused function, ber_log_puts(), in #if 0 2000-09-15 02:51:34 +00:00
Kurt Zeilenga
611ccd1ccb Rework ber dump to provide both hex and text output 2000-09-14 22:28:45 +00:00
Kurt Zeilenga
25a9f7427d Remove CLDAP cruft 2000-08-18 04:25:00 +00:00
Kurt Zeilenga
ce856bd5c2 ber_bvstr() shouldn't play games with input string. 2000-08-15 17:01:40 +00:00
Kurt Zeilenga
5b856458a2 s/SAFEMEMCPY/AC_MEMCPY/
Use AC_FMEMCPY where appropriate (-llber)
2000-07-28 01:07:07 +00:00
Kurt Zeilenga
a50f391bb3 Working SASL security layers! 2000-07-28 00:04:07 +00:00
Kurt Zeilenga
19091cee32 Revert ber_peek_tag to older, more efficient implementation. 2000-07-26 23:32:39 +00:00
Kurt Zeilenga
19324c4292 Remove lint 2000-07-21 21:56:33 +00:00
Kurt Zeilenga
aea3e930d6 Remove unnecessary forward declaration 2000-07-21 21:29:41 +00:00
Kurt Zeilenga
ca5eab2ebc bit fields should be explicitly unsigned (unless space is allocated
for sign bit)
2000-07-20 19:50:40 +00:00
Kurt Zeilenga
4f4f59f333 Rework <ac/errno.h> to provide a STRERROR. Prefers errlist over
strerror() as strerror() may not be thread safe.  Likely should
be used by SLAPD.
2000-07-06 01:24:52 +00:00
Kurt Zeilenga
060ee8ee88 Add Steve Sonntag's (Novell) memory debugging extensions 2000-07-04 18:47:06 +00:00
Kurt Zeilenga
e2fa599482 Move old files to the Attic 2000-06-25 22:01:42 +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
9ef1a740c2 Round one of LDAP_F() macro changes. In this round we rename
macros into our namespace and limit use to headers.  A subsequent
round will add macros to separately handle forward declarations
of variables from declaration of function prototypes.  The last
round will add additional macros for declaring actual variables and
functions.
2000-06-18 19:48:07 +00:00
Kurt Zeilenga
b7d1b10bca Minor cleanup 2000-06-14 21:11:56 +00:00
Kurt Zeilenga
922c3ad954 Found ber_error_print pieces which I forgot commit. 2000-06-10 23:13:01 +00:00
Kurt Zeilenga
1ef14875db Thought I fixed these errors previously... oh well. 2000-06-10 23:06:08 +00:00
Kurt Zeilenga
a56c161bdb Misc code cleanup. 2000-06-10 22:39:30 +00:00
Kurt Zeilenga
7b836babb6 Fix LBER_MEMORY_DEBUG failed realloc bug 2000-06-10 00:17:55 +00:00
Kurt Zeilenga
61be4bd0c8 remove pointer v. int lint from ber_sockbuf_ctrl. 2000-06-08 01:08:01 +00:00
Kurt Zeilenga
c1117666b1 remove old STR_TRANSLATION feature. The use of this feature
was only of limited use with LDAPv2 (worked okay if no non-T.61
values existed) but downright dangerous in the face of LDAPv3.
Any translation must be schema aware and the BER isn't.
2000-06-05 19:22:19 +00:00
Mark Valence
bb1d03a5e8 Clean up some NT lint. 2000-06-04 04:35:13 +00:00
Kurt Zeilenga
b78eec4a25 Remove lint 2000-06-01 22:00:12 +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
1497337335 ITS#533: simplify ber_next_read 2000-05-26 01:23:47 +00:00
Kurt Zeilenga
1d00cd34c5 SOCKBUF_VALID should be called with sb not ber 2000-05-17 22:26:06 +00:00
Kurt Zeilenga
e3f3500942 Forget return in last commit 2000-05-14 03:38:27 +00:00
Kurt Zeilenga
e9d0b98a10 Update lber-encode/decode man pages
Add ber_get_enum() for symmetry
2000-05-13 23:08:25 +00:00
Kurt Zeilenga
29d9fa20a2 Y2k copyright update 2000-05-13 02:36:07 +00:00
Kurt Zeilenga
9417c5fdc7 Add (old) copyright... [we really should to update these] 2000-05-13 00:50:27 +00:00
Kurt Zeilenga
69fbf137aa make ntservice error to string routines static
#undef __RETSTR before #define
2000-05-13 00:48:17 +00:00
Kurt Zeilenga
fadaf7f706 Fix typo in last commit (fixing multiple byte tags) 2000-05-13 00:02:36 +00:00
Howard Chu
237b00049a Moved GetLastErrorString to ntservice.c. I missed it before, thought it
was unused but it's needed in ntservice.c
2000-05-12 23:53:14 +00:00
Kurt Zeilenga
58cede64c1 No longer needs <windows.h> 2000-05-12 23:43:33 +00:00
Kurt Zeilenga
304a57740a nt_err.c has moved from lutil to lber 2000-05-12 23:37:28 +00:00
Howard Chu
3dc83998c0 Moved nt_err from liblutil to liblber, renamed WSAGetErrorString to
ber_pvt_wsa_err2string.
2000-05-12 21:16:15 +00:00
Howard Chu
65d7521be1 Added LBER_OPT_LOG_PRINT_FILE to redirect the output of ber_error_print.
Used mainly on NT since stderr doesn't exist when slapd runs as a service.
2000-05-11 09:39:33 +00:00
Kurt Zeilenga
0b3a6786fe Use (unsigned char) -1 instead of 0xffU. 2000-05-03 18:55:27 +00:00
Kurt Zeilenga
459194f347 Fix typo in multbyte tag code 2000-04-26 09:17:05 +00:00
Kurt Zeilenga
da5673c71a Apply experimental multibyte tag fix 2000-04-25 10:42:32 +00:00
Kurt Zeilenga
c2050e04d3 ITS#479 fix: ber_put_seqorset() writes a few bytes beyond an allocated buffer
Commit based upon patch and comments provided by Alan Clark <aclark@novell.com>.
> Kudos to Dave Steck for the find and fix
2000-03-15 19:47:22 +00:00
Kurt Zeilenga
6c6ecc15d5 Add comment concern appropriate use of LDAP_MEMORY_DEBUG
(basically, it's for testing internals, don't enable it otherwise)
2000-02-16 23:51:34 +00:00
Kurt Zeilenga
0dbaf87730 Another round of changes behind -DSLAPD_SCHEMA_NOT_COMPAT
plus these changes unhidden changes:
	remove now meaning --enable-discreteaci configure option
	fix ITS#451, slapd filters
	Add ber_bvecadd() to support above
	constify ldap_pvt_find_wildcard() and misc slapd routines
	renamed some slap.h macros
	likely broken something
2000-02-14 20:57:34 +00:00
Kurt Zeilenga
22ba55371e Move ldap_utf8_*() declarations from ldap-int.h to ldap_pvt.h.
We may likely want to expose the routines at a later date (ldap_utf8.h?).
2000-01-22 21:09:24 +00:00
Kurt Zeilenga
6437785a82 Initial implementation of Kerberos password verification for
simple bind via:
	{KERBEROS}principal
Code is disabled by default (for security reasons).  Use
--enable-kpasswd to enable.  Behind SLAPD_KPASSWD.
Reworked Kerberos detection and split out KBIND as independent
feature (--disable-kbind) (LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND).
KBIND depends upon detection of KRB4 (or KRB425) support.  Detection,
building with eBones (as distributed with FreeBSD 3.4) okay, but
wasn't able to test as I don't have a K4 KDC handy.
--with-kerberos has a number of detection options... most likely
don't work properly.
2000-01-08 18:42:11 +00:00
Kurt Zeilenga
4c7739e6e5 ITS#408: add missing LDAP_END_DECL 1999-12-22 00:42:05 +00:00
Kurt Zeilenga
37d28e7d0d Add ber_bvstr and ber_bvstrdup string to berval allocators. 1999-12-17 05:37:33 +00:00
Kurt Zeilenga
b1639dadd6 Remove lint
Add copyrights
1999-12-13 04:53:59 +00:00
Kurt Zeilenga
354d0d5b50 Modify password code such that backend end routine calls into
frontend to complete parsing of extended op reqdata.
Modify password extended operation to allow optional id (DN)
entry to change (not tested).  Also, provide room to allow
server side password generation (not implemented).  Added optional old
password field to support proxying (not implemented).
Need to implement replog() support.
1999-12-09 21:30:32 +00:00
Kurt Zeilenga
942d37afc5 Set ber_errno here and there. 1999-12-06 06:33:26 +00:00
Mark Valence
402c511534 Removed some unused vars. 1999-12-06 04:11:50 +00:00
Kurt Zeilenga
482b1d7152 Remove lint. 1999-12-03 06:26:41 +00:00
Howard Chu
eaaea51b53 Fixes for NT dynamic linking. 1999-11-27 23:40:08 +00:00
Kurt Zeilenga
8b99e6cdbd Remove LBER_{TAG,INT,LEN}_{NTOH,HTON} macros. Rewrite code to
manual push bytes about.  Allows ber_*_t to be any 32-bit or
larger type.  Reworked AC_{HTON,NTOH}{L,S} macros to care only
about 32-bit (netlong) and 16-bit (netshort) reordering as
needed for BSD socket interface.
1999-11-26 23:32:18 +00:00
Kurt Zeilenga
c59d1a34db Use 'long' for LBER_INT_T. 1999-11-25 17:45:21 +00:00
Kurt Zeilenga
62a06eda3e Don't use 'int' for LBER_*_T types as we only have hton{s,l}.
Select appropriopriate hton{s,l} function to use in lber-int.h.
1999-11-25 17:10:45 +00:00
Kurt Zeilenga
5f3ec33b0c Backout premature commit. 1999-11-08 19:36:30 +00:00
Kurt Zeilenga
f4856214fb *** empty log message *** 1999-11-08 15:38:59 +00:00
Kurt Zeilenga
14f107e9ed Changes to support NT single debug 1999-11-01 22:17:06 +00:00
Kurt Zeilenga
b7af076fee Use centralized output directories.
Update single debug/release not to use service manager nor event manager.
Likely breaks MINGW32 port.
1999-11-01 21:25:22 +00:00
Howard Chu
e99eab787f Use new macros from configure.in to accomodate NT/Mingw32 environment.
See README 1.27 log
1999-10-28 07:31:59 +00:00
Howard Chu
5438e045af Fixed use of LDAP_F macro
See README 1.27 log
1999-10-28 07:29:25 +00:00
Howard Chu
74d93ac2f8 Fix Winsock-related warning and/or bugs.
See README 1.27 log
1999-10-28 07:17:08 +00:00
Kurt Zeilenga
10e886a601 Hack to free seqorset when ber_free(ber, 1) is called. 1999-10-21 17:52:33 +00:00
Kurt Zeilenga
d306bb1114 Remove lint caused by recent header changes. 1999-10-20 00:19:47 +00:00
Kurt Zeilenga
7ef67830af Minor adjustments based upon initial read of draft-ietf-ldapext-ldap-c-api-04.txt. 1999-10-19 18:57:38 +00:00
Ben Collins
53da7b6cda * build/top.mk: removed references to TMPROOT and added DESTDIR support
* all others: Added DESTDIR support
1999-09-22 21:51:30 +00:00
Kurt Zeilenga
e642a1b9cd Add OpenLDAP RCSid 1999-09-08 22:52:19 +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
879d3dbc5e Cleanup: Complete renaming lber_*() to ber_*(). Fix some sockbuf SASL code rot. 1999-09-06 04:33:41 +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
Kurt Zeilenga
9bf50242c3 Plug ber leakage:
result was leaking ber's in some error cases.  ber_flush now called
with no freeing so that caller of send_ldap_ber() can free its own ber.
c->c_currentber was also being leaked if connection was destory
current when a PDU input was outstanding.
Fixed ber_flush to free ber upon write only to file.
1999-08-27 05:45:53 +00:00
Kurt Zeilenga
b8a3a153bb Axe <varargs.h> support. Assume STDC C translator is available
to build OpenLDAP.
1999-08-24 00:27:53 +00:00
Kurt Zeilenga
9e82379b6e More CSRI malloc debugging support and destroy sockbuf fix.
Test008 now runs without leak.
1999-08-19 18:48:17 +00:00
Kurt Zeilenga
7275861039 Provide set_nonblock code which acts upon ber_socket_t and use this
as in sockbuf_set_nonblock code.  Allows -llber and -lldap to share
a common implementation.
1999-08-04 18:29:59 +00:00
Kurt Zeilenga
df8f7cbb9b s/exit(1)/exit(EXIT_FAILURE)/
s/exit(0)/exit(EXIT_SUCCESS)/
add <ac/stdlib.h> where needed and other minor header adjustments
1999-08-03 18:14:24 +00:00
Hallvard Furuseth
a9871d7402 Fix bitmasks '0xhh << n' to '(masked type)0xhh << n' 1999-08-02 01:55:48 +00:00
Hallvard Furuseth
2d4f915de9 Remove unsigned long: Change to ber_len_t or ber_tag_t.
Remove sizeof(long).
Change ber_getnint to return ber_len_t instead of ber_tag_t.
1999-08-02 01:50:08 +00:00
Hallvard Furuseth
6ae8c7e5cf Fix ber_put_int_or_enum to do its bit fiddling with unsigned values 1999-08-02 01:38:00 +00:00
Hallvard Furuseth
e7738c2df7 s/LDAP_CONST/const/ in ldap_pvt_asser() prototype 1999-08-01 21:41:46 +00:00
Hallvard Furuseth
8a97fb0201 Cast ber_read() arg to char* 1999-08-01 20:27:03 +00:00
Hallvard Furuseth
5ab862aee7 Pass socklen_t* instead of int* to getsockopt, accept, getpeername, recvfrom 1999-07-16 18:43:10 +00:00
Julio Sánchez Fernández
509fdc1e6d Deal with sb_trans_needs_read and sb_trans_needs_write 1999-07-13 19:40:10 +00:00
Julio Sánchez Fernández
eeec88a8c4 Add a couple of control flags to sockbufs and macros to test them. 1999-07-13 19:38:01 +00:00
Hallvard Furuseth
96e8fafb51 constify use of invalue in <ber/ldap>_set_option() 1999-07-13 05:17:50 +00:00
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
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
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
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
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
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
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
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
e44971436c Minor adjustments to the LBER_VFREE() & LDAP_VFREE macros. 1999-06-01 19:25:17 +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
60d9aeed6e Remove LDAP_LIBUI dependency. 1999-06-01 02:03:21 +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
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
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
cad31e00cc Add memory.c to -llber 1999-05-29 01:35:34 +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
Kurt Zeilenga
6e0c7b95ab Death to LBER_END_SEQORSET. 1999-05-28 03:24:41 +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
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
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
c35af39248 Fix typo LDAP_END_SEQORSET -> LBER_END_SEQORSET 1999-04-30 08:23:32 +00:00
Kurt Zeilenga
a80ff50a67 Lint removal: signed i < unsigned j 1999-04-27 05:19:32 +00:00
Gary Williams
2948d34f0a adjust project settings 1999-04-14 17:08:31 +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
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
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
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
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
Hallvard Furuseth
b6d85256e7 "const"ify some static arrays, and related parameters/variables 1999-03-09 08:40:36 +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
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
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
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
fd9fbb3306 Update libpath. 1999-03-01 21:07:10 +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
4040fc39ca zap ber buf pointer on free. 1999-01-29 06:07:02 +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
d7079a10c3 Add support for LBER_OPT_LOG_PRINT_FN option. 1999-01-25 22:55:00 +00:00
Kurt Zeilenga
28a671d10d Revamp build system yet again to move all external libraries to
end of link.    Basic order is:
	$LDFLAGS internal-libs external-libs $LIBS $LTHREAD_LIBS

LTHREAD_LIBS is last as -lpthread (or equiv) must be last on many systems.
LIBS is next to last as some user might have put -lpthread (or equiv)
in $LIBS.
1999-01-14 01:31:43 +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
763ce84f7c Minor update to copyright (forgot 'portions') 1998-12-28 20:46:13 +00:00
Kurt Zeilenga
88ec459a5f Add simple copyright notice 1998-12-28 20:38:04 +00:00
Hallvard Furuseth
aa3fa58f4c Plug memory leaks when ber input fails: Let ber_scanf & co set the
free the memory they have allocated, and set the arguments to NULL.
1998-12-26 09:05:57 +00:00
Randy Kunkee
a451ccc50b Fix line 62 of bprint.c "#elif" line with no expression.
Add check for to configure.in vsprintf, since HAVE_VSPRINTF is presumably
what was intended there.  Finally, also protected a bunch of if test
expressions with double quotes, as they were producing illegal test
commands.
1998-12-24 01:31:40 +00:00
Kurt Zeilenga
a3ac3be6a7 Added lber_get/set_option. Removed lber_debug/ldap_debug.
Updated other codes as needed.
1998-12-22 01:34:01 +00:00
Kurt Zeilenga
0024cf2f4b -lldap reentrantancy improvements from Bart Hartgers <A.Hartgers@phys.tue.nl>
including use of ctime_r, gethostby*_r, etc..  Also reworked ldap_sort_entries
to be reentrant.
Need to add code to properly set LDAP_API_FEATURE_THREAD_SAFE.
1998-12-19 01:27:20 +00:00
Kurt Zeilenga
3a5e383dbd Add draft-ietf-ldapext-ldap-c-api-01 routines ber_init()
and ber_flatten() to the -llber.
1998-12-18 21:08:28 +00:00
Kurt Zeilenga
edd464ee8f Update build environment:
default sysconfdir subdirectory is openldap instead of ldap.
    This removes conflicts with other ldap subsystems.  Should
    be configure option.
  *.conf files are now preserved.  A *.conf.default are always
    created with the latest conf.
  *.help and ldapfriendly are now placed in $(datadir)/$(ldap_subdir)
  updated man pages to reflect changes.
1998-11-29 19:48:28 +00:00
Hallvard Furuseth
7273fd47fd gcc -W cleanup 1998-11-23 01:46:32 +00:00
Hallvard Furuseth
e2b8daf62b gcc -W cleanup: Remove implicit int, remove unused idtest:usage() 1998-11-22 06:43:49 +00:00
Kurt Zeilenga
6f92e197dc Add libtool support based upon patch by Bart Hartgers <Hartgers@kfm1.phys.tue.nl>
Updated to use libtool 1.2 (with FreeBSD3.0 a.out v. elf detection).
  Updated autoconf to 1.12 with sed patch (don't use stock 1.12).
  aclocal.m4 is built using automake's aclocal, v1.3.
  Updated mkdep to support libtool .lo files.
Updated automake provided macros for TERMIOS, STRTOD, MKTIME, PTRDIFF_T
Autoconf now checks to ensure C compiler supports ANSI C prototypes.
Updated make files templates.
1998-11-22 04:22:28 +00:00
Kurt Zeilenga
1941422b2d LIBS needs to be redefined to link test programs. 1998-11-21 20:50:35 +00:00
Kurt Zeilenga
b35e18c03f Build library test programs. Fix compiling issues. 1998-11-21 20:39:24 +00:00
Kurt Zeilenga
2a0715d947 Remove lint in UserDirectory found on NT 1998-11-18 20:08:02 +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