Commit Graph

1073 Commits

Author SHA1 Message Date
Kurt Zeilenga
10a6e51521 All close and redirect stdin, stdout, stderr. 2000-01-11 08:04:59 +00:00
Kurt Zeilenga
1fb42bf957 Revamp detach code to ensure stdin, stdout, stderr get closed. 2000-01-11 02:20:01 +00:00
Kurt Zeilenga
34fe70cc71 Validate krb5_init_context 2000-01-10 21:37:04 +00:00
Kurt Zeilenga
38f0b890ab Borrowed a bit to literally... s/pop/ldap/ s/popper/slapd/ 2000-01-09 00:20:00 +00:00
Kurt Zeilenga
e988e175a6 Minor fixes. 2000-01-08 18:51:27 +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
Luke Howard
5a0bbd7eed Imported <ldap.h> in <ldap_pvt.h> so ldap_pvt_sasl_bind() has necessary
types. Changed const sasl_callback_t * to LDAP_CONST sasl_callback_t *.
2000-01-05 12:56:17 +00:00
Luke Howard
a466a64318 Added support for connecting to LDAP servers located using DNS
SRV records. Added lock around resolver library which is shared
by the DNS SRV code and the getdxbyname() code.
2000-01-03 02:33:22 +00:00
Luke Howard
57b62dc7d4 Added ldap_pvt_sasl_bind() prototype to ldap_pvt.h. This
required importing sasl.h into ldap_pvt.h, thus that import
was removed from ldap-int.h.
2000-01-03 00:15:30 +00:00
Luke Howard
736b8d0a24 Braced ldap_connect_to_path() in #ifdef LDAP_PF_LOCAL so as to compile
without PF_LOCAL support.
2000-01-02 01:56:01 +00:00
Luke Howard
9b4e3b2234 Merged in preliminary support for Cyrus SASL library;
support for DCE slash-delimited, left-to-right DNs;
support for a domain socket transport (enable with
--enable-ldapi); and extensions to URL parsing to
support the latter transport.
2000-01-02 01:21:25 +00:00
Howard Chu
d92d403a76 NT requires $(SECURITY_LIBS) at link time. 1999-12-26 00:11:14 +00:00
Kurt Zeilenga
4c7739e6e5 ITS#408: add missing LDAP_END_DECL 1999-12-22 00:42:05 +00:00
Kurt Zeilenga
f3a650b8af Add comment about removing HANDSOFF may case alignment problems 1999-12-18 19:51:49 +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
ab7c490960 Add BINDDN user-only directive to .ldaprc
Used only for simple bind when dn == NULL and password != NULL.
1999-12-17 03:27:16 +00:00
Kurt Zeilenga
30411f8402 Add slappasswd to generate rootpw. 1999-12-16 02:18:50 +00:00
Kurt Zeilenga
30ffb54064 ITS#399: timelimit/timeout handling
ITS#400: LDAP_TIMEOUT handling
1999-12-16 00:41:18 +00:00
Kurt Zeilenga
096dcdc580 Add support for useronly configuration attributes. 1999-12-14 02:26:37 +00:00
Kurt Zeilenga
b1639dadd6 Remove lint
Add copyrights
1999-12-13 04:53:59 +00:00
Kurt Zeilenga
d331d4c1f3 Remove lint. 1999-12-12 05:07:17 +00:00
Kurt Zeilenga
cda19446ef s/generate/hash/ 1999-12-12 05:06:36 +00:00
Kurt Zeilenga
18fad04e69 Fix == != typo 1999-12-12 05:02:03 +00:00
Kurt Zeilenga
c1a31ac9a2 Fix decoding of sasl bind and extended operation responses. 1999-12-12 03:16:46 +00:00
Mark Valence
7ee49bc676 Fix mem leak in ldap_start_tls(), treat empty host name as localhost when opening a connection. 1999-12-11 03:50:33 +00:00
Mark Valence
c0faf75a90 Unescape host:port when parsing a host list. 1999-12-11 03:46:07 +00:00
Mark Valence
a76c9f18a9 Start TLS extension: check that TLS was inited successfully, return default referral on failure as appropriate. 1999-12-10 19:18:33 +00:00
Mark Valence
e0e7e9842e client/server controls added to ldap_start_tls(). 1999-12-10 18:26:12 +00:00
Mark Valence
268dd9beaf Condition ldap_start_tls on HAVE_TLS. 1999-12-10 17:18:59 +00:00
Kurt Zeilenga
431dad371c Fix slapd SASL/ExternalOps encoding
Add controls to extended ops API signatures, need impl.
Update password to support optional server side generation of
new password, verification of old password, and changing of
non-bound user's passwords.
1999-12-10 04:52:32 +00:00
Mark Valence
454284f1ea Adds for Start TLS functionality on slapd and LDAP C API. 1999-12-09 22:33:22 +00:00
Mark Valence
ccb9e1e9e3 Changed URL to URI for conf/env setting. 1999-12-09 22:17:08 +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
b973e61dda Fix {CRYPT} and {UNIX} passwords 1999-12-09 01:24:38 +00:00
Kurt Zeilenga
5e12c84a6f Add simple password test program.
Rework lutil_passwd routines to use struct berval instead of strings.
1999-12-09 01:11:16 +00:00
Kurt Zeilenga
fd9f76f911 Fix reader/writer bug that allowed 2 writers! Yiks.
Reported by tsarna@endicor.com
1999-12-08 23:54:33 +00:00
Howard Chu
6a26e68a02 Backout fix in r1.38 1999-12-08 23:50:59 +00:00
Howard Chu
3c5848a71e Fix ldap_chase_referrals to treat "ldap://host/" referrals the same as
"ldap://host".
1999-12-08 21:37:55 +00:00
Kurt Zeilenga
aeb2de33d7 Found and fixed stupid bug in seeded hash generation. 1999-12-08 19:23:32 +00:00
Kurt Zeilenga
96a126e36a Need to adjust len by saltlen 1999-12-08 07:07:18 +00:00
Kurt Zeilenga
26c7d69e8c Update for new password codes for MSVC5 1999-12-08 06:44:22 +00:00
Kurt Zeilenga
d5edb4bff6 Reengineered ldappasswd(1). Uses extended operation to set
user password.  Likely to be modified to use bind control
instead.  Use of modify deprecated in favor mechanisms that
support passwords stored externally to the directory (such
as in a SASL service).
Modified slapd extended operation infrastructure to support
backend provided extended operations.
1999-12-08 04:37:59 +00:00
Mark Valence
601c1530a8 Changes for URI spport: New routines ldap_initialize and ldap_create; LDAPURLDesc replaces LDAPServer, LDAPURLDesc list used instead of ldo_defhost. 1999-12-07 19:47:00 +00:00
Mark Valence
83e2f38543 Changes for URI spport: New routines ldap_initialize and ldap_create; LDAPURLDesc replaces LDAPServer, LDAPURLDesc list used instead of ldo_defhost. 1999-12-07 18:52:05 +00:00
Mark Valence
5f86e47aa8 Changes for URI spport: New routines ldap_initialize and ldap_create; LDAPURLDesc replaces LDAPServer, LDAPURLDesc list used instead of ldo_defhost. 1999-12-07 18:42:25 +00:00
Kurt Zeilenga
942d37afc5 Set ber_errno here and there. 1999-12-06 06:33:26 +00:00
Mark Valence
15c83bef9d Changed ldap_pvt_tls_init_def_ctx() to not fail if there is no cacertfile/dir specified. This lets LDAP_OPT_X_TLS_REQUIRE_CERT=0 work. If LDAP_OPT_X_TLS_REQUIRE_CERT=1, connection will fail as appropriate since there is no CA list. 1999-12-06 04:44:22 +00:00
Mark Valence
402c511534 Removed some unused vars. 1999-12-06 04:11:50 +00:00
Mark Valence
aa8c95a24a Bug fix. == NULL changed to != NULL before freeing mem. 1999-12-05 22:22:37 +00:00
Mark Valence
7d98b59dfa Removed unused local var. 1999-12-05 22:19:08 +00:00
Kurt Zeilenga
fe591cf679 Remove istty test otherwise we may not detach. 1999-12-05 05:25:02 +00:00
Kurt Zeilenga
5d5588836f Fix ldap_rename parameter order (ITS#387) 1999-12-04 17:19:11 +00:00
Kurt Zeilenga
482b1d7152 Remove lint. 1999-12-03 06:26:41 +00:00
Howard Chu
ed05ed8025 Fix memory losses, ITS#379 1999-12-03 00:21:32 +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
Howard Chu
5279265f2e Added missing ldap_pvt_thread_mutex_trylock function. 1999-11-28 04:07:11 +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
53ee6b01b9 Fix typo in ldap_compare_ext. Found by dspeck@novell.com. 1999-11-19 02:01:50 +00:00
Kurt Zeilenga
357101793b Use lber types instead of uint32 for md5. sha1 still requires
an integer type of exactly 32 bits.
1999-11-17 02:04:06 +00:00
Kurt Zeilenga
5f3ec33b0c Backout premature commit. 1999-11-08 19:36:30 +00:00
Mark Valence
84be63096b Minor bug fix in ldap_parse_extended_result. 1999-11-08 18:47:47 +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
Kurt Zeilenga
4cc712db53 Add <ac/param.h> to wrap <sys/param.h> 1999-11-01 17:21:24 +00:00
Howard Chu
17e1877a12 Fix broken MSVC builds. The previous round of Mingw32 patches changed some
ifdefs to depend on _WINNT, which is bogus. Added _WIN32 back on these ifs,
and fixed some other include problems.
1999-10-31 02:26:41 +00:00
Mark Valence
e20d6dfb8b bug fixes for ldap_msgtype and ldap_msgid 1999-10-30 18:33:37 +00:00
Kurt Zeilenga
baa34f752b Do not attempt to obtain sizeof(sin_addr.s_addr) or &sin_addr.s_addr
as s_addr member of in_addr may be a bitfield.
1999-10-30 04:58:06 +00:00
Kurt Zeilenga
ebc4a8f149 Use uint32 not u_int as code requires 32 bit unsigned integers. 1999-10-30 03:30:10 +00:00
Kurt Zeilenga
5bb1546867 Refine comments. 1999-10-28 17:42:46 +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
a57a9abe6d New files added for Mingw32 support.
See README 1.27 log
1999-10-28 07:22:10 +00:00
Howard Chu
dd89498e85 Fix misc syntax warnings and/or bugs.
See README 1.27 log
1999-10-28 07:18:48 +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
Mark Valence
a50cd075db Changes to make TLS work on Windows 1999-10-27 22:40:05 +00:00
Kurt Zeilenga
554f5b7aea Fix up comments. 1999-10-27 22:00:29 +00:00
Kurt Zeilenga
8d821f3904 Really fix gettimeofday usage. 1999-10-27 21:53:41 +00:00
Kurt Zeilenga
68a569c738 Don't use sig_atomic_t.
Comment upon synchronization issue.
Fix gettimeofday usage.
1999-10-27 21:50:49 +00:00
Kurt Zeilenga
c52dc059e6 In fallback mode, use value of buffer to improve quality of hash. 1999-10-27 19:42:27 +00:00
Kurt Zeilenga
f804da9bef Port to NT. 1999-10-27 04:41:38 +00:00
Kurt Zeilenga
491dc61df6 Didn't mean to commit #undef URANDOM_DEVICE 1999-10-27 00:29:10 +00:00
Kurt Zeilenga
241799c9e3 Make sure rdata differs for each program. 1999-10-27 00:08:31 +00:00
Kurt Zeilenga
9e0958d5bc Rework counter code in fallback. 1999-10-26 23:54:39 +00:00
Kurt Zeilenga
58e10c7417 Add a fallback based upon Phil Karn's "practical randomness" idea. 1999-10-26 23:41:09 +00:00
Kurt Zeilenga
d0ad0cf228 Minor cleanup. 1999-10-26 23:04:44 +00:00
Kurt Zeilenga
3d064b73c5 Fix compilation errors. 1999-10-26 23:00:30 +00:00
Kurt Zeilenga
bdca662249 Add lutil_entropy(). Currently only supports /dev/urandom or
Linux equivs.  Should be extended to support other quality
sources of entropy.  Should be extended to support a reasonable fallback.
1999-10-26 22:57:39 +00:00
Kurt Zeilenga
f4a0699311 Add macros to compute base64 encode/decode lengths. 1999-10-25 01:44:47 +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
a5ac8f57f8 Complain if setsockopt TCP_NODELAY fails 1999-10-19 19:07:24 +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
Kurt Zeilenga
60d00d4649 Force sd close. Suggested by rajk@home.com 1999-10-12 18:51:36 +00:00
Howard Chu
70f31490a8 Always return ld->ld_errno thru *errcodep if given to ldap_parse_result 1999-10-08 00:51:35 +00:00
Kurt Zeilenga
a284b641b7 Move crypt(3) prototypes from <ac/unistd.h> to <ac/crypt.h> (new) to
avoid clashes with Kth Kerberos.
1999-10-01 04:48:30 +00:00
Kurt Zeilenga
e7e4800d44 Remove lint. 1999-09-25 23:13:15 +00:00
Kurt Zeilenga
3c00fd6d23 Rework passwd routines to allow callers to determine which
schemes are supported.  This should facilate server rootDSE
advertisement of supported schemes, etc..
1999-09-25 22:13:25 +00:00
Mark Valence
b221e4ad4b Fixed "typos" in TLS code. TLS is ATTR_TLS, not ATTR_BOOL.
ldap_pvt_tls_config() was missing first param.
1999-09-25 03:57:25 +00:00
Mark Valence
9e7243015c fixed LDAP_OPT_X_TLS case of ldap_pvt_tls_config().
ldap_pvt_tls_set_option() expects int* as third param.
1999-09-25 03:53:17 +00:00
Randy Kunkee
24c81ea599 Back out my change to ldap_sort_strcasecmp. My mistake from not reading
manpage carefully.  One should pass strcasecmp to ldap_sort_entries, not
ldap_sort_strcasecmp.  Ldap_sort_strcasecmp is for ldap_sort_values, NOT
ldap_sort_entries.
1999-09-24 18:16:41 +00:00
Randy Kunkee
b133aa528b Change call to strcasecmp in ldap_sort_strcasecmp, which makes
ldap_sort_entries work with ldap_sort_strcasecmp as the comparison
function.  Pointers were being dereferenced, and should only have been
casted.
1999-09-24 08:02:54 +00:00
Kurt Zeilenga
3a44abba1a ITS#302 ldif fix. Treat value with only continuation markers
as an empty value.  Complain, of course, as this isn't valid LDIF.
1999-09-24 02:30:33 +00:00
Kurt Zeilenga
a68825e6df Howard convinced me that this version is slightly better.
back out previous commit.
1999-09-24 00:16:16 +00:00
Kurt Zeilenga
a93ac070b5 I believe ldap_result2error should return the value returned
by ldap_parse_result unless that value is SUCCESS.
1999-09-23 22:57:05 +00:00
Howard Chu
91e24173d0 Update ld->ld_errno if LDAP_DECODING_ERROR... 1999-09-23 22:35:58 +00:00
Howard Chu
fa62e37667 Fix ldap_parse_result and ldap_result2error to return correct results. 1999-09-23 22:10:22 +00:00
Kurt Zeilenga
deafd4e274 experimental ITS#109 fix: make kbind open default connection if necessary.
implemented ldap_open_defconn() to centralize default connection
opening in open.c.  Used by ldap_open, kbind, and send_initial_request().
1999-09-23 04:08:33 +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
6b0ccd4a5d Add experimental detection of BerkeleyDB2 DB_THREAD.
If not available, LDBM uses big mutex and BDB2 is disabled.
Should add BerkeleyDB version detection...
1999-09-20 20:55:54 +00:00
Kurt Zeilenga
86813f2b4b Fix typo in last commit. 1999-09-17 22:11:08 +00:00
Kurt Zeilenga
c35d53d6e0 Apply y2k fix based upon Howard Young's (ITS#294) suggestion 1999-09-17 22:05:51 +00:00
Kurt Zeilenga
7b0753afb2 Add OpenLDAP RCSid to conf files 1999-09-09 04:43: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
Kurt Zeilenga
324903affa s/int/u_int32_t/ for db_appinit flags 1999-09-06 18:45:39 +00:00
Hallvard Furuseth
f3880e5633 Remove lint 1999-09-06 04:42:20 +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
4a5e2febed Some constification & lint removal 1999-09-04 21:15:49 +00:00
Hallvard Furuseth
33cc7d4cf1 Introduce and use LDAP_GCCATTR() = __attributes__() in gcc 1999-09-03 21:06:33 +00:00
Hallvard Furuseth
e8ab6eabec <url> was used uninitialized 1999-09-03 20:19:18 +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
1ced9c02cf Fix typo in lutil_debug_file() 1999-09-02 07:40:25 +00:00
Kurt Zeilenga
41e57c041f Add OpenLDAP RCS id 1999-09-02 00:52:43 +00:00
Kurt Zeilenga
f5c2ba7c3e Fix last commit. Should not have deleted assignment to p away. 1999-09-01 05:28:29 +00:00
Kurt Zeilenga
683ea591f7 pipe(2) needs unistd.h 1999-08-31 17:51:04 +00:00
Kurt Zeilenga
0307dd3b38 Use pipe(2) if descriptors are selectable. 1999-08-31 17:01:10 +00:00
Kurt Zeilenga
ac8b5468aa Clean up soctpair for NT. Add USE_PAIR to allow pair(2) use. 1999-08-31 16:47:42 +00:00
Kurt Zeilenga
b509dd4d8c sockpair cleanup including:
provide prototype in lutil.h
use LBER_SOCKET_T instead of int in prototype.  (didn't use
	ber_socket_t so all of lber.h wouldn't have be dragged in)
rename signal handlers, use RETSIGTYPE, and make SIGHUP wake
rename fd to sd to reflect descriptor must be usable as a socket.
renamed sel_exit_fds to wake_sds to reflect current use
improve readability of sockpeer.c including removing obtuse goto.
1999-08-31 05:18:06 +00:00
Howard Chu
c057653881 Added lutil_pair() 1999-08-31 03:25:23 +00:00
Hallvard Furuseth
6632e41ee8 Export ldap_pvt_<find_wildcard,filter_value_unescape>() from libldap.
Use them in slapd/str2filter.c.
1999-08-31 00:44:49 +00:00
Kurt Zeilenga
878d489ea9 Do not overwrite charray argument if charray_add realloc fails.
Caller is required to call ldap_charray_free as needed.
1999-08-30 01:24:33 +00:00
Hallvard Furuseth
66704f67b9 Catch \ at end of filter 1999-08-28 22:15:16 +00:00
Hallvard Furuseth
4d94092995 Remove 'cast away const' 1999-08-28 22:14:21 +00:00
Hallvard Furuseth
635a666359 Fix typo in filter_value_unescape() 1999-08-28 22:06:52 +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
406f33eb12 This fixes dn2id delete bug... but breaks modrdn. 1999-08-26 00:48:24 +00:00
Kurt Zeilenga
cc3615314b Defer addition until we have some basic UTF-8 routines 1999-08-25 21:27:39 +00:00
Kurt Zeilenga
af17a9f7ad Add dn.c 1999-08-25 06:52:28 +00:00
Kurt Zeilenga
5c63fd55b5 Implement ldap_dn_normalize and friends. Should be used by clients
to validate input dn's BEFORE sending dn's to server.
Also fixed getfilter to use REG_EXTENDED|REG_NOSUB.  (and fixed one
case where REG_BASIC was still used).
s/strdup/LDAP_STRDUP/
Added ldap_pvt_str2lower/upper
1999-08-25 06:44:08 +00:00
Gary Williams
f8a3a664fc LDAP_P is only for prototypes, remove from function def 1999-08-24 18:42:11 +00:00
Kurt Zeilenga
2d2719123d Rename filter entry's strcpy_special() to strcpy_regex() to better
reflect its purpose.  Modify switch to support REG_EXTENDED expressions.
Use REG_EXTENDED instead of REG_BASIC everywhere.
Modify <ac/regex.h> to support <gnuregex.h> for testing purposes.
Requires: env CPPFLAGS="-DHAVE_GNUREGEX_H=1" LIBS=-lgnuregex ./configure
1999-08-24 01:13:30 +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
Hallvard Furuseth
968f742d7a Remove lint 1999-08-22 03:35:10 +00:00
Kurt Zeilenga
1b0aa8cf23 Support for native GNU Pth Threads (--with-threads=pth)
Tests behave as expected excepting slapd sometimes does not
shutdown properly.
1999-08-22 03:04:33 +00:00
Kurt Zeilenga
5cf315c31f Experimental support for GNU Pth's Posix Thread API. This might be a
suitable for systems with poor (or nonexistant) Pthread implementations.
1999-08-21 17:19:10 +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
Hallvard Furuseth
2ae08eecad Fix printf formats: print msgtype as %lu, remove spurious sval arg in apitest 1999-08-17 21:14:03 +00:00
Hallvard Furuseth
fa4c4448c4 Add const, to fix "cast away from const" warnings 1999-08-17 21:09:26 +00:00
Hallvard Furuseth
9c3b49ec5c Add missing newline at end of file 1999-08-17 19:54:37 +00:00
Kurt Zeilenga
e4f6d54877 New dn2id format with base/one/subtree indices (ldbm/bdb2)
New id2entry (id-less) format (ldbm/bdb2)
Removed id2children (ldbm/bdb2)
Added nextid database (ldbm)
Broke ldbmtest
Removed ldif2* tools (ldbm/bdb2)
Added slap tools (slapadd, slapcat, slapindex)
1999-08-17 19:00:59 +00:00
Kurt Zeilenga
eea46a1bb4 Fix tid vs thread typo 1999-08-17 00:10:43 +00:00
Hallvard Furuseth
6147119dc8 Add ldap_*2name() in <include,libldap>/schema, use them in slapd/schema 1999-08-16 02:59:11 +00:00
Hallvard Furuseth
e5e91d94aa Add missing newline and EOF 1999-08-16 02:40:00 +00:00
Kurt Zeilenga
83abd65d49 Add extensible filter support to -lldap. Need to implement server
side (which most is dependent upon having matching rule support).
1999-08-07 18:54:49 +00:00
Kurt Zeilenga
0fe5da0f9a Fix filter escapes. ITS#247 1999-08-07 04:48:16 +00:00
Kurt Zeilenga
e0691dfbc0 create SASL_LIBS to hold -lsasl
create SECURITY_LIBS (top.mk) to order $SASL_LIBS $KRB_LIBS $TLS_LIBS
use $SECURITY_LIBS in Makefile.in's instead of $KRB_LIBS $TLS_LIBS
1999-08-05 02:25:19 +00:00
Kurt Zeilenga
0a8f4c0458 base64 encode userPassword 1999-08-05 00:30:45 +00:00
Kurt Zeilenga
dce3f6e5bc Add copyright notices 1999-08-04 23:57:27 +00:00
Kurt Zeilenga
3820b35870 Use -llber set_nonblock implementation.
Use ldap_int_tblsize instead of s+1 in select.
Need to eliminate all to read(2).
1999-08-04 18:32:38 +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
Gary Williams
b1701d24e1 if urls is NULL, default to ldap:/// 1999-08-04 18:26:19 +00:00
Kurt Zeilenga
b3ce9d497c non-blocking connect needs special handling under Winsock. 1999-08-04 00:40:03 +00:00
Kurt Zeilenga
2b79ff2c48 Initial inet_aton() detection. 1999-08-03 20:02:44 +00:00
Kurt Zeilenga
1b41dfbce0 LDAP_OPT_NETWORK_TIMEOUT feature (ITS#239) from Lars Uffmann.
Needs a bit more work.
	- global net/api timeouts are not inherited on session creation.
	- need configure check for inet_aton() (coming soon)
	- ioctl/fcntl portability issues (should share implementation
		with lber routines)
1999-08-03 19:27:22 +00:00
Julio Sánchez Fernández
4f92977f33 Needs ldap_config.h to get LDAP_DIRSEP 1999-08-03 19:04:02 +00:00
Kurt Zeilenga
59c8a88c2f Needs <ac/stdlib.h> for EXIT_* 1999-08-03 18:41:55 +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
f7fe39e5f2 s/*vlenp = NULL;/*vlenp = 0;/ 1999-08-03 04:02:16 +00:00
Kurt Zeilenga
97683ac5fd ldap_perror: don't print matched DN or error text if length is zero. 1999-08-02 20:03:50 +00:00
Kurt Zeilenga
c73f17fd6e Add -dn as a synonym for -dnt. 1999-08-02 17:19:05 +00:00
Kurt Zeilenga
236be7f5a7 Fix --enable-dns compilation problems. 1999-08-02 07:41:29 +00:00
Hallvard Furuseth
8a9b9292de Change unsigned long cast of offset to size_t in ldap_build_filter() 1999-08-02 05:51:04 +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
576956ceb0 Finish s/lber_bprint/ber_bprint/ renaming 1999-08-02 01:20:48 +00:00
Hallvard Furuseth
67ff28bf52 Include <ac/stdlib.h> instead of <stdlib.h> 1999-08-01 22:42:34 +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
894b74d730 Use ber_set_option() instead of setting lber_debug 1999-08-01 20:22:26 +00:00
Hallvard Furuseth
e3d164d10e Simplify and speed up a bit by removing CHAR64LONG16. 1999-08-01 11:16:53 +00:00
Kurt Zeilenga
48d5465ab7 Add support for "foo:< http://localhost/path.
Requires FreeBSD's -lfetch...
Implementations to other URL APIs encouraged.
Probably should be moved to -llutil.
1999-07-31 03:23:26 +00:00
Kurt Zeilenga
9160692ab1 Remove "const" error... and add prototype for yet unimplemented
ldif_fetch_url().
1999-07-31 02:17:26 +00:00
Kurt Zeilenga
b73b0c6158 Enhance LDIF handling
ldapsearch:
    use draft guidelines for determining when to use
    -t only writes binary attributes to files
    -tt writes all attributes to files
    output now lists URL instead of path to such files
    -T dir can be used to specify directory to create temp files in
    -V urlprefix can be used to change the URL prefix
    LDIF is now commented (can be disabled using -LL)
    LDIF now contains version attribute (can be disabled with -LLL)
LDIF:
    put interface changed to allow caller to specify how to encode
    put interface uses draft guidelines for determine when to base64 encode
    wrapping kludged to match old off by one bug
Tests:
    removed trailing space from some attributes (to avoid base64 encoding)
    enabled -LLL in defines.sh (should sed output to remove
        wrapping/comments/redundant separators)
Misc:
    updated codes outputting LDIF to use new put interface
TODO:
    handling of version attribute on input
    handling of URLs on input (ie: fetch URL)
1999-07-30 23:00:02 +00:00
Kurt Zeilenga
428faea410 Clarify loop break. 1999-07-29 23:05:15 +00:00
Kurt Zeilenga
5695d59007 Ignore lines that begin with "#". 1999-07-29 18:39:32 +00:00
Kurt Zeilenga
c881940100 relocate wsa error to -llutil 1999-07-27 00:36:58 +00:00
Kurt Zeilenga
b217a4fc51 Remove lint, remove YEAR_PEDANTIC macro, update comment. 1999-07-27 00:36:33 +00:00
Kurt Zeilenga
b9764fff76 Back out paralyzing changes. 1999-07-24 21:40:58 +00:00
Howard Chu
61d0ffd135 Minor changes to support parallel make: Eliminate for-loops for building
subdirectories; add explicit dependencies for subdirs that need them.
1999-07-24 08:25:48 +00:00
Kurt Zeilenga
de67e6d327 Fix leak of default filter. 1999-07-23 22:02:57 +00:00
Kurt Zeilenga
eb4c486b90 Update RFC comments 1999-07-23 21:56:21 +00:00
Kurt Zeilenga
5fea91c3ec Accept ldap://foo:port (ie: no trailing '/') 1999-07-23 21:54:18 +00:00
Julio Sánchez Fernández
9cdd2c2037 ldap_url_parse was fundamentally broken. It would quit before
time, skipping the filter, for instance.  Also, we were parsing
twice the scope and the filter.  I think this change is right,
but could use more eyeballs...
1999-07-23 20:36:11 +00:00
Randy Kunkee
6bef298437 Remove extra code (non-functional change, just produces warning on OSF4.0e). 1999-07-23 00:56:56 +00:00
Kurt Zeilenga
d147e609d2 Implement TCP_NODELAY on both client and server side. 1999-07-22 21:49:35 +00:00
Kurt Zeilenga
42304b7ada Fix control parsing and controls free routine. 1999-07-22 04:47:58 +00:00
Kurt Zeilenga
933908f72f ACL CHANGES:
by <who> <access> changed to by <who>+ <access> (joined with AND)
  added peername=<regex> sockname=<regex> url=<regex>
  removed addr=<regex> (use peername instead).
replace dn_upcase with str2upper and str2lower.  Use where needed.
1999-07-21 20:54:23 +00:00
Kurt Zeilenga
17eb202732 Unhex url extensions. 1999-07-21 20:44:40 +00:00
Julio Sánchez Fernández
5f53b747a5 Partial support for a new option to help debug TLS connections,
not yet user-settable.  Defaults "on" for now.
Partial support for temporary RSA keys, skeleton for DH.
Add call to X509V3_add_standard_extensions() on init, mod_ssl
does this too, but I am unsure about what it does.
Move management of client CA certificates to a new routine, since
it is going to get more complex than the current code.
1999-07-21 19:18:08 +00:00
Julio Sánchez Fernández
e892ebfc5e Some content for tls_verify_cb where parts of our policy should
be implemented.

The rest of this change mostly contains random ideas taken from
mod_ssl.  The purpose is to get the repository in sync with the
code I am testing.  I still can't manage to make Netscape send
its certificate to slapd, though it works with Apache/mod_ssl
(with the same certificates).  Trying s_client against both
does not shed any light.  If anyone manages to make it work,
please let us know.
1999-07-20 18:31:53 +00:00
Julio Sánchez Fernández
463a7ec91d We were freeing lud_dn when when lud_host was meant, leading to
arena corruption.
1999-07-20 11:11:57 +00:00
Kurt Zeilenga
543aafd991 Implement RFC2255 URL format. 1999-07-19 19:32:47 +00:00
Kurt Zeilenga
d2487f9219 s/time(0)/time(NULL)/ 1999-07-19 19:28:21 +00:00
Hallvard Furuseth
cde93a6e06 make ldap.ld_lberoptions unsigned, like berelement.ber_options 1999-07-18 01:20:45 +00:00
Kurt Zeilenga
12f481d657 Import patches mistakenly applied to OPENLDAP_DEVEL_REFERRALS.
ldap_modify: delete of last attribute value should delete attribute (ITS#229)
thr_nt: use sleep to yield
1999-07-18 00:33:30 +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
85acec922f We were not remembering the allocated SSL thing in the Sockbuf.
Set flags without relying on errno (this change may be gratuitous
or wrong).
1999-07-16 15:46:15 +00:00
Kurt Zeilenga
73276e84ae Import experimental referral implementation from OPENLDAP_DEVEL_REFERRALS.
Includes support for update referral for each replicated backend.
	Reworked replication test to use update referral.
Includes major rewrite of response encoding codes (result.c).
Includes reworked alias support and eliminates old suffix alias codes
(can be emulated using named alias).
Includes (untested) support for the Manage DSA IT control.
Works in LDAPv2 world.  Still testing in LDAPv3 world.
Added default referral (test009) test.
1999-07-16 02:45:46 +00:00
Julio Sánchez Fernández
7a64fcf7b3 Set ciphers from slapd.conf.
More error checking and reporting.
Slowly getting there, SSL_accept succeeds now, but connection breaks
immediately after that (my glue logic with slapd is broken).
1999-07-15 21:03:47 +00:00
Kurt Zeilenga
c7425738bb Add missing arg to Debug macro call 1999-07-15 20:00:05 +00:00
Julio Sánchez Fernández
41de66a0b2 New routine tls_report_error to analyze errors from OpenSSL
Change temporarily the default protocol from TLSv1 to SSLv3 with
fallback to SSLv2.  This seems necessary for slapd to accept connections
from Netscape.
Try to set the cipher list in the default context.  Does not semm to
work yet.
1999-07-15 14:59:09 +00:00
Hallvard Furuseth
5bcdf362f3 Remove duplicate 'static' 1999-07-14 23:28:56 +00:00
Kurt Zeilenga
cbb5553b03 Newer versions of OpenSSL install headers in $prefix/include/openssl... 1999-07-14 00:03:52 +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
Julio Sánchez Fernández
710f697fb7 Get and set TLS options 1999-07-13 19:34:07 +00:00
Julio Sánchez Fernández
70fe83b1d2 First version with TLS. Untested. 1999-07-13 19:32:51 +00:00
Julio Sánchez Fernández
43fba8fcb1 First version with TLS. Untested. 1999-07-13 19:30:41 +00:00
Julio Sánchez Fernández
97a681910e Options for TLS 1999-07-13 19:29:19 +00:00
Julio Sánchez Fernández
739466b85d Add tls.c
Add use of TLS_LIBS so that test tools compile
1999-07-13 19:27:33 +00:00
Julio Sánchez Fernández
7482777a7c Add tls.c
Add use of TLS_LIBS so that test tools compile
1999-07-13 19:25:10 +00:00
Julio Sánchez Fernández
8f4f94d415 First version of TLS glue for SSLeay/OpenSSL originally written by
Bart Hartgers.  Untested.
1999-07-13 19:11:53 +00:00
Kurt Zeilenga
94d5067b22 Use assert instead of private Assert macro 1999-07-13 18:39:20 +00:00
Hallvard Furuseth
2c27a6abcf Eliminate htonl(unsigned_long_arg), which is wrong on 64-bit OSF1/alpha 1999-07-13 09:41:25 +00:00
Hallvard Furuseth
5f880ae022 Fix LDAP_CONST->const in explode_name(), it failed when LDAP_CONST was empty. 1999-07-13 06:48:35 +00:00
Hallvard Furuseth
fb3b8e5ef1 Fix LDAP_CONNECTIONLESS code rot 1999-07-13 06:39:55 +00:00
Hallvard Furuseth
c4a13efbea Fix NULLxxx -> NULL 1999-07-13 06:37:19 +00:00
Hallvard Furuseth
6eef6bea01 ldap-int.h 1999-07-13 06:27:47 +00:00
Hallvard Furuseth
354702b94e ldap-int.h 1999-07-13 06:21:14 +00:00
Hallvard Furuseth
96e8fafb51 constify use of invalue in <ber/ldap>_set_option() 1999-07-13 05:17:50 +00:00
Hallvard Furuseth
2cc187ffbf constify ldap_int_put_controls, ldap_control_dup, ldap_controls_dup 1999-07-13 05:13:33 +00:00
Hallvard Furuseth
95b64907d3 Fix read_next_searchobj prototype: long*blenp -> ber_len_t*blenp 1999-07-13 05:04:06 +00:00
Hallvard Furuseth
55fa595f56 Add missing newline at EOF 1999-07-13 04:11:49 +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
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