mars_nwe-0.97.pl00

This commit is contained in:
Mario Fetka
2011-11-13 00:38:56 +01:00
parent fc81c57450
commit 3c4372643c
29 changed files with 1286 additions and 529 deletions

97
doc/CHANGES Normal file
View File

@@ -0,0 +1,97 @@
Sorry, this is in German only. :-(
Aenderungen in mars_nwe bis zum : 10-Feb-96
--------------------------------
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 ^^^^^^^^

53
doc/INSTALL Normal file
View File

@@ -0,0 +1,53 @@
=========> !! important NOTE !!
You can configure mars_nwe in two ways.
1. You want mars_nwe to handle routing/sap and configuring
ipx-interfaces. This is the default mode.
You do not need any other ipx-tool or routers/daemons.
In this modus the correct coexisting working
of mars_nwe, dosemu, ncpfs or Caldera's nwclient was tested.
-> you must use kernel < 1.3.60 or use kernel >= 1.3.60 and compile
your kernel with IPX-option CONFIG_IPX_INTERN=N
In mars_nwe/config.h there must exist the following line:
#define INTERNAL_RIP_SAP 1
2. You want to run mars_nwe only as a fileserver and use
special tools to configure ipx and rip/sap routers.
-> In this mode you must use tools like ipx-configure and
ripd to configure ipx-interfaces, routes and handle rip/sap.
In mars_nwe/config.h there must exist the following line:
#define INTERNAL_RIP_SAP 0
=========> create programs
1. call make.
2. perhaps you must modify mk.li and config.h
3. call make
=========> configure
modify nw.ini !
IMPORTANT !!
Please read examples/nw.ini if you use a new version
of mars_nwe and make the needed changes to your
'ini' or 'conf' file.
=========> install
"make install"
"make install_ini" to overwrite your old _installed_ ini.
=========> start programs
call nwserv ( as root !! )
tested with Linux Version 1.2.13 and 1.3.32
the linux-kernel must be configured with IPX=Y.
ipx-interface and ipx-routes are setup by the program if the
entry 4 (devices) in the nw.ini file is filled.
=========> stop programs (server down)
If nwserv isn't daemonized, then the server can be stopped
with ^C, otherwise the server must be shut down with a
kill of nwserv or with the right dos client programm
(fconsole server down) as supervisor. Entry 210 in the
nw.ini file gives the time in seconds, before the server
really shuts down.
good luck :-)
Martin
(mstover@freeway.de)

52
doc/INSTALL.ger Normal file
View File

@@ -0,0 +1,52 @@
=========> !! wichtiger HINWEIS !!
Mars_nwe kann auf Arten konfiguriert werden.
1. Mars_nwe soll die IPX-Routen automatisch setzen,
die IPX-Interfaces per ini/conf Datei konfigurieren
und als RIP/SAP Router arbeiten.
Dieses ist der default Modus. Es werden keine weiteren
Programme wie ipx-configure oder IPX rip/sap Daemons
benoetigt.
In diesem Modus wurde das korrekte Zusammenspiel mit
dosemu, ncpfs oder Caldera's nwclient getestet.
-> Es muss ein Kernel < 1.3.60 oder aber ein Kernel >= 1.3.60,
kompiliert mit IPX-Option CONFIG_IPX_INTERN=N, verwendet werden.
In mars_nwe/config.h muss folgende Zeile vorhanden sein.
#define INTERNAL_RIP_SAP 1
2. Mars_nwe soll nur als File Server Verwendung finden.
-> Die IPX-Interfaces muessen durch andere Programme/Tools
wie 'ipx-configure' oder aehnliche eingerichtet werden
und es muss ein rip/sap router/daemon eingerichtet sein.
In mars_nwe/config.h muss folgende Zeile vorhanden sein.
#define INTERNAL_RIP_SAP 0
=========> Programme erzeugen
1. make aufrufen.
2. mk.li und config.h evtl. anpassen
3. make aufrufen.
=========> Konfigurieren
nw.ini bearbeiten !
WICHTIG !!
Bei jeder neuen Version bitte 'examples/nw.ini' kontrollieren
und Aenderungen gegebenfalls in die eigene 'ini' bzw. 'conf'
Datei eintragen.
=========> Installieren
"make install"
evtl. "make install_ini" um eine bereits installierte ini Datei
zu *ueberschreiben* .
=========> Starten
nwserv starten ( als root !! )
mit Linux Version 1.2.13 und 1.3.32 getestet.
Der Linux Kernel muss mit IPX Unterstuetzung erzeugt worden sein.
IPX-Interface bzw. Routen werden durch das Programm automatisch
angelegt, falls in der nw.ini Datei Devices (Eintrag 4) enthalten
sind.
=========> Stoppen (server down)
Falls nwserv nicht daemonisiert wurde, kann der Server mit ^C
wieder gestoppt werden, ansonsten muss nwserv per Dos Client
(fconsole server down) gestoppt werden (Supervisor) oder per
'kill' Befehl. Je nach Eintrag 210 in der nw.ini Datei kann
das einige Sekunden dauern.

