Sorry, this is in German only.
User important notes are in the NEWS file.
Aenderungen in mars_nwe bis zum : 07-Jul-97
--------------------------------
Erste 'oeffentliche' Version
^^^^^^^^^^ VERSION 0.94 ^^^^^^^^
???????????????????????????????
^^^^^^^^^^ VERSION 0.95 ^^^^^^^^
- Login's mit Passworteingabe moeglich.
- Benutzer mit verschiedenen Rechten moeglich,
  Mapping NW-User -> Linux-User eingebaut.
- nwserv kann zum Daemon werden und logfile wird erzeugt.
- Schalter fuer 'save ipx-routes after server is down' eingebaut.
- Server kann mittels fconsole 'Server-Down' gekillt werden.
---
- Routing Code komplett umgeschrieben. Leider funktioniert
  das Einrichten einer internen NETWERK-Number, ala NW 311,
  und Einrichten mehrerer IPX-Devices erst nach Patchen des
  IPX-Kernel Codes. Wenn der IPX-Kernel Code fuer 1.3.[456]x
  wieder ok ist, werde ich das Anpassen bzw. werde ich es mit
  dem lwared Kernel Code versuchen.
  Falls aber nur ein ipx-interface gebraucht wird, muesste
  das IPX-Routing auch ohne IPX-Kernel Patches nun einwandfrei
  funktionieren.
---
- Der Server meldet nun allen Workstations, dass er down geht.
  Das funktioniert, wenn entweder der *nicht* daemonisierte
  nwserv mit ^C abgebrochen wird oder aber der daemonisierte
  nwserv ein SIGINT, SIGQUIT od. SIGTERM Signal erhaelt.

- Direktory Scan Fehler korrigiert.

- Ein HUP signal an nwserv bewirkt, dass sowohl nwserv als
  auch ncpserv die waerend der Laufzeit sinnvoll veraenderbaren
  nw.ini Parameter neu einliest. z.B. :
  - Debug Level's
  - Print Queues
  - User, User passwords

- Server kann sich als 2.15 Server melden oder als 3.11 .
- Drucken mit OLD Job's (pre 3.11) Struktur eingebaut.
^^^^^^^^^^ VERSION 0.96 ^^^^^^^^
- Direktory Search Wildcard Fehler '????????.???' korrigiert.
- delete mit wildcards eingebaut.
- Noch einen Wildcard Fehler korrigiert. (James MacLean)
- Debug Routine und Levels veraendert.
- Packet Groesse > 546 Byte erlaubt.
- MAX_NW_ROUTES ist nun in config.h.
- nwroute.c build_rip_buff if condition richtig geklammert.
- Code mittels cc -Wall etwas gesaeubert.
- direkte Responses von ncpserv werden nun ueber einen
  temporaeren socket und nicht mehr ueber den NCP-Socket
  geschrieben.
