Howard Chu
4853334ad4
Fix shadowed text/textbuf
2003-03-24 19:19:54 +00:00
Howard Chu
5ad51b6150
SLAP_NVALUES tweaks - after input, a_nvals is always populated. If there is
...
no normalizer, a_nvals = a_vals.
2003-03-24 01:56:56 +00:00
Kurt Zeilenga
46a2616b83
Fix -USLAP_NVALUES
2003-02-26 03:12:02 +00:00
Kurt Zeilenga
a5e883a886
SLAP_NVALUE more add tweaks
2003-02-26 01:57:07 +00:00
Kurt Zeilenga
6390e947b0
SLAP_NVALUES, round 2
2003-02-25 22:49:41 +00:00
Kurt Zeilenga
aaf253318b
Move include <slapi.h> behind #ifdef
2003-02-10 02:09:00 +00:00
Kurt Zeilenga
c315e28779
Move RDN checks to entry_schema_check() so that it is consistently
...
applied (and disabled via schemacheck off). Removed add-rdn-values flag.
2003-02-07 20:12:26 +00:00
Pierangelo Masarati
7a97f37bd4
add 'add-rdn-values {on|off}' (default off) switch
2003-02-07 15:19:58 +00:00
Howard Chu
5e7655d68d
Fix for LDAP_SLAPI not def'd
2003-01-31 18:46:17 +00:00
Pierangelo Masarati
e3dfb8e317
cleanup
2003-01-31 00:02:51 +00:00
Kurt Zeilenga
e6255466da
Remove FIXME stuff (ITS#2243)
2003-01-30 23:14:10 +00:00
Pierangelo Masarati
e3b9e0a565
do not treat extensibleObject as special; add comment about referral
2003-01-30 21:21:20 +00:00
Luke Howard
13c48d1f76
Ensure that, when an entry is actually being added to the directory,
...
the entry specified by SLAPI_ADD_ENTRY contains the attributes to be
added.
2003-01-29 22:43:19 +00:00
Pierangelo Masarati
4010870f62
cleanup
2003-01-29 19:05:40 +00:00
Pierangelo Masarati
ffc343a485
allow special objectClasses to violate constraint (as suggested by Hallvard, who needs aliases :)
2003-01-29 18:01:15 +00:00
Pierangelo Masarati
683c237a54
bail out is now the default; use noSuchAttribute as error code, as suggested by Kurt
2003-01-29 17:01:04 +00:00
Pierangelo Masarati
6b5611cbac
check for RDN attrs/vals when adding an entry (ITS#2243; need to choose whether to bail out or to add the RDN attr/vals to the entry; FIXME: is constraintViolation a reasonable error?
2003-01-29 15:54:24 +00:00
Pierangelo Masarati
49c1ba60b7
slapi header cleanup
2003-01-27 21:35:34 +00:00
Luke Howard
819d4093ae
Honour PermitModify control when adding or deleting values. This code needs
...
review although, with the control disabled, it should not affect existing
code paths.
2003-01-24 01:43:09 +00:00
Luke Howard
0650e6ad52
Allow plugin to retrieve desired attribute list and state of manageDSAit control
...
Support search preop/rewrite/postop plugins for root DSE and subschema
2003-01-23 08:45:28 +00:00
Luke Howard
ff263ec6a7
Return LDAP_OTHER instead of LDAP_OPERATIONS_ERROR for internal SLAPI
...
failure
2003-01-21 09:42:26 +00:00
Luke Howard
8e8b4093f5
Mark Sun ONE 5.x SLAPI plugin types to avoid collisions
...
Rename internal slapi_XXX API to slapi_x_XXX
Always set result code/matched/error text in operation parameter block
to make available to postoperation plugins
2003-01-21 02:46:55 +00:00
Luke Howard
d484a9781c
Conform SLAPI to Netscape, iPlanet and Sun ONE Directory Server
...
behaviour:
1. Plugins never return LDAP result codes, instead they return a
small integer (0 or -1, others for special cases)
2. Preoperation plugins can abort processing by returning a non-
zero value to the frontend
3. Postoperation plugins never abort processing (all are called)
and their return values are ignored
2003-01-20 23:18:11 +00:00
Luke Howard
6a5f29b60a
Use new SLAPI API for setting associated parameters associated with the
...
Connection, Operation and Backend structures.
Ensure that SLAPI_MODIFY_MODS is set to an array of LDAPMods.
2003-01-19 15:30:10 +00:00
Kurt Zeilenga
6939c53170
Happy new year
2003-01-03 20:20:47 +00:00
Pierangelo Masarati
e9a74cffba
slapi used the old version of the LDAP_LOG macro (caught by Howard)
2002-12-27 14:59:01 +00:00
Pierangelo Masarati
1b70e16448
SLAPI - Netscape plugin API for slapd - based on patch contributed by Steve Omrani <somrani@us.ibm.com> as ITS#2073
2002-12-07 17:19:29 +00:00
Kurt Zeilenga
f5e6d1db41
#unifdef -DSCHEMA_DN
2002-09-29 04:30:38 +00:00
Pierangelo Masarati
d3ca441ae8
/*
...
* The original code performs ( n ) normalizations
* and ( n * ( n - 1 ) / 2 ) matches, which hide
* the same number of normalizations. The new code
* performs the same number of normalizations ( n )
* and ( n * ( n - 1 ) / 2 ) mem compares, far less
* expensive than an entire match, if a match is
* equivalent to a normalization and a mem compare ...
*
* This is far more memory expensive than the previous,
* but it can heavily improve performances when big
* chunks of data are added (typical example is a group
* with thousands of DN-syntax members; on my system:
* for members of 5-RDN DNs,
members orig bvmatch (dirty) new
1000 0m38.456s 0m0.553s 0m0.608s
2000 2m33.341s 0m0.851s 0m1.003s
* Moreover, 100 groups with 10000 members each were
* added in 37m27.933s (an analogous LDIF file was
* loaded into Active Directory in 38m28.682s, BTW).
*
* Maybe we could switch to the new algorithm when
* the number of values overcomes a given threshold?
*/
2002-09-02 19:41:03 +00:00
Howard Chu
07ebdca237
ITS#1893, use "schemadn" to configure subschemasubentry DN. (diff was
...
inaccessible, this is original code, not contributed.)
2002-08-10 03:10:52 +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
Kurt Zeilenga
0a2a381d07
Fix for "no structuralObjectClass" when lastmod is off (ITS#1904)
2002-06-25 01:04:54 +00:00
Howard Chu
a039bd97ea
ITS#1803, bogus free() of lber-private memory.
2002-05-06 16:51:00 +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
Howard Chu
2367a31872
Minor cleanup, no need to zero fields in calloc'd memory
2002-01-25 07:07:55 +00:00
Kurt Zeilenga
ccc4e64f0a
Fix up duplicate error reporting
2002-01-19 02:20:46 +00:00
Kurt Zeilenga
014ea5f486
Add checks for duplicate values
2002-01-19 01:56:35 +00:00
Kurt Zeilenga
819ffa1c37
Limit slurpd friendly code to replication user.
2002-01-18 22:01:29 +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
55501e886f
Rework backend (lastmod + glue + system schema) flags
2002-01-10 22:34:11 +00:00
Howard Chu
ec46a2f33a
Use 'm' ber_scanf format where convenient
2002-01-06 06:11:01 +00:00
Kurt Zeilenga
0e2af54a3f
Update copyright statements
2002-01-04 21:17:25 +00:00
Howard Chu
b15eebf50b
Minor cleanup. bvarray_add should return success/fail, like
...
ber_bvecadd does.
2002-01-02 13:03:46 +00:00
Howard Chu
ee98e6938c
Fix memory leak of Mod.sml_type
2002-01-02 12:34:35 +00:00
Howard Chu
f52cc9bab5
Change struct berval ** to BVarray
2002-01-02 11:00:36 +00:00
Howard Chu
292c575c1f
Added dnPrettyNormal, do both Pretty and Normalize at once to save
...
some ldap_str2dn overhead.
2001-12-28 07:27:15 +00:00
Kurt Zeilenga
21cecb3831
Update referral handling to use struct berval DNs.
2001-12-26 20:59:24 +00:00
Kurt Zeilenga
2dd27b0786
More struct berval DNs
2001-12-25 19:48:26 +00:00
Kurt Zeilenga
e08a10b853
Have replog() use struct berval DNs
2001-12-25 04:09:09 +00:00
Kurt Zeilenga
3336619c80
More "char *" to struct berval DN changes
2001-12-25 02:30:01 +00:00
Kurt Zeilenga
5ee89d6167
Use struct berval DNs for root DN and update DN
2001-12-25 00:05:26 +00:00
Kurt Zeilenga
d047cc854e
Require the struct berval **out argument of dnPretty/dnNormalize
...
point to a NULL pointer, that is assert( *out == NULL ).
Eventually, we'll allow **out to point to a preallocated
struct berval (to avoid unnecessary allocation).
2001-12-24 18:38:20 +00:00
Kurt Zeilenga
aac4f1caf5
Basic ename.bv_len work.
2001-12-24 17:24:18 +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
0c28b66a75
use dnPretty instead of dn_pretty
2001-12-23 00:43:57 +00:00
Kurt Zeilenga
a4a1325a6a
Update BER decoding of PDU to use "o" (struct berval) instead of
...
"a" (char **)... another step towards BerValue DNs.
2001-12-22 21:52:58 +00:00
Kurt Zeilenga
80c134ec07
Fix error in last commit
2001-12-20 00:44:26 +00:00
Kurt Zeilenga
1d6c8d8157
Add better error reporting.
...
Handle multiple SUP objectClasses.
2001-12-20 00:34:36 +00:00
Kurt Zeilenga
49d16c4dce
Add structuralObjectClass support and a bit of const'ification
2001-12-19 22:08:24 +00:00
Howard Chu
ef0b308bea
Changed backglue configuration. Added noSubordinates arg to select_backend
...
to deal with glued subordinates.
2001-12-10 12:09:40 +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
ea8f7aaab3
Pretty the entry DNs on add but not rename (yet).
2001-12-08 06:57:06 +00:00
Pierangelo Masarati
b1688462ce
check for update dn
2001-11-16 11:47:15 +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
aedf4b42fc
Return unwillingToPerform instead of noSuchObject for subschema subentry
2001-10-05 01:55:14 +00:00
Kurt Zeilenga
baa49e18de
Back out ManageDsaIt change.
2001-09-16 22:03:38 +00:00
Kurt Zeilenga
4baa7c47da
Add better modlist2mod error reporting (to client)
2001-05-10 03:41:17 +00:00
Gary Williams
f49fd8a98e
fix format
2001-01-17 16:35:53 +00:00
Kurt Zeilenga
2a7036e5b0
ITS#963: Multimaster patch
2001-01-16 06:49:49 +00:00
Gary Williams
d531a20f52
more new logging (finally), behind NEW_LOGGING
2001-01-11 17:11:23 +00:00
Kurt Zeilenga
dbdba34972
First-cut at manageDSAit-aware backend selection.
2000-10-21 03:29:02 +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
1e26e165fe
Disallow inappropriate operations upon the root dse.
2000-09-08 05:20:46 +00:00
Kurt Zeilenga
bf3df2f7a6
restrictops, requires, disallow knobs; ssf acls; and misc other changes
...
man pages to follow...
2000-08-28 18:38:48 +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
6020fe58e8
Modified slapd to be slurpd friendly.
...
Slurpd incorrectly sends a separate attribute for each value of an
attribute which caused slapd to complain. Hacked slapd/add.c
to merge values.
Slurpd uses version 2 and hence cannot set ManageDSAit. Hack
slapd/back-ldbm/referral.c such that if update_ndn matches
o_ndn, no referrals are returned.
Fix replication tests
ldapmodify must be made against master as no rebind proc exists
final ldapsearch should not chase
Fix referral tests
Use -C option as needed
2000-06-25 20:07:40 +00:00
Kurt Zeilenga
c332df50de
Remove unnecessary arg from front end backend_check_referrals call
2000-06-16 04:07:57 +00:00
Kurt Zeilenga
79ebfbc4fe
Rework referral entry point with DNS SRV implementation (needs testing).
2000-06-16 03:50:02 +00:00
Kurt Zeilenga
6f378341a2
Add backend_check_referrals() framework.
2000-06-16 01:19:30 +00:00
Kurt Zeilenga
b7d1b10bca
Minor cleanup
2000-06-14 21:11:56 +00:00
Kurt Zeilenga
693fb9424a
unifdef -DSLAPD_SCHEMA_NOT_COMPAT -USLAPD_SCHEMA_COMPAT
2000-06-06 19:43:18 +00:00
Kurt Zeilenga
62eea3b452
SLAPD_SCHEMA_NOT_COMPAT: fix bugs in add/modify logic
2000-05-23 18:08:19 +00:00
Kurt Zeilenga
bf3a229423
SLAPD_SCHEMA_NOT_COMPAT: cleanup
2000-05-23 17:00:46 +00:00
Kurt Zeilenga
a838ea676e
SLAPD_SCHEMA_NOT_COMPAT: fix up add framework
2000-05-23 01:21:47 +00:00
Kurt Zeilenga
60802201e3
Const'ification
...
SASL mech removed from backend bind callback (as SASL is managed by frontend)
Changes to some backends are untested (as I don't have all dependent
software install)
2000-05-22 03:46:57 +00:00
Kurt Zeilenga
b2f56a7318
SLAPD_SCHEMA_NOT_COMPAT: framework for value_match() and value_find()
2000-05-21 22:46:51 +00:00
Kurt Zeilenga
4bc786f34b
Y2k copyright update
2000-05-13 02:47:56 +00:00
Howard Chu
dcad3d9569
Undo slapd/add.c rev 1.54; back-bdb2 and back-ldbm were the only backends
...
that called entry_free() on failure. This change would cause a memory leak
from all the other backends. Instead, remove the entry_free calls in these
two backends and let the frontend take care of it for everyone.
2000-05-10 16:36:46 +00:00
Kurt Zeilenga
01c4e0f03c
LDAP_OPERATIONS_ERROR -> LDAP_OTHER
...
and other error handling changes
2000-04-25 13:18:59 +00:00
Julio Sánchez Fernández
976ac15785
The add routine in the backend already frees the entry in error, so
...
avoid trying to free it again.
2000-03-30 13:14:42 +00:00
Kurt Zeilenga
4710c74605
Rework error handling. Add error descriptions.
...
Don't use LDAP_OPERATIONS_ERROR for internal errors. Use LDAP_OTHER
instead. (more changes needed in this area)
2000-03-03 22:37:06 +00:00
Kurt Zeilenga
ddb9755ba7
Move handling of operations errors due to submission of
...
non-bind requests while a multi-step SASL bind process
is under to connection.c. Return LDAP_OPERATIONS_ERROR,
not LDAP_SASL_BIND_IN_PROGRESS.
2000-03-02 00:59:10 +00:00
Kurt Zeilenga
4091381660
Yet another round of SLAPD_SCHEMA_NOT_COMPAT changes, including:
...
limited subtype support, modlist handling, filter updates,
lastmod attribute handling.
2000-02-28 21:16:05 +00:00
Kurt Zeilenga
76553ea53f
More -DSLAPD_SCHEMA_NOT_COMPAT changes, including initial
...
impl of slap_modlist2mods() and is_at_subtype().
2000-02-25 19:36:07 +00:00
Kurt Zeilenga
550542e020
Use common entry cleanup code.
2000-02-22 19:43:02 +00:00
Kurt Zeilenga
86bd13846f
Additional -DSLAPD_SCHEMA_NOT_COMPAT changes
...
Not hidden "NULLDN" to "<anonymous>" in modify stats
2000-02-22 19:26:15 +00:00
Kurt Zeilenga
f9195f9b6f
Another round of SLAPD_SCHEMA_NOT_COMPAT changes including
...
basic structures for handing language tags and binary option
(but less actual code to actually support them). Provided
for reference only. Will not even compile.
2000-02-05 05:01:41 +00:00
Kurt Zeilenga
3708530620
Didn't return after returning unknown critical control.
...
Noticed that abandon and unbind don't have control support... something for
another day.
2000-02-01 01:22:06 +00:00
Kurt Zeilenga
434e7229ac
Add code to handle operational attributes via new schema codes
...
behind -USLAPD_SCHEMA_COMPAT.
2000-01-27 19:02:24 +00:00