Commit Graph

6 Commits

Author SHA1 Message Date
Mario Fetka
4e5573c992 nwconn: enable Lock File Set
All checks were successful
Source release / source-package (push) Successful in 47s
Wire NCP 0x04 Lock File Set and NCP 0x6a Lock File Set to the existing
file-set lock path.

The Novell SDK documents NCP 0x2222/04 as the old Lock File Set call and NCP
0x2222/106 as its replacement. Both calls lock all files logged by the calling
client's current task. The request carries a 2-byte Lock Timeout in 1/18
second units, the reply carries no data, and completion reports success,
timeout, or lock error.

MARS-NWE already records file-set members through Log File and already routes
Release File Set and Clear File Set through share_handle_lock_sets(). Use the
same set handler for Lock File Set with lock_flag 0 so the handler locks the
logged entries using each entry's recorded lock directive, defaulting to
exclusive when no directive was logged.

Enable the previously disabled old endpoint, add support for the SDK
replacement endpoint, add the SDK request/reply semantics to the inline
endpoint comment, and remove the corresponding TODO entry.

This enables the documented endpoint path; timeout handling remains limited to
the existing underlying share implementation.
2026-05-29 22:55:14 +02:00
Mario Fetka
215e0d02b4 nwconn: enable Release Logical Record
All checks were successful
Source release / source-package (push) Successful in 47s
Wire NCP 0x0c Release Logical Record to the existing logical-record release
path.

The Novell SDK documents NCP 0x2222/12 as releasing one synchronization string
held by the calling client without removing it from the client's
synchronization string table. The string remains logged and may be relocked by
a later Lock Logical Record Set call.

The handler already distinguished this from NCP 0x0b Clear Logical Record:
0x0b uses lock_flag -2 to unlock and unlog the record, while 0x0c uses
lock_flag -1 to unlock only.

Enable the previously disabled case label, add the SDK request/reply semantics
to the inline endpoint comment, and remove the corresponding TODO entry.

This only enables the documented endpoint path; the underlying locking
implementation is unchanged.
2026-05-29 22:43:04 +02:00
Mario Fetka
44a309de40 nwserv: escape SAP names in debug logs
All checks were successful
Source release / source-package (push) Successful in 45s
SAP service names are fixed-size 48-byte fields and are not guaranteed to be
safe C strings in diagnostics.  Some NetWare 6.5 SAP service types advertise
non-printable or high-bit bytes in the name field, which made the debug log
hard to read and could run past the intended protocol field if logged with a
plain %s.

Add bounded formatting for SAP names used in debug output.  Stop at NUL within
the fixed field, keep printable ASCII unchanged, and escape other bytes as
\\xNN.

This is logging-only and does not change SAP/RIP protocol behavior.
2026-05-29 21:51:57 +02:00
Mario Fetka
ae4cb39790 docs: annotate remaining NCP endpoint stubs
All checks were successful
Source release / source-package (push) Successful in 50s
Add SDK/protocol context comments for the remaining known nwconn.c endpoint
stubs and partial implementations.

Document the intended behavior and follow-up work for Lock File Set, Release
Logical Record, Restore Directory Handle, Get Extended Volume Information, and
Clear Physical Record Set. Also add matching TODO.md entries so these
compatibility gaps are tracked outside inline source comments.

This is documentation-only and does not change NCP behavior.
2026-05-29 20:39:48 +02:00
Mario Fetka
b4fbfa6a8a docs: update packet burst TODO status
All checks were successful
Source release / source-package (push) Successful in 47s
Packet Burst is no longer merely optional follow-up work for DOS tool
compatibility.

A diagnostics-enabled DOS client run verified real Packet Burst negotiation
and READ/WRITE data-path usage, and ENABLE_BURSTMODE now defaults to ON at
build time while runtime use remains controlled by nwserv.conf.

Keep Packet Burst/NDS fragmentation listed as deferred optional work.
2026-05-29 20:20:26 +02:00
Mario Fetka
f10a81566d docs: add TODO tracking file
All checks were successful
Source release / source-package (push) Successful in 46s
Add a top-level TODO.md for follow-up work that should not remain as scattered
inline source comments.

Document the current Check Console Privileges limitation, where console rights
are mapped to supervisor equivalence for now, and track the need for a real
console privilege map. Also record follow-ups for queue spool path case
handling, direct NCP 17/4c test coverage, Q_UNIX_PRINT backend improvements,
and deferred optional protocol work.

Reference TODO.md from the main README.
2026-05-29 18:51:37 +02:00