- SAP Responses gehen nun immer ueber den SAP Socket.
- Routing Bereich (SAP's) erweitert.
- SAP Broadcasts haben nun Packettyp '4'.
- Volume Info's (Volume Size usw.) korrigiert.
- Nun auch neue Konstante MAX_NW_SERVERS in config.h
- Routing and Server Tabelle (Info) kann nun in Datei ausgegeben werden.
- Es kann nun gesteuert werden (nw.ini:310), dass wdogs zu einer
  connection nur gesendet werden, falls der client ueber eine device
  net < angebbarer anzahl tics ist. (z.B. fuer IPX ueber ISDN)
- Verarbeitung von 'PIPE Jobs' eingebaut.
- Bug beim Drucken korrigiert. (nprint funktionierte nicht)
- 0x17, 0x35 u. 0x37 upstr objname eingebaut.
- auf USL 2.xx (UnixWare (tm)) wieder zum Laufen gebracht.
- kann nun auch ohne internen Router (RIP/SAP) erzeugt werden.
  dafuer define INTERNAL_RIP_SAP in config.h eingebaut.
- kann auch als standalone router only Fileserver Aktivitaet
  verwendet werden.
  Dafuer define FILE_SERVER_INACTIV in config.h eingebaut.
- mk.li erweitert.
- Schalter zum Testen von namespace calls eingebaut. config.h
- config.h um folgende Konstanten erweitert.
  NETWORK_SERIAL_NMBR 0x44444444L /* Serial Number 4 Byte      */
  NETWORK_APPL_NMBR   0x2222      /* Applikation Number 2 Byte */
- Schalter fuer das aktivieren von Namespace services calls
  in config.h eingebaut. define WITH_NAME_SPACE_CALLS
- Schalter 'm' fuer removable volumes ( z.B. CDROMS )
  eingebaut. (Lauri Tischler)
- func 0x17, ufunc 0x15 eingebaut.
- Makefile und mk.li abgeaendert. Laeuft nun auf der USL auch
  mit Standardmake.
- Passwort Strategy erweitert. Nun ist es auch moeglich ueber
  entry '7' in der ini Datei System-Passwoerter zu verwenden.
  Es werden dann unencryted Passwoerter verwendet.
- Neuer Eintrag '15' in ini Datei eingebaut zwecks automatischen
  Einlesen von User in die Bindery.
- Moeglichkeit zum Testen/Anlegen der Standarddirs beim Starten
  eingebaut.
- Bindery Code veraendert, Dateien bleiben nun geoeffnet.
- Kommunikation ncpserv <-> nwconn von Pipe auf Socket abgeaendert.
- Moeglichkeit zu Leistungssteigerung mittels modifizierten ipx-kernel
  eingebaut.
- entry '6' erweitert. Nun ist 3.12 Angabe moeglich.
- Moeglichkeit der stationsabhaengigen Steuerung von
  Nearest Server Response eingebaut.
^^^^^^^^^^ VERSION 0.97 ^^^^^^^^
- Bug in connect.c (nw_scan_dir_info) korrigiert.
- neuses Modul nwbind erzeugt. Dadurch Designaenderungen an
  allen Modulen.
- Alle NCP-Responses erhalten nun als Dest Addresse den NCP-Socket.
  OS/2 Client u. evtl. auch andere (Win95 ?)  erwarten es. !
- Password Schema leicht veraendert/erweitert.
  modus '8' -> modus '7',  neuer modus '8'.
- neue Routine 0x17, 0x10 (set file information) kodiert.
- ftruncate unter Linux fuer das Verkuerzen von Dateien eingebaut.
- neuen Volumetyp HOME Dir eingebaut.
- Fehler beim Mappen von Volumes auf UNIX Root '/' korrigiert.
- Fehler ftruncate beseitigt, offset statt 0. (Eduardo Crosclaude)
- Token Ring Frame eingebaut. (Guntram Blohm)
- einfache Zugriffrechte fuer Bindery eingebaut.
- Nur noch der Supervisor (OBJ_ID=1) kann root access erlangen.
- RIP/SAP Routinen ueberarbeitet.
- automatisches Anlegen von IPX-Devices ermoeglicht.
- Routine rename dir 0x16,0xf kodiert.
- 16-Bit get Volinfo Routinen korrigiert.
- Volume Flag 'o' eingefuehrt fuer filesysteme die
  Inodes > 0xfffffff liefern. (namespace-services)
- utmp und wtmp werden nun gefuellt.
- Parameter -k fuer SIGTERM und -h fuer SIGHUP eingebaut.
- eigene 'pipe' Routine fuer Druck Queue Aufruf eingebaut.
- namespace services call rename file/dir eingebaut.
<----- ^^^^^^^^^^ pl3 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- utmp/wtmp Ipx-Adresseintraege korrigiert.
- setgroups(0,NULL) in nwserv eingbaut. (security)
- falls internal net = 0 wird nun die IP Nummer als internal net verwendet.
- Zugriffsrechte Bindery erweitert und korrigiert.
- Volume option -r fuer readonly eingebaut.
<----- ^^^^^^^^^^ pl4 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- setgroups u. initgroups in set_guid() eingebaut.
<----- ^^^^^^^^^^ pl5 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- SIG_PIPE wird nun in nwconn abgefangen.
<----- ^^^^^^^^^^ pl6 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Die Message Calls unter optimierten Kernel Mode wieder
  zum Laufen gebracht.
- Routine 'get vol restriction' korrigiert.
  Lieferte immer 0 als freien Userspeicherplatz zurueck.
- Bug beim Listen von grossen Direktories korrigiert. (Fritz Elfert)
- CRYPTED CHANGE PASSWORD Routine implementiert. (Guntram Blohm)
<----- ^^^^^^^^^^ pl7 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- automatische Registrierung von extern angelegten IPX-Interfaces
  bzw. Loeschung eines Interfaces. (z.B. fuer ppp )
- nw.routes nun mit Uhrzeitangabe
- Code fuer Linux/Sparc bereinigt und macros angepasst. (Ruedi Kneubuehler)
- Locking Code erweitert / korrigiert.
- watchdog BUG beseitigt. ( > MAX_CONNECTIONS )
- workaround fuer sendto haenger eingebaut.
- pipe files nun mit connnection und pid parameter.
- Accesshandling erweitert.
<----- ^^^^^^^^^^ pl8 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Problem ( 0 byte free ) bei grosen Volumes korrigiert. (Botond K. Szabo)
- Wildcard Handling veraendert/korrigiert ?
- Dateien werden nun mittels mmap gelesen.
  neuer config.h Schalter USE_MMAP
<----- ^^^^^^^^^^ pl9 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^ VERSION 0.97 ^^^^^^^^
- automatischen Ueberschreiben von bestimmten Directory Handles
  entfernt. War von Anfang an falsch verstanden. :(
- namespace routinen verbessert/erweitert.
  namespace OS/2 rudimentaer eingebaut.
- wildcardhandling wiederum geaendert.
- Dummy Routinen fuer OS/2 extended attributes eingebaut.
- NFS-namespace rudimentaer eingebaut.
<----- ^^^^^^^^^^ pl0 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- bessere OS2 Nameunterstuetzung.
- 0x17 0x81 als Dummy implementiert fuer Windows Client.
<----- ^^^^^^^^^^ pl1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- mvdir call korrigiert.
- PIPE Filesystem erweitert. Nun wird Prog erst beim
  ersten read oder write aufgerufen. Arbeitet nun
  auch mit 'gleichzeitigen' lesen und schreiben.
- In Routinen 0x16,2c u. 0x16,2d  sec per block auf 8 gesetzt.
- Access von Bindery Object 1 (Supervisor) auf 0x31 abgeaendert.
- Loeschung eines nicht vorhandenen property members erzeugt
  keinen Fehlerkode mehr.
<----- ^^^^^^^^^^ pl2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- LOGIN Verzeichnis auf '-k' volume kann nun wieder in
  downshift sein. Fehler war durch Implementation von Schalter 'i'
  hineingerutscht.
- SHADOW_PWD Zusatz beim automatischen Umwandeln der
  Unix User > mars_nwe User eingebaut.
  Hinweis von: Herbert Rosmanith <herp@wildsau.idv.uni-linz.ac.at>
- einfache dbm export/import Routinen eingebaut.
- Bug in dos_mangling routine beseitigt.
<----- ^^^^^^^^^^ pl3 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- nwserv.stations erweitert um 'station connect restrictions'.
- Datei Access um 'supplementary groups' erweitert.
  Open File ruft gegebenfalls  setegid() auf.
- Als File-Creator wird nun der aktuelle mars_nwe User zurueckgegeben,
  falls st_uid == uid aktueller User.
- call 0x3d in 0x3b (commit file) umbenannt.
- segmentation violation in build_verz_name (connect.c) korrigiert.
  Konnte auftreten wenn volume Schalter '-i' gesetzt war. (James MacLean)
- Eintrag 8 als Flag Eintrag verwendet.
- Standardmaessig kann im ausgelogtem Zustand jetzt nur noch auf
  das Login Verzeichnis zugegriffen werden.
- Eintrag 9 als default umask_dir und umask_file Eintrag verwendet.
- Ueberpruefung/Anlegen des printqueue Verzeichnisses beim Start eingebaut.
- Es kann nun abhaengig von den Rechten des Queueverzeichnisses gedruckt
  werden.
- SYS:MAIL/xx Verzeichnisse werden nun beim Start generell 0733 angelegt
  bzw. bestehende werden auf 0733 abgeaendert.
- Unix Verzeichnis fuer SYS Volume wird nun beim ersten Start
  automatisch angelegt.
- BUG in nwdbm.c, der in pl2 hineingeruscht war, beseitigt.
  Wichtige User Properties wurden beim Start nicht in die
  Bindery eingetragen -> capture access error usw.
  Louis Zammit Mangion hatte diesen Fehler gefunden.
- 0x16,0x26 liefert nun immer aktuellen User als Trustee-Owner zurueck.
  Sollte spaeter noch verbessert werden.
- delete BinderyObject loescht nun auch die Referenzen in SET Properties auf
  dieses Object.
- dummy fuer 0x56,ufunc=4 eingebaut.
- dirhandle 1 wird nach Freigabe nicht wieder verwendet.
  Dadurch wurde Problem beseitigt, dass z.B. FILER.EXE nach
  dem Start als Current Directory nicht das aktuelle besitzt.
  Eine Packet-Analyse eines realen Novell Servers zeigte gleiche
  Sonderbehandlung von handle 1.
- Login Restrictions. (station restrictions) eingebaut.
<----- ^^^^^^^^^^ pl4 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Namespace Routinen (0x57), Unterfunktionen:
  0x09 : (Set Short Dir Handle)
  0x14 : (Search For File Or Subdir Set)
  0x1c : (Get Full Path String)
  0x1d : (Get eff rights)
  eingebaut.  ( fuer client32 )
- call 0x18 (EndOfJob) schliesst nun alle noch offenen Dateien
  der aktuellen Task.
- File Server Copy (0x4a) funktioniert nun korrekt.
- neuer Schalter in config.h eingebaut: 'HANDLE_ALL_SAP_TYPS'
  dadurch wird nicht nur TYP 4 herausgefiltert, sondern es werden
  alle SAP-Typen in die ServerTabelle bzw. Bindery eingetragen.
  Anregung von paul.sweetland@bbc.co.uk.
- sicheres Protokoll zwischen nwserv u. nwbind bzw. ncpserv
  eingebaut.
- Schalter 302 erweitert um 0x2 fuer split Routing Datei.
- OS/2 namespace Dateimatchroutine abgeaendert, so dass Wildcard
  '*.*' auf alle Dateien funktioniert.
- sehr einfache eff. rights Emulation eingebaut.
- NCP responses task ist nun gleich request task.
- Entry 8 um Schalter 0x2 erweitert.
- Openfile routine, share open etwas abgeaendert.
- IPX_MAX_DATA vergroessert. IPX_DATA_GR_546 abgeaendert.
- kleinen patch ( upper/lowercase Handling ) von
  Sven Norinder <snorinder@sgens.ericsson.se>
  in connect.c,mv_dir eingebaut.
<----- ^^^^^^^^^^ pl5 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- nwrouted wieder zum Laufen gebracht. Es waren einige
  defines falsch gesetzt.
<----- ^^^^^^^^^^ pl6 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- die 'rename file' Routine erlaubt nun auch das Umbenennen von
  Verzeichnissen, falls section 8 flag=0x4  gesetzt ist.
- Beim file locking wird nun durch Ignorieren des Vorzeichenbits
  verhindert, dass offsets > MAX_INT nicht funktionieren.
  wird z.B. fuer dBase benoetigt.
  ( Hint from:Morio Taneda <morio@sozio.geist-soz.uni-karlsruhe.de> )
- ini Datei wird nun bei Bedarf mit uid=0 gelesen, so dass sie
  ab jetzt fuer Anwender versteckt sein darf.
- Das 'hidden File' handling (Dateien wurden auf -R -W gesetzt) ausgebaut.
- 0x4b (set date of file) funktioniert nun auch bei RO geoeffneten Dateien.
- Index in der Bindery ueber die Objektnamen eingebaut.
  Dadurch muessten Bindery Zugriffe ueber die Objektnamen bechleunigt
  werden, z.B. beim Einloggen.
- Fehler bei der Allocierung von Filehandles beseitigt.
  Es konnten nicht alle freigegebenen Filehandles wiederverwendet
  werden. -> "No more free file handles"
<----- ^^^^^^^^^^ pl7 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Section 6: version-"spoofing" auf default '1' (3.11) gesetzt.
- Fehler in connect.c, new_dir_handle() beseitigt.
  Hinweis von: Dmitry <mamatkazin@ivc.spb.ru>
- QUOTA support von Matt Paley eingebaut.
- Print Queue Command Parameter erweitert um '!'
  fuer banner_user_name, banner_file_name
<----- ^^^^^^^^^^ pl8 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Dateimatchroutine OS/2 namespace wiederum abgeaendert.
  Es wurde z.B. bei x.* auch xyz.* gematched.
- Funktion 0x16,ufunc 0x28 implementiert.
  Wurde von ndir 4.x benoetigt.
- Syntax und Handling automatisch erzeugter/erkannter IPX-Interfaces
  geaendert. Es wird nun unterschieden zwischen kernel auto creat
  und Erkennung innerhalb mars_nwe. Section 4 + 5 abgeaendert.
  Vorschlag/Tip von Morio Taneda.
- neuer Aufrufparameter 'nwserv -u' fuer update internal Routes/Devices.
- Byte Ordering bei Filehandles umgedreht. Dadurch sollen
  nach Tests von Arne de Bruijn Probleme mit Netx beseitigt sein.
- Section 13 erweitert um 'fixed passwords'.
<----- ^^^^^^^^^^ pl9 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- neue Routine 0x17,0x1a (Get Connection Internet Address, new)
  von Arne de Bruijn eingebaut.
- Result code von nw_lock_file() korrigiert (0x21 -> 0xfd).
  ( MS-Access meckerte unter Win3.xx fehlendes SHARE.EXE an )
<----- ^^^^^^^^^^ pl10 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Workaround gegen 'fehlerhaftes' telldir()/seekdir() (NFS-FS) eingebaut.
  Fehler bewirkte Endlosloop beim 'Dir-Listen'.
  Hinweis von Thomas Behr.
  Search Dir Routine in namespace.c umgeschrieben.
- Syslogstuff nach Idee von Thomas Behr eingebaut.
- Es bleibt nun nur noch max. 1 DIR* handle / connection geoeffnet.
- erste Testimplementation des Burstmodus.
- Cyrillic Filename Support von Victor Khimenko eingebaut.
- Max. moegliche Connections auf > 255 erhoeht.
  Muss aber noch richtig getestet werden.
- Dateimatchroutine OS/2 namespace wiederum abgeaendert.
  Es wurde bei Matchcode '0xff * 0xff 0xae 0xff *' keine Datei 
  ohne '.' gefunden.
- Attribute von 'Pipe Commands' ist nun Shareble.
  Dadurch sollten Client Bufferungen verhindert werden.
- einige Konstanten aus config.h sind nun auch zur Laufzeit
  aenderbar. ab section 60 in ini/conf file.
- Konstanten MAX_NW_ROUTES, MAX_NW_SERVERS, MAX_RIP_ENTRIES, 
  MAX_NET_DEVICES werden nicht mehr benoetigt, da entsprechende 
  Arrays nun bei Bedarf dynamisch wachsen.
- nw_2_un_time Routine setzt nun auch die Sekunden korrekt.
  Hinweis/Patch von Csoma Csaba.
- Im lock call wird nun bei Locksize von MAX_U32 komplette Datei
  ab Offset gelockt. ( von Peter Gerhard )
- In connect.c, build_verz_name() Fehlerabfang fuer 'falsche Dateinamen'
  korrigiert. (Victor Khimenko schickte patch)
  Es war moeglich auf 9 stellige (ohne Punkt) Verzeichnissnamen 
  zuzugreifen.
- examples/unxcomm.c korrigiert.
- es wird nun der Login Name oder '()' fuer attached unter ps
  angezeigt.
- in routine nw_2_un_time() wird nun tm_isdst korrekterweise
  auf -1 gesetzt.
- dynamisches Aktivieren/Deaktivieren von Interfaces verbessert. 
<----- ^^^^^^^^^^ pl11 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

