This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
+ the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* prototypes for private functions */
static SOLARIS_ACL_T solaris_acl_init(int count);
-static BOOL smb_acl_to_solaris_acl(SMB_ACL_T smb_acl,
+static bool smb_acl_to_solaris_acl(SMB_ACL_T smb_acl,
SOLARIS_ACL_T *solariacl, int *count,
SMB_ACL_TYPE_T type);
static SMB_ACL_T solaris_acl_to_smb_acl(SOLARIS_ACL_T solarisacl, int count,
SMB_ACL_TYPE_T type);
static SOLARIS_ACL_TAG_T smb_tag_to_solaris_tag(SMB_ACL_TAG_T smb_tag);
static SMB_ACL_TAG_T solaris_tag_to_smb_tag(SOLARIS_ACL_TAG_T solaris_tag);
-static BOOL solaris_add_to_acl(SOLARIS_ACL_T *solaris_acl, int *count,
+static bool solaris_add_to_acl(SOLARIS_ACL_T *solaris_acl, int *count,
SOLARIS_ACL_T add_acl, int add_count, SMB_ACL_TYPE_T type);
-static BOOL solaris_acl_get_file(const char *name, SOLARIS_ACL_T *solarisacl,
+static bool solaris_acl_get_file(const char *name, SOLARIS_ACL_T *solarisacl,
int *count);
-static BOOL solaris_acl_get_fd(int fd, SOLARIS_ACL_T *solarisacl, int *count);
-static BOOL solaris_acl_sort(SOLARIS_ACL_T acl, int count);
+static bool solaris_acl_get_fd(int fd, SOLARIS_ACL_T *solarisacl, int *count);
+static bool solaris_acl_sort(SOLARIS_ACL_T acl, int count);
static SMB_ACL_PERM_T solaris_perm_to_smb_perm(const SOLARIS_PERM_T perm);
static SOLARIS_PERM_T smb_perm_to_solaris_perm(const SMB_ACL_PERM_T perm);
-static BOOL solaris_acl_check(SOLARIS_ACL_T solaris_acl, int count);
+static bool solaris_acl_check(SOLARIS_ACL_T solaris_acl, int count);
/* public functions - the api */
{
SMB_ACL_T result = NULL;
int count;
- SOLARIS_ACL_T solaris_acl;
+ SOLARIS_ACL_T solaris_acl = NULL;
DEBUG(10, ("solarisacl_sys_acl_get_file called for file '%s'.\n",
path_p));
{
SMB_ACL_T result = NULL;
int count;
- SOLARIS_ACL_T solaris_acl;
+ SOLARIS_ACL_T solaris_acl = NULL;
DEBUG(10, ("entering solarisacl_sys_acl_get_fd.\n"));
DEBUG(10, ("solarisacl_sys_acl_get_fd %s.\n",
((result == NULL) ? "failed" : "succeeded")));
SAFE_FREE(solaris_acl);
- return NULL;
+ return result;
}
int solarisacl_sys_acl_set_file(vfs_handle_struct *handle,
{
int ret = -1;
struct stat s;
- SOLARIS_ACL_T solaris_acl;
+ SOLARIS_ACL_T solaris_acl = NULL;
int count;
DEBUG(10, ("solarisacl_sys_acl_set_file called for file '%s'\n",
files_struct *fsp,
int fd, SMB_ACL_T theacl)
{
- SOLARIS_ACL_T solaris_acl;
- SOLARIS_ACL_T default_acl;
+ SOLARIS_ACL_T solaris_acl = NULL;
+ SOLARIS_ACL_T default_acl = NULL;
int count, default_count;
int ret = -1;
{
SMB_ACL_T smb_acl;
int ret = -1;
- SOLARIS_ACL_T solaris_acl;
+ SOLARIS_ACL_T solaris_acl = NULL;
int count;
DEBUG(10, ("entering solarisacl_sys_acl_delete_def_file.\n"));
* Convert the SMB acl to the ACCESS or DEFAULT part of a
* solaris ACL, as desired.
*/
-static BOOL smb_acl_to_solaris_acl(SMB_ACL_T smb_acl,
+static bool smb_acl_to_solaris_acl(SMB_ACL_T smb_acl,
SOLARIS_ACL_T *solaris_acl, int *count,
SMB_ACL_TYPE_T type)
{
- BOOL ret = False;
+ bool ret = False;
int i;
int check_which, check_rc;
}
-static BOOL solaris_acl_get_file(const char *name, SOLARIS_ACL_T *solaris_acl,
+static bool solaris_acl_get_file(const char *name, SOLARIS_ACL_T *solaris_acl,
int *count)
{
- BOOL result = False;
+ bool result = False;
DEBUG(10, ("solaris_acl_get_file called for file '%s'\n", name));
}
-static BOOL solaris_acl_get_fd(int fd, SOLARIS_ACL_T *solaris_acl, int *count)
+static bool solaris_acl_get_fd(int fd, SOLARIS_ACL_T *solaris_acl, int *count)
{
- BOOL ret = False;
+ bool ret = False;
DEBUG(10, ("entering solaris_acl_get_fd\n"));
* should become necessary to add all of an ACL, one would have
* to replace this parameter by another type.
*/
-static BOOL solaris_add_to_acl(SOLARIS_ACL_T *solaris_acl, int *count,
+static bool solaris_add_to_acl(SOLARIS_ACL_T *solaris_acl, int *count,
SOLARIS_ACL_T add_acl, int add_count,
SMB_ACL_TYPE_T type)
{
* happen aclsort() will fail and return an error and someone will
* have to fix it...)
*/
-static BOOL solaris_acl_sort(SOLARIS_ACL_T solaris_acl, int count)
+static bool solaris_acl_sort(SOLARIS_ACL_T solaris_acl, int count)
{
int fixmask = (count <= 4);
* concrete error messages for debugging...
* (acl sort just says that the acl is invalid...)
*/
-static BOOL solaris_acl_check(SOLARIS_ACL_T solaris_acl, int count)
+static bool solaris_acl_check(SOLARIS_ACL_T solaris_acl, int count)
{
int check_rc;
int check_which;
SMB_VFS_LAYER_NOOP}
};
+NTSTATUS vfs_solarisacl_init(void);
NTSTATUS vfs_solarisacl_init(void)
{
return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "solarisacl",