Call the public kadm5 API functions instead of the internal ones The kadm5_c_* functions are an internal API. The public functions are the ones without the _c, which dispatch to the internal functions depending on whether one links with the client library or the server library. By calling the _c functions, we don't get the benefit of prototype checking and fail if the internal function signature ever changes.
The latter has now happened with Heimdal 1.6 currently used in Debian, and as a result the create_principal and chpass_principal functions here have stopped working because they provide the wrong number of arguments and the Heimdal library sees random stack garbage as the additional function arguments.
Replace all C calls to use the versions without _c, since this module doesn't attempt to support the _s and _c interfaces simultaneously anyway and therefore no benefit accrues from calling the _c functions. This also fixes the backward-compatibility problem, since the public API did not change, only the internal function API.
diff --git a/Kadm5.xs b/Kadm5.xs index f1312f8..8ee5d73 100644