nwconn: implement AFP 2.0 Get File Information
All checks were successful
Source release / source-package (push) Successful in 46s
All checks were successful
Source release / source-package (push) Successful in 46s
Route NCP 0x23/0x0f AFP 2.0 Get File Information through the existing read-only AFP file-information helper. The WebSDK and nwafp.h list both AFP Get File Information and AFP 2.0 Get File Information as path/file-information queries that return the AFP file-information record used by Mac namespace clients. The already implemented 0x05 path handles SYS:-style path requests and fills the safe read-only fields from Unix stat data plus the optional libatalk Finder Info and resource-fork helpers. Use the same conservative path-backed reply for 0x0f for now. This gives Linux smoke-test coverage for the AFP 2.0 subfunction without adding entry-id-only lookup, persistent CNID mapping, write-side metadata updates, or fuller resource-fork semantics. Extend afp_file_info_smoke with --afp20 so the same SYS:, SYS:PUBLIC, SYS:SYSTEM, and SYS:BURST cases can exercise the AFP 2.0 subfunction. Update the Linux test README and TODO tracking to record that AFP 2.0 file information is covered by the same temporary fallback model. This implements only the read-only path-based subset; richer AFP 2.0 behavior remains future Mac-namespace work.
This commit is contained in:
@@ -66,10 +66,12 @@ expected `0x9c` Invalid Path completion.
|
||||
|
||||
## AFP File Information smoke test
|
||||
|
||||
`afp_file_info_smoke` sends the WebSDK-documented NetWare AFP request:
|
||||
`afp_file_info_smoke` sends the WebSDK-documented NetWare AFP file
|
||||
information requests:
|
||||
|
||||
```text
|
||||
NCP 0x2222/35/05 AFP Get File Information
|
||||
NCP 0x2222/35/15 AFP 2.0 Get File Information
|
||||
```
|
||||
|
||||
It uses the same libncp `NWRequestSimple()` transport path as the Entry ID
|
||||
@@ -85,10 +87,15 @@ Useful smoke cases for a standard MARS-NWE `SYS` volume are:
|
||||
./tests/linux/afp_file_info_smoke -S MARS -U SUPERVISOR -P secret SYS:PUBLIC
|
||||
./tests/linux/afp_file_info_smoke -S MARS -U SUPERVISOR -P secret SYS:SYSTEM
|
||||
./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:PUBLIC
|
||||
```
|
||||
|
||||
The current implementation fills fields that can be derived from Unix `stat(2)`
|
||||
and the optional libatalk helper wrappers. Server-side diagnostics mark
|
||||
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
|
||||
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
|
||||
future Mac-namespace work.
|
||||
|
||||
Reference in New Issue
Block a user