From 033ed7cefcbd3cf903c357f3a0033231c127ad9e Mon Sep 17 00:00:00 2001 From: a Date: Sat, 30 May 2026 21:05:38 +0000 Subject: [PATCH] tests: record WebSDK AFP get scan info smoke success --- tests/linux/README.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/tests/linux/README.md b/tests/linux/README.md index 7b73ac1..1171c39 100644 --- a/tests/linux/README.md +++ b/tests/linux/README.md @@ -712,6 +712,41 @@ If the server was built without the optional Netatalk/libatalk backend, use when a scan continuation is expected to reach the end of the directory. +### AFP Get/Scan WebSDK layout smoke + +The AFP file-information helpers now verify the WebSDK/NWAFP wire layouts for +Get File Information and Scan File Information. The legacy Get File +Information reply (`0x05`) is a single 114-byte AFP file-information record. +The AFP 2.0 Get File Information reply (`0x0f`) is a 120-byte record that +includes the trailing ProDOSInfo field. + +Scan replies use the documented WebSDK shape rather than the old mars_nwe +smoke-only layout: a two-byte ActualResponseCount field at offset 0 followed by +the first AFP file-information record at offset 2. The legacy Scan File +Information reply therefore has a 116-byte payload for one result, while the AFP +2.0 Scan File Information reply has a 122-byte payload for one result. The +helper rejects the old layout where the Entry ID appeared directly at offset 0. + +Verified runtime output from the WebSDK-layout smoke run: + +```text +AFP File Info subfunction=0x05 path=SYS:PUBLIC/pmdflts.ini entry_id=0x3003df97 parent_id=0x00000000 attrs=0x2000 data_len=8161 resource_len=0 offspring=0 long_name=pmdflts.ini short_name=pmdflts.ini rights=0x9f00 reply_len=114 +AFP Scan File Info subfunction=0x11 path=SYS:PUBLIC last_seen=0x00000000 desired=1 actual_count=1 next_last_seen=0x00000004 entry_id=0x00000004 parent_id=0x00000000 attrs=0x2000 data_len=44424 resource_len=0 offspring=0 long_name=debug.exe short_name=debug.exe rights=0x9f00 reply_len=122 +``` + +Server diagnostics from the same run show the normalized scan response count in +addition to the first returned Entry ID: + +```text +AFP 2.0 Scan File Information: vol=0 entry=0x00000000 last=0x00000000 desired=1 mask=0xffff req=0xffff path='SYS:PUBLIC' count=1 reply_entry=0x00000004 +``` + +Runtime status: the full AFP smoke suite verified WebSDK Get/Scan layouts, +including `reply_len=114` for legacy Get File Information and `actual_count=1` +plus `reply_len=122` for AFP 2.0 Scan File Information, then ended with +`failures=0`. + + ## AFP Set File Information metadata smoke test `afp_set_file_info_smoke` sends the WebSDK-documented NetWare AFP Set File