Ticket 49379 - Allowed sasl mapping requires restart
Bug Description: If allowed sasl mechanisms are configured, and the server is
restarted, trying to add new sasl mechanisms does not get applied
until the server is restarted again. [1]
We were also overwriting memory when we stripped the commas from
the allowed machanism list. THis lead to the allowed mechanisms
to get truncated,and permanently lose certain mechs. [2]
A crash with PLAIN sasl mechanism was also found. [3]
Fix Description: To address allowed sasl mechs, we no longer explicitly the mechanisms
during the sasl_init at server startup. Instead we check the allowed
list ourselves during a bind. [1]
When setting the allowed sasl mechs, make a copy of the value to
apply the changes to(removing coamms), and do not change the original
value as it's still being used. [2]
The crash when using sasl PLAIN was due to unlocking a rwlock that
was not locked. [3]
https://pagure.io/389-ds-base/issue/49379
Reviewed by: tbordaz(Thanks!)
(cherry picked from commit c78f41db31752a99aadd6abcbf7a1d852a8e7931)