document krb5_acl_match_*
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@13552 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
110
lib/krb5/krb5_acl_match_file.3
Normal file
110
lib/krb5/krb5_acl_match_file.3
Normal file
@@ -0,0 +1,110 @@
|
||||
.\" Copyright (c) 2004 Kungliga Tekniska H<>gskolan
|
||||
.\" (Royal Institute of Technology, Stockholm, Sweden).
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\"
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\"
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\"
|
||||
.\" 3. Neither the name of the Institute nor the names of its contributors
|
||||
.\" may be used to endorse or promote products derived from this software
|
||||
.\" without specific prior written permission.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
|
||||
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
|
||||
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" $Id$
|
||||
.\"
|
||||
.Dd March 20, 2004
|
||||
.Dt KRB5_ACL_MATCH_FILE 3
|
||||
.Os HEIMDAL
|
||||
.Sh NAME
|
||||
.Nm krb5_acl_match_file ,
|
||||
.Nm krb5_acl_match_string
|
||||
.Nd ACL matching functions .
|
||||
.Sh LIBRARY
|
||||
Kerberos 5 Library (libkrb5, -lkrb5)
|
||||
.Sh SYNOPSIS
|
||||
.Ft krb5_error_code
|
||||
.Fo krb5_acl_match_file
|
||||
.Fa "krb5_context context"
|
||||
.Fa "const char *file"
|
||||
.Fa "const char *format"
|
||||
.Fa "..."
|
||||
.Fc
|
||||
.Ft krb5_error_code
|
||||
.Fo krb5_acl_match_string
|
||||
.Fa "krb5_context context"
|
||||
.Fa "const char *string"
|
||||
.Fa "const char *format"
|
||||
.Fa "..."
|
||||
.Fc
|
||||
.Sh DESCRIPTION
|
||||
.Nm krb5_acl_match_file
|
||||
matches ACL format against each line in a file.
|
||||
Lines starting with # are treated like comments and ignored.
|
||||
.Pp
|
||||
.Nm krb5_acl_match_string
|
||||
matches ACL format against a string.
|
||||
.Pp
|
||||
The ACL format have tree format specifiers, s, f, r.
|
||||
Each specifier will pull of one argument from the varable arguments
|
||||
for ether maching or storing data.
|
||||
The input string is split up using " " and "\t" as delimiter, multiple
|
||||
" " and "\t" in a row are considered to be the same.
|
||||
.Pp
|
||||
.Bl -tag -width "f" -compact
|
||||
.It s
|
||||
matches a string using strcmp (case sensetive).
|
||||
.It f
|
||||
matches the string with
|
||||
.Xr fnmatch 3 .
|
||||
The
|
||||
.Fa flags
|
||||
argument (the last argument) passed to the fnmatch function is 0.
|
||||
.It r
|
||||
returns a copy the string in the char ** passed in, the copy must be
|
||||
freed with
|
||||
.Xr free 3 .
|
||||
There is no need to
|
||||
.Xr free 3
|
||||
the string on error, the function will clean up and set the pointer to
|
||||
.Dv NULL .
|
||||
.El
|
||||
.Pp
|
||||
All unknown format specifiers causes an error.
|
||||
.Pp
|
||||
.Sh EXAMPLES
|
||||
.Bd -literal
|
||||
char *s;
|
||||
|
||||
ret = krb5_acl_match_string(context, "foo", "s", "foo");
|
||||
if (ret)
|
||||
krb5_errx(context, 1, "acl didn't match");
|
||||
ret = krb5_acl_match_string(context, "foo foo baz/kaka",
|
||||
"ss", "foo", &s, "foo/*");
|
||||
if (ret) {
|
||||
/* no need to free(s) on error */
|
||||
assert(s == NULL);
|
||||
krb5_errx(context, 1, "acl didn't match");
|
||||
}
|
||||
free(s);
|
||||
.Ed
|
||||
.Sh SEE ALSO
|
||||
.Xr krb5 3
|
Reference in New Issue
Block a user