stop memory leak in example, expand on wildcards

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@14688 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2005-03-28 15:05:43 +00:00
parent 684c1acb7b
commit 9c4d1ce62a

View File

@@ -31,7 +31,7 @@
.\" .\"
.\" $Id$ .\" $Id$
.\" .\"
.Dd March 20, 2004 .Dd March 28, 2005
.Dt KRB5_KEYTAB 3 .Dt KRB5_KEYTAB 3
.Os HEIMDAL .Os HEIMDAL
.Sh NAME .Sh NAME
@@ -251,6 +251,7 @@ Returns 0 or an error. The opposite of
.Fn krb5_kt_resolve .Fn krb5_kt_resolve
is is
.Fn krb5_kt_close . .Fn krb5_kt_close .
.Pp
.Fn krb5_kt_close .Fn krb5_kt_close
frees all resources allocated to the keytab. frees all resources allocated to the keytab.
.Pp .Pp
@@ -360,6 +361,12 @@ into
.Fa entry .Fa entry
from the keytab from the keytab
.Fa id . .Fa id .
When comparing an entry in the keytab to determine a match, the
function
.Fn krb5_kt_compare
is used, so the wildcard rules applies to arguments of
.F krb5_kt_get_entry
too.
On success the returne entry must be freed with On success the returne entry must be freed with
.Fn krb5_kt_free_entry . .Fn krb5_kt_free_entry .
Returns 0 or an error. Returns 0 or an error.
@@ -371,8 +378,20 @@ reads the key identified by
.Fa enctype ) .Fa enctype )
from the keytab in from the keytab in
.Fa keyprocarg .Fa keyprocarg
(the default if == NULL) into (the system default keytab if
.Dv NULL
is used) into
.Fa *key . .Fa *key .
.Fa keyprocarg
is the same argument as to
.Fa name
argument to
.Fn krb5_kt_resolve .
Internal
.Fn krb5_kt_compare
will be used, so the same wildcard rules applies
to
.Fn krb5_kt_read_service_key .
On success the returned key must be freed with On success the returned key must be freed with
.Fa krb5_free_keyblock . .Fa krb5_free_keyblock .
Returns 0 or an error. Returns 0 or an error.
@@ -422,6 +441,9 @@ main (int argc, char **argv)
ret = krb5_kt_end_seq_get(context, keytab, &cursor); ret = krb5_kt_end_seq_get(context, keytab, &cursor);
if (ret) if (ret)
krb5_err(context, 1, ret, "krb5_kt_end_seq_get"); krb5_err(context, 1, ret, "krb5_kt_end_seq_get");
ret = krb5_kt_close(context, keytab);
if (ret)
krb5_err(context, 1, ret, "krb5_kt_close");
krb5_free_context(context); krb5_free_context(context);
return 0; return 0;
} }