xref: /freebsd/crypto/heimdal/lib/krb5/krb5_set_password.3 (revision 6a068746777241722b2b32c5d0bc443a2a64d80b)
1*ae771770SStanislav Sedov.\" Copyright (c) 2003 - 2004 Kungliga Tekniska Högskolan
28d4ba808SJacques Vidrine.\" (Royal Institute of Technology, Stockholm, Sweden).
38d4ba808SJacques Vidrine.\" All rights reserved.
48d4ba808SJacques Vidrine.\"
58d4ba808SJacques Vidrine.\" Redistribution and use in source and binary forms, with or without
68d4ba808SJacques Vidrine.\" modification, are permitted provided that the following conditions
78d4ba808SJacques Vidrine.\" are met:
88d4ba808SJacques Vidrine.\"
98d4ba808SJacques Vidrine.\" 1. Redistributions of source code must retain the above copyright
108d4ba808SJacques Vidrine.\"    notice, this list of conditions and the following disclaimer.
118d4ba808SJacques Vidrine.\"
128d4ba808SJacques Vidrine.\" 2. Redistributions in binary form must reproduce the above copyright
138d4ba808SJacques Vidrine.\"    notice, this list of conditions and the following disclaimer in the
148d4ba808SJacques Vidrine.\"    documentation and/or other materials provided with the distribution.
158d4ba808SJacques Vidrine.\"
168d4ba808SJacques Vidrine.\" 3. Neither the name of the Institute nor the names of its contributors
178d4ba808SJacques Vidrine.\"    may be used to endorse or promote products derived from this software
188d4ba808SJacques Vidrine.\"    without specific prior written permission.
198d4ba808SJacques Vidrine.\"
208d4ba808SJacques Vidrine.\" THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
218d4ba808SJacques Vidrine.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
228d4ba808SJacques Vidrine.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
238d4ba808SJacques Vidrine.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
248d4ba808SJacques Vidrine.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
258d4ba808SJacques Vidrine.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
268d4ba808SJacques Vidrine.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
278d4ba808SJacques Vidrine.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
288d4ba808SJacques Vidrine.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
298d4ba808SJacques Vidrine.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
308d4ba808SJacques Vidrine.\" SUCH DAMAGE.
318d4ba808SJacques Vidrine.\"
32*ae771770SStanislav Sedov.\" $Id$
338d4ba808SJacques Vidrine.\"
34c19800e8SDoug Rabson.Dd July 15, 2004
358d4ba808SJacques Vidrine.Dt KRB5_SET_PASSWORD 3
368d4ba808SJacques Vidrine.Os HEIMDAL
378d4ba808SJacques Vidrine.Sh NAME
388d4ba808SJacques Vidrine.Nm krb5_change_password ,
398d4ba808SJacques Vidrine.Nm krb5_set_password ,
40c19800e8SDoug Rabson.Nm krb5_set_password_using_ccache ,
41c19800e8SDoug Rabson.Nm krb5_passwd_result_to_string
428d4ba808SJacques Vidrine.Nd change password functions
438d4ba808SJacques Vidrine.Sh LIBRARY
448d4ba808SJacques VidrineKerberos 5 Library (libkrb5, -lkrb5)
458d4ba808SJacques Vidrine.Sh SYNOPSIS
468d4ba808SJacques Vidrine.In krb5.h
478d4ba808SJacques Vidrine.Ft krb5_error_code
488d4ba808SJacques Vidrine.Fo krb5_change_password
498d4ba808SJacques Vidrine.Fa "krb5_context context"
508d4ba808SJacques Vidrine.Fa "krb5_creds *creds"
518d4ba808SJacques Vidrine.Fa "char *newpw"
528d4ba808SJacques Vidrine.Fa "int *result_code"
538d4ba808SJacques Vidrine.Fa "krb5_data *result_code_string"
548d4ba808SJacques Vidrine.Fa "krb5_data *result_string"
558d4ba808SJacques Vidrine.Fc
568d4ba808SJacques Vidrine.Ft krb5_error_code
578d4ba808SJacques Vidrine.Fo krb5_set_password
588d4ba808SJacques Vidrine.Fa "krb5_context context"
598d4ba808SJacques Vidrine.Fa "krb5_creds *creds"
608d4ba808SJacques Vidrine.Fa "char *newpw"
61c19800e8SDoug Rabson.Fa "krb5_principal targprinc"
628d4ba808SJacques Vidrine.Fa "int *result_code"
638d4ba808SJacques Vidrine.Fa "krb5_data *result_code_string"
648d4ba808SJacques Vidrine.Fa "krb5_data *result_string"
658d4ba808SJacques Vidrine.Fc
668d4ba808SJacques Vidrine.Ft krb5_error_code
678d4ba808SJacques Vidrine.Fo krb5_set_password_using_ccache
688d4ba808SJacques Vidrine.Fa "krb5_context context"
698d4ba808SJacques Vidrine.Fa "krb5_ccache ccache"
708d4ba808SJacques Vidrine.Fa "char *newpw"
718d4ba808SJacques Vidrine.Fa "krb5_principal targprinc"
728d4ba808SJacques Vidrine.Fa "int *result_code"
738d4ba808SJacques Vidrine.Fa "krb5_data *result_code_string"
748d4ba808SJacques Vidrine.Fa "krb5_data *result_string"
758d4ba808SJacques Vidrine.Fc
76c19800e8SDoug Rabson.Ft "const char *"
77c19800e8SDoug Rabson.Fo krb5_passwd_result_to_string
78c19800e8SDoug Rabson.Fa "krb5_context context"
79c19800e8SDoug Rabson.Fa "int result"
80c19800e8SDoug Rabson.Fc
818d4ba808SJacques Vidrine.Sh DESCRIPTION
828d4ba808SJacques VidrineThese functions change the password for a given principal.
838d4ba808SJacques Vidrine.Pp
848d4ba808SJacques Vidrine.Fn krb5_set_password
858d4ba808SJacques Vidrineand
86c19800e8SDoug Rabson.Fn krb5_set_password_using_ccache
87c19800e8SDoug Rabsonare the newer of the three functions, and use a newer version of the
88c19800e8SDoug Rabsonprotocol (and also fall back to the older set-password protocol if the
89c19800e8SDoug Rabsonnewer protocol doesn't work).
908d4ba808SJacques Vidrine.Pp
918d4ba808SJacques Vidrine.Fn krb5_change_password
92c19800e8SDoug Rabsonsets the password
938d4ba808SJacques Vidrine.Fa newpasswd
948d4ba808SJacques Vidrinefor the client principal in
958d4ba808SJacques Vidrine.Fa creds .
968d4ba808SJacques VidrineThe server principal of creds must be
978d4ba808SJacques Vidrine.Li kadmin/changepw .
988d4ba808SJacques Vidrine.Pp
998d4ba808SJacques Vidrine.Fn krb5_set_password
100c19800e8SDoug Rabsonand
101c19800e8SDoug Rabson.Fn krb5_set_password_using_ccache
102c19800e8SDoug Rabsonchange the password for the principal
103c19800e8SDoug Rabson.Fa targprinc .
104c19800e8SDoug Rabson.Pp
105c19800e8SDoug Rabson.Fn krb5_set_password
106c19800e8SDoug Rabsonrequires that the credential for
107c19800e8SDoug Rabson.Li kadmin/changepw@REALM
108c19800e8SDoug Rabsonis in
109c19800e8SDoug Rabson.Fa creds .
110c19800e8SDoug RabsonIf the user caller isn't an administrator, this credential
111c19800e8SDoug Rabsonneeds to be an initial credential, see
112c19800e8SDoug Rabson.Xr krb5_get_init_creds 3
113c19800e8SDoug Rabsonhow to get such credentials.
114c19800e8SDoug Rabson.Pp
115c19800e8SDoug Rabson.Fn krb5_set_password_using_ccache
116c19800e8SDoug Rabsonwill get the credential from
117c19800e8SDoug Rabson.Fa ccache .
118c19800e8SDoug Rabson.Pp
119c19800e8SDoug RabsonIf
1208d4ba808SJacques Vidrine.Fa targprinc
1218d4ba808SJacques Vidrineis
122c19800e8SDoug Rabson.Dv NULL ,
123c19800e8SDoug Rabson.Fn krb5_set_password_using_ccache
124c19800e8SDoug Rabsonuses the the default principal in
1258d4ba808SJacques Vidrine.Fa ccache
126c19800e8SDoug Rabsonand
127c19800e8SDoug Rabson.Fn krb5_set_password
128c19800e8SDoug Rabsonuses the global the default principal.
1298d4ba808SJacques Vidrine.Pp
130c19800e8SDoug RabsonAll three functions return an error in
1318d4ba808SJacques Vidrine.Fa result_code
132c19800e8SDoug Rabsonand maybe an error string to print in
1338d4ba808SJacques Vidrine.Fa result_string .
134c19800e8SDoug Rabson.Pp
135c19800e8SDoug Rabson.Fn krb5_passwd_result_to_string
136c19800e8SDoug Rabsonreturns an human readable string describing the error code in
137c19800e8SDoug Rabson.Fa result_code
138c19800e8SDoug Rabsonfrom the
139c19800e8SDoug Rabson.Fn krb5_set_password
140c19800e8SDoug Rabsonfunctions.
1418d4ba808SJacques Vidrine.Sh SEE ALSO
1428d4ba808SJacques Vidrine.Xr krb5_ccache 3 ,
1438d4ba808SJacques Vidrine.Xr krb5_init_context 3
144