From f544dc9cc069457bd1e911e692d28ad1d4e72a03 Mon Sep 17 00:00:00 2001 From: Ralph Boehme Date: Wed, 24 May 2023 21:28:48 +0200 Subject: [PATCH] CI: add a test for fruit AppleDouble conversion when deletion triggers conversion BUG: https://bugzilla.samba.org/show_bug.cgi?id=15378 Signed-off-by: Ralph Boehme Reviewed-by: Jeremy Allison (cherry picked from commit 59eadfe21aca6d563f86ea656517216036421bca) --- ...t.delete_trigger_convert_sharing_violation | 4 + source4/torture/vfs/fruit.c | 954 ++++++++++++++++++ 2 files changed, 958 insertions(+) create mode 100644 selftest/knownfail.d/samba3.vfs.fruit.delete_trigger_convert_sharing_violation diff --git a/selftest/knownfail.d/samba3.vfs.fruit.delete_trigger_convert_sharing_violation b/selftest/knownfail.d/samba3.vfs.fruit.delete_trigger_convert_sharing_violation new file mode 100644 index 00000000000..7af35b0d4d5 --- /dev/null +++ b/selftest/knownfail.d/samba3.vfs.fruit.delete_trigger_convert_sharing_violation @@ -0,0 +1,4 @@ +^samba3.vfs.fruit metadata_netatalk.delete_trigger_convert_sharing_violation\(nt4_dc\) +^samba3.vfs.fruit metadata_stream.delete_trigger_convert_sharing_violation\(nt4_dc\) +^samba3.vfs.fruit streams_depot.delete_trigger_convert_sharing_violation\(nt4_dc\) +^samba3.vfs.fruit fruit_delete_empty_adfiles.delete_trigger_convert_sharing_violation\(nt4_dc\) diff --git a/source4/torture/vfs/fruit.c b/source4/torture/vfs/fruit.c index 3621fec460c..99d63becbb4 100644 --- a/source4/torture/vfs/fruit.c +++ b/source4/torture/vfs/fruit.c @@ -7017,6 +7017,959 @@ done: return ret; } +/* +------------------------------------------------------------------------------- +MagicNumber: 00051607 : AppleDouble +Version : 00020000 : Version 2 +Filler : 4D 61 63 20 4F 53 20 58 20 20 20 20 20 20 20 20 : Mac OS X +Num. of ent: 0002 : 2 + +------------------------------------------------------------------------------- +Entry ID : 00000009 : Finder Info +Offset : 00000032 : 50 +Length : 00000EB0 : 3760 + +-DInfo-----: +Rect top : 0000 : 0 +Rect left : 0000 : 0 +Rect bottom: 0000 : 0 +Rect right : 0000 : 0 +isAlias : 0 +Invisible : 0 +hasBundle : 0 +nameLocked : 0 +Stationery : 0 +CustomIcon : 0 +Reserved : 0 +Inited : 1 +NoINITS : 0 +Shared : 0 +SwitchLaunc: 0 +Hidden Ext : 0 +color : 000 : none +isOnDesk : 0 +Location v : 0000 : 0 +Location h : 0000 : 0 +View : 0000 : .. + +-DXInfo----: +Scroll v : 0000 : 0 +Scroll h : 0000 : 0 +Rsvd|OpnChn: 00000000 : 0 +AreInvalid : 0 +unknown bit: 0 +unknown bit: 0 +unknown bit: 0 +unknown bit: 0 +unknown bit: 0 +unknown bit: 0 +CustomBadge: 0 +ObjctIsBusy: 0 +unknown bit: 0 +unknown bit: 0 +unknown bit: 0 +unknown bit: 0 +RoutingInfo: 0 +unknown bit: 0 +unknown bit: 0 +Comment : 0000 : .. +PutAway : 00000000 : 0 + +-EA--------: +pad : 0000 : .. +magic : 41545452 : ATTR +debug_tag : 0081714C : 8483148 +total_size : 00000EE2 : 3810 +data_start : 00000098 : 152 +data_length: 00000039 : 57 +reserved[0]: 00000000 : .... +reserved[1]: 00000000 : .... +reserved[2]: 00000000 : .... +flags : 0000 : .. +num_attrs : 0001 : 1 +-EA ENTRY--: +offset : 00000098 : 152 +length : 00000039 : 57 +flags : 0000 : .. +namelen : 15 : 21 +-EA NAME---: 0 1 2 3 4 5 6 7 8 9 A B C D E F : (ASCII) +00000000 : 63 6F 6D 2E 61 70 70 6C 65 2E 71 75 61 72 61 6E : com.apple.quaran +00000010 : 74 69 6E 65 00 : tine. +-EA VALUE--: 0 1 2 3 4 5 6 7 8 9 A B C D E F : (ASCII) +00000000 : 30 30 38 31 3B 36 32 65 61 33 37 66 64 3B 43 68 : 0081;62ea37fd;Ch +00000010 : 72 6F 6D 65 3B 42 35 39 46 42 39 45 44 2D 35 41 : rome;B59FB9ED-5A +00000020 : 32 39 2D 34 45 35 42 2D 38 35 36 43 2D 37 45 44 : 29-4E5B-856C-7ED +00000030 : 30 45 46 45 41 37 30 41 43 : 0EFEA70AC + +-RAW DUMP--: 0 1 2 3 4 5 6 7 8 9 A B C D E F : (ASCII) +00000000 : 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 : ................ +00000010 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000020 : 00 00 41 54 54 52 00 81 71 4C 00 00 0E E2 00 00 : ..ATTR..qL...... +00000030 : 00 98 00 00 00 39 00 00 00 00 00 00 00 00 00 00 : .....9.......... +00000040 : 00 00 00 00 00 01 00 00 00 98 00 00 00 39 00 00 : .............9.. +00000050 : 15 63 6F 6D 2E 61 70 70 6C 65 2E 71 75 61 72 61 : .com.apple.quara +00000060 : 6E 74 69 6E 65 00 30 30 38 31 3B 36 32 65 61 33 : ntine.0081;62ea3 +00000070 : 37 66 64 3B 43 68 72 6F 6D 65 3B 42 35 39 46 42 : 7fd;Chrome;B59FB +00000080 : 39 45 44 2D 35 41 32 39 2D 34 45 35 42 2D 38 35 : 9ED-5A29-4E5B-85 +00000090 : 36 43 2D 37 45 44 30 45 46 45 41 37 30 41 43 00 : 6C-7ED0EFEA70AC. +000000A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000000B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000000C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000000D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000000E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000000F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000100 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000110 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000120 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000130 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000140 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000150 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000160 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000170 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000180 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000190 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000001A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000001B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000001C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000001D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000001E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000001F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000200 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000210 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000220 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000230 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000240 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000250 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000260 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000270 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000280 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000290 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000002A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000002B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000002C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000002D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000002E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000002F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000300 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000310 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000320 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000330 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000340 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000350 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000360 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000370 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000380 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000390 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000003A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000003B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000003C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000003D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000003E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000003F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000400 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000410 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000420 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000430 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000440 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000450 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000460 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000470 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000480 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000490 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000004A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000004B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000004C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000004D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000004E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000004F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000500 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000510 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000520 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000530 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000540 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000550 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000560 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000570 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000580 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000590 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000005A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000005B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000005C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000005D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000005E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000005F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000600 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000610 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000620 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000630 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000640 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000650 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000660 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000670 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000680 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000690 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000006A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000006B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000006C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000006D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000006E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000006F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000700 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000710 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000720 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000730 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000740 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000750 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000760 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000770 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000780 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000790 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000007A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000007B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000007C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000007D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000007E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000007F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000800 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000810 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000820 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000830 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000840 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000850 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000860 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000870 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000880 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000890 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000008A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000008B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000008C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000008D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000008E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000008F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000900 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000910 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000920 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000930 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000940 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000950 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000960 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000970 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000980 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000990 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000009A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000009B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000009C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000009D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000009E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000009F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000A00 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000A10 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000A20 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000A30 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000A40 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000A50 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000A60 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000A70 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000A80 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000A90 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000AA0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000AB0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000AC0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000AD0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000AE0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000AF0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000B00 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000B10 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000B20 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000B30 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000B40 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000B50 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000B60 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000B70 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000B80 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000B90 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000BA0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000BB0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000BC0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000BD0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000BE0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000BF0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000C00 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000C10 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000C20 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000C30 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000C40 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000C50 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000C60 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000C70 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000C80 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000C90 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000CA0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000CB0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000CC0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000CD0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000CE0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000CF0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000D00 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000D10 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000D20 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000D30 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000D40 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000D50 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000D60 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000D70 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000D80 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000D90 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000DA0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000DB0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000DC0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000DD0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000DE0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000DF0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000E00 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000E10 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000E20 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000E30 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000E40 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000E50 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000E60 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000E70 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000E80 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000E90 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000EA0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ + +------------------------------------------------------------------------------- +Entry ID : 00000002 : Resource Fork +Offset : 00000EE2 : 3810 +Length : 0000011E : 286 + +-RAW DUMP--: 0 1 2 3 4 5 6 7 8 9 A B C D E F : (ASCII) +00000000 : 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 1E : ................ +00000010 : 54 68 69 73 20 72 65 73 6F 75 72 63 65 20 66 6F : This resource fo +00000020 : 72 6B 20 69 6E 74 65 6E 74 69 6F 6E 61 6C 6C 79 : rk intentionally +00000030 : 20 6C 65 66 74 20 62 6C 61 6E 6B 20 20 20 00 00 : left blank .. +00000040 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000050 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000060 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000070 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000080 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000090 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000000A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000000B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000000C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000000D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000000E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +000000F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................ +00000100 : 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 1E : ................ +00000110 : 00 00 00 00 00 00 00 00 00 1C 00 1E FF FF : .............. +*/ + +static char osx_adouble_dir_w_xattr[] = { + 0x00, 0x05, 0x16, 0x07, 0x00, 0x02, 0x00, 0x00, + 0x4d, 0x61, 0x63, 0x20, 0x4f, 0x53, 0x20, 0x58, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, + 0x00, 0x32, 0x00, 0x00, 0x0e, 0xb0, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x0e, 0xe2, 0x00, 0x00, + 0x01, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x41, 0x54, 0x54, 0x52, + 0x00, 0x81, 0x71, 0x4c, 0x00, 0x00, 0x0e, 0xe2, + 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x39, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x39, + 0x00, 0x00, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x61, + 0x70, 0x70, 0x6c, 0x65, 0x2e, 0x71, 0x75, 0x61, + 0x72, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x00, + 0x30, 0x30, 0x38, 0x31, 0x3b, 0x36, 0x32, 0x65, + 0x61, 0x33, 0x37, 0x66, 0x64, 0x3b, 0x43, 0x68, + 0x72, 0x6f, 0x6d, 0x65, 0x3b, 0x42, 0x35, 0x39, + 0x46, 0x42, 0x39, 0x45, 0x44, 0x2d, 0x35, 0x41, + 0x32, 0x39, 0x2d, 0x34, 0x45, 0x35, 0x42, 0x2d, + 0x38, 0x35, 0x36, 0x43, 0x2d, 0x37, 0x45, 0x44, + 0x30, 0x45, 0x46, 0x45, 0x41, 0x37, 0x30, 0x41, + 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x54, 0x68, 0x69, 0x73, 0x20, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x6b, 0x20, 0x69, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x6c, 0x79, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, + 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x20, 0x20, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1c, 0x00, 0x1e, 0xff, 0xff +}; + +static bool test_delete_trigger_convert_sharing_violation( + struct torture_context *tctx, + struct smb2_tree *tree1) +{ + TALLOC_CTX *mem_ctx = talloc_new(tctx); + const char *dirname = BASEDIR "\\dir"; + const char *adname = BASEDIR "\\._dir"; + struct smb2_handle testdirh; + struct smb2_create create; + AfpInfo *info = NULL; + bool ret = true; + NTSTATUS status; + + smb2_deltree(tree1, BASEDIR); + + status = torture_smb2_testdir(tree1, BASEDIR, &testdirh); + torture_assert_ntstatus_ok_goto(tctx, status, ret, done, + "torture_smb2_testdir failed\n"); + smb2_util_close(tree1, testdirh); + + status = torture_smb2_testdir(tree1, dirname, &testdirh); + torture_assert_ntstatus_ok_goto(tctx, status, ret, done, + "torture_smb2_testdir failed\n"); + smb2_util_close(tree1, testdirh); + + ret = torture_setup_file(tctx, tree1, adname, false); + torture_assert_goto(tctx, ret == true, ret, done, + "torture_setup_file failed\n"); + + ret = write_stream(tree1, __location__, tctx, mem_ctx, + adname, NULL, 0, + sizeof(osx_adouble_dir_w_xattr), + osx_adouble_dir_w_xattr); + torture_assert_goto(tctx, ret == true, ret, done, + "write_stream failed\n"); + + /* + * 1) Create a non-empty AFP_AfpInfo stream + */ + + info = torture_afpinfo_new(mem_ctx); + torture_assert_goto(tctx, info != NULL, ret, done, "torture_afpinfo_new failed"); + + /* Set "Inited" flag (any other would do too) */ + info->afpi_FinderInfo[8] = 0x01; + + ret = torture_write_afpinfo(tree1, tctx, mem_ctx, dirname, info); + torture_assert_goto(tctx, ret == true, ret, done, "torture_write_afpinfo failed"); + + ret = write_stream(tree1, __location__, tctx, mem_ctx, + adname, NULL, 0, + sizeof(osx_adouble_dir_w_xattr), + osx_adouble_dir_w_xattr); + torture_assert_goto(tctx, ret == true, ret, done, + "write_stream failed\n"); + + /* + * 2) Create a second stream + */ + + ret = write_stream(tree1, __location__, tctx, mem_ctx, + dirname, ":org.samba.boom", 0, + strlen("boom"), + "boom"); + torture_assert_goto(tctx, ret == true, ret, done, + "write_stream failed\n"); + + create = (struct smb2_create) { + .in.desired_access = SEC_STD_DELETE, + .in.create_options = NTCREATEX_OPTIONS_DIRECTORY, + .in.file_attributes = FILE_ATTRIBUTE_DIRECTORY, + .in.share_access = NTCREATEX_SHARE_ACCESS_READ, + .in.create_disposition = NTCREATEX_DISP_OPEN, + .in.impersonation_level = SMB2_IMPERSONATION_ANONYMOUS, + .in.fname = dirname, + }; + + status = smb2_create(tree1, tctx, &create); + torture_assert_ntstatus_ok_goto(tctx, status, ret, done, + "smb2_create failed\n"); + + status = smb2_util_close(tree1, create.out.file.handle); + torture_assert_ntstatus_ok_goto(tctx, status, ret, done, + "smb2_util_close failed"); + +done: + smb2_deltree(tree1, BASEDIR); + talloc_free(mem_ctx); + return ret; +} + /* * Note: This test depends on "vfs objects = catia fruit streams_xattr". For * some tests torture must be run on the host it tests and takes an additional @@ -7063,6 +8016,7 @@ struct torture_suite *torture_vfs_fruit(TALLOC_CTX *ctx) torture_suite_add_1smb2_test(suite, "OS X AppleDouble file conversion without embedded xattr", test_adouble_conversion_wo_xattr); torture_suite_add_1smb2_test(suite, "empty_stream", test_empty_stream); torture_suite_add_1smb2_test(suite, "writing_afpinfo", test_writing_afpinfo); + torture_suite_add_1smb2_test(suite, "delete_trigger_convert_sharing_violation", test_delete_trigger_convert_sharing_violation); return suite; } -- 2.47.3