xref: /freebsd/crypto/heimdal/lib/krb5/krb5_verify_user.3 (revision 6780ab54325a71e7e70112b11657973edde8655e)
1.\" Copyright (c) 2001 Kungliga Tekniska H�gskolan
2.\" $Id: krb5_verify_user.3,v 1.5 2002/08/28 15:30:58 joda Exp $
3.Dd June 27, 2001
4.Dt KRB5_VERIFY_USER 3
5.Os HEIMDAL
6.Sh NAME
7.Nm krb5_verify_user ,
8.Nm krb5_verify_user_lrealm
9.Nd Heimdal password verifying functions
10.Sh LIBRARY
11Kerberos 5 Library (libkrb5, -lkrb5)
12.Sh SYNOPSIS
13.Fd #include <krb5.h>
14.Ft krb5_error_code
15.Fn "krb5_verify_user" "krb5_context context" " krb5_principal principal" "krb5_ccache ccache" "const char *password" "krb5_boolean secure" "const char *service"
16.Ft krb5_error_code
17.Fn "krb5_verify_user_lrealm" "krb5_context context" "krb5_principal principal" "krb5_ccache ccache" "const char *password" "krb5_boolean secure" "const char *service"
18.Sh DESCRIPTION
19The
20.Nm krb5_verify_user
21function verifies the password supplied by a user.
22The principal whose
23password will be verified is specified in
24.Fa principal .
25New tickets will be obtained as a side-effect and stored in
26.Fa ccache
27(if NULL, the default ccache is used).
28If the password is not supplied in
29.Fa password
30(and is given as
31.Dv NULL )
32the user will be prompted for it.
33If
34.Fa secure
35the ticket will be verified against the locally stored service key
36.Fa service
37(by default
38.Ql host
39if given as
40.Dv NULL
41).
42.Pp
43The
44.Nm krb5_verify_user_lrealm
45function does the same, except that it ignores the realm in
46.Fa principal
47and tries all the local realms (see
48.Xr krb5.conf 5 ) .
49After a successful return, the principal is set to the authenticated
50realm. If the call fails, the principal will not be meaningful, and
51should only be freed with
52.Xr krb5_free_principal 3 .
53.Sh EXAMPLE
54Here is a example program that verifies a password. it uses the
55.Ql host/`hostname`
56service principal in
57.Pa krb5.keytab .
58.Bd -literal
59#include <krb5.h>
60
61int
62main(int argc, char **argv)
63{
64    char *user;
65    krb5_error_code error;
66    krb5_principal princ;
67    krb5_context context;
68
69    if (argc != 2)
70	errx(1, "usage: verify_passwd <principal-name>");
71
72    user = argv[1];
73
74    if (krb5_init_context(&context) < 0)
75	errx(1, "krb5_init_context");
76
77    if ((error = krb5_parse_name(context, user, &princ)) != 0)
78	krb5_err(context, 1, error, "krb5_parse_name");
79
80    error = krb5_verify_user(context, princ, NULL, NULL, TRUE, NULL);
81    if (error)
82        krb5_err(context, 1, error, "krb5_verify_user");
83
84    return 0;
85}
86.Ed
87.Sh SEE ALSO
88.Xr krb5_err 3 ,
89.Xr krb5_free_principal 3 ,
90.Xr krb5_init_context 3 ,
91.Xr krb5_kt_default 3 ,
92.Xr krb5.conf 5
93