XAttr Extension for NSS

1.0 Introduction

XAttr Extension uses the common Linux getxattr and setxattr functions and adds a new netware.metadata2 extended attribute to access additional file metadata that is not available by using other command line options. The new netware.metadata2 attribute has been added to OES 2015 to support both Active Directory and eDirectory identities.

Basically, you call getxattr to read your file attributes and one of its parameters points to the zNW_metadata2_s structure that returns the extended metadata. You can then save this data to a backup location.

To restore or set the extended metadata, call setxattr, specifying which fields you want to modify. By calling these two functions, you can read, modify, back up, and restore all the metadata for your file.

2.0 What's New

With support for Active Directory introduced in OES 2015, new Xattr structures have been introduced to support both Active Directory and eDirectory identities.

2.1 zNW_metadata2_s Structure

The zNW_metadata2_s Xattr structure has been added to support both Active Directory and eDirectory identities.

typedef struct zNW_metadata2_s {

 

WORD 
nwm_byteorder;

 

WORD
nwm_version;

 

WORD
nwm_trustee_more;

 

WORD
nwm_reserved_1;

 

QUAD
nwm_modify_mask;

 

QUAD
nwm_file_attributes;

 

QUAD
nwm_file_attributes_mask;

 

QUAD
nwm_time_created;

 

QUAD
nwm_time_archived;

 

QUAD
nwm_time_modified;

 

QUAD
nwm_time_accessed;

 

QUAD
nwm_time_meta_data_modified;

 

QUAD
nwm_reserved_2;

 

zNW_user_s
nwm_id_owner;

 

zNW_user_s
nwm_id_archiver;

 

zNW_user_s
nwm_id_modifier;

 

zNW_user_s
nwm_id_metadata_modifier;

 

SQUAD
nwm_quota_limit;

 

LONG
nwm_inherited_rights_mask;

 

LONG
nwm_trustee_num;

 

zNW_trustee2_s
nwm_trustee[zMAX_TRUSTEES2];
} zNW_metadata2_s;

2.2 zNW_trustee2_s Structure

The zNW_trustee2_s Xattr structure has been added to accommodate the trustee rights and ID information for both Active Directory and eDirectory users.

typedef struct zNW_metadata2_s {

 

zNW_user_s 
nwt_id;

 

QUAD
nwt_rights;

 

QUAD
nwt_reserved_2;
} zNW_metadata2_s;

2.3 zNW_user_s Xattr Structure

The zNW_user_s Xattr structure contains the identity information and helps to identify the type of user: Active Directory or eDirectory.

typedef struct zNW_user_s {

 

LONG 
is_aduser;

 

zNW_id_u
id;
} zNW_user_s;

2.4 zNW_id_u

zNW_id_u contains the actual user identity information (SID for Active Directory and GUID for eDirectory).

typedef union zNW_id_u {

 

SID_t 
aduser;

 

GUID_t
ediruser;
} zNW_id_u;

2.5 zMAX_TRUSTEES2

zMAX_TRUSTEES2 is defined as 740 that signifies the number of trustees that can be accommodated in the zNW_metadata2_s structure.

#define zMAX_TRUSTEES2 740

3.0 Additional Information

For specific details about this component, please refer to any documentation that is included in the component download.

4.0 Legal Notices

Novell, Inc. makes no representations or warranties with respect to the contents or use of this documentation, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc. reserves the right to revise this publication and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes.

Further, Novell, Inc. makes no representations or warranties with respect to any software, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc. reserves the right to make changes to any and all parts of Novell software, at any time, without any obligation to notify any person or entity of such changes.

Any products or technical information provided under this Agreement may be subject to U.S. export controls and the trade laws of other countries. You agree to comply with all export control regulations and to obtain any required licenses or classification to export, re-export, or import deliverables. You agree not to export or re-export to entities on the current U.S. export exclusion lists or to any embargoed or terrorist countries as specified in the U.S. export laws. You agree to not use deliverables for prohibited nuclear, missile, or chemical biological weaponry end uses. Please refer to http://www.novell.com/info/exports/ for more information on exporting Novell software. Novell assumes no responsibility for your failure to obtain any necessary export approvals.

All files provided in this release are subject to the Novell Developer License Agreement, which can be found in the license.txt file provided in this download.

Copyright © 2006-2015 Novell, Inc. All rights reserved. No part of this publication may be reproduced, photocopied, stored on a retrieval system, or transmitted without the express written consent of the publisher.

Novell, Inc. has intellectual property rights relating to technology embodied in the product that is described in this document. In particular, and without limitation, these intellectual property rights may include one or more of the U.S. patents listed at http://www.novell.com/company/legal/patents/ and one or more additional patents or pending patent applications in the U.S. and in other countries.