mirror of
https://github.com/samba-team/samba.git
synced 2025-02-28 01:58:17 +03:00
This blackbox test confirms that Samba returns NTTIME=0 when a filesystem object has a UNIX timestamp value of 0, ie UNIX epoch start 1.1.1970. Here's an example output from running smbstatus allinfo on such a file: $ bin/smbclient -U slow%x //localhost/test -c "allinfo time_0_1970" altname: T11662~T create_time: NTTIME(0) access_time: NTTIME(0) write_time: NTTIME(0) change_time: NTTIME(0) attributes: (80) stream: [::$DATA], 0 bytes If you look at it with smbclient ls command, it munges the output to be 1970 so you don't notice the problem: $ bin/smbclient -U slow%x //localhost/test -c "ls time_0_1970" time_0_1970 N 0 Thu Jan 1 01:00:00 1970 The test also test other time_t values -1 and 4294967295 that are used as sentinel values in Samba code and shows that handling these values is equally broken. Same for time_t values < -1. Note that I'm adding a blackbox test *and* a torture test, as with this blackbox test I can directly control the server side, but with smbtorture I have to go through the SMB stack to create the files which doesn't work currently. BUG: https://bugzilla.samba.org/show_bug.cgi?id=7771 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>