Quanah Gibson-Mount writes:
It should be as simple as changing: passwd.c:#define SALT_SIZE 4 to passwd.c:#define SALT_SIZE 8
I don't get this. I don't know ssha1, but...
That's for generating ssha1 hashes in hash_ssha1(), it is not used for decoding them in chk_ssha1() - which I assume is what he needs when moving _to_ OpenLDAP.
chk_ssha1() looks independent of salt size - it base64-decodes the provided salt+hash and finds expects the salt to start at position LUTIL_SHA1_BYTES (from include/lutil_sha1.h) in that string.