Files
mars-nwe/CHANGES.md
2026-06-01 19:52:26 +02:00

17 KiB

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.