mars_nwe-0.99.pl21
This commit is contained in:
parent
b8ca2cf590
commit
79813c691a
2
README
2
README
@ -86,7 +86,7 @@ Topics for the list:
|
||||
- IPX routing and router daemons under Linux
|
||||
- and, last but not least, the LinWare daemon
|
||||
|
||||
You can subscribe to the list by sending command "add linware" in mail
|
||||
You can subscribe to the list by sending command "ADD linware" in mail
|
||||
message body to address: "listserv@sh.cvut.cz".
|
||||
Your list postings should be sent to address: "linware@sh.cvut.cz".
|
||||
|
||||
|
90
config.h
Normal file
90
config.h
Normal file
@ -0,0 +1,90 @@
|
||||
/* config.h: 22-Jun-00 */
|
||||
/* some of this config is needed by make, others by cc */
|
||||
|
||||
#define DO_DEBUG 1 /* compile in debug code */
|
||||
#define FUNC_17_02_IS_DEBUG 0 /* allow debugging with mars_dosutils */
|
||||
|
||||
#define DO_TESTING 0 /* set this to "1" to test only */
|
||||
|
||||
#if DO_TESTING
|
||||
# define FILENAME_NW_INI "./nw.ini" /* full name of ini (conf) file */
|
||||
# define PATHNAME_PROGS "." /* where to find the executables */
|
||||
# define PATHNAME_BINDERY "." /* directory for bindery-files */
|
||||
#else
|
||||
# define FILENAME_NW_INI "/etc/nwserv.conf"
|
||||
/* full name of ini (conf) file */
|
||||
# define PATHNAME_PROGS "/usr/sbin" /* where to find the executables */
|
||||
# define PATHNAME_BINDERY "/var/nwserv/db" /* directory for bindery-files */
|
||||
#endif
|
||||
|
||||
#define PATHNAME_PIDFILES "/var/run" /* directory for 'pidfiles' */
|
||||
|
||||
/* ----- logging the logins via "mars_nwe" in utmp/wtmp ------------------ */
|
||||
#define FILENAME_UTMP UTMP_FILE /* use "NULL" instead of UTMP_FILE */
|
||||
/* to disable logging via utmp */
|
||||
#define FILENAME_WTMP WTMP_FILE /* use "NULL" instead of WTMP_FILE */
|
||||
/* to disable logging via wtmp */
|
||||
|
||||
#define NETWORK_SERIAL_NMBR 0x44444444L
|
||||
/* serial number (4 byte) */
|
||||
#define NETWORK_APPL_NMBR 0x2222 /* application number (2 byte) */
|
||||
|
||||
#define MAX_CONNECTIONS 50 /* max. number of simultaneous */
|
||||
/* connections handled by mars_nwe */
|
||||
/* !! NOTE !! */
|
||||
/* If set > 255 some NCP calls will probably not work, try it with caution */
|
||||
/* and you should apply examples/kpatch2.0.29 to kernels prior 2.0.32 */
|
||||
|
||||
|
||||
#define IPX_DATA_GR_546 2 /* 0 = max. IPX Packets = 546 +30 Byte ( 512 Byte RWBuff) */
|
||||
/* 1 = max. IPX packets = 1058 +30 Byte (1024 Byte RWBuff) */
|
||||
/* 2 = max. IPX packets = 1470 +30 Byte (1444 Byte RWBuff) */
|
||||
/* 3 = max. IPX packets = 4130 +30 Byte (4096 Byte RWBuff) */
|
||||
|
||||
#define ENABLE_BURSTMODE 0 /* 0 = disable burstmode, 1 = enable burstmode */
|
||||
/* still NOT working correct !!!!! */
|
||||
/* to get Burstmode really enabled, section '6' in conf-file */
|
||||
/* must be set to a value > 1 (3.12 Server) */
|
||||
/* and kernel-patch examples/kpatch2.0.29 should be used for */
|
||||
/* kernels prior 2.0.32 */
|
||||
|
||||
|
||||
#define USE_MMAP 1 /* use mmap systen call, not always best choice */
|
||||
|
||||
#if 0
|
||||
#define SOCK_EXTERN 0x8005 /* creat socket for external access */
|
||||
/* i.e. Xmarsmon from H. Buchholz */
|
||||
#endif
|
||||
|
||||
/* <--------------------------------------------------------------------> */
|
||||
#define MAX_NW_VOLS 10 /* max. number of mars_nwe-volumes */
|
||||
#define MAX_FILE_HANDLES_CONN 255 /* max. number of open files per */
|
||||
/* connection */
|
||||
/* <--------------- new namespace services call -----------------------> */
|
||||
#define MAX_DIR_BASE_ENTRIES 50 /* max. cached base entries per */
|
||||
/* connection */
|
||||
#define WITH_NAME_SPACE_CALLS 1 /* Namespace Calls are only minimal */
|
||||
/* supported so far. */
|
||||
/* To enable testing of them this */
|
||||
/* entry must be changed to '1' and */
|
||||
/* entry '6' in ini file should be set*/
|
||||
/* to > '0', too. */
|
||||
/* <--------------------------------------------------------------------> */
|
||||
#define HANDLE_ALL_SAP_TYPS 1 /* if set to 0 only SAP-Typ 4 Servers */
|
||||
/* will be put into routing table and */
|
||||
/* if set to 1 all SAP Typs will be */
|
||||
/* used. */
|
||||
|
||||
#define PERSISTENT_SYMLINKS 0 /* change to '1' for persistent symlinks */
|
||||
/* main idea from Victor Khimenko */
|
||||
/* still NOT working !! */
|
||||
|
||||
/* <--------------- next is for linux only ----------------------------> */
|
||||
#define INTERNAL_RIP_SAP 1 /* use internal/own rip/sap routines */
|
||||
|
||||
#define SHADOW_PWD 0 /* change to '1' for shadow passwds */
|
||||
#define QUOTA_SUPPORT 0 /* change to '1' for quota support */
|
||||
|
||||
/* for sending 'Request being serviced' replys, /lenz */
|
||||
#define CALL_NWCONN_OVER_SOCKET 0
|
||||
|
@ -538,11 +538,13 @@ Erste 'oeffentliche' Version
|
||||
- trustee fix
|
||||
<----- ^^^^^^^^^^ pl19 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
- 01-Jun-00:trustee.c, SIG_SEGV error.
|
||||
- 22-Jun-00:added patches from Sergey Lentsov <lenz@mark.scc.lg.ua>
|
||||
- 22-Jun-00:added patches from Sergey Lentsov <lenz@mark.scc.lg.ua>
|
||||
- 14-Aug-00:added patch from Paolo Prandini <prandini@spe.it>
|
||||
(access to printerqueues,nwbind.c)
|
||||
- 15-Aug-00:correction for unix rights of trustee/attrib directory (x flag)
|
||||
(hint: Nagy Zoltan Mark)
|
||||
- 01-Sep-00:added real unix acces rights patch from Przemyslaw Czerpak
|
||||
<----- ^^^^^^^^^^ pl20 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
- 14-Jun-03:added patch from Marco Cavallini <m.cavallini@koansoftware.com>
|
||||
Clear Connection Number (nwbind.c)
|
||||
<----- ^^^^^^^^^^ pl21 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
@ -1,5 +1,9 @@
|
||||
Sorry, but this list will *never* be complete.
|
||||
-----------------------------------------------
|
||||
|
||||
Marco Cavallini <m.cavallini@koansoftware.com>
|
||||
added Clear Connection
|
||||
|
||||
Michael Beddow <m.beddow@servelan.co.uk>
|
||||
translated doc for PIPE-FS
|
||||
|
||||
|
52
makefile.unx
52
makefile.unx
@ -1,5 +1,5 @@
|
||||
#if 0
|
||||
#makefile.unx 30-May-00
|
||||
#makefile.unx 14-05-2003
|
||||
#endif
|
||||
|
||||
VPATH=$(V_VPATH)
|
||||
@ -9,7 +9,7 @@ C=.c
|
||||
|
||||
V_H=0
|
||||
V_L=99
|
||||
P_L=20
|
||||
P_L=21
|
||||
|
||||
#define D_P_L 1
|
||||
DISTRIB=mars_nwe
|
||||
@ -27,7 +27,7 @@ MAKEPATCH=diff -rub --new-file
|
||||
|
||||
DESTMAKEFILE=Makefile.o
|
||||
#if 0
|
||||
all: $(DESTMAKEFILE)
|
||||
all: $(DESTMAKEFILE)
|
||||
$(MAKE) -f $(DESTMAKEFILE) n_$@
|
||||
|
||||
routed: $(DESTMAKEFILE)
|
||||
@ -103,7 +103,7 @@ NWROUTE_O=nwroute1$(O)
|
||||
NWROUTED=
|
||||
# else
|
||||
# ifndef INTERNAL_RIP_SAP
|
||||
# define INTERNAL_RIP_SAP 1
|
||||
# define INTERNAL_RIP_SAP 1
|
||||
# endif
|
||||
EMUTLIOBJ=emutli$(O)
|
||||
# if INTERNAL_RIP_SAP
|
||||
@ -136,16 +136,16 @@ OBJ8= $(OBJ6)
|
||||
OBJ9= tools$(O) nwfname$(O) unxfile$(O) nwvolume$(O) nwattrib$(O) trustee$(O)
|
||||
|
||||
OBJS= $(EMUTLIOBJ) net1$(O) tools$(O) \
|
||||
$(EMUTLIOBJ1) $(NWROUTE_O) \
|
||||
connect$(O) namspace$(O) nwvolume$(O) nwfile$(O) unxfile$(O)\
|
||||
nwqconn$(O) nameos2$(O) nwfname$(O) nwshare$(O) extpipe$(O) \
|
||||
nwattrib$(O) trustee$(O) \
|
||||
nwdbm$(O) nwcrypt$(O) unxlog$(O) sema$(O) nwqueue$(O) \
|
||||
$(PROG2)$(O) $(PROG3)$(O) $(PROG4)$(O) $(PROG5)$(O) $(PROG6)$(O) \
|
||||
$(PROG7)$(O) $(PROG8)$(O) $(PROG9)$(O)
|
||||
$(EMUTLIOBJ1) $(NWROUTE_O) \
|
||||
connect$(O) namspace$(O) nwvolume$(O) nwfile$(O) unxfile$(O)\
|
||||
nwqconn$(O) nameos2$(O) nwfname$(O) nwshare$(O) extpipe$(O) \
|
||||
nwattrib$(O) trustee$(O) \
|
||||
nwdbm$(O) nwcrypt$(O) unxlog$(O) sema$(O) nwqueue$(O) \
|
||||
$(PROG2)$(O) $(PROG3)$(O) $(PROG4)$(O) $(PROG5)$(O) $(PROG6)$(O) \
|
||||
$(PROG7)$(O) $(PROG8)$(O) $(PROG9)$(O)
|
||||
|
||||
HOBJ3= $(PROG3)$(O) connect$(O) namspace$(O) nwvolume$(O) nwfile$(O) \
|
||||
unxfile$(O)
|
||||
unxfile$(O)
|
||||
|
||||
HOBJ6= $(PROG6)$(O) sema$(O)
|
||||
|
||||
@ -206,22 +206,22 @@ n_install:
|
||||
cd $(VPATH) && $(INSTALL) -d $(M_PATHNAME_PROGS) && cd $(OBJDIR)
|
||||
cd $(VPATH) && $(INSTALL) $(INSTALLPROGS) $(M_PATHNAME_PROGS) && cd $(OBJDIR)
|
||||
@-if [ -r /sbin/nwserv ] && [ -r /usr/sbin/nwserv ] ; then \
|
||||
echo "remove old version in /sbin ?" ; \
|
||||
(cd /sbin && rm -i nwserv nwbind ncpserv nwconn nwclient nwrouted) ; \
|
||||
fi ;
|
||||
echo "remove old version in /sbin ?" ; \
|
||||
(cd /sbin && rm -i nwserv nwbind ncpserv nwconn nwclient nwrouted) ; \
|
||||
fi ;
|
||||
@-if [ -r /etc/nwobj.pag ] ; then \
|
||||
( \
|
||||
( \
|
||||
if [ ! -r $(M_PATHNAME_BINDERY) ] ; then \
|
||||
if $(VPATH)/tools.sh yesno "move bindery files from /etc to $(M_PATHNAME_BINDERY) ?" ; then \
|
||||
mkdir -p $(M_PATHNAME_BINDERY); \
|
||||
(cd /etc && mv \
|
||||
nwiobj.pag nwiobj.dir nwobj.pag nwobj.dir \
|
||||
nwprop.pag nwprop.dir nwval.pag nwval.dir \
|
||||
$(M_PATHNAME_BINDERY) ) ; \
|
||||
fi; \
|
||||
fi; \
|
||||
) \
|
||||
fi ;
|
||||
if $(VPATH)/tools.sh yesno "move bindery files from /etc to $(M_PATHNAME_BINDERY) ?" ; then \
|
||||
mkdir -p $(M_PATHNAME_BINDERY); \
|
||||
(cd /etc && mv \
|
||||
nwiobj.pag nwiobj.dir nwobj.pag nwobj.dir \
|
||||
nwprop.pag nwprop.dir nwval.pag nwval.dir \
|
||||
$(M_PATHNAME_BINDERY) ) ; \
|
||||
fi; \
|
||||
fi; \
|
||||
) \
|
||||
fi ;
|
||||
@cd $(VPATH) && (if [ -r $(M_FILENAME_NW_INI) ] ; then \
|
||||
echo ""; \
|
||||
echo "********************************************************"; \
|
||||
|
143
mk.li
Executable file
143
mk.li
Executable file
@ -0,0 +1,143 @@
|
||||
#!/bin/sh
|
||||
# mk.li 15-Dec-99
|
||||
# please edit this file !
|
||||
|
||||
mk()
|
||||
{
|
||||
MYBASE=`pwd`;
|
||||
ERRFILE=$TMP/`basename $MYBASE`.err;
|
||||
rm -f $ERRFILE;
|
||||
if [ $V_VPATH = '..' ] ; then
|
||||
if [ ! -d $OBJDIR ] ; then mkdir $OBJDIR; fi
|
||||
cd $OBJDIR;
|
||||
fi
|
||||
if $MAKE -f $V_VPATH/makefile.unx $@ 2>&1;then true;else kill -HUP $MK_PPID;fi | tee $ERRFILE
|
||||
if [ $V_VPATH = '..' ] ; then
|
||||
cd ..;
|
||||
fi
|
||||
if [ -f $ERRFILE ] ; then
|
||||
chmod 666 $ERRFILE
|
||||
fi
|
||||
}
|
||||
|
||||
print_error()
|
||||
{
|
||||
echo ""
|
||||
echo "The errors are also reported in '$ERRFILE'"
|
||||
echo "============================================================="
|
||||
}
|
||||
|
||||
TOLOWER='tr "[A-Z]" "[a-z]"'
|
||||
UNX=`uname -s | $TOLOWER`
|
||||
MASCHINE=`uname -m`
|
||||
MK_PPID=$$
|
||||
export MK_PPID
|
||||
|
||||
trap 'print_error; exit 1' 1
|
||||
|
||||
case $UNX in
|
||||
linux)
|
||||
V_VPATH=".."
|
||||
OBJDIR="obj"
|
||||
CC=cc
|
||||
CPP="cc -E"
|
||||
# CFLAGS="-pipe -O2 -fomit-frame-pointer"
|
||||
# problems gcc2.5.8 ^^^^^^^^^^^^^^^^^^^^^
|
||||
# CFLAGS="-pipe -Wall -Dsignal=sysv_signal"
|
||||
CFLAGS="$RPM_OPT_FLAGS -pipe -Wall -D_GNU_SOURCE"
|
||||
|
||||
case $MASCHINE in
|
||||
sparc)
|
||||
HOSTCFLAGS="-DLINUX -DSPARC"
|
||||
;;
|
||||
*)
|
||||
HOSTCFLAGS="-DLINUX"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -f /usr/lib/libgdbm.a ] || [ -f /usr/lib/libgdbm.so ] ; then
|
||||
NDBMLIB="-lgdbm"
|
||||
else
|
||||
NDBMLIB="-ldbm"
|
||||
fi
|
||||
|
||||
if [ -f /usr/lib/libcrypt.so ] ; then
|
||||
CRYPTLIB="-lcrypt"
|
||||
else
|
||||
CRYPTLIB=""
|
||||
fi
|
||||
|
||||
if [ -f /usr/include/sys/quota.h ] ; then
|
||||
HOSTCFLAGS="$HOSTCFLAGS -DQTAINSYS"
|
||||
fi
|
||||
|
||||
NSLLIB=""
|
||||
MAKE=make
|
||||
TMP=/tmp
|
||||
INSTALL=install
|
||||
;;
|
||||
########### SYSV (UnixWare) ##############
|
||||
unix_sv)
|
||||
V_VPATH="."
|
||||
OBJDIR="."
|
||||
CC=cc
|
||||
CPP="cc -E"
|
||||
CFLAGS=
|
||||
HOSTCFLAGS=""
|
||||
NDBMLIB="/usr/ucblib/libucb.a"
|
||||
CRYPTLIB="-lgen"
|
||||
NSLLIB="-lnsl"
|
||||
MAKE=make
|
||||
TMP=/tmp
|
||||
INSTALL=/usr/ucb/install
|
||||
;;
|
||||
|
||||
########## FreeBSD ############
|
||||
# created by Boris Popov
|
||||
freebsd)
|
||||
V_VPATH=".."
|
||||
OBJDIR="obj"
|
||||
CC=gcc
|
||||
CPP="gcc -E"
|
||||
if [ "x$CFLAGS" = "x" ]; then
|
||||
CFLAGS="native"
|
||||
fi
|
||||
|
||||
HOSTCFLAGS="-DFREEBSD -DLINUX"
|
||||
|
||||
CRYPTLIB="-lcrypt -lipx"
|
||||
|
||||
NSLLIB=""
|
||||
MAKE=make
|
||||
TMP="./"
|
||||
INSTALL="install -c"
|
||||
;;
|
||||
|
||||
*) echo "mk.li: Unknown or not supported OS, probably you must set \$UNX"
|
||||
;;
|
||||
esac
|
||||
|
||||
## BEGIN try to pass around what the dbm is to the compiler (acli 19970709)
|
||||
case "$NDBMLIB" in
|
||||
*gdbm*)
|
||||
HOSTCFLAGS="$HOSTCFLAGS -DUSE_GDBM"
|
||||
;;
|
||||
esac
|
||||
## END
|
||||
|
||||
|
||||
export CC
|
||||
export CPP
|
||||
if [ "X$CFLAGS" != "Xnative" ]; then
|
||||
export CFLAGS
|
||||
fi
|
||||
export HOSTCFLAGS
|
||||
export NDBMLIB
|
||||
export CRYPTLIB
|
||||
export NSLLIB
|
||||
export TMP
|
||||
export INSTALL
|
||||
export V_VPATH
|
||||
export OBJDIR
|
||||
|
||||
mk $@
|
889
nw.ini
Normal file
889
nw.ini
Normal file
@ -0,0 +1,889 @@
|
||||
#
|
||||
# This is the configuration-file for "mars_nwe", a free netware-emulator
|
||||
# for Linux.
|
||||
#
|
||||
# last changed: 01-Sep-00
|
||||
# new volume flag 'x' for unix access rights (Przemyslaw Czerpak) 0.99.pl20
|
||||
# comment out second printer and printserver entry in 0.99.pl20
|
||||
# debug log section changed some values to '1' in 0.99.pl20
|
||||
#
|
||||
# !! section 31 : flags added in 0.99.pl18, but not used
|
||||
# !! section 8 : new flags added in 0.99.pl18 !!
|
||||
# !! section 9 : default directory/file umask changed in 0.99.pl9 !!
|
||||
# !! section 46 : default attrib location changed in 0.99.pl9 !!
|
||||
# !! section 5 : deleting of ipx devices/routes changed in 0.99.pl6 !!
|
||||
# !! section 4 : automatic creation of ipx-interfaces changed in 0.98.pl9 !!
|
||||
#
|
||||
# since version 0.98.pl11:
|
||||
# the most important options in config.h can now be altered in
|
||||
# this file begin at section 60.
|
||||
#
|
||||
# Most configuration errors depend on section 4.
|
||||
# !! Please read section 4 very carefully. !!
|
||||
#
|
||||
|
||||
# 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:
|
||||
# - everything after a "#" is treated as a comment (particularly
|
||||
# it does never belong to the values themselves)
|
||||
# - entries _must_ begin with a number, indicating the section
|
||||
# they belong to
|
||||
# - hexadecimal values are prepended by "0x"
|
||||
#
|
||||
# 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)
|
||||
#
|
||||
# In this section you list all Linux-directories accessible via "mars_nwe".
|
||||
#
|
||||
# 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
|
||||
# using "map.exe").
|
||||
#
|
||||
# Linux-directory mars_nwe-volume map.exe DOS-Drive
|
||||
# /var/local/nwe/SYS -------> SYS -------------> W:
|
||||
#
|
||||
# More than one entry is allowed in this section.
|
||||
# The maximum number of volumes must be specified in `config.h'
|
||||
# or in section 61 in this file.
|
||||
#
|
||||
# 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
|
||||
# and the info to section 16 (tests on startup) in this file.
|
||||
#
|
||||
# !! NOTE !!
|
||||
# First defined volume should always named 'SYS'.
|
||||
#
|
||||
#
|
||||
# -------------------------------------------------------------------------
|
||||
# Syntax:
|
||||
# 1 VOLUMENAME DIRECTORY [OPTIONS] [UMASKDIR UMASKFILE]
|
||||
#
|
||||
# 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.
|
||||
# A directory entry like "~/tmp" also work since 0.99.pl3.
|
||||
#
|
||||
# If the netadmin wants to map the homedirectories with the MAP-Command to
|
||||
# every user, he can do it in two variants:
|
||||
# We suppose that the user test2 is logged in MARS_NWE. He has files
|
||||
# earlier stored in his homedirectory /home/test2.
|
||||
# In case of entry 1 in /etc/nwserv.conf (naturally amongst other entries)
|
||||
# there are other results of the MAP-command.
|
||||
#
|
||||
# Variant 1 Variant 2
|
||||
#
|
||||
#DOS-Command MAP H:=MARS\HOMEDIR: MAP H:=MARS\HOMEDIR:
|
||||
#
|
||||
#Entry in /etc/nwserv.conf
|
||||
# 1 HOMEDIR ~ k 1 HOMEDIR /home k
|
||||
#
|
||||
#Result of DIR *.* All files stored in All homedirs of the
|
||||
# /home/test2 will shown. users will shown.
|
||||
# Showing his own files
|
||||
# it is a command like
|
||||
# CD test2 and then
|
||||
# dir *.* necessary.
|
||||
#
|
||||
# OPTIONS: none or some of the following characters (without a seperator)
|
||||
# - Placeholder.
|
||||
#
|
||||
# Next two options control DOS and OS/2 namespace.
|
||||
# i ignore case, handle mixing upper/lowercase filenames (slow)
|
||||
# should only be used if you really need it.
|
||||
# k use lowercase-filenames (if you don't set this,
|
||||
# and you don't set 'i' all files _must_ be upper-case)
|
||||
#
|
||||
# m removable volume (e.g. cd-roms) or volumes, which
|
||||
# should be remountable when mars_nwe is running.
|
||||
# n (n)o fixed inodes. This volume do not have fixed inodes.
|
||||
# e.g. DOS-Volumes, CD-ROMS. This flag is very important for
|
||||
# attrib and trustee handling.
|
||||
# o (lowercase 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 for distinguish
|
||||
# between several devices/namespaces for one volume.
|
||||
# p "PIPE"-filesystem. All files are pipe commands.
|
||||
# See `doc/PIPE-FS'.
|
||||
# r volume is read-only and always reports "0 byte free"
|
||||
# (this is intended for copies of CD-ROMs on harddisks)
|
||||
# t volume has trustees.
|
||||
# Real access is trustee rights + unix rights.
|
||||
# Trustees are stored in extra directories,
|
||||
# normally under /var/nwserv/trustees.
|
||||
# Must only be used for volume which have fix inodes.
|
||||
# A volume with trustees should never be renamed.
|
||||
# For some more notes see 'doc/TRUSTEES'.
|
||||
# x use unix access rights (for use with ACL)
|
||||
# T volume has trustees & ignore the rights granted in UN*X filesystem
|
||||
# exactly like option "t" except that the unix rights are not added
|
||||
#
|
||||
# additional Namespaces
|
||||
# O (uppercase o)
|
||||
# + OS/2 namespace (useful for Win95 clients, see doc/FAQS).
|
||||
# N + NFS namespace (not really tested).
|
||||
#
|
||||
#
|
||||
# UMASKDIR: default directory creat umask.
|
||||
# UMASKFILE: default file creat umask.
|
||||
# values are always octal, they overwrite standard
|
||||
# section 9 values for this specific volume.
|
||||
#
|
||||
# -------------------------------------------------------------------------
|
||||
#
|
||||
# Examples:
|
||||
# 1 SYS /var/local/nwe/SYS kt 711 600
|
||||
# 1 CDROM /cdrom kmnor
|
||||
# 1 HOME ~ k -1
|
||||
# 1 HOMETMP ~/tmp kiO
|
||||
# 1 PRIVAT ~/privat kO 700 600
|
||||
# 1 WORLD /var/world kiO 777 666
|
||||
# 1 FAXQ /var/spool/fax/faxqueue k
|
||||
|
||||
1 SYS /u3/SYS/ kt 711 600
|
||||
|
||||
|
||||
# =========================================================================
|
||||
# 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 # name of the server would be "MARS"
|
||||
|
||||
|
||||
# =========================================================================
|
||||
# Section 3: Number of the internal network (required)
|
||||
#
|
||||
# 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 and it only works if your Linux-Box IP is well configured.
|
||||
#
|
||||
# Please note that you have to specify the address of your "internal
|
||||
# ipx-network" in hexadecimal format (the leading "0x" indicates it).
|
||||
#
|
||||
#
|
||||
# -------------------------------------------------------------------------
|
||||
# Syntax:
|
||||
# 3 INTERNAL_NET [NODE]
|
||||
#
|
||||
# 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)
|
||||
# -------------------------------------------------------------------------
|
||||
#
|
||||
# Example:
|
||||
# 3 auto 1 # 'automatic' setup, use ip-number as internal net
|
||||
|
||||
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 "nwrouted".
|
||||
# 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 creat all ipx-devices
|
||||
# automatically for you. This is only possible (and only makes sense then)
|
||||
# if there are other IPX/NCP servers on the same net which are setup
|
||||
# correctly. It can be switched on in section '5'.
|
||||
# -------------------------------------------------------------------------
|
||||
# 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 use the entry
|
||||
# for all network number match.
|
||||
#
|
||||
# DEVICE: the network-interface associated with the NET_NUMBER. Use
|
||||
# a "*" (star) to use this entry for all devices match.
|
||||
#
|
||||
# FRAME: the frame-type of the data-packets on your local network.
|
||||
# Possible values are:
|
||||
#
|
||||
# ethernet_ii :best for mixed(ipx, ip) environments
|
||||
# 802.2 :Novell uses this as default since 3.12
|
||||
# 802.3 :older frame typ, some boot proms use it
|
||||
# snap :normally not used
|
||||
# token :for token ring cards
|
||||
# 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), default=1
|
||||
# Note: If ticks > 6 then the internal router handles
|
||||
# RIP/SAP specially. (RIP/SAP filtering)
|
||||
#
|
||||
# !! NOTE !!
|
||||
# Automatic detection in this section means that ipx-interfaces which
|
||||
# are created by other instances than the server/router,
|
||||
# e.g. pppd, ipppd or ipx_interface, will be detected and inserted/removed
|
||||
# in internal device/routing table at runtime.
|
||||
#
|
||||
# Automatic kernel creation of interfaces can be switched on in section 5.
|
||||
# -------------------------------------------------------------------------
|
||||
#
|
||||
# Examples:
|
||||
# 4 0x10 eth0 802.3 1 # setup ethernet with frame 802.3
|
||||
# 4 0xa20 arc0 802.3 1 # standard arcnet (TRXNET)
|
||||
#
|
||||
# 4 0x0 * AUTO 1 # auto detection of all ipx-interfaces.
|
||||
# 4 0x0 eth0 AUTO 1 # auto detection of eth0 frames.
|
||||
# 4 0x0 eth0 802.2 1 # auto detection of eth0 frame 802.2.
|
||||
#
|
||||
# Note: If ticks > 6 then the internal router handles RIP/SAP specially.
|
||||
# (RIP/SAP filtering)
|
||||
# 4 0x0 isdn0 802.3 7 # auto isdn interface with ethernet encap.
|
||||
# 4 0x0 ippp0 AUTO 7 # auto ippp0 (isdn ppp) interface.
|
||||
# 4 0x0 ppp0 AUTO 7 # auto detection of ppp0 interface.
|
||||
|
||||
|
||||
4 0x22 eth0 ethernet_ii 1
|
||||
4 0x0 * AUTO 1
|
||||
|
||||
# Section 5: special device flags
|
||||
# =========================================================================
|
||||
# Flags
|
||||
# 0x1 do not remove by nwserv/nwrouted added routes and ipx-devices
|
||||
# beyond the lifetime of the server or router.
|
||||
# If this flag is not set then all by nwserv/nwrouted added
|
||||
# ipx-devices/routes will be deleted when
|
||||
# nwserv/nwrouted ends and if no ipx socket is still
|
||||
# open. (default).
|
||||
#
|
||||
# 0x2 Switch on automatic kernel creation of ipx-interfaces.
|
||||
# The automatic kernel creating of ipx-devices sometimes
|
||||
# make trouble (Win95). It should only be used in the
|
||||
# beginning or for testing !!
|
||||
#
|
||||
# 0x4 do remove ALL routes and ipx-devices
|
||||
# beyond the lifetime of the server or router.
|
||||
# If this flag is set then all ipx-devices/routes
|
||||
# will be deleted when nwserv/nwrouted ends,
|
||||
# without looking for open ipx sockets.
|
||||
# This was the default prior mars_nwe 0.99.pl6 !
|
||||
# This also do complete ipx reinit when starting
|
||||
# mars_nwe.
|
||||
# This was the default prior mars_nwe 0.99.pl9 !
|
||||
#
|
||||
#
|
||||
#
|
||||
# other flags may follow.
|
||||
# value will be interpreted as hex value.
|
||||
|
||||
5 0x0
|
||||
|
||||
# =========================================================================
|
||||
# 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.
|
||||
# -------------------------------------------------------------------------
|
||||
# Syntax:
|
||||
# 6 SERVER_VERSION [FLAGS]
|
||||
#
|
||||
# SERVER_VERSION: the version-number reported to DOS-clients
|
||||
# 0 Version 2.15 (was default till version 0.98.pl7)
|
||||
# 1 Version 3.11 (is default now)
|
||||
# 2 Version 3.12
|
||||
#
|
||||
# If you want to use longfilenamesupport and/or namespace routines
|
||||
# you should set this section to '1' or '2'
|
||||
# And you should read doc/FAQS.
|
||||
#
|
||||
# FLAGS: some flags
|
||||
# &1 enable burst mode connections.
|
||||
# If you want to test Burst mode this flag must be set.
|
||||
# and in config.h you must set ENABLE_BURSTMODE to 1.
|
||||
#
|
||||
# other flags may follow.
|
||||
# value will be interpreted as hex value.
|
||||
# -------------------------------------------------------------------------
|
||||
#
|
||||
6 1 0x0
|
||||
|
||||
|
||||
# =========================================================================
|
||||
# Section 7: password handling of DOS-clients (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 Value
|
||||
#
|
||||
# Value:
|
||||
# 0 enforce encryption of _all_ passwords by the DOS-client
|
||||
# (default)
|
||||
# 1 as "0", but allow the non-encrypted version of the
|
||||
# "change password"-routine.
|
||||
# 7 allow all non-encrypted stuff but no empty nwe passwords.
|
||||
# 8 allow all non-encrypted stuff and also allow empty
|
||||
# nwe-passwords.
|
||||
# 9 use all non-encryted calls + "get crypt key" will always fail
|
||||
# so the login program will use the old unencryted calls.
|
||||
# this will *not* work with all clients !! (OS2/client)
|
||||
# -------------------------------------------------------------------------
|
||||
|
||||
7 0
|
||||
|
||||
|
||||
# Section 8: special login/logout/security and other flags.
|
||||
# =========================================================================
|
||||
# Flags
|
||||
# 0x1 allow changing dir/accessing other files than login/*
|
||||
# when not logged in, if the client supports it.
|
||||
# ( this was standard till mars_nwe-0.98.pl4 )
|
||||
#
|
||||
# 0x2 switch on strange compatibility mode for opening files.
|
||||
# If an opencall do an open for writing but
|
||||
# the file is readonly then this call will not fail
|
||||
# but open the file readonly.
|
||||
#
|
||||
# 0x4 allow the rename file call (NCP function 0x45)
|
||||
# renaming of directories.
|
||||
# normally the rename file call returns an error if this
|
||||
# routine is used for renaming directories.
|
||||
#
|
||||
# 0x8 ignore station/time restrictions for supervisor.
|
||||
#
|
||||
# 0x10 allows deleting a file even if the file is opened by
|
||||
# other process.
|
||||
# ( this was standard before mars_nwe-0.99.pl0 )
|
||||
#
|
||||
# 0x20 store file base entries for later use.
|
||||
# Normally only directory base entries are stored.
|
||||
# necessary if using ncpfs as mars_nwe client.
|
||||
#
|
||||
# 0x40 limit's volume's free space info to 2 GB.
|
||||
# in some volume info calls.
|
||||
# some DOS clients need it.
|
||||
#
|
||||
# 0x80 allows renaming a file even if the file is opened by
|
||||
# other process.
|
||||
# ( this was standard before mars_nwe-0.99.pl18 )
|
||||
#
|
||||
# 0x100 not used yet.
|
||||
#
|
||||
# 0x200 needed for direct int17 printing on NETX clients
|
||||
# (patch from Przemyslaw Czerpak)
|
||||
#
|
||||
# other flags may follow.
|
||||
# value will be interpreted as hex value.
|
||||
|
||||
8 0x0
|
||||
|
||||
# Section 9: Standard creat mode for creating directories and files.
|
||||
# =========================================================================
|
||||
#
|
||||
# mkdir mode (creat mode directories), creat mode files
|
||||
# values are always interpreted as octal values !
|
||||
# if 0 is specified the standard umask will be used.
|
||||
# if -1 is specified for directories the st_mode of parent directory
|
||||
# will be used.
|
||||
# Volumes depended values can be set in section 1.
|
||||
# 9 -1 0640
|
||||
#
|
||||
9 0751 0640
|
||||
|
||||
# Section 10: 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
|
||||
#
|
||||
# GID numeric number of the group
|
||||
# UID numeric number of the user
|
||||
# -------------------------------------------------------------------------
|
||||
#
|
||||
# Example:
|
||||
# 10 65534
|
||||
# 11 65534
|
||||
|
||||
10 65534
|
||||
11 65534
|
||||
|
||||
|
||||
# =========================================================================
|
||||
# Section 12: supervisor-login (required)
|
||||
#
|
||||
# The "supervisor" of a nw-server is much like "root" on the Linux-side.
|
||||
#
|
||||
# Specify a Linux-user that should be mapped to the supervisor of this
|
||||
# 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.
|
||||
#
|
||||
# The nw-user defined in this section will have the mars_nwe internal UID
|
||||
# "1" (remember even under Linux "root" must have the special UID "0"), so
|
||||
# it is not possible to define a supervisor in section 13 (the users
|
||||
# defined there will get random UIDs).
|
||||
# You _can_ define a user with name "SUPERVISOR" in section 13, but he
|
||||
# won't really be the "local god" on the "mars_nwe"-server.
|
||||
# And of course you _can_ define a supervisor with name "GOD" or "ROOT"
|
||||
# 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:
|
||||
# 12 SUPERVISOR nw-adm top-secret
|
||||
|
||||
12 SUPERVISOR root
|
||||
|
||||
|
||||
# =========================================================================
|
||||
# Section 13: user-logins (optional)
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# You may also map different mars_nwe user to the same unix user.
|
||||
#
|
||||
# See section 12 for a description of the syntax.
|
||||
#
|
||||
# Unlike in section 12, you can define users with no password.
|
||||
# If you explizit want to set 'no password' here then use
|
||||
# a '-' sign as password.
|
||||
# -------------------------------------------------------------------------
|
||||
# Syntax:
|
||||
# 13 NW_LOGIN [LINUX_LOGIN] [PASSWORD] [FLAGS]
|
||||
#
|
||||
# FLAGS must be a hex value begin with 0x
|
||||
# the only FLAG value in the moment is 0x1 for 'fixed passwords'
|
||||
# which cannot be changed by user.
|
||||
# Example:
|
||||
# 13 MARTIN
|
||||
# 13 MARTIN martin
|
||||
# 13 DAREK martin
|
||||
# 13 COMMON common gast 0x1 # no password change by user.
|
||||
# 13 COMMON common 0x1 # syntax is allowed too.
|
||||
|
||||
13 GUEST nobody - 0x1
|
||||
|
||||
# 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:
|
||||
# 15 FLAG DEFAULT_PASSWORD
|
||||
#
|
||||
# FLAG:
|
||||
# 0 DON'T map the Linux-logins automatically to
|
||||
# "mars_nwe"-logins (default)
|
||||
# 1 YES, DO the automatic mapping and provide every login
|
||||
# created this way with the common password given with
|
||||
# "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
|
||||
|
||||
|
||||
# =========================================================================
|
||||
# Section 16: Tests on startup
|
||||
#
|
||||
# If you want some sanity checks at startup, set this flag to > 0.
|
||||
# "mars_nwe" will try to create/change missing directories:
|
||||
# SYS:LOGIN, SYS:MAIL, SYS:MAIL/XXX, SYS:PUBLIC, SYS:SYSTEM ...
|
||||
# (with the "right" permissions, of course) if you enable this.
|
||||
# should also be enabled when you use a new mars_nwe version.
|
||||
# Disabling this test only spares little time when starting mars_nwe.
|
||||
# some values:
|
||||
# 1 few important tests.
|
||||
# 2 also check/compress bindery.
|
||||
|
||||
16 1
|
||||
|
||||
|
||||
# Section 17: some bindery / user related flags.
|
||||
# =========================================================================
|
||||
# Flags
|
||||
# 0x1 give all user an empty! login script, if they do not
|
||||
# already have one. Is interpreted by test routines
|
||||
# which run if section 16 is set and nwserv starts
|
||||
# or got a SIGHUP. ( nwserv -h )
|
||||
#
|
||||
# other flags may follow.
|
||||
# value will be interpreted as hex value.
|
||||
|
||||
17 0x0
|
||||
|
||||
# Section 18: some queue handling related flags.
|
||||
# =========================================================================
|
||||
# Flags
|
||||
# 0x1 always unset (disable) the print banner flag.
|
||||
#
|
||||
# other flags may follow.
|
||||
# value will be interpreted as hex value.
|
||||
18 0x0
|
||||
|
||||
# Section 19-20: currently not used
|
||||
|
||||
|
||||
# =========================================================================
|
||||
# Section 21: print queues (optional)
|
||||
#
|
||||
# Which of the printers connected to your Linux-box should be 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 on client-side (to make it
|
||||
# perfectly clear: _not_ the Linux-queue)
|
||||
# QUEUE_DIR: spooling directory for the print-jobs.
|
||||
# The name is the DOS (not Unix) name of this
|
||||
# directory.
|
||||
# It must be placed on the first defined volume.
|
||||
# (standard name is SYS volume).
|
||||
# Then it will be created at starttime of mars_nwe.
|
||||
# It must exist before printing.
|
||||
# (_not_ the spooling-directories of the Linux-lpd)
|
||||
# NOTE !
|
||||
# A '-' sign as QUEUE_DIR has special meaning of
|
||||
# 'standard' queuedir name. ( SYS:\SYSTEM\queueid.QDR )
|
||||
#
|
||||
# PRINT_COMMAND: command used for serving the print-jobs under Linux
|
||||
# (see "man lpr" and "man magicfilter" for details)
|
||||
# if the '!' is last parameter of command then
|
||||
# the queue-packet fields 'banner_user_name'
|
||||
# and 'banner_file_name' will be added to the
|
||||
# command as last parameters.
|
||||
# NOTE !
|
||||
# If a print command is not specified the job can/must be
|
||||
# printed by any print server.
|
||||
# (e.g. pserver (ncpfs utils) or external printserver)
|
||||
#
|
||||
# Examples:
|
||||
# 21 LASER - lpr -Plaser
|
||||
# 21 OCTOPUSS
|
||||
# 21 FAXPRINT - /usr/bin/psfaxprn /var/spool/fax/faxqueue
|
||||
# -------------------------------------------------------------------------
|
||||
21 LP - lpr -
|
||||
#21 LP_PS
|
||||
|
||||
|
||||
|
||||
# =========================================================================
|
||||
# Section 22: print server entries (optional)
|
||||
# adds printserver entries into bindery
|
||||
# e.g. to enable printing with ncpfs pserver
|
||||
# -------------------------------------------------------------------------
|
||||
# Syntax:
|
||||
# 22 PSERVER_NAME QUEUE_NAME [FLAGS]
|
||||
#
|
||||
# FLAGS:
|
||||
# 1 Let PSERVER_NAME be a 'normal' user (type 1).
|
||||
# Used for simple qserver which works under 'normal' user login.
|
||||
#
|
||||
# Examples:
|
||||
# 22 PS1 OCTOPUSS
|
||||
|
||||
#22 PS_NWE LP_PS 1
|
||||
|
||||
|
||||
# =========================================================================
|
||||
# Section 30: Burst mode values (optional)
|
||||
#
|
||||
# -------------------------------------------------------------------------
|
||||
# Syntax:
|
||||
# 30 MAX_BURST_READ_BUF MAX_BURST_WRITE_BUF
|
||||
# default is 0x2000 0x2000
|
||||
# Examples:
|
||||
# 30 0x2000 0x2000
|
||||
|
||||
|
||||
# =========================================================================
|
||||
# Section 31: not used yet
|
||||
# =========================================================================
|
||||
# Flags not used yet
|
||||
#
|
||||
31 0x0
|
||||
|
||||
# =========================================================================
|
||||
# Section 40ff: Some pathes (optional)
|
||||
#
|
||||
# -------------------------------------------------------------------------
|
||||
# 40 = path for vol/dev/inode->path cache, needed for client-32,namespace
|
||||
40 /var/spool/nwserv/.volcache
|
||||
# 41 = path for share/lock files
|
||||
41 /var/spool/nwserv/.locks
|
||||
# 42 = path for spool dir, e.g. internal print queue handling
|
||||
42 /var/spool/nwserv
|
||||
#
|
||||
#
|
||||
# 45 = path for bindery file's
|
||||
45 /var/nwserv/db
|
||||
# 46 = path for attribute handling
|
||||
46 /var/nwserv/attrib
|
||||
# 47 = path for trustee handling
|
||||
47 /var/nwserv/trustees
|
||||
# =========================================================================
|
||||
# Section 50: Conversion tables by Victor Khimenko <khim@mccme.ru>
|
||||
# Tables for DOS->Unix names translation & upper/lowercase translations
|
||||
# For more information see doc/README.NLS
|
||||
# some examples files exist in the examples directory.
|
||||
# Conversation file must include 4 tables a 256 byte.
|
||||
# 0 = dos2unix
|
||||
# 1 = unix2dos
|
||||
# 2 = down2up 'dosname'
|
||||
# 3 = up2down 'dosname'
|
||||
# -------------------------------------------------------------------------
|
||||
# Syntax:
|
||||
# 50 Filename of conversation file.
|
||||
#
|
||||
# Examples:
|
||||
# 50 /etc/nwserv.cnv
|
||||
|
||||
|
||||
# Changing defaults from config.h
|
||||
# more information in config.h
|
||||
# 60 10 # MAX_CONNECTIONS
|
||||
# 61 10 # MAX_NW_VOLS
|
||||
# 63 50 # MAX_DIR_BASE_ENTRIES
|
||||
|
||||
# 68 1 # USE_MMAP (use mmap=1, no mmap=0)
|
||||
# 69 1 # HANDLE_ALL_SAP_TYPS (all sap typs=1, only typ 4=0)
|
||||
|
||||
# 70 0x44444444 # NETWORK_SERIAL_NMBR (4 byte)
|
||||
# 71 0x2222 # NETWORK_APPL_NMBR (2 byte)
|
||||
|
||||
|
||||
# --------------------------------------------------------
|
||||
# You usally don't want to change anything below this line
|
||||
# --------------------------------------------------------
|
||||
|
||||
# Sections 80-99: some more constants
|
||||
# 80 50 # max_dir_search_handles (namspace.c)
|
||||
|
||||
# Sections 100-106: amount of debug-information
|
||||
#
|
||||
# FLAG:
|
||||
# 0 no debug messages
|
||||
# 1 errors and notes are reported
|
||||
# 99 maximum debug levels
|
||||
|
||||
100 0 # debug IPX KERNEL (0 | 1)
|
||||
101 1 # debug NWSERV
|
||||
102 1 # debug NCPSERV
|
||||
103 1 # debug NWCONN
|
||||
104 0 # debug (start) NWCLIENT, should *always* be '0' !
|
||||
105 1 # 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 /var/log/nw.log # filename of logfile
|
||||
#201 syslog # if filename == syslog then syslogd will be used for
|
||||
# all messages
|
||||
|
||||
202 0x1 # flag in hex notation
|
||||
# 0x0=append all messages to logfile.
|
||||
# & 0x1=creat new logfile instead of appending.
|
||||
#202 0x3 # & 0x2=use syslogd for error messages instead of 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 /var/log/nw.routes # filename of logfile
|
||||
|
||||
302 0x1 # flags will be interpreted as hex value.
|
||||
# 0 = append to this file
|
||||
# & 0x1 = creat new routing info file
|
||||
# & 0x2 = split info into several files
|
||||
# (extensions = .1, .2, .3 ... )
|
||||
|
||||
# Section 310: watchdogs
|
||||
|
||||
310 7 # send wdog's only to device net < x ticks.
|
||||
# 0 = always 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 always enabled.
|
||||
# 1 = 400 are excludes, get nearest response normally enabled.
|
||||
# 2 = 400 are includes, get nearest response normally disabled.
|
||||
|
||||
# Section 402: station connect restrictions
|
||||
#
|
||||
# for special handling of the 'creat connection' (attach) call.
|
||||
402 0 # 0 = ignore entry 400, create connection always enabled.
|
||||
# 1 = 400 are excludes, create connection normally enabled.
|
||||
# 2 = 400 are includes, create connection normally disabled.
|
||||
|
48
nwbind.c
48
nwbind.c
@ -1,5 +1,7 @@
|
||||
/* nwbind.c */
|
||||
#define REVISION_DATE "14-Aug-00"
|
||||
|
||||
#define REVISION_DATE "14-Jun-03" // (M@K)
|
||||
|
||||
/* NCP Bindery SUB-SERVER */
|
||||
/* authentification and some message and queue handling */
|
||||
|
||||
@ -25,6 +27,7 @@
|
||||
* mst:25-Apr-00: added login control routines from Paolo Prandini
|
||||
* mst:25-Apr-00: added simple example for getting nwconn data
|
||||
* mst:14-Aug-00: added patch from Poalo Prandini
|
||||
* mck:14-Jun-2003: added patch from Marco Cavallini (M@K)
|
||||
*
|
||||
*/
|
||||
|
||||
@ -53,6 +56,10 @@ static ipxAddr_t from_addr; /* actual calling address */
|
||||
static NCPREQUEST *ncprequest = (NCPREQUEST*)&ipx_in_data;
|
||||
static int server_goes_down=0;
|
||||
|
||||
|
||||
static void nwconn_callback(int connection, char *data, int data_len, int completition) ;
|
||||
|
||||
|
||||
static void write_to_nwserv(int what, int connection, int mode,
|
||||
char *data, int size)
|
||||
{
|
||||
@ -512,9 +519,10 @@ static void handle_fxx(int gelen, int func)
|
||||
rdata = requestdata+3;
|
||||
}
|
||||
|
||||
MDEBUG(D_BIND_REQ, {
|
||||
// MDEBUG(D_BIND_REQ,
|
||||
{
|
||||
int j = gelen - sizeof(NCPREQUEST);
|
||||
XDPRINTF((1, 0, "NCP 0x%x REQUEST:ufunc:0x%x", func, ufunc));
|
||||
XDPRINTF((1, 0, "KNCP 0x%x REQUEST:ufunc:0x%x", func, ufunc));
|
||||
if (j > 0){
|
||||
uint8 *p=requestdata;
|
||||
XDPRINTF((1, 2, "len %d, DATA:", j));
|
||||
@ -525,7 +533,8 @@ static void handle_fxx(int gelen, int func)
|
||||
}
|
||||
XDPRINTF((1, 1, NULL));
|
||||
}
|
||||
})
|
||||
}
|
||||
// )
|
||||
|
||||
if (0x15 == func) {
|
||||
switch (ufunc) { /* Messages */
|
||||
@ -1731,19 +1740,21 @@ static void handle_fxx(int gelen, int func)
|
||||
|
||||
case 0xc8 : { /* CHECK CONSOLE PRIVILEGES */
|
||||
/* to use fileserver service functions */
|
||||
XDPRINTF((1, 0, "MAKE BETTER: CHECK CONSOLE PRIV"));
|
||||
XDPRINTF((1, 0, "MAKE BETTER: CHECK CONSOLE PRIV (M@K)"));
|
||||
/* !!!!!! TODO completition=0xc6 (no rights) */
|
||||
if (!(act_c->id_flags&1))
|
||||
completition=0xc6; /* no rights */
|
||||
completition=0; /* no rights (M@K) */
|
||||
// completition=0xc6; /* no rights */
|
||||
} break;
|
||||
|
||||
case 0xc9 : { /* GET FILE SERVER DESCRIPTION STRINGs */
|
||||
char *company = "Mars :-)";
|
||||
char *revision = "Version %d.%d.pl%d";
|
||||
char *company = "KoanSoftware.com";
|
||||
char *revision = "Version %d.%d.pl%d [KOAN]"; // (M@K)
|
||||
char *revision_date = REVISION_DATE;
|
||||
char *copyright = "(C)opyright Martin Stover";
|
||||
char *copyright = "(C)M.Stover";
|
||||
int k=strlen(company)+1;
|
||||
int l;
|
||||
|
||||
memset(responsedata, 0, 512);
|
||||
strcpy(responsedata, company);
|
||||
l = 1 + sprintf(responsedata+k, revision,
|
||||
@ -1793,6 +1804,25 @@ static void handle_fxx(int gelen, int func)
|
||||
}
|
||||
break;
|
||||
|
||||
case 0xd2 : { /* Clear Connection Number (M@K) */
|
||||
/* 14-Jun-2003 by Marco Cavallini */
|
||||
uint8 conxnumber = *rdata - 1 ; // pointer to NCPREQUEST structure (receive aligned to 1 and we must align to 0)
|
||||
char buf[255] ;
|
||||
CONNECTION *cn=&connections[conxnumber];
|
||||
|
||||
sprintf(buf, "(M@K) Clear Connection Number = %d <==========", conxnumber);
|
||||
XDPRINTF((1, 0, buf));
|
||||
if (cn->active) {
|
||||
strmaxcpy(cn->message, "MARS_NWE has killed your connection", 58);
|
||||
sprintf(buf, "(M@K) KILL = Conn=%d PID=%d", conxnumber, cn->pid_nwconn);
|
||||
XDPRINTF((1, 0, buf));
|
||||
nwserv_handle_msg(conxnumber+1); // send message to the client
|
||||
if (cn->pid_nwconn > -1)
|
||||
kill(cn->pid_nwconn, SIGTERM); // kill it using brute force (M@K)
|
||||
}
|
||||
|
||||
} break;
|
||||
|
||||
case 0xd3 : { /* down File Server */
|
||||
internal_act=1;
|
||||
if (HAVE_SU_RIGHTS(act_c->object_id)) { /* only SUPERVISOR */
|
||||
|
5
nwserv.c
5
nwserv.c
@ -1238,6 +1238,9 @@ static int server_is_down=0;
|
||||
|
||||
static int usage(char *prog)
|
||||
{
|
||||
fprintf(stderr, "============== mars_nwe by Koan ===============\n\n") ; // (M@)
|
||||
|
||||
|
||||
#if IN_NWROUTED || INTERNAL_RIP_SAP
|
||||
fprintf(stderr, "usage:\t%s [-V|-h|-f|-u|-k[q]|y]\n", prog);
|
||||
fprintf(stderr, "or:\t%s -a device frame netnum\n", prog);
|
||||
@ -1327,7 +1330,7 @@ int main(int argc, char **argv)
|
||||
case 'f' : init_mode = 5; break;
|
||||
case 'q' : if (init_mode == 2) init_mode=4; break;
|
||||
case 'v' :
|
||||
case 'V' : fprintf(stderr, "\n%s:Version %d.%d.pl%d\n",
|
||||
case 'V' : fprintf(stderr, "\n%s:Version %d.%d.pl%d [ KOAN ]\n",
|
||||
argv[0], _VERS_H_, _VERS_L_, _VERS_P_ );
|
||||
return(0);
|
||||
default : return(usage(argv[0]));
|
||||
|
Loading…
Reference in New Issue
Block a user