1 1.1 christos emptyds Overlay README 2 1.1 christos 3 1.1 christos DESCRIPTION 4 1.1 christos This package contains an OpenLDAP overlay called "emptyds" (empty 5 1.1 christos directory string) that eliminates empty values of type directory string 6 1.1 christos (OID 1.3.6.1.4.1.1466.115.121.1.15) from the list of the values in the 7 1.1 christos following manner: 8 1.1 christos 9 1.1 christos - add: All empty attribute values will be removed before the add request 10 1.1 christos is executed 11 1.1 christos - mod-replace: A replace with empty values will be modified to a replace 12 1.1 christos without values. As result the attribute will be deleted 13 1.1 christos - mod-add: All empty attribute values will be removed before the mod-add 14 1.1 christos request is executed 15 1.1 christos - mod-delete: All empty attribute values will be removed before the 16 1.1 christos mod-delete request is executed 17 1.1 christos 18 1.1 christos If removing all empty values from a modification makes it a no-op, that 19 1.1 christos modification is removed from the list. 20 1.1 christos 21 1.1 christos At module load time the emptyds overlay manipulates the syntax checking 22 1.1 christos so that it intercepts the syntax check and allows empty values for 23 1.1 christos attributes of type directory string only. Non-empty values continue to 24 1.1 christos go through the normal check routines. It is therefore very important to 25 1.1 christos configure the overlays in a way that ensures that the emptyds overlay gets 26 1.1 christos the control over the operation before any other overlay. Otherwise it 27 1.1 christos could come to the situation with empty attribute values in the data base. 28 1.1 christos 29 1.1 christos David Hawes' addpartial overlay has been used as starting point for this 30 1.1 christos overlay. 31 1.1 christos 32 1.1 christos BUILDING 33 1.1 christos A Makefile is included, please set your LDAP_SRC directory properly. 34 1.1 christos 35 1.1 christos INSTALLATION 36 1.1 christos After compiling the emptyds overlay, add the following to your 37 1.1 christos slapd.conf: 38 1.1 christos 39 1.1 christos ### slapd.conf 40 1.1 christos ... 41 1.1 christos moduleload emptyds.la 42 1.1 christos ... 43 1.1 christos overlay emptyds 44 1.1 christos ... 45 1.1 christos # before database directive... 46 1.1 christos # this overlay must be the last overlay in the config file to ensure that 47 1.1 christos # requests are modified before other overlays get them. 48 1.1 christos ... 49 1.1 christos ### end slapd.conf 50 1.1 christos 51 1.1 christos CAVEATS 52 1.1 christos - In order to ensure that emptyds does what it needs to do, it must be 53 1.1 christos the last overlay configured so it will run before the other overlays. 54 1.1 christos 55 1.1 christos --- 56 1.1 christos Copyright 2014-2024 The OpenLDAP Foundation. 57 1.1 christos Portions Copyright (C) DAASI International GmbH, Tamim Ziai. 58 1.1 christos All rights reserved. 59 1.1 christos 60 1.1 christos Redistribution and use in source and binary forms, with or without 61 1.1 christos modification, are permitted only as authorized by the OpenLDAP 62 1.1 christos Public License. 63 1.1 christos 64 1.1 christos A copy of this license is available in file LICENSE in the 65 1.1 christos top-level directory of the distribution or, alternatively, at 66 1.1 christos http://www.OpenLDAP.org/license.html. 67