Commit Graph

106 Commits

Author SHA1 Message Date
Mario Fetka
969eb5f4e7 docs: document remaining ncp22 legacy directory layouts 2026-06-01 22:45:38 +02:00
Mario Fetka
cb4d9c8a9e docs: document ncp22 quota and trustee layouts 2026-06-01 22:36:56 +02:00
Mario Fetka
017ef23833 docs: document ncp22 directory scan layouts 2026-06-01 22:23:23 +02:00
Mario Fetka
4db82757c1 docs: document ncp22 directory handle layouts 2026-06-01 22:11:13 +02:00
Mario Fetka
dcfe19b799 docs: clarify legacy NCP audit compatibility scope 2026-06-01 22:04:14 +02:00
OpenAI
8ccc4cbea2 docs: document ncp22 directory mutation layouts 2026-06-01 21:54:24 +02:00
bot
492befda0d docs: record old direct sync layout audit results 2026-06-01 21:41:54 +02:00
Mario Fetka
dd64d83979 docs: document core NCP 22 directory layouts 2026-06-01 21:26:14 +02:00
Mario Fetka
fba1939610 docs: document forwarded message endpoint layouts
All checks were successful
Source release / source-package (push) Successful in 53s
2026-06-01 20:59:26 +02:00
Mario Fetka
df5a7c872e docs: document legacy direct NCP utility layouts 2026-06-01 20:52:25 +02:00
Mario Fetka
2be5d7aeec docs: document logical record sync request layouts 2026-06-01 20:46:40 +02:00
Mario Fetka
d61f320a43 docs: document old file sync request layouts 2026-06-01 20:38:01 +02:00
Mario Fetka
8fe39a1a57 docs: add old sync endpoint TODO stubs 2026-06-01 20:27:47 +02:00
ai
2a41480a65 docs: record completed AFP ProDOS smoke status 2026-06-01 12:14:40 +02:00
ai
92b0c4a34a afp: add deleted file Macintosh info endpoint
All checks were successful
Source release / source-package (push) Successful in 55s
2026-06-01 11:07:43 +02:00
ai
59e8694d7d docs: mark salvage complete and queue AFP 0x13 2026-06-01 10:37:32 +02:00
ai
58eda41057 salvage: log and test stale payload cleanup
All checks were successful
Source release / source-package (push) Successful in 1m46s
2026-06-01 10:22:46 +02:00
ai
094f24224e salvage: drop stale sidecars when payload is missing 2026-06-01 10:04:35 +02:00
Mario Fetka
c441ff0f57 docs: add AI notes and logging schema todo
All checks were successful
Source release / source-package (push) Successful in 56s
2026-05-31 20:49:31 +02:00
OpenAI
b188491a20 tests: append NCP salvage scan to smoke suite 2026-05-31 18:25:22 +02:00
Test
51ae60a6f8 salvage: add initial NCP scan endpoint
All checks were successful
Source release / source-package (push) Successful in 57s
2026-05-31 18:06:51 +02:00
OpenAI
3466ae05b4 tests: document salvage recycle behaviour 2026-05-31 16:18:04 +02:00
OpenAI
5365f0e37f TODO: keep only active AFP deleted-file follow-up
All checks were successful
Source release / source-package (push) Successful in 48s
2026-05-31 09:17:29 +02:00
Mario Fetka
4443c33274 tests: record AFP timestamp plausibility smoke success 2026-05-31 08:06:02 +02:00
Mario Fetka
63ee154c89 tests: drop transient AFP SetInfo layout markers 2026-05-31 07:49:27 +02:00
Mario Fetka
7578f3ac6b tests: record AFP entry-id-relative name lookup smoke success 2026-05-31 07:45:56 +02:00
Mario Fetka
a25233e84e tests: record AFP temporary directory handle entry-id smoke success 2026-05-31 07:31:06 +02:00
OAI
b52c52e421 tests: record AFP fork close lifecycle smoke success 2026-05-31 07:23:39 +02:00
OAI
7c0af26ec5 tests: record AFP file fork I/O smoke success 2026-05-31 07:16:10 +02:00
Mario Fetka
2a610f4fb6 tests: document AFP test group paths and option 2026-05-31 06:56:52 +02:00
Mario Fetka
85ea3dd863 tests: record AFP metadata entry-id resolver smoke success 2026-05-31 06:53:48 +02:00
Mario Fetka
711dceb42a tests: record standalone AFP xattr backend smoke success 2026-05-31 06:36:34 +02:00
OpenAI
aa041a405b docs: clarify standalone AFP xattr metadata backend
All checks were successful
Source release / source-package (push) Successful in 47s
2026-05-31 06:27:03 +02:00
Mario Fetka
fa96ebb264 nwatalk: use standalone mars_nwe AFP xattr backend 2026-05-31 06:15:03 +02:00
Mario Fetka
b1a5f9a0b3 tests: record WebSDK AFP set file information smoke success 2026-05-30 22:48:37 +02:00
a
5309422eb7 tests: record AFP rename smoke success 2026-05-30 22:27:54 +02:00
Test
cd4ca7c4d9 tests: record AFP delete smoke success 2026-05-30 22:02:44 +02:00
Mario Fetka
3b3a378a22 tests: record AFP create file smoke success
All checks were successful
Source release / source-package (push) Successful in 48s
2026-05-30 21:48:39 +02:00
Mario Fetka
434de903bd tests: add AFP create file smoke
All checks were successful
Source release / source-package (push) Successful in 48s
2026-05-30 21:41:08 +02:00
Mario Fetka
0a60e0ce7a tests: record AFP create directory smoke success
All checks were successful
Source release / source-package (push) Successful in 50s
2026-05-30 21:30:35 +02:00
Mario Fetka
9032848c9a nwconn: keep AFP file entry IDs on nwatalk fallback
All checks were successful
Source release / source-package (push) Successful in 47s
2026-05-30 21:00:20 +02:00
Mario Fetka
0a171048e8 tests: add AFP create directory smoke
All checks were successful
Source release / source-package (push) Successful in 46s
2026-05-30 20:52:43 +02:00
Mario Fetka
ee2271c099 tests: record AFP namespace entry id smoke success
All checks were successful
Source release / source-package (push) Successful in 48s
2026-05-30 20:22:44 +02:00
OpenAI
a4dd5c3678 tests: record AFP trustee access privileges smoke success
All checks were successful
Source release / source-package (push) Successful in 46s
2026-05-30 19:57:42 +02:00
Mario Fetka
fc7f099494 tests: record AFP create and access timestamp smoke success
All checks were successful
Source release / source-package (push) Successful in 48s
2026-05-30 19:42:32 +02:00
Mario Fetka
31a9234c8b nwconn: route AFP access timestamps through atime
All checks were successful
Source release / source-package (push) Successful in 48s
2026-05-30 19:27:38 +02:00
OpenAI
b442500ef9 nwconn: route AFP create timestamps through nwarchive fileinfo
All checks were successful
Source release / source-package (push) Successful in 50s
2026-05-30 19:18:35 +02:00
OpenAI
8bfedbacf1 tests: record AFP backup timestamp smoke success
All checks were successful
Source release / source-package (push) Successful in 52s
Record the successful Linux AFP smoke-suite run for the WebSDK Backup Date/Time Set File Information field. The smoke output confirms bitmap 0x2000, the AFP backup timestamp value derived from epoch 1700000000, and the corresponding mars_nwe archive metadata xattr.

