Commit Graph

666 Commits

Author SHA1 Message Date
Howard Chu
975a5e9a24 Added dnPretty2/dnNormalize2 using preallocated destination berval 2001-12-29 04:48:00 +00:00
Howard Chu
c4b432cb3f Fix newSuperior handling. Back out previous commit. 2001-12-29 02:56:08 +00:00
Howard Chu
514f605ef5 Fix modrdn newSuperior checks 2001-12-28 09:48:52 +00:00
Howard Chu
d6a37432bd Changed dn_rdn/dn_rdnlen to struct berval 2001-12-28 08:38:24 +00:00
Kurt Zeilenga
699a092967 More dn_normalize -> dnNormalize changes 2001-12-28 07:41:52 +00:00
Pierangelo Masarati
bc68b6faa7 matched_dn may be null 2001-12-27 12:16:58 +00:00
Kurt Zeilenga
cddf7e0e00 More struct berval DN changes
decrease dependency on dn_validate/dn_normalize
2001-12-27 07:13:13 +00:00
Howard Chu
ef31250591 More struct berval fixes 2001-12-27 01:38:15 +00:00
Howard Chu
0e5e2a95fd More struct berval fixes for modrdn 2001-12-27 01:10:52 +00:00
Kurt Zeilenga
b144879650 Quick struct berval DN support for defer alias API.
Underlying code needs work.
2001-12-27 00:26:59 +00:00
Kurt Zeilenga
a553a03586 More struct berval DNs changes 2001-12-26 23:43:28 +00:00
Howard Chu
e8fa25a215 Changed Filter.f_dn to struct berval* 2001-12-26 23:37:59 +00:00
Kurt Zeilenga
93fb01e2f0 Fix modrdn and other misc cleanup 2001-12-26 23:03:36 +00:00
Kurt Zeilenga
21cecb3831 Update referral handling to use struct berval DNs. 2001-12-26 20:59:24 +00:00
Kurt Zeilenga
bd0135ccb4 Move search, modify, and modrdn APIs to struct berval DNs.
Much clean up is needed.
2001-12-26 19:50:40 +00:00
Kurt Zeilenga
24a4d888dc move compare and delete to struct berval DNs 2001-12-26 19:05:26 +00:00
Kurt Zeilenga
d64ec6ee0d modify be_referral to use struct berval DNs. 2001-12-26 17:40:34 +00:00
Howard Chu
d0add35348 Changed get_limits to struct berval* 2001-12-26 15:28:01 +00:00
Howard Chu
d474789d0d First pass at converting bind to struct bervals 2001-12-26 11:41:38 +00:00
Howard Chu
68b1bbb89d Changed search attrs to struct berval **.
Use typedefs for all backend functions, to minimize work in future API
updates. (back-*/external.h will never need updating in the future.)
2001-12-26 08:17:44 +00:00
Kurt Zeilenga
2dd27b0786 More struct berval DNs 2001-12-25 19:48:26 +00:00
Kurt Zeilenga
7431cb9eee FIx up replog calls, add replog call to bdb passwd 2001-12-25 18:20:35 +00:00
Kurt Zeilenga
ae0a17fa4e Adjust e_name.bv_len on modrdn 2001-12-25 03:03:03 +00:00
Kurt Zeilenga
5ee89d6167 Use struct berval DNs for root DN and update DN 2001-12-25 00:05:26 +00:00
Howard Chu
a61b777cdc Fix uninitialized struct berval* to avoid assert in dnNormalize 2001-12-24 20:12:30 +00:00
Pierangelo Masarati
e544300b05 back out previous change 2001-12-24 18:39:41 +00:00
Pierangelo Masarati
f0c9590e68 comment for future optimization 2001-12-24 17:27:26 +00:00
Kurt Zeilenga
f6085d3f82 Every quick mod to use a struct berval for e_dn/e_ndn. No bv_len yet. 2001-12-24 16:53:47 +00:00
Howard Chu
2f3399265c Changed sai_dn, sai_ndn to struct berval. (Affects op->o_dn,o_ndn,
conn->c_dn,c_ndn, Access->a_dn_pat)
2001-12-24 15:11:01 +00:00
Kurt Zeilenga
29d5819729 Fix up builds 2001-12-22 20:17:19 +00:00
Pierangelo Masarati
328d38713a better handling of on-the-fly operational attrs by means of helpers 2001-12-22 14:24:13 +00:00
Pierangelo Masarati
e36bde9180 added backend-side support for on-the-fly operational attributes; added hasSubordinates to schema and back-ldbm 2001-12-22 11:50:16 +00:00
Kurt Zeilenga
ca975216b8 Regenerate configure and fix AC header inclusion 2001-12-18 02:25:21 +00:00
Howard Chu
bfe6df6b20 Don't signal error if reindexing an already existing dn2id index 2001-12-11 14:23:05 +00:00
Howard Chu
fcce9bb260 Fix ldbm_tool_entry_first, was not byteswapping ID. 2001-12-11 14:03:18 +00:00
Howard Chu
67a64c2935 Fixed suffix DN_SUBTREE again. Index was still being written even though
it was not being read.
2001-12-10 18:09:07 +00:00
Howard Chu
b54df180f0 Fix - on little-endian machines, store IDs in big-endian order. 2001-12-10 17:42:01 +00:00
Howard Chu
ce76a4b01a Fix - on little-endian machines, store IDs in big-endian order. Otherwise
BDB's default key sort algorithm sorts in the wrong order (and there's no
convenient way to select the correct algorithm). This is an incompatible
change to the database format but will improve back-ldbm's add/delete
characteristics.
2001-12-10 16:53:15 +00:00
Howard Chu
acc2500114 Added ndn to replog args, eliminate unnecessary dn_normalize in replog. 2001-12-09 02:47:39 +00:00
Kurt Zeilenga
abd9be4def Remove lint and misc MSVC updates 2001-12-09 02:34:45 +00:00
Howard Chu
e2c2de11c3 Converted all use of dn_parent to the in-place version. (Fixed a pdn leak
in back-sql along the way.)
2001-12-08 10:37:42 +00:00
Kurt Zeilenga
3f1ab56fa9 Fix reference scope. 2001-12-07 22:28:46 +00:00
Howard Chu
0552b1c53f NT updates from jon@symas.com. 2001-12-07 04:03:25 +00:00
Howard Chu
223fb11840 Fix so previous change to slapcat works. 2001-12-06 12:28:49 +00:00
Howard Chu
19c7fd49ca tool_reindex now regenerates the dn2id index as well as the others. 2001-12-05 01:36:18 +00:00
Kurt Zeilenga
493b415255 Rework indexing code, removing "autolang" and making
"subtypes" and "lang" default behavior.
2001-12-05 00:06:03 +00:00
Howard Chu
bf4bbcaae2 Don't maintain a DN_SUBTREE index for the backend suffix. 2001-12-04 00:10:47 +00:00
Howard Chu
d68b891ced In presence_candidates(), always return a full match for objectClass. 2001-11-30 01:21:52 +00:00
Kurt Zeilenga
2ac7c91cae Replace existing SLAP_MR_ matching flags with:
SLAP_MR_ASSERTION_SYNTAX_MATCH
	SLAP_MR_VALUE_SYNTAX_MATCH
	SLAP_MR_VALUE_SYNTAX_CONVERTED_MATCH,
