Commit Graph

397 Commits

Author SHA1 Message Date
Howard Chu
1c69a2ab2b ITS#1998 ber_mem2bv should accept 0-length calls, just like ber_strdup. 2002-08-06 02:35:51 +00:00
Howard Chu
91aff0b3e2 Revert previous commit. Fix needs more design. 2002-08-01 07:09:11 +00:00
Howard Chu
478283ea47 ITS#910, ITS#1983 retry partial writes in ber_pvt_sb_do_write
blind fix, needs testing
2002-08-01 03:03:52 +00:00
Howard Chu
0fcec3a01c test programs need -llutil 2002-07-27 03:06:15 +00:00
Howard Chu
a20390528d Fix previous commit, "data" disappeared... 2002-07-26 03:14:13 +00:00
Howard Chu
f0b25d7b2c Conditionalize use of vsyslog 2002-07-26 02:56:01 +00:00
Kurt Zeilenga
e6460769ab Misc sprintf/snprintf cleanup 2002-07-23 18:26:33 +00:00
Julius Enarusai
a6730db3e9 debug.c file moved from liblutil to liblber due to changes in LDAP_LOG macro and global variable ldap_logvels 2002-07-11 23:26:34 +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
Howard Chu
2adfd47e88 Fix SEGV on single-byte connection input 2002-07-11 12:26:35 +00:00
Howard Chu
5e6c17bb2b ITS#1891 in ber_flush, no-op if towrite == 0 2002-06-18 01:00:27 +00:00
Kurt Zeilenga
709ce4fa6c Re: Patch: ctype functions require 'unsigned char' args (ITS#1678)
================
Written by Hallvard B. Furuseth and placed into the public domain.
This software is not subject to any license of the University of Oslo.
			================

Here are fixes for more places where the argument to ctype.h functions
should be in the range of `unsigned char'.

Explanation of the last patch (to schema_init.c:bvcasechr()):
TOLOWER() and TOUPPER() return values in the range of `unsigned char',
but bvcasechr() then compares those values with a plain `char'.  So I
convert the return values from TOLOWER()/TOUPPER() to `char' first.

Hallvard B. Furuseth <h.b.furuseth@usit.uio.no>, April 2002.
2002-04-15 20:42:42 +00:00
Howard Chu
bb17493d31 ITS#1732 signed/unsigned fixes 2002-04-11 08:47:37 +00:00
Pierangelo Masarati
4a8ab5dbf2 Mostly based on patches provided by Hallvard B. Furuseth
ITS#1677 - cast away const warnings
ITS#1678 - unsigned char args to ctype funcs
ITS#1682 - don't redefine ldap_debug
ITS#1683 - uninitialized vars
ITS#1703 - ldo_debug initialization
ITS#1705 - unsigned testing
ITS#1706 - socklen_t args
ITS#1719 - back-tcl update (other cleanups/fixes/improvements; yet untested)
ITS#1724 - integerNormalize/integerFilter/integerIndexer bugs
ITS#1725 - libdes not required

Implement back-null (/dev/null style backend)
Cleanup some misc warnings ("%lu" format, unused/uninitialized vars,
        ambiguous operator precedence)

Kurt, please regenerate configure
2002-04-08 09:43:22 +00:00
Kurt Zeilenga
26b99bc35d ITS#1701. Fix ber_scanf() return tag handling.
Based upon patch submitted by Hallvard B. Furuseth <h.b.furuseth@usit.uio.no>.
2002-04-02 18:40:04 +00:00
Kurt Zeilenga
a64cae0f8c Need a bigger buffer 2002-03-23 21:14:50 +00:00
Pierangelo Masarati
2aec424646 use memchr in ber_bvchr 2002-02-14 21:10:13 +00:00
Pierangelo Masarati
215448ac83 substrings match works with NULs in UTF8 strings 2002-02-14 18:55:38 +00:00
Howard Chu
933f6a5fdd For ITS#1601, add ber_init2() using given buffer in-place instead of
allocating a copy.
2002-02-14 13:32:40 +00:00
Kurt Zeilenga
63bdcda971 Fix for Linux on zSeries. 2002-02-13 21:26:24 +00:00
Pierangelo Masarati
39891e4e5b make UTF8STringNormalize handle NUL 2002-02-13 21:25:57 +00:00
Howard Chu
b1c39eff65 Fix previous commit, need to detect very short packets. 2002-02-13 11:29:05 +00:00
Howard Chu
ab099caed5 ber_get_next: return error if decoded ber_len is smaller than actual count 2002-02-13 09:59:10 +00:00
Kurt Zeilenga
ce07fb958e Update libtool usage
s/-L.../libraries -lldap/.../libraries/libldap/libldap.la/
2002-02-10 22:42:51 +00:00
Howard Chu
ac1332cdb8 Renamed BVarray to BerVarray. Moved slapd:bvarray_{add,free} to
liblber:ber_bvarray_{add,free}.
2002-01-14 01:43:17 +00:00
Kurt Zeilenga
ce2d8ebc7e Misc cleanup, lint removal, and minor optimizations 2002-01-13 05:00:59 +00:00
Howard Chu
4298f5d991 Rewrote ber_get_next, fixed byte-order dependency on ber_tag and optimized 2002-01-13 03:00:45 +00:00
Howard Chu
0ecc0414a5 Fix struct initialization in ber_scanf() for ANSI C conformance 2002-01-12 02:23:04 +00:00
Kurt Zeilenga
7db15e9d12 Remove lint. 2002-01-07 21:48:17 +00:00
Howard Chu
5fb87a7d6c Changed 'w' format character to 'M': 'm' and 'M' for "memory" ? 2002-01-06 06:10:05 +00:00
Howard Chu
c6384d875e Added doalloc flag to ber_get_stringbv. Added 'm' type to ber_scanf
to scan a berval in-place.
2002-01-06 05:36:07 +00:00
Howard Chu
76386bde5e Cleanup lint in previous commit 2002-01-06 03:05:02 +00:00
Howard Chu
b92e0011dd Prep for in-place parsing. Cache a ber_tag byte.
No visible impact from these changes.
2002-01-06 02:23:36 +00:00
Kurt Zeilenga
c36352c173 Misc allocator cleanup 2002-01-05 19:38:54 +00:00
Kurt Zeilenga
f1afebe727 struct * are not to be const'ified 2002-01-05 18:54:04 +00:00
Pierangelo Masarati
d0261ee534 leftover ber_bvdup eliminated; rewritten ber_bvdup in terms of ber_dupbv; eliminated wrapper macro; other ber_* improvements 2002-01-05 17:49:59 +00:00
Pierangelo Masarati
1cf91cd6db meaningful message in case max_incomingis hit 2002-01-05 17:16:18 +00:00
Kurt Zeilenga
0e2af54a3f Update copyright statements 2002-01-04 21:17:25 +00:00
Kurt Zeilenga
e60d22e3c6 Quick fix for NULL sos 2002-01-03 23:25:25 +00:00
Kurt Zeilenga
28bc149884 Remove lint. 2002-01-03 20:04:31 +00:00
Howard Chu
7a853f3030 One more hack to ber_get_stringbvr for do_search 2002-01-03 05:36:26 +00:00
Howard Chu
61aa7bef74 Fix previous commit 2002-01-03 03:44:38 +00:00
Howard Chu
276b52098d Cleanup, added some explanation/comments 2002-01-03 03:30:55 +00:00
Howard Chu
bab600baf6 Safety checks for bvec's in previous patch 2002-01-03 03:11:14 +00:00
Howard Chu
829b49b5c6 New ber_get_stringbvr recursively decodes a vector, to avoid
hard-coded TMP_SLOTS limitation.
2002-01-03 02:53:41 +00:00
Kurt Zeilenga
dedc7588c9 We'll need queue macros in -llber... 2002-01-03 00:49:52 +00:00
Howard Chu
dd6fc04587 Fix externs, moved to lber-int.h 2002-01-02 21:19:45 +00:00
Kurt Zeilenga
763c0de59b Rework filter code
Misc cleanup / lint removal
2002-01-02 17:06:56 +00:00
Howard Chu
670c66bda9 Added 'W' fmt char for BVarrays 2002-01-02 08:50:07 +00:00
Howard Chu
445a4766ea Added ber_get_stringbv 2001-12-31 14:43:54 +00:00
Howard Chu
ac39aa5032 Tweak previous commit 2001-12-31 12:57:17 +00:00
Howard Chu
d8e70bd5f4 in sb_debug_read/write save errno before logging a failure.
ber_log_printf can cause errors of its own and obscure the original.
2001-12-31 12:50:09 +00:00
Howard Chu
fbc54d47d3 Added ber_free_buf() 2001-12-31 06:01:59 +00:00
Howard Chu
327f253183 Add optional len to ber_str2bv 2001-12-26 13:45:22 +00:00
Howard Chu
733056970e Changed ber_bvdup to ber_dupbv with destination provided 2001-12-26 11:15:28 +00:00
Howard Chu
fb3af1ccbd Merged ber_bvstr and ber_bvstrdup into ber_str2bv. 2001-12-26 10:06:19 +00:00
Kurt Zeilenga
b3b17ca4e7 Remove srchpref and disptmpl stuff. 2001-12-19 21:46:34 +00:00
Kurt Zeilenga
d0991d97fb const'ify and remove lint 2001-12-19 21:22:04 +00:00
Howard Chu
e5eb270e6c from jon@symas.com - misc Windows cleanup 2001-12-17 22:42:55 +00:00
Kurt Zeilenga
abd9be4def Remove lint and misc MSVC updates 2001-12-09 02:34:45 +00:00
Howard Chu
0552b1c53f NT updates from jon@symas.com. 2001-12-07 04:03:25 +00:00
Kurt Zeilenga
850702ba99 Remove lint 2001-12-04 06:14:16 +00:00
Kurt Zeilenga
4041ef05bf Slight memfree cleanup 2001-12-04 06:10:10 +00:00
Kurt Zeilenga
f83cbc2c84 Fix typo in last commit 2001-11-04 17:50:16 +00:00
Kurt Zeilenga
9bd4308edf Fix realloc bug (ITS#1410) 2001-11-03 22:07:41 +00:00
Pierangelo Masarati
97e8a2a9da fixes ITS#1398 2001-10-20 15:49:05 +00:00
Pierangelo Masarati
fefc29786c skeleton of ldap_str2nd/dn2str; works with most of the simple cases, but there's much to do with unicode, I think 2001-10-18 19:00:07 +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
6cc6a187da Fix an off by one bug which could cause a realloced buffer to be
too small.  Changed extra size algorithm to use a much simplier
approach and detailed non-optimized version.
2001-09-22 03:18:02 +00:00
Howard Chu
2f6b7e3d43 Check debug level before invoking debug routine, slight optimization 2001-09-21 17:53:16 +00:00
Kurt Zeilenga
978e417699 Make some additional UTF8 public
Remove lint
2001-07-21 23:13:04 +00:00
Kurt Zeilenga
a36a6211e5 Regen 2001-05-12 18:44:07 +00:00
Kurt Zeilenga
9adfb3552a Minor redef 2001-05-07 03:50:53 +00:00
Kurt Zeilenga
9046576228 Misc cleanup 2001-05-07 03:43:23 +00:00
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