This documents the intended split between the Archive file attribute, which is mapped through the existing NetWare attribute path, and the Backup Date/Time field, which is routed through nwarchive.c and stored in org.mars-nwe.netware.archive.

Tested-by: ./afp_smoke_suite.sh ... --backup-time-only --backup-time-epoch 1700000000 (reported failures=0)
2026-05-30 18:35:38 +02:00
OpenAI
bbc37565c8 nwconn: route AFP backup timestamps through nwarchive
All checks were successful
Source release / source-package (push) Successful in 48s
Implement the WebSDK AFP Set File Information Backup Date/Time request bitmap as a narrow metadata write that reuses mars_nwe's existing archive metadata helper instead of adding a new AFP-specific storage path.

The AFP Attributes word already maps Archive through the NetWare FILE_ATTR_A path; Backup Date/Time is a separate SetInfo field and belongs in the existing nwarchive.c archive date/time metadata.  Include nwarchive.h in nwconn, fill the AFP information record's Backup Date/Time fields from mars_nwe_get_archive_info(), and accept the SetInfo 0x2000 bitmap by calling mars_nwe_set_archive_info() after the normal AFP path resolution and Modify-rights gate.

Extend the Linux Set File Information smoke helper with --backup-time-epoch/--backup-time-only, verify the returned 120-byte file information record at offsets 28/30, and have afp_smoke_suite.sh dump user.org.mars-nwe.netware.archive so reports prove that the WebSDK field is stored through the NetWare archive metadata path.

Tests: git diff --check; bash -n tests/linux/afp_smoke_suite.sh; gcc -Iinclude -I/mnt/data/stubs -fsyntax-only tests/linux/afp_set_file_info_smoke.c
2026-05-30 18:21:54 +02:00
OpenAI
3f3a3ce832 tests: record AFP WebSDK attribute bit smoke success
The AFP Set/Get File Information attribute path now follows the WebSDK attribute word instead of the earlier low-bit smoke placeholders.  Hidden, System, and Archive are mapped through the existing NetWare attribute store as FILE_ATTR_H, FILE_ATTR_S, and FILE_ATTR_A, while FinderInfo and Entry-ID remain AFP-specific metadata.

Record the runtime smoke result that verified the corrected bit layout.  The suite reports failures=0, exercises Hidden, System, and Archive set/clear with the documented 0x0200, 0x0400, and 0x2000 attribute bits, and confirms the SetInfo request bitmaps 0x0100 Attributes, 0x1000 Modify Date/Time, and 0x4000 FinderInfo.

Also document that user.org.mars-nwe.afp.attributes may legitimately be absent after this mapping: the tested attribute bits are no longer stored as AFP-only xattrs, so ENODATA in the optional xattr dump is expected when no AFP-only bits remain set.

Test status: based on the provided mars-afp-smoke report from 2026-05-30 18:04:21, which completed with failures=0 and preserved the expected FinderInfo, Entry-ID, Modify timestamp, DOS-name, Open Fork, SetInfo, and rights-negative coverage.
2026-05-30 18:11:10 +02:00