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
	 Love Hörnquist Åstrand
					Love Hörnquist Åstrand