summaryrefslogtreecommitdiff
path: root/usr.sbin/ldapd
AgeCommit message (Collapse)Author
2010-07-06Adapt code to adhere to the comment (now that doesn't happen very often!).Martin Hedenfal
When deciding how to rebalancing after delete (move or merge), the number of keys is not important, as long as the source page doesn't get empty after a move. There is still a rare case where merging two quarter-full pages will not fit in a whole page (due to prefix expansion) that needs to be fixed.
2010-07-06Check return code from commit. Incorrectly returned success when commitMartin Hedenfal
failed due to disk full.
2010-07-05Unbreak writing updates to the btree while having a cursor open on theMartin Hedenfal
affected pages. When a cursor has increased the reference count on a cached page, it is copied before updated. The new pointer was however not passed back to the caller, effectively commiting the old page numbers.
2010-07-05Plug a memory leak when aborting transactions.Martin Hedenfal
2010-07-05Close cursor on delete. Fixes memory leak introduced by non-leaf deleteMartin Hedenfal
check.
2010-07-02Dump parsed schema to buffer and send in requests for the cn=schemaMartin Hedenfal
subschema namespace. Only do this if 'objectClasses' and 'attributeTypes' are expicitly requested. This allows clients to for example present custom editing forms.
2010-07-02Don't validate modification of immutable attributes if the namespace isMartin Hedenfal
configured with relaxed schema checking.
2010-07-02Disallow deleting non-leaf nodes.Martin Hedenfal
2010-07-02Add a BT_CURSOR_EXACT operation to btree_cursor_get. It behaves likeMartin Hedenfal
BT_CURSOR, but fails if the key is not found.
2010-07-02Plug a memory leak where each update leaked one page.Martin Hedenfal
2010-07-02Fix memory leaks in schema parser.Martin Hedenfal
2010-07-01Implement the LDAP compare operation.Martin Hedenfal
2010-07-01Parse (and ignore) schema extensions with an X- prefix. Bail on unknown ↵Martin Hedenfal
keywords.
2010-07-01Give a more descriptive error message when an object class definitionMartin Hedenfal
references non-existent attribute types. from william@
2010-07-01Free the list of object classes allocated after validating an entry.Martin Hedenfal
2010-07-01reset number of revisions after compactionMartin Hedenfal
2010-07-01Copy statistics to the compacted database so it isn't lost.Martin Hedenfal
2010-07-01If the length of an element being read is larger than what is available inMartin Hedenfal
the buffer, return immediately. This fixes reading large messages, and allows bad requests to be cancelled earlier. Originally from Alexander Schrijver, tweaked by me.
2010-07-01Fix two possible null pointer assignments in the error path.Martin Hedenfal
found by clang static analyzer
2010-07-01Fix a null pointer dereference when writing an entry requiring a singleMartin Hedenfal
overflow page. Found by clang static analyzer. Also add some assertions to silence clang.
2010-07-01Remove dead assignments. Found by clang static analyzer.Martin Hedenfal
2010-07-01Add checks that we're not adding immutable attributes, just as we'reMartin Hedenfal
disallowing modifying immutable attributes. Remove the check for modifying operational attributes, as there's nothing that disallows that (except that they're also often marked as immutable). While here, check the return value from ber_add_* and ldap_add_attribute.
2010-06-30Set a default btree cache size.Martin Hedenfal
2010-06-30Don't prune page cache directly when adding to it. Fixes a crash with aMartin Hedenfal
zero cache-size. found by william@
2010-06-30Change the example for the 'include' keyword as schema files are no longerMartin Hedenfal
included that way. pointed out by william@
2010-06-30remove trailing spacesMartin Hedenfal
2010-06-30Validate that an entry can't belong to an abstract object class directly,Martin Hedenfal
unless it also belongs to a subclassed object class (structural or auxiliary).
2010-06-30Add a global root user that is allowed to read/write entries in all localMartin Hedenfal
namespaces. Useful for dump/restore of all namespaces.
2010-06-30Don't send statistics for referral namespaces. This unbreaks ldapctl stats.Martin Hedenfal
Avoid null pointer dereference when reopening a namespace.
2010-06-30Move OBJ_NAME and ATTR_NAME macros to schema.h so it's reachable fromMartin Hedenfal
schema parser. Also fix a typo.
2010-06-30Verify that any object class subclassing is allowed.Martin Hedenfal
2010-06-30Validate that all attributes are allowed by any of its object classes.Martin Hedenfal
Properly expand the object class hierarchy before doing this. Also verify that there is only one structural object class. Finally add support for the extensibleObject auxiliary object class.
2010-06-29sort SEE ALSO;Jason McIntyre
2010-06-29Add support for referrals. Referrals are configured in the config file,Martin Hedenfal
either in the global context or in a namespace. The latter can be used to delegate requests to different servers for specific parts of the DIT. The former is a global catch-all referral.
2010-06-29document the 'schema' keyword, and remove the placeholders for schema syntaxMartin Hedenfal
2010-06-29Remember on what listener a connection got from, and return protocol errorMartin Hedenfal
if trying to use starttls without a configured certificate, instead of just blocking the client.
2010-06-29Fix signedness warnings.Martin Hedenfal
Noticed by deraadt
2010-06-29don't overwrite the return code from validate_entryMartin Hedenfal
2010-06-29Rewrite the schema parser, as it's not a context-free grammar.Martin Hedenfal
This also brings the config parser more in line with other parse.y in the tree. The new schema parser also supports symbolic OID names. You need to update your /etc/ldapd.conf. Schema files are no longer included with the 'include' keyword, you have to use 'schema' for that. Moves schema-related structures to a separate include file to ease reuse.
2010-06-28Use the proper OIDs for syntax description, instead of bogus symbolicMartin Hedenfal
names.
2010-06-27return value unused, found by lintMartin Hedenfal
2010-06-27Remove unused functions and variables, found by lint.Martin Hedenfal
2010-06-27Remove unused code.Martin Hedenfal
2010-06-27remove an unused typedefMartin Hedenfal
2010-06-27Add support for different page sizes in the btree. Add a new header pageMartin Hedenfal
type and move the page size, magic and version from the meta page here. Bump the btree version number. This requires a dump/restore of any existing databases.
2010-06-26Unbreak removal of one-level search index.Martin Hedenfal
2010-06-23remove leftovers from old compaction codeMartin Hedenfal
2010-06-23Set errno to appropriate values when returning failure in btree. Make btreeMartin Hedenfal
functions only return success or failure (-1 or NULL). Update callers to check errno.
2010-06-23Remove compaction and indexing from ldapd. It is better done by a separateMartin Hedenfal
process now that the btree can pick up the changes automatically.
2010-06-17Fix byte alignment on sparc64.Martin Hedenfal
From Alexander Schrijver.