Commit Graph

436 Commits

Author SHA1 Message Date
Hallvard Furuseth
5ee9264465 Fix assignment of <char/int>* to unsigned <char/int>* and vice versa. 2003-05-02 13:29:28 +00:00
Howard Chu
23b63aac39 Free ber mem arrays in reverse order. (better for sl_free) 2003-04-29 21:09:02 +00:00
Hallvard Furuseth
778a38f49c Reduce warnings: Add missing 0 or NULL initializers for struct members. 2003-04-29 16:36:19 +00:00
Howard Chu
deea8db4cd EBCDIC fix - ber_pvt_strcopy is now lutil_strcopy 2003-04-25 12:32:15 +00:00
Howard Chu
a413bab19a Clean up prev commit 2003-04-24 04:20:17 +00:00
Howard Chu
b6111d793e Fix multi-byte tag parsing 2003-04-24 03:59:45 +00:00
Howard Chu
bcf7ab26e4 ITS#2465 fix? ber_get_next must read at least sizeof(tag)+sizeof(len)
which should be at most 8 bytes. However if we read more than the minimum
message length, we have a problem because we steal bytes from any following
message, and there is no buffer mechanism to push back excess data.
The shortest legitimate message is Unbind at 7 bytes, but there shouldn't
be anything following it. Abandon at 8 bytes is next, so always requesting
at least 8 bytes should be safe. Always requesting 9 was a problem.

Please double-check these assumptions...
2003-04-24 02:10:18 +00:00
Howard Chu
d14ff18d7f ITS#2458 fix array decoding 2003-04-24 01:37:01 +00:00
Howard Chu
42e7845d81 More malloc context tweaks 2003-04-10 06:14:16 +00:00
Howard Chu
ca12bb75c7 Extended API for ber_mem functions, add context argument.
Must always use ber_mem funcs, even if CSRIMALLOC is present.
2003-04-09 13:25:11 +00:00
Howard Chu
e240135305 ITS#2434 ber accessors 2003-04-09 09:41:02 +00:00
Kurt Zeilenga
e41ca42de1 mark a few translatable strings 2003-04-06 06:19:13 +00:00
Kurt Zeilenga
1b37568b00 Use ifdef not comment to comment out code 2003-03-22 22:28:57 +00:00
Howard Chu
8a8ae8bf85 Add comment to previous 2003-03-12 03:23:09 +00:00
Howard Chu
066e3310a9 ITS#2365 - preserve internal ber_tag as well as ber_ptr for rewinding. 2003-03-12 02:33:53 +00:00
Pierangelo Masarati
e24f55b29a silence warning 2003-03-04 09:16:57 +00:00
Howard Chu
50ecec94eb Fix ITS#2344, prev commit changed too much. 2003-03-03 23:44:22 +00:00
Howard Chu
3cc07977fa Replace recursive get_stringbvr with iterative get_stringbvl to avoid
stack overrun when parsing large groups
2003-03-03 15:54:49 +00:00
Howard Chu
ec497cf529 Use fixed sizes for ber_get_next to avoid 64-bit hangs. 2003-03-02 04:02:39 +00:00
Kurt Zeilenga
aa291a3492 We should be calling libtool --finish when install libraries 2003-02-09 23:10:29 +00:00
Howard Chu
5354dbf269 ber_flush shouldn't be logging with _ANY, changed to _TRACE 2003-01-31 22:45:19 +00:00
Howard Chu
60d621fc04 Fix typo 2003-01-23 03:35:31 +00:00
Howard Chu
caeb6fc1f0 Fix ITS#2280, reject sequences with invalid lengths 2003-01-23 02:19:59 +00:00
Kurt Zeilenga
bd9bf709aa ITS#2275: PROTOS ber_get_next() fix
Needs review!!!!
2003-01-22 22:29:11 +00:00
Hallvard Furuseth
f963a16150 Remove an implicit int, to silence gcc warnings. 2003-01-19 14:03:11 +00:00
Hallvard Furuseth
9d11c5ea46 Remove pointless `unsigned < 0' test. 2003-01-19 14:02:06 +00:00
Kurt Zeilenga
6939c53170 Happy new year 2003-01-03 20:20:47 +00:00
Howard Chu
8b3b044dac Fix ITS#2246, fix in rev 1.73 was in the wrong place 2002-12-20 00:33:10 +00:00
Howard Chu
6a37f1ae80 Added ber_flatten2 - uses passed in struct berval, allocates copy or
directly re-uses existing ber buf.
2002-12-18 19:15:27 +00:00
Kurt Zeilenga
235973571a proxy authz control (client only)
Misc control cleanups (client only)
2002-11-28 02:26:55 +00:00
Howard Chu
10a194feb5 ITS#2128, setvbuf is unreliable 2002-11-27 04:13:19 +00:00
Kurt Zeilenga
6b42a33152 Reorder build order to ensure -llutil is available -llber and
-llber is available for -llunicode.  Add -llber to ucgendat
(to pick up snprintf).
2002-11-26 20:18:03 +00:00
Pierangelo Masarati
256f5bbe57 silence warnings 2002-11-10 19:57:16 +00:00
Kurt Zeilenga
9cfcdc432b Fix ITS#2142 2002-10-17 16:55:42 +00:00
Kurt Zeilenga
2a8d73e25a Bump EXBUFSIZ up a bit 2002-10-08 20:56:03 +00:00
Kurt Zeilenga
f833b02518 Fix realloc() bugs 2002-10-08 20:37:30 +00:00
Howard Chu
890d4b9449 Moved stdio replacements from liblutil lutil_* to liblber ber_pvt_*. 2002-09-10 00:47:32 +00:00
Howard Chu
4d8a2e2815 Remove dependencies on HAVE_VSNPRINTF, use replacement in liblutil/stdio.c
if needed. Same check for snprintf.
2002-09-06 20:54:22 +00:00
Howard Chu
536019beb4 For ITS#1983, in ber_pvt_sb_do_write, partial writes are not failures 2002-08-29 09:46:19 +00:00
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