summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorDerrell Lipman <derrell@samba.org>2006-09-02 21:47:56 +0000
committerDerrell Lipman <derrell@samba.org>2006-09-02 21:47:56 +0000
commit98b41683c66d432f3358b8fbbd40a982e11b33dd (patch)
tree847daeee117a2323a1b2a0995ff6e9a48c760341 /examples
parent93f31d0855c2071f7bb64b5b55e13cad96eda6a3 (diff)
downloadsamba-98b41683c66d432f3358b8fbbd40a982e11b33dd.tar.gz
samba-98b41683c66d432f3358b8fbbd40a982e11b33dd.tar.xz
samba-98b41683c66d432f3358b8fbbd40a982e11b33dd.zip
r18009: Fixes bug 4026.
This completes the work Jeremy began last week, disambiguating the meaning of c_time. (In POSIX terminology, c_time means "status Change time", not "create time".) All uses of c_time, a_time and m_time have now been replaced with change_time, access_time, and write_time, and when creation time is intended, create_time is used. Additionally, the capability of setting and retrieving the create time have been added to the smbc_setxattr() and smbc_getxattr() functions. An example of setting all four times can be seen with the program examples/libsmbclient/testacl with the following command line similar to: testacl -f -S "system.*:CREATE_TIME:1000000000,ACCESS_TIME:1000000060,WRITE_TIME:1000000120,CHANGE_TIME:1000000180" 'smb://server/share/testfile.txt' The -f option turns on the new mode which uses full time names in the attribute specification (e.g. ACCESS_TIME vs A_TIME).
Diffstat (limited to 'examples')
-rw-r--r--examples/libsmbclient/testacl.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/examples/libsmbclient/testacl.c b/examples/libsmbclient/testacl.c
index ce5694b331a..4d327b39a7a 100644
--- a/examples/libsmbclient/testacl.c
+++ b/examples/libsmbclient/testacl.c
@@ -23,6 +23,7 @@ int main(int argc, const char *argv[])
int flags;
int debug = 0;
int numeric = 0;
+ int full_time_names = 0;
enum acl_mode mode = SMB_ACL_GET;
static char *the_acl = NULL;
int ret;
@@ -43,6 +44,11 @@ int main(int argc, const char *argv[])
0, "Set debug level (0-100)"
},
{
+ "full_time_names", 'f', POPT_ARG_NONE, &full_time_names,
+ 1,
+ "Use new style xattr names, which include CREATE_TIME"
+ },
+ {
"delete", 'D', POPT_ARG_STRING, NULL,
'D', "Delete an acl", "ACL"
},
@@ -133,6 +139,11 @@ int main(int argc, const char *argv[])
printf("Could not initialize smbc_ library\n");
return 1;
}
+
+ if (full_time_names) {
+ SMBCCTX *context = smbc_set_context(NULL);
+ smbc_option_set(context, "full_time_names", 1);
+ }
/* Perform requested action */
@@ -143,11 +154,11 @@ int main(int argc, const char *argv[])
{
if (numeric)
{
- the_acl = "system.nt_sec_desc.*";
+ the_acl = "system.*";
}
else
{
- the_acl = "system.nt_sec_desc.*+";
+ the_acl = "system.*+";
}
}
ret = smbc_getxattr(path, the_acl, value, sizeof(value));