return paiv;
}
-#if 0
-/************************************************************************
- Load the user.SAMBA_PAI attribute.
-************************************************************************/
-
-static struct pai_val *load_inherited_info(const struct connection_struct *conn,
- const struct smb_filename *smb_fname)
-{
- char *pai_buf;
- size_t pai_buf_size = 1024;
- struct pai_val *paiv = NULL;
- ssize_t ret;
-
- if (!lp_map_acl_inherit(SNUM(conn))) {
- return NULL;
- }
-
- if ((pai_buf = talloc_array(talloc_tos(), char, pai_buf_size)) == NULL) {
- return NULL;
- }
-
- do {
- ret = SMB_VFS_GETXATTR(conn, smb_fname,
- SAMBA_POSIX_INHERITANCE_EA_NAME,
- pai_buf, pai_buf_size);
-
- if (ret == -1) {
- if (errno != ERANGE) {
- break;
- }
- /* Buffer too small - enlarge it. */
- pai_buf_size *= 2;
- TALLOC_FREE(pai_buf);
- if (pai_buf_size > 1024*1024) {
- return NULL; /* Limit malloc to 1mb. */
- }
- if ((pai_buf = talloc_array(talloc_tos(), char, pai_buf_size)) == NULL)
- return NULL;
- }
- } while (ret == -1);
-
- DEBUG(10,("load_inherited_info: ret = %lu for file %s\n",
- (unsigned long)ret, smb_fname->base_name));
-
- if (ret == -1) {
- /* No attribute or not supported. */
-#if defined(ENOATTR)
- if (errno != ENOATTR)
- DEBUG(10,("load_inherited_info: Error %s\n", strerror(errno) ));
-#else
- if (errno != ENOSYS)
- DEBUG(10,("load_inherited_info: Error %s\n", strerror(errno) ));
-#endif
- TALLOC_FREE(pai_buf);
- return NULL;
- }
-
- paiv = create_pai_val(pai_buf, ret);
-
- if (paiv) {
- DEBUG(10,("load_inherited_info: ACL type 0x%x for file %s\n",
- (unsigned int)paiv->sd_type,
- smb_fname->base_name));
- }
-
- TALLOC_FREE(pai_buf);
- return paiv;
-}
-#endif
-
/****************************************************************************
Functions to manipulate the internal ACE format.
****************************************************************************/