The attached two patches are smaller refactorings to the SASL exchange and init codepaths which are required for the OAuthbearer work [0]. Regardless of the future of that patchset, these refactorings are nice cleanups and can be considered in isolation. Another goal is of course to reduce scope of the OAuth patchset to make it easier to review.
The first patch change state return from the exchange call to use a tri-state return value instead of the current output parameters. This makes it possible to introduce async flows, but it also makes the code a lot more readable due to using descriptve names IMHO. The second patch sets password_needed during SASL init on the SCRAM exchanges. This was implicit in the code but since not all future exchanges may require password, do it explicitly per mechanism instead. -- Daniel Gustafsson [0] d1b467a78e0e36ed85a09adf979d04cf124a9d4b.ca...@vmware.com
v1-0002-Explicitly-require-password-for-SCRAM-exchange.patch
Description: Binary data
v1-0001-Refactor-SASL-exchange-to-return-tri-state-status.patch
Description: Binary data