55
doc/NEWS Normal file
View File

@@ -0,0 +1,55 @@
# in this files are important notes for user of mars_nwe.
------10-Mar-96--- 0.97.pl0 ----------
New Conf-file entry '211' for broadcast periods.
Entries 400, 401 for special handling of the nearest server request.
-
Conf-file entry '6' enlarged.
-
New Entries '15' + '16' in conf-file.
With entry '15' you can allow mars_nwe insert all not yet known
users from /etc/passwd to mars_nwe bindery. But be carefully,
all new inserted users will get the same password from entry '15'.
-
If entry '16' is enabled ( '1' ) then mars_nwe will make some
checks for bindery and 'SYS:' directory.
For every user a MAIL/XXXXX dir will also be created.
-
Much more better bindery performance. :)
------13-Feb-96--- 0.96.pl9 ----------
New alternative password strategy in mars_nwe:
There is an new entry '7' in ini/conf file.
The user has now 4 ways to choose.
1. entry '7' = '0'.
maximal security by forbid unencryted password calls,
but till now no chance to modify passwords with client requests.
2. entry '7' = '1'.
good security by only allow unencryted change password call.
Here the user can use an old SETPAS or SYSCON program which
make the changing of passwords with unencryted calls.
3. entry '7' = '8'.
less security by allow all unencryted password calls.
Like 2. but the user can also use old LOGIN program
with unencryted passwords. Mars_nwe will allow password
from the bindery and system-user-password.
4. entry '7' = '9'.
Like 3. but in additional the routine 0x17 ufunc=0x17
(get crypt key) will allways fail.
So the LOGIN.EXE and SYSCON.EXE means that this is an old server
with only unencrypted passwords and will switch to the old unencryted
calls.
With the unencryted calls the clear passwords will go through the
wire, so mars_nwe can compare the passwords as well with the
stored bindery passwords as with the system passwords (crypt).
But there is a little hint. Passwords will ever be uppercase sent
from LOGIN.EXE or SYSCON.EXE
Mars_nwe makes three tries.
First try is with bindery-password, second try is with system
user-password and third try is making the password downcase and
compare with systen-user-password again.
When a user changes his password, only the bindery password will
be changed.

71
doc/README Normal file
View File

@@ -0,0 +1,71 @@
(C)opyright (C) 1993,1996 Martin Stover, Marburg, Germany
to compile and install, please read INSTALL !
This is a little try to emulate some functions from
a NOVELL-SERVER under UNIX (LINUX).
The first version I have written 1993 on a USL1.1
with TLI-Code.
1994 I have ported it to LINUX. This was easy, because
I only have to write a small TLI->SOCKET emu.
Unfortunately I had no full description of the NCP-calls,
so many of the calls based on trying. :-(
WARNING: this code has still many BUG's !!
BINDERY: this are the *.pag and *.dir files.
These files are generated by the first starting
of mars_nwe and are filled with the minimal
needed Objects and Properties.
The User SUPERVISOR must be described in the
nw.ini file, entry 12
NETWORK: If there is a real Novell-Server on the
same net-line, then the NETWORK Number of
the network device in nw.ini should match
the NETWORK Number of the Novell-Server.
LINUX
KERNEL: the only linux-kernel depending files
are emutli.[hc].
short description of the processes.
1) nwserv : the main program.Initiates all and starts 'ncpserv'.
sends broadcasts, wdogs, sap and rip packets.
If nwserv is started with a parameter, then the simple
test client 'nwclient', only for debugging, is started.
2) ncpserv: opens NCP-Socket and handles NCP-Requests.
When there comes NCP-Request 0x1111 (Get Connection Nr)
then there will be started a new process 'nwconn'.
Every client-ncp-request reaches nwconn over
ncpserv.
3) nwconn: will be started for every connection. Is connected
to ncpserv with a pipe.
Problems and TODO:
Many:-(
Here is a short list.
o - password changings from clients
o - make routing better.
o - making printing better.
o - clean the code !!!
o - make bindery code more complete.
o - and much more ...
Have luck with trying. :)
Martin
(mstover@freeway.de)
BTW: The kick to make mars_nwe public was the
publication of linware ( lwared ), the Novell-Server-Emulator
from Ales Dryak (A.Dryak@sh.cvut.cz).
I hope both products can make profit from each other.
-----> SuperNOS ala Linux ;-)
Novell don't want to make it anymore. :-(

