docs: add root user changes summary

This commit is contained in:
OpenAI
2026-06-01 17:48:11 +00:00
committed by Mario Fetka
parent fa3a922700
commit 93f89270c8

549
CHANGES.md Normal file
View File

@@ -0,0 +1,549 @@
# Changes
This file summarizes the MARS_NWE project history in a form intended for users
and administrators. It is not a replacement for the technical Git log and does
not list every individual commit.
The historic entries up to 0.99.pl21 are based mainly on the old project files
under `doc/`, especially `doc/CHANGES` and `doc/NEWS`. Newer entries from
0.99.pl22 onward are based on the imported project history, release milestones,
and the current repository history.
Entries are sorted newest first.
## Current development after 0.99.pl27
The current development branch is 0.99.pl28-dev. Since 0.99.pl27 the focus has
shifted from pure modernization back toward NetWare compatibility, test coverage,
and better operational diagnostics.
User-visible highlights:
- Classic NetWare and DOS client compatibility has been expanded. Several NCP
endpoints that were missing or only stubbed have been added or improved,
including trustee and rights queries, rights changes, rename/move, queue jobs,
broadcast messages, disk restrictions, extended volume information, and several
record and file locking operations.
- Packet Burst support is available again as a build option and is built in the
current default configuration.
- AFP and Macintosh compatibility has been expanded significantly. MARS_NWE can
now serve many AFP 2.0/WebSDK-style file and directory operations through
NetWare paths, including entry IDs, file information, scan information,
FinderInfo, ProDOSInfo, attributes, timestamps, fork handles, create, delete,
rename, and information about deleted files.
- A salvage/recycle backend for deleted files was added. It can record deleted
files together with metadata, manage versions using the Samba `vfs_recycle`
naming scheme, and expose them through NetWare salvage endpoints for scan,
restore, and purge operations.
- The test layout has been expanded with focused AFP and salvage smoke tests, and
optional maintainer builds for additional test and DOS helper programs.
- Log output is being normalized step by step so that logs are easier to search
by area, endpoint, and event.
- Documentation has been cleaned up: active TODOs live in `TODO.md`, AI/patch
workflow rules live in `AI.md`, and AFP/salvage test documentation has been
reduced to one README per test area.
## 0.99.pl27 — 21 April 2026
This release collected the 2026 modernization work into a public release.
User-visible highlights:
- The build was further modernized and aligned with current CMake and GitHub
Actions workflows.
- Version handling was tied to Git tags so release builds and development builds
can be distinguished more clearly.
- The SMArT web interface was added as a submodule and updated several times.
- Packaging and installation files were added, including systemd service files,
logrotate configuration, and init scripts in the documentation area.
- The README was expanded and now links the related subprojects such as SMArT,
dosutils, mailutils, IPX tools, and kernel modules.
- After the release the version base was advanced to 0.99.pl28-dev.
## 0.99.pl26 — 28 March 2026
This release was mainly a modernization and build compatibility release.
User-visible highlights:
- The code was fixed for newer GCC versions.
- The minimum CMake version was raised.
- Several 64-bit, type, and warning issues were cleaned up so the server builds
more reliably on current Linux systems.
- Signal, shutdown, and string handling were made more robust.
- Missing headers and helper-program build integration were added.
- Warning hotspots in server, bindery, queue, trustee, route, and connection code
were cleaned up.
## 0.99.pl25 — 31 July 2024
This release integrated an externally reported compatibility patch and refreshed
the project description.
User-visible highlights:
- A patch from the public GitHub project discussion was integrated.
- The README was updated to better explain the current project status.
## 0.99.pl24 — 31 May 2023
This release kept the project buildable on modern systems and corrected release
and build issues.
User-visible highlights:
- Syslog support was fixed.
- CMake and release files were corrected.
## 0.99.pl23 — 5 November 2013
This release continued to merge distribution patches.
User-visible highlights:
- PLD and Koan patches were integrated.
- The build was fixed for 32-bit environments.
## 0.99.pl22 — 20 May 2012
This release marked the start of the newer public maintenance history after the
old historic releases.
User-visible highlights:
- The project was converted to a CMake-based build.
- DOS and mail helper programs were added as submodules.
- Installation paths and distribution patches were updated.
- A known Novell Bugzilla patch was integrated.
- Existing patches from several sources were collected and integrated.
## 0.99.pl21 — 14 June 2003
User-visible highlights:
- A Koan/Marco Cavallini patch added support for clearing a connection number in
the bindery/server area.
## 0.99.pl20 — 1 September 2000
User-visible highlights:
- New volume option `x` added support for working with Unix ACLs.
- Trustee and attribute directories were improved.
- Several patches improved printer queue access, Unix permissions, and trustee
behavior.
## 0.99.pl19
User-visible highlights:
- Security fixes were made around file operations.
- `Get Name Spaces Loaded` was corrected.
- Login restriction routines were added.
- Empty passwords and passwords starting with `-` were handled better.
- Trustee handling was corrected.
## 0.99.pl18
User-visible highlights:
- Several potential buffer overflows were mitigated.
- File sharing and locking were improved substantially.
- Logical and physical record log/lock functions were enabled.
- Password names starting with `-` were handled better.
- Trustee handling was extended.
## 0.99.pl17
User-visible highlights:
- A `rename file` regression from pl16 was fixed.
- Logfile initialization was cleaned up.
## 0.99.pl16
User-visible highlights:
- Builds for Linux 2.2.x and BSD environments were improved.
- Win98-compatible open/create behavior was corrected.
- DOS wildcard rename behavior for source and target names was improved.
- A new signal can dump diagnostic information about open files.
## 0.99.pl15
User-visible highlights:
- New pipe filesystem examples and documentation were added.
- Recursive deletion of larger directory trees was fixed.
- Queue job lists now return byte order that works better for Win9x/Client32.
- glibc compatibility was improved.
## 0.99.pl14
User-visible highlights:
- HOME volume rights and free disk space reporting were improved.
- Trustee and inherited-rights-mask handling was extended.
- Some file-handle and directory error codes were corrected.
- New volume option `T` added trustee-oriented rights handling.
## 0.99.pl13
User-visible highlights:
- FreeBSD support and diagnostic replies were added.
- Pipe filesystem support and example programs were improved.
- Trustee namespace calls were added.
- New queue functions were implemented.
- Debug and log files started to include date and time.
## 0.99.pl12
User-visible highlights:
- The default bindery database path moved from `/etc` to `/var/nwserv/db`.
- Printer banners can be disabled.
- FreeBSD porting work was integrated.
## 0.99.pl11
User-visible highlights:
- A new NCP call for reading new queue job entries was added.
## 0.99.pl10
User-visible highlights:
- DOS wildcard search behavior was corrected.
- Trustee-related searches became more reliable as a result.
## 0.99.pl9
User-visible highlights:
- The attribute directory default moved to `/var/nwserv/attrib`.
- Initial simple trustee routines were introduced.
- Supervisor security equals and new queue handling were added.
- Many queue, pipe, UnixWare, and file-handle problems were fixed.
## 0.99.pl8
User-visible highlights:
- Queue handling was improved for WinNT, Windows 95, and DOS clients.
- Older DOS search routines were reused for namespace calls because they worked
better with Client32-compatible access patterns.
## 0.99.pl7
User-visible highlights:
- An important bindery bug was fixed: property-set searches previously found
only a limited subset of entries.
- Startup bindery check/compress support was added.
- Archive-bit handling was corrected.
- Build and glibc6/RH5 compatibility was improved.
## 0.99.pl6
User-visible highlights:
- `nwserv` can create or delete IPX devices and routes externally.
- New `nwserv -f` option can force RIP/SAP transmissions.
- Archive bits are set by default on files and updated on client writes.
## 0.99.pl5
User-visible highlights:
- Namespace and directory access were corrected.
- Directory delete operations should work more reliably.
- Several maximum values became runtime configurable.
## 0.99.pl4
User-visible highlights:
- File and directory creation rights became configurable per volume.
- Directories are no longer made read-only unconditionally.
- Wildcard rename was corrected.
## 0.99.pl3
User-visible highlights:
- Default paths were adjusted toward typical Unix/Linux installations, including
`/usr/sbin` and `/var/log`.
- `nwserv -k` now waits for the main process to exit.
- HOME volume functions were expanded.
- Users can be excluded from password changes through SYSCON.
## 0.99.pl2
User-visible highlights:
- A new section-8 option for using ncpfs as a MARS_NWE client was added.
- Queue handling was corrected further.
- Pserver support and queue creation/deletion were added.
- Directory creation returns more appropriate error codes.
## 0.99.pl1
User-visible highlights:
- Print queue handling changed significantly.
- Simple semaphore routines were added.
- User symlinks are now created in the MAIL directory.
- Client32 wildcard delete operations were improved.
## 0.99.pl0 — 31 July 1997
User-visible highlights:
- Novell Client32 should now work; a volume/device/inode/path cache was added for
this.
- Bindery security fixes and account extensions were integrated.
- File sharing behavior was changed.
- The first test version of Burst mode was introduced.
- Slow-network support and HOME volumes were improved.
- Bindery paths became configurable.
## 0.98.pl11 — 7 July 1997
User-visible highlights:
- Syslog support was added.
- Filename translation became configurable.
- Internal tables now grow dynamically instead of relying on fixed maximum sizes.
- More than 255 connections became possible in principle.
- `ps` shows logged-in users and attached-only sessions more clearly.
- Early Burst mode test support was prepared.
## 0.98.pl10
User-visible highlights:
- NFS/directory-listing issues were reduced through `telldir()`/`seekdir()`
workarounds.
- Only one directory handle per connection remains open.
- Cyrillic filename support was added.
- Pipe commands were marked shareable.
- Several time, locking, and interface activation issues were fixed.
## 0.98.pl9 — 17 April 1997
User-visible highlights:
- Automatic detection and creation of IPX interfaces was restructured.
- New `nwserv -u` option updates internal routes and devices.
- Fixed passwords were added as a configuration option.
- File-handle byte order was changed for better NETX compatibility.
## 0.98.pl8 — 29 January 1997
User-visible highlights:
- NetWare version spoofing now defaults to 3.11.
- Quota support was added.
- Login time restrictions were supported.
- Print queue banner parameters were extended.
## 0.98.pl7 — 5 January 1997
User-visible highlights:
- Directory rename can be allowed through a section-8 option.
- File locking for large offsets was improved, important for programs such as
dBase.
- Bindery access by object name was accelerated.
- File-handle reuse was corrected.
## 0.98.pl6
User-visible highlights:
- `nwrouted` was made usable again.
## 0.98.pl5 — 9 November 1996
User-visible highlights:
- Novell Client32 should work better.
- New namespace subfunctions were added.
- File Server Copy works correctly.
- SAP handling can process all SAP types instead of only type 4.
- NCP responses now copy the task from the request.
- OS/2 namespace wildcards were improved.
## 0.98.pl4 — 4 October 1996
User-visible highlights:
- New configuration sections were added for login/logout/security flags and
default creation modes.
- File access takes supplementary Unix groups into account.
- Station connection restrictions and bindery login restrictions were added.
- Print queue directories and MAIL directories are created and repaired more
reliably at startup.
## 0.98.pl3
User-visible highlights:
- Bindery and SYS directory initialization was improved.
- Queue directories are checked and created.
- Bindery object deletion removes references in set properties.
- Directory handle 1 is treated specially, matching Novell behavior.
## 0.98.pl2 — 24 August 1996
User-visible highlights:
- The PIPE filesystem was changed so programs start only on the first read or
write.
- Pipe commands can use separate read and write channels.
- MAIL/shadow-password and bindery problems were improved further.
## 0.98.pl1 — 30 July 1996
User-visible highlights:
- OS/2 name handling was improved.
- Windows-client-compatible dummy routines were added.
- Move-directory and pipe filesystem behavior were corrected.
## 0.98.pl0 — 22 July 1996
User-visible highlights:
- Directory-handle problems were removed.
- Rudimentary OS/2 and NFS namespace support was added.
- Dummy support for OS/2 Extended Attributes was added.
## 0.97.pl9 — 12 July 1996
User-visible highlights:
- Automatic adding and removing of IPX interfaces was improved.
- Linux/Sparc support was cleaned up.
- File locking and sharing were improved.
- Unix-to-DOS attribute handling and read performance through `mmap` were
improved.
- New users can be automatically mapped to existing Unix users during password
changes.
## 0.97.pl8
User-visible highlights:
- Free-space display on large volumes was corrected.
- Wildcard handling was adjusted.
- Files can be read using `mmap`.
## 0.97.pl7
User-visible highlights:
- Encrypted password changes were implemented.
- Dynamic IPX interface registration and removal were improved.
- Locking, watchdog, and access handling were extended.
- Pipe files receive connection and process parameters.
## 0.97.pl6
User-visible highlights:
- Message calls work again in optimized kernel mode.
- Volume restriction queries return more correct values.
- Large directories can be listed more reliably.
## 0.97.pl5
User-visible highlights:
- Group initialization was added to UID/GID switching.
## 0.97.pl4
User-visible highlights:
- Several security and bindery-rights issues were corrected.
- A read-only volume option was added.
- The internal network number can be derived from the IP number when set to `0`.
## 0.97.pl3 — 5 May 1996
User-visible highlights:
- `nwserv -h` and `nwserv -k` were added for HUP/TERM control.
- utmp/wtmp are updated.
- IPX interfaces can be created automatically.
- HOME volumes with path `~` became possible.
- Supervisor security and namespace routines were extended.
## 0.97.pl2 — 21 March 1996
User-visible highlights:
- Password policy was extended, including empty MARS_NWE passwords when a Unix
password is set.
- OS/2 client compatibility was improved significantly.
- A kernel patch for better performance was documented.
- LOGIN directory and DBM export/import functions were improved.
## 0.97.pl1
User-visible highlights:
- OS/2 name support was improved.
- A Windows-compatible dummy routine was added.
## 0.97.pl0 — 10 March 1996
User-visible highlights:
- Broadcast periods and nearest-server behavior became configurable.
- New configuration options allow automatic user import from `/etc/passwd` and
startup checks for bindery/SYS.
- Bindery performance was improved substantially.
- Namespace services, HOME volumes, `ftruncate`, utmp/wtmp, and several NetWare
file operations were added or improved.
## 0.96.pl9 — 13 February 1996
User-visible highlights:
- New password policy with several security modes for encrypted and unencrypted
password calls.
- Better compatibility with old LOGIN and SYSCON programs.
- Routing, SAP, volume information, pipe jobs, and server-down messages were
extended.
## 0.96
User-visible highlights:
- Wildcard search and wildcard delete were corrected or added.
- Larger packets were allowed.
- Routing and SAP handling were extended.
- Namespace services were prepared.
- Password, bindery, and automatic user import features were expanded.
- Printing, PIPE jobs, volumes, and several NCP functions were improved.
## 0.95
User-visible highlights:
- Login with password entry became possible.
- Users with different rights and mapping of NetWare users to Linux users were
introduced.
- `nwserv` can run as a daemon and write logs.
- Server-down notification, routing rework, and initial printing functions were
added.
## 0.94
User-visible highlights:
- First public version of MARS_NWE.