From 43dc118ea37273bc738c710206c038dc5773a030 Mon Sep 17 00:00:00 2001 From: Mario Fetka Date: Sat, 30 May 2026 06:17:20 +0000 Subject: [PATCH] tests: document AFP 2.0 file information smoke coverage Document the verified AFP 2.0 Get File Information smoke-test coverage after the endpoint was exercised against the same standard SYS volume paths as the older AFP file-information call. The Linux afp_file_info_smoke test now covers both NCP 0x23/0x05 and NCP 0x23/0x0f. Record that --afp20 was verified against SYS:, SYS:PUBLIC, SYS:SYSTEM, and SYS:BURST using the current path-backed read-only reply. Keep the remaining AFP limitations explicit: the reply still uses stat/libatalk-derived fields, marks temporary Entry IDs with the fallback diagnostic, and leaves persistent CNID/AppleDouble IDs, Parent ID mapping, and fuller Mac namespace metadata as future work. This is documentation-only and does not change AFP protocol behavior. --- TODO.md | 5 +++-- tests/linux/README.md | 10 +++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/TODO.md b/TODO.md index e9e20b0..55a2723 100644 --- a/TODO.md +++ b/TODO.md @@ -199,8 +199,9 @@ Current status: - `AFP Get File Information` is implemented for read-only path-based requests. Linux smoke coverage exists in `tests/linux/afp_file_info_smoke` and has been verified against `SYS:`, `SYS:PUBLIC`, `SYS:SYSTEM`, and `SYS:BURST`. - The same test can exercise the AFP 2.0 Get File Information subfunction via - `--afp20`, using the same path-backed read-only reply for now. The current + The same test verifies the AFP 2.0 Get File Information subfunction via + `--afp20` against the same paths, using the same path-backed read-only reply + for now. The current reply fills stat/libatalk-derived fields and leaves persistent CNID Parent ID / fuller Mac namespace metadata as future work. - The AFP dispatcher now decodes the WebSDK/NWAFP subfunction number in diff --git a/tests/linux/README.md b/tests/linux/README.md index e3c572e..d37a306 100644 --- a/tests/linux/README.md +++ b/tests/linux/README.md @@ -89,12 +89,16 @@ Useful smoke cases for a standard MARS-NWE `SYS` volume are: ./tests/linux/afp_file_info_smoke -S MARS -U SUPERVISOR -P secret SYS:BURST # AFP 2.0 variant using the same path-backed read-only reply +./tests/linux/afp_file_info_smoke --afp20 -S MARS -U SUPERVISOR -P secret SYS: ./tests/linux/afp_file_info_smoke --afp20 -S MARS -U SUPERVISOR -P secret SYS:PUBLIC +./tests/linux/afp_file_info_smoke --afp20 -S MARS -U SUPERVISOR -P secret SYS:SYSTEM +./tests/linux/afp_file_info_smoke --afp20 -S MARS -U SUPERVISOR -P secret SYS:BURST ``` -The AFP 2.0 mode is selected with `--afp20` and currently exercises the same -path-backed read-only reply as the older call. The current implementation -fills fields that can be derived from Unix `stat(2)` and the optional libatalk +The AFP 2.0 mode is selected with `--afp20`. It has been verified against +the same `SYS:`, `SYS:PUBLIC`, `SYS:SYSTEM`, and `SYS:BURST` paths and +currently exercises the same path-backed read-only reply as the older call. +The current implementation fills fields that can be derived from Unix `stat(2)` and the optional libatalk helper wrappers. Server-side diagnostics mark stat-derived temporary Entry IDs with `fallback`; Parent ID, persistent CNID/AppleDouble IDs, and fuller Finder Info/resource-fork semantics remain