acl_valid.c (194955) | acl_valid.c (208785) |
---|---|
1/*- 2 * Copyright (c) 1999, 2000, 2001, 2002 Robert N. M. Watson 3 * All rights reserved. 4 * 5 * This software was developed by Robert Watson for the TrustedBSD Project. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 16 unchanged lines hidden (view full) --- 25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 * SUCH DAMAGE. 27 */ 28/* 29 * acl_valid -- POSIX.1e ACL check routine 30 */ 31 32#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 1999, 2000, 2001, 2002 Robert N. M. Watson 3 * All rights reserved. 4 * 5 * This software was developed by Robert Watson for the TrustedBSD Project. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 16 unchanged lines hidden (view full) --- 25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 * SUCH DAMAGE. 27 */ 28/* 29 * acl_valid -- POSIX.1e ACL check routine 30 */ 31 32#include <sys/cdefs.h> |
33__FBSDID("$FreeBSD: head/lib/libc/posix1e/acl_valid.c 194955 2009-06-25 12:46:59Z trasz $"); | 33__FBSDID("$FreeBSD: head/lib/libc/posix1e/acl_valid.c 208785 2010-06-03 14:29:17Z trasz $"); |
34 35#include <sys/types.h> 36#include "namespace.h" 37#include <sys/acl.h> 38#include "un-namespace.h" 39#include <sys/errno.h> 40#include <stdlib.h> 41 --- 32 unchanged lines hidden (view full) --- 74 } else { 75 return (0); 76 } 77} 78 79int 80acl_valid_file_np(const char *pathp, acl_type_t type, acl_t acl) 81{ | 34 35#include <sys/types.h> 36#include "namespace.h" 37#include <sys/acl.h> 38#include "un-namespace.h" 39#include <sys/errno.h> 40#include <stdlib.h> 41 --- 32 unchanged lines hidden (view full) --- 74 } else { 75 return (0); 76 } 77} 78 79int 80acl_valid_file_np(const char *pathp, acl_type_t type, acl_t acl) 81{ |
82 int error; | |
83 84 if (pathp == NULL || acl == NULL) { 85 errno = EINVAL; 86 return (-1); 87 } 88 type = _acl_type_unold(type); | 82 83 if (pathp == NULL || acl == NULL) { 84 errno = EINVAL; 85 return (-1); 86 } 87 type = _acl_type_unold(type); |
89 if (_posix1e_acl(acl, type)) { 90 error = _posix1e_acl_sort(acl); 91 if (error) { 92 errno = error; 93 return (-1); 94 } 95 } | 88 if (_posix1e_acl(acl, type)) 89 _posix1e_acl_sort(acl); |
96 97 return (__acl_aclcheck_file(pathp, type, &acl->ats_acl)); 98} 99 100int 101acl_valid_link_np(const char *pathp, acl_type_t type, acl_t acl) 102{ | 90 91 return (__acl_aclcheck_file(pathp, type, &acl->ats_acl)); 92} 93 94int 95acl_valid_link_np(const char *pathp, acl_type_t type, acl_t acl) 96{ |
103 int error; | |
104 105 if (pathp == NULL || acl == NULL) { 106 errno = EINVAL; 107 return (-1); 108 } 109 type = _acl_type_unold(type); | 97 98 if (pathp == NULL || acl == NULL) { 99 errno = EINVAL; 100 return (-1); 101 } 102 type = _acl_type_unold(type); |
110 if (_posix1e_acl(acl, type)) { 111 error = _posix1e_acl_sort(acl); 112 if (error) { 113 errno = error; 114 return (-1); 115 } 116 } | 103 if (_posix1e_acl(acl, type)) 104 _posix1e_acl_sort(acl); |
117 118 return (__acl_aclcheck_link(pathp, type, &acl->ats_acl)); 119} 120 121int 122acl_valid_fd_np(int fd, acl_type_t type, acl_t acl) 123{ | 105 106 return (__acl_aclcheck_link(pathp, type, &acl->ats_acl)); 107} 108 109int 110acl_valid_fd_np(int fd, acl_type_t type, acl_t acl) 111{ |
124 int error; | |
125 126 if (acl == NULL) { 127 errno = EINVAL; 128 return (-1); 129 } 130 type = _acl_type_unold(type); | 112 113 if (acl == NULL) { 114 errno = EINVAL; 115 return (-1); 116 } 117 type = _acl_type_unold(type); |
131 if (_posix1e_acl(acl, type)) { 132 error = _posix1e_acl_sort(acl); 133 if (error) { 134 errno = error; 135 return (-1); 136 } 137 } | 118 if (_posix1e_acl(acl, type)) 119 _posix1e_acl_sort(acl); |
138 139 acl->ats_cur_entry = 0; 140 141 return (___acl_aclcheck_fd(fd, type, &acl->ats_acl)); 142} | 120 121 acl->ats_cur_entry = 0; 122 123 return (___acl_aclcheck_fd(fd, type, &acl->ats_acl)); 124} |