docs: audit RPC server-control stubs

This commit is contained in:
Mario Fetka
2026-06-02 16:47:12 +00:00
parent 110a5c5111
commit 16d6e805b6
4 changed files with 119 additions and 10 deletions

View File

@@ -7474,6 +7474,70 @@ static int handle_ncp_serv(void)
break;
#endif
#if MARS_NWE_4
case 0x83 : { /* SDK 131 / wire 0x83 RPC / server-control group.
* Source outcome: no active top-level implementation exists
* for this NetWare-4.x server-control family. This disabled
* stub records the selector coverage without changing the
* default compatibility build.
*
* SDK group request header:
* word SubFunctionStrucLen (Hi-Lo)
* byte SubFuncCode
* ... subfunction-specific RPC payload
*
* Common reply layout for these RPC calls:
* long RPCccode
* long reserved[4]
*
* Future owner: server-management/RPC provider. These calls
* can load/unload NLMs, mount/dismount volumes, change SET
* commands, and execute NCF files, so they must not be wired
* to fake success. They also must not turn nwserv into a
* data-plane payload broker; nwserv should remain the control
* plane/supervisor.
*/
uint8 rpc_subfunc = (requestlen > sizeof(NCPREQUEST) + 2)
? requestdata[2]
: 0xff;
switch (rpc_subfunc) {
case 0x01: /* 131/01 RPC Load an NLM.
* Request: NLMLoadOptions long, reserved[3],
* reservedFlags[4], ASCIIZ PathAndName.
*/
case 0x02: /* 131/02 RPC Unload an NLM.
* Request: reserved[4], reservedFlags[4],
* ASCIIZ NLMName.
*/
case 0x03: /* 131/03 RPC Mount Volume.
* Request: reserved[4], reservedFlags[4],
* ASCIIZ VolumeName.
*/
case 0x04: /* 131/04 RPC Dismount Volume.
* Request: reserved[4], reservedFlags[4],
* ASCIIZ VolumeName.
*/
case 0x05: /* 131/05 RPC Add Name Space To Volume.
* Request: reserved[4], reservedFlags[4],
* ASCIIZ "NameSpaceName {TO} {VOLUME} Volume".
*/
case 0x06: /* 131/06 RPC Set Set Command Value.
* Request: set-command type/value payload plus
* ASCIIZ SetCmdName and optional ASCIIZ value.
*/
case 0x07: /* 131/07 RPC Execute NCF File.
* Request: reserved[4], reservedFlags[4],
* ASCIIZ NCF file path/name.
*/
completition = 0xfb;
break;
default: completition = 0xfb;
break;
}
}
break;
#endif
default : completition = 0xfb; /* unknown request */
break;