Fix sasl for DIGEST-MD5, PLAIN, and LOGIN mechanisms, which I don't think ever actually worked properly. Add a sasluser argument if a specific identity is required for the backend, which if unsupplied, tries to guess if a binddn is present. (Uwe's previous commit fixed EXTERNAL and GSSAPI, which did work, but randomly failed due to hash ordering.) Minor style cleanups, remove duplicate/unecessary logic for anonymous binds.
Don't provide a password for sasl authentication. When a sasl parameter is given (and used) the password parameter is not used by Net::LDAP. If indeed a password is required it has to be passed in the Authen::SASL object, not as parameter to bind. So drop the password parameter which stops trying (and failing) to use password authentication sometimes if in Net/LDAP.pm the iteration over %ptype hits its 'password' member before the 'sasl' member.
Reset isearch state on ctrl+c when using Readline 7 This change does not affect Readline versions below 7. A fix for RL<7 would be to modify readline_state to turn off ISEARCH and set DONE, but changing these values through the Perl module does not appear to have visible effect.
Multiple configfile-related changes - Print current configfile in the output of 'env' (this also makes configfile changeable in runtime via 'setenv') - In 'configfile' commands, print which config file is being used - Fix behavior of existing 'more_conf' - Make load_config() return filename and hash, rather than unconditionally overwrite $conf - Bring back %conf2 into implementation of save_config; it is necessary to be there or 'configfile' is getting lost/deleted in the runtime config Other changes - Add 'set' as alias for 'setenv' - Add unsetenv/unset (opposite of setenv/set) - Do not print unset/undefined values in 'env'
Support arrays/hashes in 'env' (WIP) - 'env' now prints 'attributes' array - 'env' output now supports any data type, not just strings - option --attributes on command line properly overrides config values The remaining thing to do is to support 'setenv' to work with non-strings too.