81
doc/README.ger Normal file
View File

@@ -0,0 +1,81 @@
(C)opyright (C) 1993,1996 Martin Stover, Marburg
Hilfe zum Kompilieren bzw. Installieren siehe in 'INSTALL' !
Dieses ist ein kleiner Versuch Grundfunktionen
eines Novell Servers unter UNIX (LINUX) zur Verfuegung
zu stellen. Die erste Version entstand 1993 auf einer USL1.1
mittels TLI-Code und wurde 1994, mittels
dem modul 'emutli' (TLI -> SOCKETS) nach Linux portiert.
Leider stand mir eine vollstaendige Beschreibung der NCP-Calls
nicht zur Verfuegung, so da<64> die Behandlung vieler Calls
auf Vermutungen bzw. Ausprobieren basieren. :-(
WARNUNG: Es gibt noch viele Bugs !!
Es werden aber immer weniger. :)
Kernel muss mit IPX Unterstuetzung erzeugt worden sein.
IPX-Routen werden automatisch angelegt.
Anmerkungen:
BINDERY: besteht aus den *.pag und *.dir Dateien.
diese Dateien werden, falls nicht vorhanden,
erzeugt und mit den Grundobjekten und Grundproperties
gefuellt. Der Supervisor mu<6D> in der nw.ini Datei
bestimmt werden (Eintrag 12).
NETWORK: Falls auch ein Novellserver am gleichem
Strang haengt, sollte die NETWORK Nummer
des Netzwerk Devices von mars_nwe auf
die des Novellservers gesetzt werden.
LINUX
KERNEL: Die einzigen Linux kernelabhaengigen
Dateien sind emutli.[hc]
Beschreibung der Prozesse
1) nwserv : Hauptprogramm, initialisiert alles und startet 'ncpserv'.
schickt Broadcasts, bearbeitet SAP, RIP und WDog-Pakete
Falls nwserv mit beliebigen Parameter gestartet wird,
wird der `Testclient` Code (nwclient.c) fuer Debugging
Zwecke abgearbeitet.
2) ncpserv: oeffnet NCP-Socket und behandelt NCP-Requests.
Bei NCP-Request 0x1111 (Get Connection Nr) wird fuer
jede Connection neuer Prozess 'nwconn' gestartet.
Jeder Client Request gelangt ueber NCP-SOCKET
nach ncpserv.
3) nwconn: Wird fuer jede Connection angelegt. Ist mit
nwserv ueber eine PIPE verbunden, erzeugt
einen Client-Schreib Socket.
PROBLEME bzw. TODO's:
Vieles :-(
Hier nur eine *kleine* Auswahl.
o - Passwortaenderungen durch Client ermoeglichen.
o - Routing verbessern.
o - Drucken verbessern.
o - Saeubern !!
o - Bindery Code vervollstaendigen.
o - und und ...
Viel Spass beim Ausprobieren. :)
Ueber Erweiterungen, Korrekturen und insbesonderes der Beschreibung
der fehlenden bzw. fehlerhaften NCP-Calls wuerde ich mich freuen.
Martin
(mstover@freeway.de)
PS: Den Anstoss, mars_nwe zu veroeffentlichen, gab die
Veroeffentlichung von linware ( lwared ), dem Novell-Server-Emulator
von Ales Dryak (A.Dryak@sh.cvut.cz).
Vielleicht koennen beide Produkte voneinander profitieren.
-----> SuperNOS ala Linux ;-)
Novell will es ja leider nicht mehr machen. :-(

16
doc/mars_nwe.lsm Normal file
View File

@@ -0,0 +1,16 @@
Begin3
Title: mars_nwe
Version: 0.97
Entered-date: 10-Mar-96
Description: full novell-server-emulator (src),beta
supports file-services, bindery-services,
printing-services, routing-services
Keywords: novell, netware, server, ipx, ncp, tli
Author: mstover@freeway.de (Martin Stover)
Maintained-by: mstover@freeway.de (Martin Stover)
Primary-site: linux01.gwdg.de /pub/ncpfs
110kB mars_nwe-0.97.tgz
Alternate-site: ftp.uni-duisburg.de /pub/linux/ipxware
Platforms: Linux (1.2.xx, 1.3.32, > 1.3.55 tested, others should work)
Copying-policy: GNU
End