Move the common path-is-directory check into tools.c and declare it in net.h.
Replace the local NDIR and Trustee helper implementations with
tool_path_is_dir(), and update NDIR, REMOVE and REVOKE callers to use the
shared helper directly. The helper preserves the existing behavior of treating
empty and current-directory paths as directories and otherwise falling back to
stat().
No behavior change.
Move the common parent path extraction helper into tools.c and declare it in
net.h.
Replace the local implementations in RIGHTS, NDIR and NWTESTS with
tool_parent_path(). The helper keeps the existing behavior of uppercasing the
path and preserving a trailing volume colon for parent paths such as SYS:.
No behavior change.
Add function-level comments to the shared helper routines in tools.c.
Document the purpose and behavior of the common DOS compatibility, keyboard,
paging, memory, string, environment, current directory handle, path formatting,
wildcard and endian/NCP22 helper functions.
No behavior change.
Add tool_current_dhandle_only() as a small wrapper for callers that only need
the current NetWare directory handle.
Replace the local creator_current_dhandle() and tests_current_dhandle()
implementations in CREATOR and NWTESTS with the shared helper. This removes
duplicate requester-current-directory code without changing behavior.
Move the common NCP22 DOS name buffer helper into tools.c and declare it in
net.h.
Replace the local copy/uppercase implementations in CREATOR, FLAG, FLAGDIR,
NDIR and NWTESTS with tool_copy_ncp22_name(). The helper keeps the existing
behavior: uppercase conversion, path separator rejection and the 1..12 byte
DOS name length limit.
NCOPY is intentionally left untouched while its NCP copy path remains under
investigation.
Move common little-endian and big-endian buffer helpers into tools.c and
declare them in net.h.
Replace local duplicate implementations in FLAG, FLAGDIR and NDIR with the
shared helpers. This keeps the existing packet layouts unchanged while reducing
copy/paste code across the DOS utilities.
NCOPY and the experimental NCP copy code are intentionally left untouched for
now.
Add GPL-2-or-later license headers to the DOS utility source files and
document the purpose and local dependencies of each C, header and assembler
file.
Preserve the original Martin Stover copyright attribution for the historic
MARS-NWE utility sources, including files that did not previously carry an
explicit header but are part of the original tool set. Add Mario Fetka as the
2026 copyright holder for the current maintenance work, and use Mario-only
headers for files without original Martin Stover ownership.
Also add a root-level COPYING file containing the GPL-2 license text.
Add maintainer-only support used by the automated DOS compatibility
tests.
This introduces the MAINTAINER_BUILD option for the DOS tools. In
maintainer builds, LOGIN accepts the hidden /PWD: and /PASSWORD:
arguments for automated test relogin, and the DLYSTRT helper is built to
delay-start DOS batch files after the invoking batch has returned to the
prompt.
Add the WHOAMI utility and wire it into the NET command dispatch. Also
adjust SLIST and RIGHTS output to match Novell behavior more closely,
including server-not-found handling, path formatting, Supervisor rights,
missing-path errors and usage text.
Extend the test scripts to compare NPUBLIC Novell baselines against the
PUBLIC implementations. LOGIN/LOGOUT can now run automatically via
DLYSTRT and the maintainer LOGIN password option. RIGHTS gains an
additional NOPASSUSER effective-rights matrix that covers single rights,
mixed rights, Supervisor rights, ALL/N and file trustee cases.
Normal builds remain free of maintainer-only helpers and hidden password
handling.
Move common DOS utility helper code into tools.c and expose it through
net.h. This removes duplicated command-local helpers from GRANT,
RIGHTS, FLAG, FLAGDIR and the trustee helper layer.
The shared helpers cover case-insensitive argument comparison, help and
option detection, /FILES and /SUBDIRS parsing, current network directory
handle lookup, current volume prefix formatting, uppercase DOS path
copying, basename/header-path handling, wildcard detection and simple
path joining/splitting.
Keep the command frontends smaller and less coupled so the current
multicall utility can later be split into smaller grouped multicall
binaries, such as trustee tools, login/session tools and file/flag
tools.
Update the DOS utilities README for the newer Client32 and trustee
commands. Document RIGHTS, GRANT, REVOKE and REMOVE in the status,
feature, command and install sections. Add command reference entries
for the trustee tools, including Novell-style syntax, supported rights,
recursive/file options and missing-trustee behavior.
Also mention the shared trustee helper layer and common tools.c helpers
used by the newer command frontends.
- add a shared DOS pager helper for long tool output
- page FLAG wildcard output with the Novell continue prompt
- fix FLAGDIR current-directory handling for "." and volume root
- add FLAGDIR wildcard directory listing support
- page FLAGDIR wildcard output like Novell FLAGDIR
- keep FLAGDIR display formatting aligned with Novell output
- make SLIST /CONTINUE enable continuous output
- keep SLIST bindery scanning compatible with ncpfs behavior
- preserve SLIST NET_ADDRESS display and default server marking