tests: record AFP scan file information smoke results
All checks were successful
Source release / source-package (push) Successful in 50s
All checks were successful
Source release / source-package (push) Successful in 50s
Record the verified Linux smoke-test output for NCP 0x2222/35 subfunctions 0x11 and 0x0a, AFP Scan File Information and AFP 2.0 Scan File Information. The WebSDK/header-level request layout for both scan calls carries the Mac base directory id, last-seen entry id, desired response count, search bitmap, request bitmap, and path modifier. The current mars_nwe implementation intentionally routes both variants through the same conservative path-backed directory scan and returns a single AFP file-information record per request. Documenting the matching 0x11 and 0x0a first-record output makes that compatibility choice explicit. The recorded continuation case also documents the current last_seen pagination contract: callers feed the returned next_last_seen AFP Entry ID back into the next request to advance through SYS:PUBLIC. The sample entries remain stat-derived fallback Entry IDs with parent_id kept at zero until persistent CNID/AppleDouble/libatalk-backed directory identity is available. Tests: - ./afp_scan_info_smoke -S MARS -U SUPERVISOR -P ... SYS:PUBLIC - ./afp_scan_info_smoke --afp10 -S MARS -U SUPERVISOR -P ... SYS:PUBLIC - ./afp_scan_info_smoke -S MARS -U SUPERVISOR -P ... --last-seen 0x23c8787d SYS:PUBLIC TODO: - Add multi-response scan replies once the record packing and client-side parsing are widened beyond the current one-record smoke path. - Replace stat-derived fallback Entry IDs with persistent CNID/AppleDouble/libatalk-backed IDs.
This commit is contained in:
@@ -324,11 +324,20 @@ Useful smoke sequence for a standard MARS-NWE `SYS:PUBLIC` directory:
|
||||
./tests/linux/afp_scan_info_smoke --allow-empty -S MARS -U SUPERVISOR -P secret --last-seen 0x260437f6 SYS:PUBLIC
|
||||
```
|
||||
|
||||
Verified runtime output for the first entries in the sample `SYS:PUBLIC` tree:
|
||||
|
||||
```text
|
||||
AFP Scan File Info subfunction=0x11 path=SYS:PUBLIC last_seen=0x00000000 desired=1 next_last_seen=0x23c8787d entry_id=0x23c8787d parent_id=0x00000000 attrs=0x0000 data_len=8161 resource_len=0 offspring=0 long_name=pmdflts.ini short_name=pmdflts.ini rights=0x9700
|
||||
AFP Scan File Info subfunction=0x0a path=SYS:PUBLIC last_seen=0x00000000 desired=1 next_last_seen=0x23c8787d entry_id=0x23c8787d parent_id=0x00000000 attrs=0x0000 data_len=8161 resource_len=0 offspring=0 long_name=pmdflts.ini short_name=pmdflts.ini rights=0x9700
|
||||
AFP Scan File Info subfunction=0x11 path=SYS:PUBLIC last_seen=0x23c8787d desired=1 next_last_seen=0x260437f6 entry_id=0x260437f6 parent_id=0x00000000 attrs=0x0000 data_len=1296 resource_len=0 offspring=0 long_name=ohlogscr.bat short_name=ohlogscr.bat rights=0x9700
|
||||
```
|
||||
|
||||
The concrete Entry IDs vary by filesystem metadata and are currently marked as
|
||||
`fallback` in server diagnostics when they are derived from `stat(2)` rather
|
||||
than persistent CNID/AppleDouble metadata. The verified AFP 2.0 smoke path
|
||||
walks multiple entries in `SYS:PUBLIC` by feeding each returned
|
||||
`next_last_seen` value into the next request. The `0x0a` path intentionally
|
||||
`next_last_seen` value into the next request, and the older `0x0a` path returns
|
||||
the same first-entry record for the same request. The `0x0a` path intentionally
|
||||
shares that conservative scan implementation so older AFP callers can probe the
|
||||
same read-only directory listing semantics before fuller multi-response and
|
||||
CNID-backed scans are implemented.
|
||||
|
||||
Reference in New Issue
Block a user