mars_nwe-0.97.pl05
This commit is contained in:
parent
32780f7403
commit
306b5e3325
15
connect.c
15
connect.c
@ -165,6 +165,7 @@ static int free_dir_handle(int dhandle)
|
|||||||
void set_default_guid(void)
|
void set_default_guid(void)
|
||||||
{
|
{
|
||||||
seteuid(0);
|
seteuid(0);
|
||||||
|
setgroups(0, NULL);
|
||||||
if (setegid(default_gid) < 0 || seteuid(default_uid) < 0) {
|
if (setegid(default_gid) < 0 || seteuid(default_uid) < 0) {
|
||||||
errorp(1, "set_default_guid, !! Abort !!",
|
errorp(1, "set_default_guid, !! Abort !!",
|
||||||
"Cannot set default gid=%d and uid=%d" , default_gid, default_uid);
|
"Cannot set default gid=%d and uid=%d" , default_gid, default_uid);
|
||||||
@ -174,13 +175,25 @@ void set_default_guid(void)
|
|||||||
|
|
||||||
void set_guid(int gid, int uid)
|
void set_guid(int gid, int uid)
|
||||||
{
|
{
|
||||||
|
char aktname[100];
|
||||||
|
if (gid > -1 && uid > -1) {
|
||||||
|
seteuid(uid);
|
||||||
|
cuserid(aktname);
|
||||||
|
} else aktname[0] = '\0';
|
||||||
if ( gid < 0 || uid < 0
|
if ( gid < 0 || uid < 0
|
||||||
|| seteuid(0)
|
|| seteuid(0)
|
||||||
|| setegid(gid) == -1
|
|| setegid(gid) == -1
|
||||||
|| seteuid(uid) == -1 ) {
|
|| seteuid(uid) == -1 ) {
|
||||||
DPRINTF(("SET GID=%d, UID=%d failed\n", gid, uid));
|
DPRINTF(("SET GID=%d, UID=%d failed\n", gid, uid));
|
||||||
set_default_guid();
|
set_default_guid();
|
||||||
} else XDPRINTF((5,0,"SET GID=%d, UID=%d OK", gid, uid));
|
} else {
|
||||||
|
if (aktname[0]) {
|
||||||
|
seteuid(0);
|
||||||
|
initgroups(aktname, gid);
|
||||||
|
if (seteuid(uid) == -1) set_default_guid();
|
||||||
|
}
|
||||||
|
XDPRINTF((5,0,"SET GID=%d, UID=%d OK", gid, uid));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *conn_get_nwpath_name(NW_PATH *p)
|
static char *conn_get_nwpath_name(NW_PATH *p)
|
||||||
|
@ -126,6 +126,9 @@ Erste 'oeffentliche' Version
|
|||||||
- falls internal net = 0 wird nun die IP Nummer als internal net verwendet.
|
- falls internal net = 0 wird nun die IP Nummer als internal net verwendet.
|
||||||
- Zugriffsrechte Bindery erweitert und korrigiert.
|
- Zugriffsrechte Bindery erweitert und korrigiert.
|
||||||
- Volume option -r fuer readonly eingebaut.
|
- Volume option -r fuer readonly eingebaut.
|
||||||
|
<----- ^^^^^^^^^^ pl4 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
23
doc/CREDITS
Normal file
23
doc/CREDITS
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
Sorry, but this list will *never* be complete.
|
||||||
|
-----------------------------------------------
|
||||||
|
Michael Beddow <m.beddow@servelan.co.uk>
|
||||||
|
translated doc for PIPE-FS
|
||||||
|
|
||||||
|
Uwe Bonnes <bon@elektron.ikp.physik.th-darmstadt.de>
|
||||||
|
many testings+notes
|
||||||
|
|
||||||
|
Hardy Buchholz <hardy@kool.f.eunet.de>
|
||||||
|
wrote HOWTO.ger
|
||||||
|
|
||||||
|
Ales Dryak <A.Dryak@sh.cvut.cz>
|
||||||
|
his linware gives the kick
|
||||||
|
|
||||||
|
Volker Lendecke <lendecke@math.uni-goettingen.de>
|
||||||
|
helps distributing
|
||||||
|
|
||||||
|
James B. MacLean <macleajb@ednet.ns.ca>
|
||||||
|
many testings+notes
|
||||||
|
|
||||||
|
Winfried Truemper <truemper@MI.Uni-Koeln.DE>:
|
||||||
|
re-wrote `INSTALL' and added explanations to `nw.ini'
|
||||||
|
|
@ -3,16 +3,57 @@ Dieses HowTo ist noch unfertig.
|
|||||||
Aktuelle Version erhaeltlich bei:
|
Aktuelle Version erhaeltlich bei:
|
||||||
Hardy Buchholz <hardy@kool.f.eunet.de>
|
Hardy Buchholz <hardy@kool.f.eunet.de>
|
||||||
|
|
||||||
|
|
||||||
ALLGEMEINES
|
ALLGEMEINES
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|
||||||
MARS_NWE ist ein frei erhaeltlicher Netware-Emulator fuer Linux.
|
|
||||||
(auch fuer Unixware)
|
|
||||||
|
|
||||||
|
|
||||||
IPX
|
MARS_NWE (Martin Stovers Netware-Emulator) ist ein Netware-Emulator
|
||||||
^^^
|
fuer Linux (und auch fuer Unixware). Entstanden ist der MARS_NWE
|
||||||
|
zuerst 1993 auf einer USL1.1 und wurde spaeter (1994) nach Linux
|
||||||
|
portiert. Die Anregung MARS_NWE allgemein zugaenglich zu machen, kam
|
||||||
|
durch LINWARE (von A.Dryak). Problematisch bei der Entwicklung vom
|
||||||
|
MARS_NWE ist der Umstand, dass das NCP (Netware-Core-Protokoll) keine
|
||||||
|
oeffentliche Spezifikation hat, sondern zu den Novell-Interna gehoert.
|
||||||
|
Daher sind viele Funktionen eines "echten" Netware-Servers nur schwer
|
||||||
|
realisierbar, und vieles beruht auf Vermutungen und ausprobieren.
|
||||||
|
|
||||||
|
Was kann MARS_NWE?
|
||||||
|
Inzwischen realisiert der MARS_NWE die wichtigsten Services eines
|
||||||
|
echten Netware-Servers. Im Einzelnen heisst dies:
|
||||||
|
|
||||||
|
File-Services:
|
||||||
|
Natuerlich steht an erster Stelle das zur Verfuegung stellen von
|
||||||
|
Massenspeicher und Dateien fuer verschiedene Clients. Hier hat der
|
||||||
|
MARS_NWE gerade im heterogenen Netzwerk einiges zu bieten. Als Volumes
|
||||||
|
koennen saemtliche unter Linux mountbare Filesysteme freigegeben
|
||||||
|
werden. Interessant sind dabei natuerlich vor allem auch NFS-mounted
|
||||||
|
directorys, CDROMS, selbst mit Volker Lendeckes NCPFS gemountete
|
||||||
|
Netware-Volumes eines anderen Servers koennen wieder exportiert
|
||||||
|
werden, sowie selbverstaendlich alle auf dem Host lokal vorhandenen
|
||||||
|
File-system-varianten.
|
||||||
|
|
||||||
|
Print-Services:
|
||||||
|
sind im MARS_NWE ebenfalls realisiert, allerdings in anderer Form, als
|
||||||
|
bei Netware, d.h. es existieren keine Printqueues, die mit den
|
||||||
|
Netware-Tools verwaltet werden koennen, sondern der Druckauftrag wird
|
||||||
|
mittels Uebergabe-Vezeichnissen an den Linux-Spooler weitergereicht.
|
||||||
|
|
||||||
|
Routing:
|
||||||
|
Als Router ist der MARS_NWE besonders geeignet, da er weitesgehend
|
||||||
|
automatisch zwischen den verschiedensten Welten als Router vermittelt
|
||||||
|
(u.a. auch ueber ISDN).
|
||||||
|
|
||||||
|
PIPE-Volumes:
|
||||||
|
Eine Besonderheit des MARS_NWE sind die sogenannten PIPE-Volumes, die
|
||||||
|
im Detail weiter unten erklaert werden. Hiermit kann man z.B. von
|
||||||
|
einem Dos-Client auf Unix-Shellscripte lesend und schreibend
|
||||||
|
zugreifen.
|
||||||
|
|
||||||
|
|
||||||
|
Schwachstellen, Probleme und TODO's
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
QUICKINST (fuer alle Ungeduldigen und Wiederholungstaeter ;-)
|
QUICKINST (fuer alle Ungeduldigen und Wiederholungstaeter ;-)
|
||||||
@ -34,17 +75,19 @@ INSTALLATION
|
|||||||
Kernel
|
Kernel
|
||||||
^^^^^^
|
^^^^^^
|
||||||
Voraussetzung um MARS_NWE laufen zu lassen ist ein Kernel mit
|
Voraussetzung um MARS_NWE laufen zu lassen ist ein Kernel mit
|
||||||
IPX-Option. Grundsaetzlich sollte der MARS_NWE unter allen neueren
|
IPX-Option. Grundsaetzlich sollte der MARS_NWE unter allen neueren
|
||||||
Kernelversionen nutzbar sein. Die Kernelpatches aus dem Verzeichniss
|
(<=1.3.60) Kernelversionen nutzbar sein. 1.3.57 und 1.2.13 ist
|
||||||
"mars_mwe/examples" sind keine Vorraussetzung, steigern die
|
ebenfalls eine fuer MARS_NWE geeignete Kernelversion, aeltere (1.3.x)
|
||||||
Performance des Servers aber ganz erheblich (ca. 30-40%). Weiter wird
|
sind zum Teil problematisch, wegen Bug's im IPX-Code. Die
|
||||||
dringend empfohlen, die Option FULL_INTERNAL_NET in der
|
Kernelpatches aus dem Verzeichniss "mars_mwe/examples" sind keine
|
||||||
Kernel-Konfiguration auf NEIN zu setzen. Sind die genannten
|
Vorraussetzung, steigern die Performance des Servers aber ganz
|
||||||
Bedingungen erfuellt, steht der Installation vom MARS_NWE von der
|
erheblich (ca. 30-40%). Weiter wird dringend empfohlen, die Option
|
||||||
Linux-Seite nichts mehr im Weg, andernfalls sollte zuerst ein neuer
|
FULL_INTERNAL_NET in der Kernel-Konfiguration auf NEIN zu setzen. Sind
|
||||||
Kernel erzeugt (IPX = Y, FULL_INTERNAL_NET = N, Patch eingespielt?)
|
die genannten Bedingungen erfuellt, steht der Installation vom
|
||||||
und Linux neu gebootet werden.
|
MARS_NWE von der Linux-Seite nichts mehr im Weg, andernfalls sollte
|
||||||
|
zuerst ein neuer Kernel erzeugt (IPX = Y, FULL_INTERNAL_NET = N, Patch
|
||||||
|
eingespielt?) und Linux neu gebootet werden (mehr dazu im
|
||||||
|
KERNEL-HOWTO).
|
||||||
|
|
||||||
Novell
|
Novell
|
||||||
^^^^^^
|
^^^^^^
|
||||||
@ -329,11 +372,11 @@ Netware-Netzen ist meist 802.3, 802.2 ist bei einigen neueren (Netware
|
|||||||
3.12 ..) zu finden.
|
3.12 ..) zu finden.
|
||||||
Neuerdings kann in der "nwserv.conf" auch ein Autodetect der
|
Neuerdings kann in der "nwserv.conf" auch ein Autodetect der
|
||||||
Net-Devices eingestellt werden. Dies kann natuerlich nur
|
Net-Devices eingestellt werden. Dies kann natuerlich nur
|
||||||
funktionieren, wenn an diesem Device mindestens ein anderer
|
funktionieren, wenn an diesem Device mindestens ein anderer
|
||||||
Netware-Server haengt, der korrekt eingerichtet ist, damit vom
|
Netware-Server haengt, der korrekt eingerichtet ist, damit vom
|
||||||
MARS_NWE die externe Netzwerknummer und der Frame-Typ vom laufenden
|
MARS_NWE die externe Netzwerknummer und der Frame-Typ vom laufenden
|
||||||
Datenverkehr abgeleitet werden kann.
|
Datenverkehr abgeleitet werden kann.
|
||||||
Eintraege 7 - 13 legen die Securety- und Login-Details fest. Als
|
Eintraege 7 - 13 legen die Security- und Login-Details fest. Als
|
||||||
Besonderheit bei Eintrag 7 gilt: auch wenn die 8 (allow empty passwds)
|
Besonderheit bei Eintrag 7 gilt: auch wenn die 8 (allow empty passwds)
|
||||||
eingetragen ist, muss der Supervisor ein Passwort haben (zumindest,
|
eingetragen ist, muss der Supervisor ein Passwort haben (zumindest,
|
||||||
wenn der Root auf dem Linux-Rechner eines hat). Die Optionen fuer
|
wenn der Root auf dem Linux-Rechner eines hat). Die Optionen fuer
|
||||||
@ -366,6 +409,7 @@ FAQ's
|
|||||||
TIPS UND LESESTOFF
|
TIPS UND LESESTOFF
|
||||||
^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
EMAIL-ADRESSEN
|
EMAIL-ADRESSEN
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Begin3
|
Begin3
|
||||||
Title: mars_nwe
|
Title: mars_nwe
|
||||||
Version: 0.97.pl4
|
Version: 0.97.pl5
|
||||||
Entered-date: 11-May-96
|
Entered-date: 17-May-96
|
||||||
Description: Full netware-emulator (src), beta.
|
Description: Full netware-emulator (src), beta.
|
||||||
Supports file-services, bindery-services,
|
Supports file-services, bindery-services,
|
||||||
printing-services, routing-services.
|
printing-services, routing-services.
|
||||||
@ -9,7 +9,7 @@ Keywords: novell, netware, server, ipx, ncp, tli
|
|||||||
Author: mstover@freeway.de (Martin Stover)
|
Author: mstover@freeway.de (Martin Stover)
|
||||||
Maintained-by: mstover@freeway.de (Martin Stover)
|
Maintained-by: mstover@freeway.de (Martin Stover)
|
||||||
Primary-site: ftp.gwdg.de:/pub/linux/misc/ncpfs
|
Primary-site: ftp.gwdg.de:/pub/linux/misc/ncpfs
|
||||||
140kB mars_nwe-0.97.pl4.tgz
|
140kB mars_nwe-0.97.pl5.tgz
|
||||||
Alternate-site: ftp.uni-duisburg.de /pub/linux/ipxware
|
Alternate-site: ftp.uni-duisburg.de /pub/linux/ipxware
|
||||||
Platforms: Linux (1.2.xx, 1.3.xx), UnixWare 2.0x
|
Platforms: Linux (1.2.xx, 1.3.xx), UnixWare 2.0x
|
||||||
Copying-policy: GNU
|
Copying-policy: GNU
|
||||||
|
566
examples/nw.ini
566
examples/nw.ini
@ -1,30 +1,46 @@
|
|||||||
#
|
#
|
||||||
# This is the configuration-file for "mars_nwe", the free netware-emulator
|
# This is the configuration-file for "mars_nwe", a free netware-emulator
|
||||||
# for Linux.
|
# for Linux.
|
||||||
#
|
#
|
||||||
# last change: 13-May-96
|
# last change: 16-May-96
|
||||||
#
|
|
||||||
|
# This file specifies which Linux-resources (printers, users, directories)
|
||||||
|
# should be accessible to the DOS-clients via "mars_nwe". Furthermore
|
||||||
|
# some general parameters are configured here.
|
||||||
|
# Some options of "mars_nwe" can only be altered by editing the the file
|
||||||
|
# `config.h' and re-compiling "mars_nwe", please see there for more
|
||||||
|
# information.
|
||||||
|
|
||||||
|
|
||||||
# Syntax of this config-file:
|
# Syntax of this config-file:
|
||||||
# - everything after the "#" is ignored, so it is used to
|
# - everything after a "#" is not treated as a comment (particularly
|
||||||
# make comment-lines
|
# it does never belong to the values themselves)
|
||||||
# - entries _must_ begin with a number, indicating the section
|
# - entries _must_ begin with a number, indicating the section
|
||||||
# they belong to
|
# they belong to
|
||||||
# - hexadecimal values are prepended with "0x"
|
# - hexadecimal values are prepended by "0x"
|
||||||
#
|
#
|
||||||
# All examples are verbatim.
|
# All examples are verbatim.
|
||||||
|
#
|
||||||
|
# The term "DOS-client" does not refer to the special operating-system
|
||||||
|
# "DOS" in _this_ file. "DOS-client" is only a synomym for all possible
|
||||||
|
# ipx-clients (it's choosen for the people who are confused by the
|
||||||
|
# meaning of "client" and "server").
|
||||||
|
# The "Linux-side" of the game is always the "mars_nwe"-server.
|
||||||
|
|
||||||
|
|
||||||
|
# =========================================================================
|
||||||
# Section 1: volumes (required)
|
# Section 1: volumes (required)
|
||||||
#
|
#
|
||||||
# In this section you list all directories accessible via "mars_nwe".
|
# In this section you list all Linux-directories accessible via "mars_nwe".
|
||||||
# To be more specific: a mapping from Linux-directories to mars_nwe-volumes
|
#
|
||||||
|
# To be more precise: a mapping from Linux-directories to mars_nwe-volumes
|
||||||
# is done. (Volumes are the beasts you can map to drive letters under DOS
|
# is done. (Volumes are the beasts you can map to drive letters under DOS
|
||||||
# using "map.exe").
|
# using "map.exe").
|
||||||
#
|
#
|
||||||
# Linux-directory mars_nwe-volume map.exe DOS-Drive
|
# Linux-directory mars_nwe-volume map.exe DOS-Drive
|
||||||
# /var/local/nwe/SYS -------> SYS -------------> W:
|
# /var/local/nwe/SYS -------> SYS -------------> W:
|
||||||
#
|
#
|
||||||
# More than one entry is possible in this section.
|
# More than one entry is allowed in this section.
|
||||||
# The maximum number of volumes is a compile-time option that must be
|
# The maximum number of volumes is a compile-time option that must be
|
||||||
# specified in `config.h' before compiling mars_nwe.
|
# specified in `config.h' before compiling mars_nwe.
|
||||||
#
|
#
|
||||||
@ -32,33 +48,40 @@
|
|||||||
# contain the following sub-directories: LOGIN, PUBLIC, SYSTEM, MAIL.
|
# contain the following sub-directories: LOGIN, PUBLIC, SYSTEM, MAIL.
|
||||||
# See the installation-instructions in the doc-directory for more infos.
|
# See the installation-instructions in the doc-directory for more infos.
|
||||||
#
|
#
|
||||||
|
#
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
# Syntax:
|
# Syntax:
|
||||||
# 1 VOLUMENAME DIRECTORY OPTIONS
|
# 1 VOLUMENAME DIRECTORY OPTIONS
|
||||||
#
|
#
|
||||||
# VOLUMENAME: the name of the mars_nwe-volume (max. 8 characters)
|
# VOLUMENAME: the name of the mars_nwe-volume (max. 8 characters)
|
||||||
# DIRECTORY: the directory on your Linux-system associated with that
|
# DIRECTORY: the directory on your Linux-system associated with that
|
||||||
# volume; use the special name "~" to refer to the users
|
# volume; use the special name "~" to refer to the users
|
||||||
# individual home-directory
|
# individual home-directory
|
||||||
#
|
#
|
||||||
# OPTIONS: none or some of the following characters (without a seperator)
|
# OPTIONS: none or some of the following characters (without a seperator)
|
||||||
# k allow lowercase-filenames (if you don't set this, all
|
# k allow lowercase-filenames (if you don't set this, all
|
||||||
# files _must_ be upper-case)
|
# files _must_ be upper-case)
|
||||||
# m removable volume (e.g. cd-roms)
|
# m removable volume (e.g. cd-roms)
|
||||||
# o volume has only one filesystem/device/namespace
|
# r volume is read-only and always reports "0 byte free"
|
||||||
# this is for filesystems with high inode > 0xFFFFFFF.
|
# (this is intended for copies of CD-ROMs on harddisks)
|
||||||
# because for namespace services mars_nwe normally use the
|
# o volume has only one filesystem/device/namespace
|
||||||
# first 4 bit of 32 bit inode to distinguish
|
# this is for filesystems with high inode > 0xFFFFFFF.
|
||||||
# between several devices/namespaces for one volume.
|
# because for namespace services mars_nwe normally use the
|
||||||
# p "PIPE"-filesystem. All files are pipe commands.
|
# first 4 bit of 32 bit inode for distinguish
|
||||||
# See `doc/PIPE-FS'.
|
# between several devices/namespaces for one volume.
|
||||||
# r readonly volume. Free disk space will also return 0.
|
# p "PIPE"-filesystem. All files are pipe commands.
|
||||||
|
# See `doc/PIPE-FS'.
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# examples:
|
# Examples:
|
||||||
1 SYS /u3/SYS/ # SYS upper-case filenames
|
# 1 SYS /var/local/nwe/SYS k
|
||||||
1 CDROM /cdrom km # lowercase filenames, removable
|
# 1 CDROM /cdrom kmr
|
||||||
1 HOME ~ k # users HOME directory, lowercase
|
# 1 HOME ~ k
|
||||||
|
|
||||||
|
1 SYS /u3/SYS/ k
|
||||||
|
|
||||||
|
|
||||||
|
# =========================================================================
|
||||||
# Section 2: servername (optional)
|
# Section 2: servername (optional)
|
||||||
#
|
#
|
||||||
# The servername is the name under which this server will show up when
|
# The servername is the name under which this server will show up when
|
||||||
@ -67,81 +90,147 @@
|
|||||||
# If you don't supply an entry for this section, the hostname of your
|
# If you don't supply an entry for this section, the hostname of your
|
||||||
# Linux-machine will be converted to all-uppercase and used as the servername.
|
# Linux-machine will be converted to all-uppercase and used as the servername.
|
||||||
#
|
#
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
# Syntax:
|
# Syntax:
|
||||||
# 2 SERVERNAME
|
# 2 SERVERNAME
|
||||||
#
|
#
|
||||||
# SERVERNAME: a name for this nw-server
|
# SERVERNAME: a name for this nw-server
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Example:
|
# Example:
|
||||||
# 2 MARS
|
# 2 MARS # name of the server would be "MARS"
|
||||||
|
|
||||||
|
|
||||||
# Section 3: Number of the internal network
|
# =========================================================================
|
||||||
# If you have mars_nwe V > 0.96pl5 and a kernel >= 1.3.60
|
# Section 3: Number of the internal network (required)
|
||||||
# or the small ipx-kpatch from the examples dir you should use
|
|
||||||
# internal net and routing.
|
|
||||||
#
|
#
|
||||||
# NOTE: the internal net number must be _unique_ in your IPX-environment!
|
# If have dealt with the TCP/IP-configuration of your Linux-Box, the term
|
||||||
|
# "ip-address" may be familiar to you. It's a numer that uniquely
|
||||||
|
# identifies your machine in the internet.
|
||||||
|
# As you might already expect, even the IPX-people use a unique number to
|
||||||
|
# identify each other. Addresses in the IPX-world always consist of a
|
||||||
|
# 4-byte "network-number" plus a 6-byte "node-number" (remember the
|
||||||
|
# ip-addresses also use 4-bytes).
|
||||||
#
|
#
|
||||||
|
# The numbering-rule for ipx-clients is easy: their "address" is the
|
||||||
|
# external-network of the server they are connected to plus the
|
||||||
|
# hardware-address of their own ethernet-card (6 byte). As a result of this
|
||||||
|
# rule, the clients can determine their address automatically (by listening
|
||||||
|
# to the server and looking at their own ethernet-hardware) and no
|
||||||
|
# configuration-files on the clients-side have to be maintained. (It would
|
||||||
|
# really be a nasty thing if you think of very many DOS-clients [remember:
|
||||||
|
# DOS is an OS where ordinary users can screw up the configuration files].)
|
||||||
|
#
|
||||||
|
# For internal routing purposes, a netware-server has an "internal network"
|
||||||
|
#
|
||||||
|
# As there is no organisation which regulates the use of network-numbers
|
||||||
|
# in the IPX-world, you have to run "slist" (under DOS or Linux) to
|
||||||
|
# determine a number that isn't already used by another server on your
|
||||||
|
# net. You better double-check and ask the other network administrators
|
||||||
|
# before using a random value because not all servers might be on-line when
|
||||||
|
# you "listen" to the net.
|
||||||
|
#
|
||||||
|
# A reasonable choice for the internal net-number of your mars_nwe-server
|
||||||
|
# could be the ip-address of your Linux-Box. It is reasonable because
|
||||||
|
# ip-addresse are unique and if every nw-administrator uses only this uniqe
|
||||||
|
# value, potential conflicts will be minimized. Of course this choice is
|
||||||
|
# no guarantee.
|
||||||
|
#
|
||||||
|
# Please note that you have to specify the address of your "internal
|
||||||
|
# ipx-network" in hexadecimal format (the leading "0x" indicates it).
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
# Syntax:
|
# Syntax:
|
||||||
# 3 INTERNAL_NET [NODE]
|
# 3 INTERNAL_NET [NODE]
|
||||||
#
|
#
|
||||||
# INTERNAL_NET: AUTO or 0 for using the ip number as INTERNAL_NET
|
# INTERNAL_NET: the hexadecimal value of your "internal ipx-network". Use
|
||||||
|
# "0x0" or "auto" to refer to your ip-addresse (it's a kind of
|
||||||
|
# automagically setup)
|
||||||
|
# NODE: use "1" if you don't know what this entry is for (optional)
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# NODE: 1 (optional)
|
# Example:
|
||||||
|
# 3 auto 1 # automatic setup
|
||||||
|
|
||||||
|
3 auto
|
||||||
|
|
||||||
|
|
||||||
|
# =========================================================================
|
||||||
|
# Section 4: IPX-devices (strongly recommended)
|
||||||
|
#
|
||||||
|
# This section contains information for the ipx-router built into mars_nwe
|
||||||
|
# and/or the external program "ipxrouted".
|
||||||
|
# Both processes exchange the ipx-packets between your machine and the rest
|
||||||
|
# of the world (in other words: their functionallity is essential). Of
|
||||||
|
# course, to use one of both is already sufficient.
|
||||||
|
#
|
||||||
|
# Note for people with other IPX/NCP servers on the net:
|
||||||
|
# - choose the same frame-type as the other servers use
|
||||||
|
# - make sure your network-number is not already in use by another
|
||||||
|
# server (see the output of "slist" under Linux or DOS)
|
||||||
|
#
|
||||||
|
# Under Linux, it is possible to let the kernel detect all values
|
||||||
|
# automatically for you. This is only possible (and only makes sense then)
|
||||||
|
# if there are other IXP/NCP servers on the same net which are setup
|
||||||
|
# correctly.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
|
# Syntax:
|
||||||
|
# 4 NET_NUMBER DEVICE FRAME TICKS
|
||||||
|
#
|
||||||
|
# NET_NUMBER: this number is determined by the router of the physical
|
||||||
|
# network you're attached to. Use "0x0" to let the
|
||||||
|
# linux-kernel determine your network number by listening
|
||||||
|
# on the local network
|
||||||
|
# DEVICE: the network-interface associated with the NET_NUMBER. Use
|
||||||
|
# a "*" (star) to automatically setup all devices at once.
|
||||||
|
# FRAME: the frame-type of the data-packets on your local network.
|
||||||
|
# Possible values are:
|
||||||
|
# ethernet_ii
|
||||||
|
# 802.2
|
||||||
|
# 802.3 (default)
|
||||||
|
# snap
|
||||||
|
# token
|
||||||
|
# auto automatic detection of the frame-type used
|
||||||
|
# in your ipx-environment
|
||||||
|
# TICKS: the time data-packets need to get delivered over a
|
||||||
|
# certain interface. If your connection goes through several
|
||||||
|
# routers, the shortest path can be determined by summing up
|
||||||
|
# all ticks for every route and compare the results.
|
||||||
|
# (1 tick = 1/18th second)
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Examples:
|
# Examples:
|
||||||
# 3 0xABCDEF99 # use a unique number
|
# 4 0x0 * AUTO 1 # automatic setup
|
||||||
3 AUTO # use ip number as INTERNAL_NET
|
# 4 0x10 eth0 802.3 1 # manual setup
|
||||||
|
|
||||||
|
4 0x10 eth0 802.3 1
|
||||||
|
4 0x0 * AUTO 1
|
||||||
|
|
||||||
|
|
||||||
# Section 4: IPX-devices (optional)
|
# =========================================================================
|
||||||
#
|
# Section 5: Saving of ipx-routes (required)
|
||||||
# NOTE for people with other IPX/NCP servers on the net:
|
|
||||||
# Your network numbers, frames must be the same as at your
|
|
||||||
# other servers on the same net.
|
|
||||||
#
|
|
||||||
# Syntax:
|
|
||||||
# 4 NET_NUMBER DEVICE FRAME TICKS
|
|
||||||
#
|
|
||||||
# NET_NUMBER:
|
|
||||||
# DEVICE: the network-interface associated with the NET_NUMBER
|
|
||||||
# FRAME:
|
|
||||||
# ethernet_ii
|
|
||||||
# 802.2
|
|
||||||
# 802.3 (default)
|
|
||||||
# snap
|
|
||||||
# token
|
|
||||||
# auto
|
|
||||||
# TICKS: ethernet: 1, isdn: 7
|
|
||||||
#
|
|
||||||
# Examples:
|
|
||||||
4 0x10 eth0 802.3 1
|
|
||||||
# Automatic setup:
|
|
||||||
4 0x0 * AUTO 1
|
|
||||||
#
|
|
||||||
# NOTE: autosetup only works if there are other IXP/NCP servers on
|
|
||||||
# the same net which are setup correctly, that means: tells us the required
|
|
||||||
# information about netnumber and frame.
|
|
||||||
|
|
||||||
|
|
||||||
# Section 5: Saving of ipx-routes (optional)
|
|
||||||
#
|
#
|
||||||
# This entry controls if the information regarding the ipx-routes should be
|
# This entry controls if the information regarding the ipx-routes should be
|
||||||
# saved beyond the livetime of the server.
|
# saved beyond the lifetime of the server.
|
||||||
# You can achieve a small speedup when starting mars_nwe by using this entry.
|
|
||||||
#
|
#
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
# Syntax:
|
# Syntax:
|
||||||
# 5 SAVE_FLAG
|
# 5 SAVE_FLAG
|
||||||
#
|
#
|
||||||
# SAVE_FLAG:
|
# SAVE_FLAG:
|
||||||
# 0 don't save routes (default)
|
# 0 don't save routes (default)
|
||||||
# 1 do save routes
|
# 1 do save routes
|
||||||
# Example:
|
# -------------------------------------------------------------------------
|
||||||
5 0
|
#
|
||||||
|
|
||||||
|
5 0
|
||||||
|
|
||||||
|
|
||||||
# Section 6: version-spoofing
|
# =========================================================================
|
||||||
|
# Section 6: version-"spoofing"
|
||||||
#
|
#
|
||||||
# Some clients work better if the server tells that it is a 3.11 Server,
|
# Some clients work better if the server tells that it is a 3.11 Server,
|
||||||
# although many calls (namespace services) of a real 3.11 Server are
|
# although many calls (namespace services) of a real 3.11 Server are
|
||||||
@ -149,46 +238,59 @@
|
|||||||
# To test the namespace calls, this entry must be set to > 0 and `config.h'
|
# To test the namespace calls, this entry must be set to > 0 and `config.h'
|
||||||
# must be altered before compiling "mars_nwe".
|
# must be altered before compiling "mars_nwe".
|
||||||
#
|
#
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
# Syntax:
|
# Syntax:
|
||||||
# 6 SERVER_VERSION
|
# 6 SERVER_VERSION
|
||||||
#
|
#
|
||||||
# SERVER_VERSION:
|
# SERVER_VERSION: the version-number reported to DOS-clients
|
||||||
# 0 Version 2.15
|
# 0 Version 2.15 (default)
|
||||||
# 1 Version 3.11
|
# 1 Version 3.11
|
||||||
# 2 Version 3.12 (not implemented yet)
|
# 2 Version 3.12 (not implemented yet)
|
||||||
6 0
|
# -------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
|
||||||
|
6 0
|
||||||
|
|
||||||
|
|
||||||
# Section 7: password handling (required)
|
# =========================================================================
|
||||||
|
# Section 7: password handling of DOS-clients (required)
|
||||||
|
#
|
||||||
# When changing your "mars_nwe"-password from a DOS-client, this client
|
# When changing your "mars_nwe"-password from a DOS-client, this client
|
||||||
# (think of "LOGIN.EXE", "SYSCON.EXE" or "SETPASS.EXE") can encrypt your
|
# (think of "LOGIN.EXE", "SYSCON.EXE" or "SETPASS.EXE") can encrypt your
|
||||||
# password before sending it to the "mars_nwe"-server (this improves
|
# password before sending it to the "mars_nwe"-server (this improves
|
||||||
# security a little bit).
|
# security a little bit).
|
||||||
# In this section you can enforce encryption of user-passwords or allow
|
# In this section you can enforce encryption of user-passwords or allow
|
||||||
# not-encrypted sending of passwords over the net.
|
# not-encrypted sending of passwords over the net.
|
||||||
|
#
|
||||||
|
#
|
||||||
# On the Linux-side, passwords will only be stored in encrypted format.
|
# On the Linux-side, passwords will only be stored in encrypted format.
|
||||||
#
|
#
|
||||||
|
#
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
# Syntax:
|
# Syntax:
|
||||||
# 7 FLAG
|
# 7 FLAG
|
||||||
#
|
#
|
||||||
# FLAG:
|
# FLAG:
|
||||||
# 0 use only encrypted passwords stuff.
|
# 0 enforce encryption of _all_ passwords by the DOS-client
|
||||||
# the encrypted change password call is not
|
# (disables changing of password from the clients)
|
||||||
# implemented till now, so if you choose this option
|
# 1 as "0", but allow the non-encrypted version of the
|
||||||
# you will not be able to change passwords from
|
# "change password"-routine. (default)
|
||||||
# client size.
|
# 7 allow all non-encrypted stuff but no empty nwe passwords.
|
||||||
# 1 allow the unencrypted change password routine (default).
|
# 8 allow all non-encrypted stuff and also allow empty
|
||||||
# You can use mars_dosutils or an old 2.15 setpass program.
|
# nwe-passwords.
|
||||||
#
|
# 9 use all non-encryted calls + "get crypt key" will allways fail
|
||||||
# 7 allow all unencrypted stuff, no empty nwe passwords.
|
# so the login program will use the old unencryted calls.
|
||||||
# 8 allow all unencrypted stuff, allow empty nwe passwords.
|
# this will *not* work with all clients !! (OS2/client)
|
||||||
# 9 use all unencryted calls + get crypt key will allways fail
|
# -------------------------------------------------------------------------
|
||||||
# so the login program will use the old unencryted calls.
|
|
||||||
# this will *not* work with all clients !! (OS2/client)
|
7 1
|
||||||
7 1
|
|
||||||
|
|
||||||
|
|
||||||
# Section 10 + 11 : UID and GID with minimal rights
|
# Section 8: currently not used
|
||||||
|
# Section 9: currently not used
|
||||||
|
|
||||||
|
# Section 10: UID and GID with minimal rights
|
||||||
|
# =========================================================================
|
||||||
#
|
#
|
||||||
# When loading the netware-drivers in the "autoexec.bat" of your
|
# When loading the netware-drivers in the "autoexec.bat" of your
|
||||||
# DOS-client, you automatically "attach" to a netware-server.
|
# DOS-client, you automatically "attach" to a netware-server.
|
||||||
@ -206,152 +308,238 @@
|
|||||||
# `/etc/passwd' and `/etc/group'. Use the number of that user/group
|
# `/etc/passwd' and `/etc/group'. Use the number of that user/group
|
||||||
# for the following entries.
|
# for the following entries.
|
||||||
#
|
#
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
# Syntax:
|
# Syntax:
|
||||||
# 10 GID
|
# 10 GID
|
||||||
# 11 UID
|
# 11 UID
|
||||||
# Example:
|
|
||||||
# 10 65534
|
|
||||||
# 11 65534
|
|
||||||
#
|
#
|
||||||
# GID numeric number of the group
|
# GID numeric number of the group
|
||||||
# UID numeric number of the user
|
# UID numeric number of the user
|
||||||
10 65534
|
# -------------------------------------------------------------------------
|
||||||
11 65534
|
#
|
||||||
|
# Example:
|
||||||
|
# 10 65534
|
||||||
|
# 11 65534
|
||||||
|
|
||||||
|
10 65534
|
||||||
|
11 65534
|
||||||
|
|
||||||
|
|
||||||
|
# =========================================================================
|
||||||
# Section 12: supervisor-login (required)
|
# Section 12: supervisor-login (required)
|
||||||
#
|
#
|
||||||
# The "supervisor" of a nw-server is much like "root" on the Linux-side.
|
# The "supervisor" of a nw-server is much like "root" on the Linux-side.
|
||||||
#
|
#
|
||||||
# Syntax:
|
# Specify a Linux-user that should be mapped to the supervisor of this
|
||||||
# 12 NW_LOGIN LINUX_LOGIN [PASSWORD]
|
# mars_nwe-server.
|
||||||
|
# To improve security, don't use "root" for this purpose but create a
|
||||||
|
# seperate administrative account (under Linux) called "nw-adm" or similar.
|
||||||
#
|
#
|
||||||
# NW_LOGIN: the login-name for the "mars_nwe"-server (traditionally,
|
# The nw-user defined in this section will have the mars_nwe internal UID
|
||||||
# this is "SUPERVISOR")
|
# "1" (remember even under Linux "root" must have the special UID "0"), so
|
||||||
# LINUX_LOGIN: the account on the Linux-side associated with the NW_LOGIN
|
# it is not possible to define a supervisor in section 13 (the users
|
||||||
# (to improve security, don't use "root" here)
|
# defined there will get random UIDs).
|
||||||
# PASSWORD: the password for the NW_LOGIN. It must be clear-text but
|
# You _can_ define a user with name "SUPERVISOR" in section 13, but he
|
||||||
# will be encrypted and permanent stored in the
|
# won't really be the "local god" on the "mars_nwe"-server.
|
||||||
# bindery-files, so it can be deleted after the first start
|
# And of course you _can_ define a supervisor with name "GOD" or "ROOT"
|
||||||
# of "nwserv".
|
# in _this_ section, which would only break the traditional naming-scheme
|
||||||
|
# of the netware-world.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
|
# Syntax:
|
||||||
|
# 12 NW_LOGIN LINUX_LOGIN [PASSWORD]
|
||||||
|
#
|
||||||
|
# NW_LOGIN: the login-name for the "mars_nwe"-server (traditionally,
|
||||||
|
# this is "SUPERVISOR")
|
||||||
|
# LINUX_LOGIN: the account on the Linux-side associated with the NW_LOGIN
|
||||||
|
# PASSWORD: the password for the NW_LOGIN. It must be clear-text but
|
||||||
|
# will be encrypted and permanent stored in the
|
||||||
|
# bindery-files, so it (the password or the whole section, at
|
||||||
|
# your option) can be deleted after the first start of
|
||||||
|
"nwserv".
|
||||||
|
#
|
||||||
|
# Make sure this file is not world-readable as long
|
||||||
|
# as the password stands here.
|
||||||
|
#
|
||||||
|
# If you leave this field blank when starting "mars_nwe" the
|
||||||
|
# first time, the supervisor-login will be completely
|
||||||
|
# disabled. In other words: there is no way to supply the
|
||||||
|
# supervisor with no password ("null-password").
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Example:
|
# Example:
|
||||||
12 SUPERVISOR root top-secret
|
# 12 SUPERVISOR nw-adm top-secret
|
||||||
|
|
||||||
|
12 SUPERVISOR root
|
||||||
|
|
||||||
|
|
||||||
|
# =========================================================================
|
||||||
# Section 13: user-logins (optional)
|
# Section 13: user-logins (optional)
|
||||||
#
|
#
|
||||||
# See section 12 for the syntax.
|
# You can provide mappings from the regular login-names of your Linux-Box
|
||||||
|
# to "mars_nwe"-logins here.
|
||||||
|
# Every "mars_nwe"-user _must_ have a login-name on the Linux side (even
|
||||||
|
# if he can't log in into the account associated with the login-name,
|
||||||
|
# because you locked it with a "*") in order to "own" files.
|
||||||
|
# If you specify a Linux-login that doesn't exist (one could think of a
|
||||||
|
# typo), the user will only have the minimal rights defined in
|
||||||
|
# sections 10/11.
|
||||||
#
|
#
|
||||||
# Examples:
|
# See section 12 for a description of the syntax.
|
||||||
13 MAR mar mypw
|
#
|
||||||
13 ALF mar - # no password
|
# Unlike in section 12, you can define users with no password.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# 13 MARTIN martin
|
||||||
|
|
||||||
|
|
||||||
# Section 15: read unix users automaticly from passwd into bindery
|
# Section 14: currently not used
|
||||||
|
|
||||||
|
# =========================================================================
|
||||||
|
# Section 15: automatic mapping of logins (decision required)
|
||||||
#
|
#
|
||||||
|
# If you have a large number of accounts on your Linux-machine, you may
|
||||||
|
# want to map all Linux-logins automatically to "mars_nwe"-logins.
|
||||||
|
#
|
||||||
|
# At this stage this section is only a quick hack to make life a bit
|
||||||
|
# easier for the administrator.
|
||||||
|
#
|
||||||
|
# WARNING: as there is no algorithm to convert the encrypted
|
||||||
|
# "Linux-passwords" into the encrypted format used by the DOS-clients (and
|
||||||
|
# therefore "mars_nwe"), you have to supply a common password for all
|
||||||
|
# automatically mapped users. This is a big security concern and you
|
||||||
|
# should never make this common password public (and, of course you
|
||||||
|
# should choose a sufficient "secure" (read: difficult) password).
|
||||||
|
# Type the common password to grant access to the users login and the
|
||||||
|
# command "setpass" instead of telling the password to the user.
|
||||||
|
#
|
||||||
|
# Only those Linux-logins will handled automatically that don't have a
|
||||||
|
# "x" or "*" as their encrypted password.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
# Syntax:
|
# Syntax:
|
||||||
# 15 FLAG DEFAULT_PASSWORD
|
# 15 FLAG DEFAULT_PASSWORD
|
||||||
#
|
#
|
||||||
# FLAG:
|
# FLAG:
|
||||||
# 0 off
|
# 0 DON'T map the Linux-logins automatically to
|
||||||
# 1 on
|
# "mars_nwe"-logins (default)
|
||||||
# 99 overwrite existing users.
|
# 1 YES, DO the automatic mapping and provide every login
|
||||||
#
|
# created this way with the common password given with
|
||||||
# DEFAULT_PASSWORD: password for every new inserted user.
|
# "DEFAULT_PASSWORD"
|
||||||
|
# 99 re-read the logins from /etc/passwd and overwrite even the
|
||||||
|
# already existing logins from the bindery (this will also
|
||||||
|
# reset all the passwords to "DEFAULT_PASSWORD")
|
||||||
#
|
#
|
||||||
|
# DEFAULT_PASSWORD: the common password for all automatically created
|
||||||
|
# logins (only needed if FLAG is not "0"); everything about
|
||||||
|
# password in section 12 applies to this.
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
|
|
||||||
15 0 top-secret
|
15 0 top-secret
|
||||||
#
|
|
||||||
# !!! IMPORTANT !!!
|
|
||||||
# If you enable this feature you should chose a secure
|
|
||||||
# password for the users, because all not existent
|
|
||||||
# mars_nwe users will be inserted into bindery with this password.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# =========================================================================
|
||||||
# Section 16: Tests on startup
|
# Section 16: Tests on startup
|
||||||
#
|
#
|
||||||
16 1 # enable some bindery and sys dir tests/creats after starting.
|
# If you want some sanity checks at startup, set this flag to 1.
|
||||||
# default = 1
|
# "mars_nwe" will try to create missing directories (with the "right"
|
||||||
|
# permissions, of course) if you enable this.
|
||||||
|
#
|
||||||
|
|
||||||
|
16 1
|
||||||
|
|
||||||
|
|
||||||
|
# Section 17-20: currently not used
|
||||||
|
|
||||||
|
|
||||||
|
# =========================================================================
|
||||||
# Section 21: print queues (optional)
|
# Section 21: print queues (optional)
|
||||||
#
|
#
|
||||||
# Make the printers connected to your Linux-box accessible from the
|
# Which of the printers connected to your Linux-box should be accessible
|
||||||
# DOS-clients.
|
# from the DOS-clients?
|
||||||
# Multiple entries are allowed.
|
# Multiple entries are allowed.
|
||||||
#
|
#
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
# Syntax:
|
# Syntax:
|
||||||
# 21 QUEUE_NAME QUEUE_DIR PRINT_COMMAND
|
# 21 QUEUE_NAME QUEUE_DIR PRINT_COMMAND
|
||||||
#
|
#
|
||||||
# QUEUE_NAME: the name of the print queue
|
# QUEUE_NAME: the name of the print queue on client-side (to make it
|
||||||
# QUEUE_DIR: spooling directory for the print-jobs; this directory must
|
# perfectly clear: _not_ the Linux-queue)
|
||||||
# exist before printing
|
# QUEUE_DIR: spooling directory for the print-jobs; this directory must
|
||||||
|
# exist before printing (_not_ the spooling-directories of
|
||||||
|
# the Linux-lpd)
|
||||||
# PRINT_COMMAND: command used for serving the print-jobs under Linux
|
# PRINT_COMMAND: command used for serving the print-jobs under Linux
|
||||||
# (see "man lpr" and "man magicfilter" for details)
|
# (see "man lpr" and "man magicfilter" for details)
|
||||||
#
|
#
|
||||||
# Examples:
|
# Examples:
|
||||||
# 21 LASER SYS:/PRINT/L lpr -Plaser
|
# 21 LASER SYS:/PRINT/L lpr -Plaser
|
||||||
# 21 OCTOPUSS SYS:/PRINT/O lpr -Php_deskjet
|
# 21 OCTOPUSS SYS:/PRINT/O lpr -Php_deskjet
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# --------------------------------------------------------
|
# --------------------------------------------------------
|
||||||
# You usally don't want to change anything below this line
|
# You usally don't want to change anything below this line
|
||||||
# --------------------------------------------------------
|
# --------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
# Sections 100-106: amount of debug-information
|
# Sections 100-106: amount of debug-information
|
||||||
#
|
#
|
||||||
# FLAG:
|
# FLAG:
|
||||||
# 0 no debug messages
|
# 0 no debug messages
|
||||||
# 1 errors and notes are reported
|
# 1 errors and notes are reported
|
||||||
# ..
|
# 99 maximum debug levels
|
||||||
# 99 maximum debug level
|
|
||||||
100 0 # debug IPX KERNEL (0 | 1)
|
|
||||||
101 1 # debug NWSERV
|
|
||||||
102 0 # debug NCPSERV
|
|
||||||
103 0 # debug NWCONN
|
|
||||||
104 0 # debug (start) NWCLIENT
|
|
||||||
105 0 # debug NWBIND
|
|
||||||
106 1 # debug NWROUTED
|
|
||||||
|
|
||||||
|
100 0 # debug IPX KERNEL (0 | 1)
|
||||||
|
101 1 # debug NWSERV
|
||||||
|
102 0 # debug NCPSERV
|
||||||
|
103 0 # debug NWCONN
|
||||||
|
104 0 # debug (start) NWCLIENT
|
||||||
|
105 0 # debug NWBIND
|
||||||
|
106 1 # debug NWROUTED
|
||||||
|
|
||||||
# Sections 200-202: logging of "nwserv"
|
# Sections 200-202: logging of "nwserv"
|
||||||
#
|
#
|
||||||
200 1 # 0 = no logfile and dont daemonize nwserv/nwrouted
|
200 1 # 0 = no logfile and dont daemonize nwserv/nwrouted
|
||||||
# # 1 = daemonize nwserv/nwrouted and use logfile
|
# 1 = daemonize nwserv/nwrouted and use logfile
|
||||||
201 /tmp/nw.log # filename of logfile
|
201 /tmp/nw.log # filename of logfile
|
||||||
202 1 # 1=creat new logfile, 0=append to logfile
|
202 1 # 1=creat new logfile, 0=append to logfile
|
||||||
|
|
||||||
|
|
||||||
# Sections 210,211: timing
|
# Sections 210,211: timing
|
||||||
#
|
|
||||||
210 10 # 1 .. 600 (default 10) seconds after server
|
210 10 # 1 .. 600 (default 10) seconds after server
|
||||||
# # really goes down after a down command
|
# really goes down after a down command
|
||||||
211 60 # 10 .. 600 (default 60) broadcasts every x seconds
|
211 60 # 10 .. 600 (default 60) broadcasts every x seconds
|
||||||
|
|
||||||
|
|
||||||
# Sections 300-302: loging of routing-information
|
# Sections 300-302: loging of routing-information
|
||||||
#
|
|
||||||
300 1 # > 0 print routing info to file every x broadcasts.
|
300 1 # > 0 print routing info to file every x broadcasts.
|
||||||
# # ( normally minutes )
|
# ( normally minutes )
|
||||||
301 /tmp/nw.routes # filename of logfile
|
301 /tmp/nw.routes # filename of logfile
|
||||||
302 1 # 1 = creat new routing info file
|
302 1 # 1 = creat new routing info file
|
||||||
# # 0 = append to this file
|
# 0 = append to this file
|
||||||
|
|
||||||
|
|
||||||
# Section 310: watchdogs
|
# Section 310: watchdogs
|
||||||
#
|
|
||||||
310 7 # send wdog's only to device net < x ticks.
|
310 7 # send wdog's only to device net < x ticks.
|
||||||
# 0 = allways send wdogs. < 0 = never send wdogs
|
# 0 = allways send wdogs. < 0 = never send wdogs
|
||||||
#
|
|
||||||
# Section 400:
|
# Section 400:
|
||||||
# station file for special handling of stations.
|
# station file for special handling of stations.
|
||||||
#
|
|
||||||
400 /etc/nwserv.stations # for syntax see file in the examples directory.
|
400 /etc/nwserv.stations # for syntax see file in the examples directory.
|
||||||
|
|
||||||
|
|
||||||
# Section 401: nearest server
|
# Section 401: nearest server
|
||||||
#
|
#
|
||||||
# for special handling of the 'get nearest server request'.
|
# for special handling of the 'get nearest server request'.
|
||||||
401 0 # 0 = ignore entry 400, get nearest response ever enabled.
|
401 0 # 0 = ignore entry 400, get nearest response ever enabled.
|
||||||
# 1 = 400 are excludes, get nearest response normally enabled.
|
# 1 = 400 are excludes, get nearest response normally enabled.
|
||||||
# 2 = 400 are includes, get nearest response normally disabled.
|
# 2 = 400 are includes, get nearest response normally disabled.
|
||||||
|
|
||||||
|
357
examples/nw.ini.old
Normal file
357
examples/nw.ini.old
Normal file
@ -0,0 +1,357 @@
|
|||||||
|
#
|
||||||
|
# This is the configuration-file for "mars_nwe", the free netware-emulator
|
||||||
|
# for Linux.
|
||||||
|
#
|
||||||
|
# last change: 13-May-96
|
||||||
|
#
|
||||||
|
# Syntax of this config-file:
|
||||||
|
# - everything after the "#" is ignored, so it is used to
|
||||||
|
# make comment-lines
|
||||||
|
# - entries _must_ begin with a number, indicating the section
|
||||||
|
# they belong to
|
||||||
|
# - hexadecimal values are prepended with "0x"
|
||||||
|
#
|
||||||
|
# All examples are verbatim.
|
||||||
|
|
||||||
|
|
||||||
|
# Section 1: volumes (required)
|
||||||
|
#
|
||||||
|
# In this section you list all directories accessible via "mars_nwe".
|
||||||
|
# To be more specific: a mapping from Linux-directories to mars_nwe-volumes
|
||||||
|
# is done. (Volumes are the beasts you can map to drive letters under DOS
|
||||||
|
# using "map.exe").
|
||||||
|
#
|
||||||
|
# Linux-directory mars_nwe-volume map.exe DOS-Drive
|
||||||
|
# /var/local/nwe/SYS -------> SYS -------------> W:
|
||||||
|
#
|
||||||
|
# More than one entry is possible in this section.
|
||||||
|
# The maximum number of volumes is a compile-time option that must be
|
||||||
|
# specified in `config.h' before compiling mars_nwe.
|
||||||
|
#
|
||||||
|
# Please note that at least the volume "SYS" must be defined and it must
|
||||||
|
# contain the following sub-directories: LOGIN, PUBLIC, SYSTEM, MAIL.
|
||||||
|
# See the installation-instructions in the doc-directory for more infos.
|
||||||
|
#
|
||||||
|
# Syntax:
|
||||||
|
# 1 VOLUMENAME DIRECTORY OPTIONS
|
||||||
|
#
|
||||||
|
# VOLUMENAME: the name of the mars_nwe-volume (max. 8 characters)
|
||||||
|
# DIRECTORY: the directory on your Linux-system associated with that
|
||||||
|
# volume; use the special name "~" to refer to the users
|
||||||
|
# individual home-directory
|
||||||
|
#
|
||||||
|
# OPTIONS: none or some of the following characters (without a seperator)
|
||||||
|
# k allow lowercase-filenames (if you don't set this, all
|
||||||
|
# files _must_ be upper-case)
|
||||||
|
# m removable volume (e.g. cd-roms)
|
||||||
|
# o volume has only one filesystem/device/namespace
|
||||||
|
# this is for filesystems with high inode > 0xFFFFFFF.
|
||||||
|
# because for namespace services mars_nwe normally use the
|
||||||
|
# first 4 bit of 32 bit inode to distinguish
|
||||||
|
# between several devices/namespaces for one volume.
|
||||||
|
# p "PIPE"-filesystem. All files are pipe commands.
|
||||||
|
# See `doc/PIPE-FS'.
|
||||||
|
# r readonly volume. Free disk space will also return 0.
|
||||||
|
#
|
||||||
|
# examples:
|
||||||
|
1 SYS /u3/SYS/ # SYS upper-case filenames
|
||||||
|
1 CDROM /cdrom km # lowercase filenames, removable
|
||||||
|
1 HOME ~ k # users HOME directory, lowercase
|
||||||
|
|
||||||
|
|
||||||
|
# Section 2: servername (optional)
|
||||||
|
#
|
||||||
|
# The servername is the name under which this server will show up when
|
||||||
|
# using tools like "slist" (server-list).
|
||||||
|
#
|
||||||
|
# If you don't supply an entry for this section, the hostname of your
|
||||||
|
# Linux-machine will be converted to all-uppercase and used as the servername.
|
||||||
|
#
|
||||||
|
# Syntax:
|
||||||
|
# 2 SERVERNAME
|
||||||
|
#
|
||||||
|
# SERVERNAME: a name for this nw-server
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# 2 MARS
|
||||||
|
|
||||||
|
|
||||||
|
# Section 3: Number of the internal network
|
||||||
|
# If you have mars_nwe V > 0.96pl5 and a kernel >= 1.3.60
|
||||||
|
# or the small ipx-kpatch from the examples dir you should use
|
||||||
|
# internal net and routing.
|
||||||
|
#
|
||||||
|
# NOTE: the internal net number must be _unique_ in your IPX-environment!
|
||||||
|
#
|
||||||
|
# Syntax:
|
||||||
|
# 3 INTERNAL_NET [NODE]
|
||||||
|
#
|
||||||
|
# INTERNAL_NET: AUTO or 0 for using the ip number as INTERNAL_NET
|
||||||
|
#
|
||||||
|
# NODE: 1 (optional)
|
||||||
|
#
|
||||||
|
# Examples:
|
||||||
|
# 3 0xABCDEF99 # use a unique number
|
||||||
|
3 AUTO # use ip number as INTERNAL_NET
|
||||||
|
|
||||||
|
|
||||||
|
# Section 4: IPX-devices (optional)
|
||||||
|
#
|
||||||
|
# NOTE for people with other IPX/NCP servers on the net:
|
||||||
|
# Your network numbers, frames must be the same as at your
|
||||||
|
# other servers on the same net.
|
||||||
|
#
|
||||||
|
# Syntax:
|
||||||
|
# 4 NET_NUMBER DEVICE FRAME TICKS
|
||||||
|
#
|
||||||
|
# NET_NUMBER:
|
||||||
|
# DEVICE: the network-interface associated with the NET_NUMBER
|
||||||
|
# FRAME:
|
||||||
|
# ethernet_ii
|
||||||
|
# 802.2
|
||||||
|
# 802.3 (default)
|
||||||
|
# snap
|
||||||
|
# token
|
||||||
|
# auto
|
||||||
|
# TICKS: ethernet: 1, isdn: 7
|
||||||
|
#
|
||||||
|
# Examples:
|
||||||
|
4 0x10 eth0 802.3 1
|
||||||
|
# Automatic setup:
|
||||||
|
4 0x0 * AUTO 1
|
||||||
|
#
|
||||||
|
# NOTE: autosetup only works if there are other IXP/NCP servers on
|
||||||
|
# the same net which are setup correctly, that means: tells us the required
|
||||||
|
# information about netnumber and frame.
|
||||||
|
|
||||||
|
|
||||||
|
# Section 5: Saving of ipx-routes (optional)
|
||||||
|
#
|
||||||
|
# This entry controls if the information regarding the ipx-routes should be
|
||||||
|
# saved beyond the livetime of the server.
|
||||||
|
# You can achieve a small speedup when starting mars_nwe by using this entry.
|
||||||
|
#
|
||||||
|
# Syntax:
|
||||||
|
# 5 SAVE_FLAG
|
||||||
|
#
|
||||||
|
# SAVE_FLAG:
|
||||||
|
# 0 don't save routes (default)
|
||||||
|
# 1 do save routes
|
||||||
|
# Example:
|
||||||
|
5 0
|
||||||
|
|
||||||
|
|
||||||
|
# Section 6: version-spoofing
|
||||||
|
#
|
||||||
|
# Some clients work better if the server tells that it is a 3.11 Server,
|
||||||
|
# although many calls (namespace services) of a real 3.11 Server are
|
||||||
|
# missing yet.
|
||||||
|
# To test the namespace calls, this entry must be set to > 0 and `config.h'
|
||||||
|
# must be altered before compiling "mars_nwe".
|
||||||
|
#
|
||||||
|
# Syntax:
|
||||||
|
# 6 SERVER_VERSION
|
||||||
|
#
|
||||||
|
# SERVER_VERSION:
|
||||||
|
# 0 Version 2.15
|
||||||
|
# 1 Version 3.11
|
||||||
|
# 2 Version 3.12 (not implemented yet)
|
||||||
|
6 0
|
||||||
|
|
||||||
|
|
||||||
|
# Section 7: password handling (required)
|
||||||
|
# When changing your "mars_nwe"-password from a DOS-client, this client
|
||||||
|
# (think of "LOGIN.EXE", "SYSCON.EXE" or "SETPASS.EXE") can encrypt your
|
||||||
|
# password before sending it to the "mars_nwe"-server (this improves
|
||||||
|
# security a little bit).
|
||||||
|
# In this section you can enforce encryption of user-passwords or allow
|
||||||
|
# not-encrypted sending of passwords over the net.
|
||||||
|
# On the Linux-side, passwords will only be stored in encrypted format.
|
||||||
|
#
|
||||||
|
# Syntax:
|
||||||
|
# 7 FLAG
|
||||||
|
#
|
||||||
|
# FLAG:
|
||||||
|
# 0 use only encrypted passwords stuff.
|
||||||
|
# the encrypted change password call is not
|
||||||
|
# implemented till now, so if you choose this option
|
||||||
|
# you will not be able to change passwords from
|
||||||
|
# client size.
|
||||||
|
# 1 allow the unencrypted change password routine (default).
|
||||||
|
# You can use mars_dosutils or an old 2.15 setpass program.
|
||||||
|
#
|
||||||
|
# 7 allow all unencrypted stuff, no empty nwe passwords.
|
||||||
|
# 8 allow all unencrypted stuff, allow empty nwe passwords.
|
||||||
|
# 9 use all unencryted calls + get crypt key will allways fail
|
||||||
|
# so the login program will use the old unencryted calls.
|
||||||
|
# this will *not* work with all clients !! (OS2/client)
|
||||||
|
7 1
|
||||||
|
|
||||||
|
|
||||||
|
# Section 10 + 11 : UID and GID with minimal rights
|
||||||
|
#
|
||||||
|
# When loading the netware-drivers in the "autoexec.bat" of your
|
||||||
|
# DOS-client, you automatically "attach" to a netware-server.
|
||||||
|
# As a result, a new drive-letter is accessible under DOS, usally
|
||||||
|
# containing the programs "login.exe" and "slist.exe".
|
||||||
|
# Because you haven't logged in, nothing else of the netware-server
|
||||||
|
# will be visible to you. All actions requested from the DOS-client
|
||||||
|
# will be done with the following UID and GID on the Linux-side in this
|
||||||
|
# case.
|
||||||
|
# To achieve some level of security, the user/group asscociated with
|
||||||
|
# the UID and GID should only have _read_ rights on the files visible,
|
||||||
|
# _nothing_ else.
|
||||||
|
#
|
||||||
|
# On most Linux-systems, there is a user and group "nobody" defined in
|
||||||
|
# `/etc/passwd' and `/etc/group'. Use the number of that user/group
|
||||||
|
# for the following entries.
|
||||||
|
#
|
||||||
|
# Syntax:
|
||||||
|
# 10 GID
|
||||||
|
# 11 UID
|
||||||
|
# Example:
|
||||||
|
# 10 65534
|
||||||
|
# 11 65534
|
||||||
|
#
|
||||||
|
# GID numeric number of the group
|
||||||
|
# UID numeric number of the user
|
||||||
|
10 65534
|
||||||
|
11 65534
|
||||||
|
|
||||||
|
|
||||||
|
# Section 12: supervisor-login (required)
|
||||||
|
#
|
||||||
|
# The "supervisor" of a nw-server is much like "root" on the Linux-side.
|
||||||
|
#
|
||||||
|
# Syntax:
|
||||||
|
# 12 NW_LOGIN LINUX_LOGIN [PASSWORD]
|
||||||
|
#
|
||||||
|
# NW_LOGIN: the login-name for the "mars_nwe"-server (traditionally,
|
||||||
|
# this is "SUPERVISOR")
|
||||||
|
# LINUX_LOGIN: the account on the Linux-side associated with the NW_LOGIN
|
||||||
|
# (to improve security, don't use "root" here)
|
||||||
|
# PASSWORD: the password for the NW_LOGIN. It must be clear-text but
|
||||||
|
# will be encrypted and permanent stored in the
|
||||||
|
# bindery-files, so it can be deleted after the first start
|
||||||
|
# of "nwserv".
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
12 SUPERVISOR root top-secret
|
||||||
|
|
||||||
|
|
||||||
|
# Section 13: user-logins (optional)
|
||||||
|
#
|
||||||
|
# See section 12 for the syntax.
|
||||||
|
#
|
||||||
|
# Examples:
|
||||||
|
13 MAR mar mypw
|
||||||
|
13 ALF mar - # no password
|
||||||
|
|
||||||
|
|
||||||
|
# Section 15: read unix users automaticly from passwd into bindery
|
||||||
|
#
|
||||||
|
# Syntax:
|
||||||
|
# 15 FLAG DEFAULT_PASSWORD
|
||||||
|
#
|
||||||
|
# FLAG:
|
||||||
|
# 0 off
|
||||||
|
# 1 on
|
||||||
|
# 99 overwrite existing users.
|
||||||
|
#
|
||||||
|
# DEFAULT_PASSWORD: password for every new inserted user.
|
||||||
|
#
|
||||||
|
15 0 top-secret
|
||||||
|
#
|
||||||
|
# !!! IMPORTANT !!!
|
||||||
|
# If you enable this feature you should chose a secure
|
||||||
|
# password for the users, because all not existent
|
||||||
|
# mars_nwe users will be inserted into bindery with this password.
|
||||||
|
|
||||||
|
|
||||||
|
# Section 16: Tests on startup
|
||||||
|
#
|
||||||
|
16 1 # enable some bindery and sys dir tests/creats after starting.
|
||||||
|
# default = 1
|
||||||
|
|
||||||
|
|
||||||
|
# Section 21: print queues (optional)
|
||||||
|
#
|
||||||
|
# Make the printers connected to your Linux-box accessible from the
|
||||||
|
# DOS-clients.
|
||||||
|
# Multiple entries are allowed.
|
||||||
|
#
|
||||||
|
# Syntax:
|
||||||
|
# 21 QUEUE_NAME QUEUE_DIR PRINT_COMMAND
|
||||||
|
#
|
||||||
|
# QUEUE_NAME: the name of the print queue
|
||||||
|
# QUEUE_DIR: spooling directory for the print-jobs; this directory must
|
||||||
|
# exist before printing
|
||||||
|
# PRINT_COMMAND: command used for serving the print-jobs under Linux
|
||||||
|
# (see "man lpr" and "man magicfilter" for details)
|
||||||
|
#
|
||||||
|
# Examples:
|
||||||
|
# 21 LASER SYS:/PRINT/L lpr -Plaser
|
||||||
|
# 21 OCTOPUSS SYS:/PRINT/O lpr -Php_deskjet
|
||||||
|
|
||||||
|
|
||||||
|
# --------------------------------------------------------
|
||||||
|
# You usally don't want to change anything below this line
|
||||||
|
# --------------------------------------------------------
|
||||||
|
|
||||||
|
# Sections 100-106: amount of debug-information
|
||||||
|
#
|
||||||
|
# FLAG:
|
||||||
|
# 0 no debug messages
|
||||||
|
# 1 errors and notes are reported
|
||||||
|
# ..
|
||||||
|
# 99 maximum debug level
|
||||||
|
100 0 # debug IPX KERNEL (0 | 1)
|
||||||
|
101 1 # debug NWSERV
|
||||||
|
102 0 # debug NCPSERV
|
||||||
|
103 0 # debug NWCONN
|
||||||
|
104 0 # debug (start) NWCLIENT
|
||||||
|
105 0 # debug NWBIND
|
||||||
|
106 1 # debug NWROUTED
|
||||||
|
|
||||||
|
|
||||||
|
# Sections 200-202: logging of "nwserv"
|
||||||
|
#
|
||||||
|
200 1 # 0 = no logfile and dont daemonize nwserv/nwrouted
|
||||||
|
# # 1 = daemonize nwserv/nwrouted and use logfile
|
||||||
|
201 /tmp/nw.log # filename of logfile
|
||||||
|
202 1 # 1=creat new logfile, 0=append to logfile
|
||||||
|
|
||||||
|
|
||||||
|
# Sections 210,211: timing
|
||||||
|
#
|
||||||
|
210 10 # 1 .. 600 (default 10) seconds after server
|
||||||
|
# # really goes down after a down command
|
||||||
|
211 60 # 10 .. 600 (default 60) broadcasts every x seconds
|
||||||
|
|
||||||
|
|
||||||
|
# Sections 300-302: loging of routing-information
|
||||||
|
#
|
||||||
|
300 1 # > 0 print routing info to file every x broadcasts.
|
||||||
|
# # ( normally minutes )
|
||||||
|
301 /tmp/nw.routes # filename of logfile
|
||||||
|
302 1 # 1 = creat new routing info file
|
||||||
|
# # 0 = append to this file
|
||||||
|
|
||||||
|
|
||||||
|
# Section 310: watchdogs
|
||||||
|
#
|
||||||
|
310 7 # send wdog's only to device net < x ticks.
|
||||||
|
# 0 = allways send wdogs. < 0 = never send wdogs
|
||||||
|
#
|
||||||
|
# Section 400:
|
||||||
|
# station file for special handling of stations.
|
||||||
|
#
|
||||||
|
400 /etc/nwserv.stations # for syntax see file in the examples directory.
|
||||||
|
|
||||||
|
|
||||||
|
# Section 401: nearest server
|
||||||
|
#
|
||||||
|
# for special handling of the 'get nearest server request'.
|
||||||
|
401 0 # 0 = ignore entry 400, get nearest response ever enabled.
|
||||||
|
# 1 = 400 are excludes, get nearest response normally enabled.
|
||||||
|
# 2 = 400 are includes, get nearest response normally disabled.
|
@ -1,5 +1,5 @@
|
|||||||
#if 0
|
#if 0
|
||||||
#makefile.unx 22-Mar-96
|
#makefile.unx 16-May-96
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
VPATH=$(V_VPATH)
|
VPATH=$(V_VPATH)
|
||||||
@ -9,7 +9,7 @@ C=.c
|
|||||||
|
|
||||||
V_H=0
|
V_H=0
|
||||||
V_L=97
|
V_L=97
|
||||||
P_L=4
|
P_L=5
|
||||||
|
|
||||||
#define D_P_L 1
|
#define D_P_L 1
|
||||||
DISTRIB=mars_nwe
|
DISTRIB=mars_nwe
|
||||||
|
@ -460,9 +460,11 @@ void send_server_response(int respond_typ,
|
|||||||
int ticks=99;
|
int ticks=99;
|
||||||
int hops=15;
|
int hops=15;
|
||||||
int entry = -1;
|
int entry = -1;
|
||||||
|
|
||||||
int to_internal = (!no_internal)
|
int to_internal = (!no_internal)
|
||||||
&& (GET_BE32(to_addr->net) == internal_net)
|
&& (GET_BE32(to_addr->net) == internal_net)
|
||||||
&& (GET_BE16(to_addr->sock) != SOCK_SAP);
|
&& (GET_BE16(to_addr->sock) != SOCK_SAP);
|
||||||
|
|
||||||
while (++j < anz_servers) {
|
while (++j < anz_servers) {
|
||||||
NW_SERVERS *nw=nw_servers[j];
|
NW_SERVERS *nw=nw_servers[j];
|
||||||
if (nw->typ == styp && nw->name && *(nw->name)) {
|
if (nw->typ == styp && nw->name && *(nw->name)) {
|
||||||
@ -480,7 +482,9 @@ void send_server_response(int respond_typ,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#if 0 /* removed: 16-May-96 */
|
||||||
if (!to_internal)
|
if (!to_internal)
|
||||||
|
#endif
|
||||||
send_sap_to_addr(entry, hops+1, ticks, respond_typ, to_addr);
|
send_sap_to_addr(entry, hops+1, ticks, respond_typ, to_addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
26
tools.c
26
tools.c
@ -164,14 +164,22 @@ int get_ini_entry(FILE *f, int entry, uint8 *str, int strsize)
|
|||||||
int do_open = ((FILE*) NULL == f);
|
int do_open = ((FILE*) NULL == f);
|
||||||
if (do_open) f = open_nw_ini();
|
if (do_open) f = open_nw_ini();
|
||||||
if ((FILE*) NULL != f) {
|
if ((FILE*) NULL != f) {
|
||||||
while (fgets((char*)buff, sizeof(buff), f) != NULL){
|
while (fgets(buff, sizeof(buff), f) != NULL){
|
||||||
int len = strlen(buff);
|
int len = strlen(buff);
|
||||||
char *ppi = NULL;
|
char *ppi = NULL;
|
||||||
char *ppe = NULL;
|
char *ppe = NULL;
|
||||||
int se = 0;
|
char *p_buff = buff;
|
||||||
int j = -1;
|
int se = 0;
|
||||||
|
int j = -1;
|
||||||
|
char *pp;
|
||||||
|
|
||||||
|
while (len && (*p_buff == '\t' || *p_buff == 32)) {
|
||||||
|
--len;
|
||||||
|
p_buff++;
|
||||||
|
}
|
||||||
|
pp = p_buff;
|
||||||
|
|
||||||
while (++j < len){
|
while (++j < len){
|
||||||
char *pp=(buff+j);
|
|
||||||
if (*pp == '#' || *pp == '\r' || *pp == '\n') {
|
if (*pp == '#' || *pp == '\r' || *pp == '\n') {
|
||||||
*pp = '\0';
|
*pp = '\0';
|
||||||
len = j;
|
len = j;
|
||||||
@ -182,11 +190,13 @@ int get_ini_entry(FILE *f, int entry, uint8 *str, int strsize)
|
|||||||
if ((!ppi) && se) ppi = pp;
|
if ((!ppi) && se) ppi = pp;
|
||||||
ppe=pp;
|
ppe=pp;
|
||||||
}
|
}
|
||||||
|
pp++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (len > se+1 && se > 0 && se < 4 && ppi){
|
if (len > se+1 && se > 0 && se < 4 && ppi){
|
||||||
char sx[10];
|
char sx[10];
|
||||||
int fentry;
|
int fentry;
|
||||||
strmaxcpy((uint8*)sx, (uint8*)buff, se);
|
strmaxcpy((uint8*)sx, (uint8*)p_buff, se);
|
||||||
fentry = atoi(sx);
|
fentry = atoi(sx);
|
||||||
if (fentry > 0 && ((!entry) || entry == fentry)) {
|
if (fentry > 0 && ((!entry) || entry == fentry)) {
|
||||||
if (ppe) *(ppe+1) = '\0';
|
if (ppe) *(ppe+1) = '\0';
|
||||||
|
Loading…
Reference in New Issue
Block a user