NAME
krb5_change_password, krb5_set_password, krb5_set_password_using_ccache,
krb5_passwd_result_to_string - change password functions
LIBRARY
Kerberos 5 Library (libkrb5, -lkrb5)
SYNOPSIS
#include <krb5.h>
krb5_error_code
krb5_change_password(krb5_context context, krb5_creds *creds,
char *newpw, int *result_code, krb5_data *result_code_string,
krb5_data *result_string);
krb5_error_code
krb5_set_password(krb5_context context, krb5_creds *creds, char *newpw,
krb5_principal targprinc, int *result_code,
krb5_data *result_code_string, krb5_data *result_string);
krb5_error_code
krb5_set_password_using_ccache(krb5_context context, krb5_ccache ccache,
char *newpw, krb5_principal targprinc, int *result_code,
krb5_data *result_code_string, krb5_data *result_string);
const char *
krb5_passwd_result_to_string(krb5_context context, int result);
DESCRIPTION
These functions change the password for a given principal.
krb5_set_password() and krb5_set_password_using_ccache() are the newer of
the three functions, and use a newer version of the protocol (and also
fall back to the older set-password protocol if the newer protocol
doesn’t work).
krb5_change_password() sets the password newpasswd for the client
principal in creds. The server principal of creds must be
kadmin/changepw.
krb5_set_password() and krb5_set_password_using_ccache() change the
password for the principal targprinc.
krb5_set_password() requires that the credential for
kadmin/changepw@REALM is in creds. If the user caller isn’t an
administrator, this credential needs to be an initial credential, see
krb5_get_init_creds(3) how to get such credentials.
krb5_set_password_using_ccache() will get the credential from ccache.
If targprinc is NULL, krb5_set_password_using_ccache() uses the the
default principal in ccache and krb5_set_password() uses the global the
default principal.
All three functions return an error in result_code and maybe an error
string to print in result_string.
krb5_passwd_result_to_string() returns an human readable string
describing the error code in result_code from the krb5_set_password()
functions.
SEE ALSO
krb5_ccache(3), krb5_init_context(3)