add supporting evaluation macros, and update code as needed.
Misc other code cleanup included.
2001-11-27 21:59:56 +00:00
Pierangelo Masarati
6df4889f43 minor cleanup 2001-11-17 14:39:10 +00:00
Howard Chu
18ae339b0f ainfo_free no longer needed 2001-11-17 00:46:00 +00:00
Pierangelo Masarati
d51dc13a0b moved the empty dn static entry into a global const object 2001-11-16 17:05:32 +00:00
Pierangelo Masarati
616d409817 updatedn can add '' rooted entries (according to ACLs) 2001-11-16 14:08:17 +00:00
Pierangelo Masarati
7793ece6ce check children access to newSuperior 2001-11-16 14:04:54 +00:00
Pierangelo Masarati
0cf9b37908 non-root modrdn of entries rooted at '' checks children write permission (completes previous add/delete fix; needs be ported to back-bdb) 2001-11-16 12:24:22 +00:00
Howard Chu
0bfaa8b4ae Changed AttributeType.sat_cname from char * to struct berval.
(will fix up back-bdb next.)
2001-11-16 07:45:37 +00:00
Pierangelo Masarati
8c2ed9c809 non-root add/delete of entries rooted at '' checks children write permission 2001-11-14 16:08:59 +00:00
Kurt Zeilenga
90a60edef9 Remove slap_get_time optimization.
timelimit must be checked on first entry.
2001-11-13 20:31:00 +00:00
Mark Adamson
8c16d30087 optimize number of calls to slap_get_time() 2001-11-13 01:38:30 +00:00
Pierangelo Masarati
6b1104ab87 Fixes first part of ITS#1430 2001-11-12 17:32:52 +00:00
Pierangelo Masarati
8c4c2ce789 Fixes second part of ITS#1430 2001-11-12 17:27:01 +00:00
Pierangelo Masarati
afd0037eda Fixes ITS#1433 2001-11-12 17:12:43 +00:00
Kurt Zeilenga
8d74b517cd Remove lint 2001-11-07 01:24:32 +00:00
Kurt Zeilenga
82fad7d0c8 First stable an implementing latest namedref specification.
Includes rewriting of URLs where the DN of the referral object
and the DN of the ref attribute attribute are not the same.
Also, always returns explicit DN and scope.
Currently, back-ldbm only.  Needs to be ported to back-bdb.
2001-10-26 02:05:14 +00:00
Kurt Zeilenga
a6acc0ff8c Use allids instead of candidiate negation for !. (ITS#1405)
Use presence indices in support of >= and <=.
(Note presence indices could be used to support = and substr in
like fashion where eq and substr indices are not maintained, but
I'll save that for another day.)
2001-10-24 21:26:32 +00:00
Julio Sánchez Fernández
aee598dba7 Remove bogus refusal to index ;binary attributes. Notice that I left
in a check.  This way you have to say:

	index userCertificate eq

If we remove it, we could say:

	index userCertificate;binary eq

I have not tried the latter.
2001-10-23 13:42:37 +00:00
Julio Sánchez Fernández
bf5ea315b6 Compares get values in the matching rule syntax (see RFC2251, 4.1.7),
so we need to tell value_find about this.
2001-10-23 09:48:18 +00:00
Howard Chu
c981026a6c Missed a test in AttributeDescription commit 2001-10-22 14:55:42 +00:00
Howard Chu
0e16f6acf9 Moved AttributeDescription caching into main code:
Changed AttributeDescription.{ad_cname,ad_lang} to struct berval everywhere
   Deleted ad_free() everywhere
   Added ad_mutex to init.c

The AttributeDescriptions are in a linked list hanging off of the
corresponding AttributeType.
2001-10-22 13:23:05 +00:00
Mark Adamson
290137a54f Serialize access to idl insert/delete key routines (ITS 1359) 2001-10-11 18:12:53 +00:00
Kurt Zeilenga
b6a3dad8f0 Delete attribute indices 2001-10-09 19:41:48 +00:00
Kurt Zeilenga
fdc0dd7d6a Fix some NEW_LOGGING errors 2001-10-05 21:49:04 +00:00
Kurt Zeilenga
3120d37951 More changes to let BDB build without LDBM. 2001-10-04 06:34:03 +00:00
Pierangelo Masarati
6e4a050657 fix memory leak in case of ACL failure (no write permission to rdn attributes) 2001-10-02 10:36:35 +00:00
Howard Chu
2124673988 Tweaked ID_BLOCKs to record NIDs for INDIRECT blocks as well as directs.
Use high bit of NMAX to indicate an INDIRECT. Changes are behind
  #ifdef USE_INDIRECT_NIDS
2001-09-22 06:52:32 +00:00
Howard Chu
58f4ffca59 Fix another SEGV from previous patch. 2001-09-22 05:35:52 +00:00
Howard Chu
00a28378f8 Fix previous idl_find patch. Cannot test <=0 with unsigned ints, duh... 2001-09-22 04:10:03 +00:00
Howard Chu
b52795c283 Add idl_find binary search routine, used by idl_insert and idl_split_block
instead of linear search.
2001-09-21 20:30:27 +00:00
Kurt Zeilenga
2d5a817288 Remove lint 2001-09-16 22:00:53 +00:00
Kurt Zeilenga
a8b7e93ef4 Add referral scope checks (ITS#1289) from dshriver@sharemedia.com 2001-09-08 02:37:02 +00:00
Kurt Zeilenga
cd51428dbe Add IDL debugging code from SuSE. 2001-09-07 21:58:31 +00:00
Kurt Zeilenga
ef7b181f8b Open databases using WRCREAT not READER. 2001-09-01 05:00:27 +00:00
Pierangelo Masarati
8ee6168916 fix a reference to volative memory in back-ldbm/passwd.c that caused garbage messages to be returned to ldappasswd 2001-08-04 15:46:08 +00:00
Pierangelo Masarati
8471ef7ed0 add global, per backend and per op_ndn time/size soft, hard and to-be-checked limits (exploited by back-ldbm); see slapd.conf(5) for details 2001-08-01 10:09:04 +00:00
Pierangelo Masarati
419a5ae8c9 fix typo; try to delete dn2id in case of late failure 2001-07-31 10:54:39 +00:00
Pierangelo Masarati
d8cb33ebe8 added acl check for added/removed rdn attrs 2001-07-31 10:02:19 +00:00
Pierangelo Masarati
4362654eb6 fixes another assert in case of subtle error (schema failure while applying rdn changes) 2001-07-30 20:12:34 +00:00
Pierangelo Masarati
8edccd2554 fixes ITS#1261 (abort on modrdn with new dn already existing) 2001-07-30 14:54:02 +00:00
Pierangelo Masarati
c78416fdbd exploits regex-based per op_ndn time/size limits 2001-07-28 11:25:00 +00:00
Kurt Zeilenga
3a2f9e84ba Fix typo 2001-07-22 03:25:45 +00:00
Kurt Zeilenga
9207e19978 unifdef -DMULTIATTRVAL_RDN 2001-07-21 21:21:32 +00:00
Pierangelo Masarati
9ee9f1e0e1 Reworked again the caching in case of failure.
Now operations that set the status of an entry to CREATING (add.c, modrdn.c)
need to set it to COMMIT, by calling cache_entry_commit, before returning
the entry itself, otherwise the entry is removed from the cache
and its private data is freed.
Should fix crashes due to add failures as in ITS#1245
2001-07-21 10:53:06 +00:00
Pierangelo Masarati
aec4430d59 Reworked API of nextid; e_private gets destroyed separately from the entry in case add fails (should fix ITS#1245) 2001-07-20 09:50:28 +00:00
Randy Kunkee
82f3004a16 Prevent ldbm_sync from being called by ldbm_cache_close when the new
dbsync configuration is in use, which was preventing the performance
gains of this mode.
2001-07-16 23:21:36 +00:00
Randy Kunkee
f06021e335 Fix ITS#1239:
slapadd core-dumps when destroying db's env (Sleepycat 3.2.9) (ITS#1239)
Only call ldbm_shutdown_env if the database has been opened, ie. when
li->li_dbenv != NULL.  Would appear any time a shutdown occurred and
not all LDBM databases were opened.
2001-07-16 22:16:24 +00:00
Kurt Zeilenga
ca43453b95 Quick and dirty hack to add password modify replication. 2001-07-14 01:26:02 +00:00
Pierangelo Masarati
b0a60a5d3d added function cache_find_entry_ndn2id that avoids an unnecessary call to dn_normalize; now dn2id calls this function, while the original function has been left as a wrapper 2001-07-11 08:41:42 +00:00
Pierangelo Masarati
27e5c484e6 reworked rdn_attrs to use ldap_explode_rdn; maybe we should remove escapes "\" from parts directly in ldap_explode_rdn 2001-07-10 18:19:22 +00:00
Gary Williams
453e69d636 fix bad debug message 2001-07-10 16:42:26 +00:00
Pierangelo Masarati
2baa2f0f24 If add to "" is allowed, also modrdn should 2001-07-07 15:40:25 +00:00
Pierangelo Masarati
04c29fb3ea dn2idl API changed for consistency with other dn2id* funcs 2001-07-07 14:49:42 +00:00
Pierangelo Masarati
da9ea54700 fixed test on "" (empty) parent dn 2001-07-06 14:40:27 +00:00
Pierangelo Masarati
f4acf94c83 honors '+' rdn separator in adding/deleting attributes; needs -DMULTIATTRVAL_RDN. Please test 2001-07-06 12:24:34 +00:00
Pierangelo Masarati
cd74b62fd2 rdn check to prevent illegal rdns in modrdn (copied from dn_rdn) fixes ITS#1102 2001-07-05 08:40:40 +00:00
Pierangelo Masarati
5ad8efbb47 Used API signature from back-bdb; compiles and passes make test 2001-07-03 11:23:18 +00:00
Pierangelo Masarati
fdd45144ca separate ID return value form return status in dn2id (back-ldbm/dn2id.c) 2001-07-02 19:42:27 +00:00
Randy Kunkee
a9097044ea Remove global_backendsyncfreq code (code has been pushed down into back-ldbm). 2001-06-28 18:02:46 +00:00
Randy Kunkee
6a6fd6059d Change to _TRACE instead of _ANY for sync daemon internals. 2001-06-28 09:27:01 +00:00
Randy Kunkee
0ef87764d7 Move backend_syncfreq code down into back-ldbm. Creates new configuration
for LDBM backends called "dbsync", which takes minimum of one argument up
to 3 args which are sync frequency, # of delays, and delay periods.  See
man page update for "dbsync" configuration for more details.
2001-06-28 09:20:33 +00:00
Kurt Zeilenga
6dd25ba1e6 Plug idl leakage 2001-06-23 05:05:08 +00:00
Kurt Zeilenga
1229cfcc3f Backout directory config option 2001-06-22 21:00:24 +00:00
Randy Kunkee
d492880870 Add sync_daemon to daemon.c, enabled by global configuration
backendsyncfreq <seconds>.  Setting this automatically enables
dbnosync (because the synchronizer takes care of it).
2001-06-22 08:38:58 +00:00
Randy Kunkee
1656f2c774 Patches from Mark Whitehouse (with changes from myself) to make the
dbcachesize setting actually work for db-3.2.9.
2001-06-21 18:54:56 +00:00
Kurt Zeilenga
11b6d1f284 Misc updates for NT4 2001-06-15 04:16:55 +00:00
Kurt Zeilenga
cda7d4b2fc Check for children 2001-06-07 00:19:23 +00:00
Kurt Zeilenga
6a647d917f Check for duplicate entries 2001-06-06 22:17:57 +00:00
Kurt Zeilenga
adae86a7db Add more detailed reporting of schema violations to client. 2001-06-06 00:23:56 +00:00
Kurt Zeilenga
351e436dcf Add an LDBM backend "directory" directive (in addition to
the existing database "directory" directive) to allow setting
of a DB_ENV directory.  Should likely be database specific.
2001-05-29 01:51:37 +00:00
Kurt Zeilenga
b8788e8a75 minor cleanup 2001-05-18 17:10:03 +00:00
Kurt Zeilenga
ce8fcda8c4 Improve error message when parent is referral or not present 2001-05-16 19:19:16 +00:00
Kurt Zeilenga
da0e6d3d98 Previously added modrdn restriction to restrictive. Need to
check newSuperior.
2001-04-19 19:29:00 +00:00
Kurt Zeilenga
7537abfb06 Fix referral handling bug 2001-04-12 23:02:20 +00:00
Kurt Zeilenga
20690a532e Fix typo 2001-03-17 17:43:36 +00:00
Kurt Zeilenga
efaab64b69 Normalized user DN 2001-03-15 03:03:01 +00:00
Gary Williams
3281138bcf fix format for new logging 2001-01-17 17:01:19 +00:00
Stig Venaas
43015fc862 Allow changing rdn only, locked parent twice when old and new parent were
the same.
2001-01-09 15:49:44 +00:00
Kurt Zeilenga
5630665e27 quick hack to support holding of the root naming context 2000-10-18 19:29:40 +00:00
Kurt Zeilenga
5a32ff0603 Add missing 'static'... (ITS#823,825,828)
as reported by Jeff Earickson <jaearick@colby.edu>
other suggestions to be separately reviewed
2000-10-11 23:42:53 +00:00
Kurt Zeilenga
e6dc9d1889 Update ldappasswd binddn bug, man page and error reporting 2000-10-11 04:56:08 +00:00
Kurt Zeilenga
49d9f7f1b2 Don't excite folks with index_param fails 2000-10-03 20:50:08 +00:00
Kurt Zeilenga
8a8ed19a44 fix typo in comment 2000-09-30 05:34:02 +00:00
Kurt Zeilenga
890a3cc3bb Update entry release to new prototype 2000-09-30 04:13:30 +00:00
Kurt Zeilenga
7c96f629ee Add connection and operation arguments to backend callbacks.
Needed for transactions.
2000-09-29 05:25:44 +00:00
Kurt Zeilenga
ce382475f0 misc cleanup 2000-09-29 02:50:34 +00:00
Kurt Zeilenga
708db94416 Clean up logging and fix ITS#771 typo 2000-09-25 06:49:27 +00:00
Kurt Zeilenga
6543336245 Fix typo in comment 2000-09-20 23:29:14 +00:00
Kurt Zeilenga
4617f2e946 Fix SPASSWD merge for real 2000-09-20 17:34:06 +00:00
Kurt Zeilenga
50714d2d48 merge changes from authPassword work which should fix SPASSWD code... 2000-09-20 00:28:57 +00:00
Kurt Zeilenga
583cbc8c25 Framework for back-bdb 2000-09-18 18:51:07 +00:00
Ben Collins
09a2e74d5a dereference 'char **text' when passing it as an arg to Debug() 2000-09-13 21:52:50 +00:00
Ben Collins
d216e32d63 declare return value of index_mask() to be slap_mask_t, also get rid of extraneous code in for() loop 2000-09-13 21:51:14 +00:00
Kurt Zeilenga
f7ba5a68c4 Catch nextid failures. 2000-09-12 21:16:03 +00:00
Kurt Zeilenga
d8c4df6f39 -lldbm now sets DB_USE_ENVIRON and support input of a DB home path.
back-ldbm needs modification to support db home directory as backend
(as oppose to database) option.
2000-09-11 18:46:34 +00:00
Kurt Zeilenga
f9690a37bb ITS#717 slapd kbind patch 2000-09-07 22:03:32 +00:00
Kurt Zeilenga
a75a024fd3 Consistently don't require "entry" access (except on search) 2000-09-05 21:48:12 +00:00
Kurt Zeilenga
08b52f80bb Fix alias deref success v. NoSuchObject bug 2000-08-27 17:53:01 +00:00
Kurt Zeilenga
02f888c563 First cut of LDBM substrings indexing. Needs testing. 2000-08-22 21:26:25 +00:00
Kurt Zeilenga
85b3f80869 Plug leaks. 2000-08-15 21:57:40 +00:00
Kurt Zeilenga
20248e7430 Move delete of last value check out of inner loop. 2000-08-15 21:57:28 +00:00
Kurt Zeilenga
6be4f4fdb2 remove assert(0) 2000-08-07 17:19:55 +00:00