Commit Graph

15 Commits

Author SHA1 Message Date
Mario Fetka
a24cc2d3ef docs: track nwbind endpoint handoffs 2026-06-02 00:26:26 +02:00
Mario Fetka
096ce757b2 docs: place redirected ncp22 quota docs at handlers 2026-06-02 00:18:10 +02:00
Mario Fetka
cb4d9c8a9e docs: document ncp22 quota and trustee layouts 2026-06-01 22:36:56 +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
797ad53add nwbind: return proper console privilege status
All checks were successful
Source release / source-package (push) Successful in 50s
Replace the old Check Console Privileges TODO with the documented NCP 23/200
behavior.

The call has no reply data and reports authorization solely through the
completion code. Return success for supervisor-equivalent connections and
0xc6 for callers without console operator privileges instead of accepting all
callers.

MARS-NWE does not currently maintain a separate console-operator list, so map
console privileges to the existing supervisor-equivalence flag computed at
login time.

No queue or file service behavior change.
2026-05-29 18:48:51 +02:00
Mario Fetka
55be945c02 nwqueue: implement change queue job entry
All checks were successful
Source release / source-package (push) Successful in 47s
Implement the Queue Change Job Entry endpoint for both the old NCP 17/6d
and newer NCP 17/7b variants.

Parse the queue job structure, look up the selected job by its job number,
and update the mutable job metadata fields while preserving server-managed
state such as client identity, entry time, job number, queue position, file
name/handle and servicing information.

Allow the job creator to update the standard user-changeable fields and allow
SUPERVISOR or Q_OPERATORS members to update the operator hold flag as well.
Return the documented queue/job/right/servicing completion codes for missing
queues, missing jobs, insufficient rights and jobs already being serviced.

This only updates NetWare queue metadata. It does not change the existing
Q_UNIX_PRINT/lp backend behavior and adds no CUPS dependency.
2026-05-29 17:13:47 +02:00
Mario Fetka
9f4f8fcbfe nwbind: implement NCP 17/4c list object relations
All checks were successful
Source release / source-package (push) Successful in 44s
Implement the Bindery "List Relations of an Object" endpoint.

Parse the NCP 17 subfunction 0x4c request, look up the requested bindery
object and set property, and return up to 32 related object IDs from the set
property value segments. Support the Novell last-seen cursor convention where
0xffffffff starts a new scan and subsequent calls continue after the last
returned object ID.

Add a small nwdbm helper for listing set-property members while preserving the
existing bindery property read-right checks. Reject wildcard object names with
the documented illegal-wildcard completion code.
2026-05-29 15:49:54 +02:00
Mario Fetka
e0fcd4809e nwbind: implement additional broadcast message calls
All checks were successful
Source release / source-package (push) Successful in 50s
Add the missing NCP 21 message service endpoints for disabling/enabling
broadcast reception and for the newer send/get broadcast message calls.

Track a per-connection broadcast_disabled flag and use a shared helper for
storing pending broadcast messages and notifying the target nwconn process.
The old NCP 21/00 send path now uses the same helper as the newer NCP 21/10
path.

Also improve UNKNOWN FUNCTION logging in nwconn.c by including the NCP type,
function and, where available, subfunction. This makes future missing-endpoint
logs easier to map back to SDK/NCP documentation.

Based on the existing MARS-NWE message handling, the old lwared broadcast
implementation, and the Novell WebSDK message service layouts.
2026-05-29 14:35:33 +02:00
Mario Fetka
ca32f0a128 nwbind: use build date in server information
All checks were successful
Source release / source-package (push) Successful in 49s
Keep the server information fields semantically distinct after replacing
the legacy KOAN/14-Jun-03 strings.

The revision string now reports the Mars NWE release version, for
example:

  Mars NWE 0.99.pl28

and the separate revision-date field is populated from a CMake-provided
build date in the traditional NetWare-style format, for example:

  27-May-26

The build date can be overridden through CMake for reproducible builds;
otherwise it defaults to the current UTC build date.
2026-05-27 21:36:45 +02:00
Mario Fetka
8e8bf9ec33 nwbind: report mars-nwe version as server description
All checks were successful
Source release / source-package (push) Successful in 48s
Replace the old hard-coded server description date with a Mars NWE
version string built from the existing _VERS_H_, _VERS_L_ and _VERS_P_
build macros.

WHOAMI and similar clients display this value in the line:

  Server <name> is running <description>.

Instead of reporting the legacy fixed value "14-Jun-03", the server now
reports a stable release-style description such as:

  mars-nwe-0.99.pl28

Also advance the response buffer after writing the revision string so the
description field does not overwrite the previous field.
2026-05-27 21:03:53 +02:00
Mario Fetka
d17fe40b3d Replace deprecated siginterrupt usage with sigaction 2026-04-20 23:39:42 +02:00
Mario Fetka
0ae7503930 Interrupt blocking shutdown syscalls in nwbind and ncpserv 2026-04-20 23:39:42 +02:00
Mario Fetka
eab9c16971 Add shutdown tracing for nwserv, nwbind and ncpserv 2026-04-20 23:39:42 +02:00
Mario Fetka
143096999f Clean up opt tools, ftrustee and nwbind warning cases 2026-04-20 23:39:42 +02:00
Mario Fetka
0fbc9baf41 Restructure for camke build 2011-11-13 17:37:22 +01:00