On 2013/01/14 19:18, Friedrich Locke wrote: > Hi folks, > > this is my first message to this list. I am writing because i am in need to > use openldap from ports. > Initially i tried openldap with support to BDB, but it is buggy. > I was suggest to try mdb, but openldap's Makefile have the --disable-mdb > instruction. > > Since i do need to get a directory service and have no knownledge on > openldap internals, i come to you > in order to suggest how could i help in order to get mdb supported by > OpenBSD Ports OpenLDAP. > > Thank you a lot for your time and cooperation. > > Best regards, > > Fried.
So this is a memory-mapped database; there have been problems with these in the past (e.g. in Cyrus imapd and Dovecot) but I am not sure of all the details. The port diff is easy enough but I would really like some advice from someone who is knowledgeable about the mmap issues as to whether or not it's safe to use this on OpenBSD. A bit more info from slides at http://www.openldap.org/pub/hyc/mdm-slides.pdf :- -- -- -- -- -- * Uses a read-only memory map * Protects the database structure from corruption due to stray writes in memory * Any attempts to write to the map will cause a SEGV, allowing immediate identification of software bugs * There's no point in making the pages writable anyway, since only existing pages may be written. Growing the database requires file ops (write, ftruncate) so for uniformity, file ops are also used for updates. -- -- -- -- -- I *think* the problems were only with mmap writes, if this is correct then they seem to be sidestepping the problems by doing this. BTW I'm using OpenLDAP 2.4 with BDB here and haven't noticed issues however it is not under extreme load..