Restructure for camke build

This commit is contained in:
Mario Fetka
2011-11-13 17:37:22 +01:00
parent 79813c691a
commit 0fbc9baf41
102 changed files with 771 additions and 201 deletions

101
doc/old/Makefile Normal file
View File

@@ -0,0 +1,101 @@
# Makefile mars_nwe: 10-Feb-96
VPATH=
.EXPORT_ALL_VARIABLES:
# defaults, can be overwritten in mk.li
V_VPATH=..
OBJDIR=obj
all: rmeflag mk.li config.h nw.ini
@if [ -r .eflag ] ; then \
echo ""; \
echo "********************************************************"; \
cat .eflag; rm -f .eflag; \
echo "";\
echo "Please make your changes and run make again"; \
echo "********************************************************"; \
echo "";\
echo ""; else ./mk.li && (\
if [ -r .mk.notes ] ; then echo "" ; \
echo ""; \
echo "********************************************************" ; \
echo ""; \
cat .mk.notes; rm -f .mk.notes ; \
echo ""; \
echo "********************************************************" ; \
echo ""; echo "" ; fi ) fi
routed:
./mk.li $@
install:
./mk.li $@
reboot:
./mk.li $@
install_ini: nw.ini
./mk.li $@
clean: mk.li nw.ini
./mk.li $@
rm -f .mk.notes
rm -f .eflag
distrib: mk.li nw.ini
./mk.li $@
distrib_bin: mk.li nw.ini
./mk.li $@
bintgz:
./mk.li $@
diff:
./mk.li $@
showconf:
./mk.li -s $@
mk.li: examples/mk.li
@if [ -r $@ ] ; then \
cp -f $@ $@.org && ( \
echo "********************************************************"; \
echo "";\
echo "saved: $@ -> $@.org, there is a new examples/$@"; \
echo "";\
echo "********************************************************"; \
echo "" ) ; fi
@ echo ""
@ echo ""
@- cp -i examples/$@ .
@ touch -c $@
@ echo ""
@ echo "********************************************************"
@ echo ""
@ echo "perhaps $@ is new and you need to edit it."
@ echo ""
@ echo "********************************************************"
@ echo ""
@ echo "" > .eflag
config.h: examples/config.h
@if [ -r $@ ] ; then echo "note:examples/$@ is newer then $@" >> .eflag ;\
echo "$@ will be touched now" >> .eflag; touch -c $@ ; \
else cp examples/$@ . ; \
echo "$@ created (from examples/$@) Please edit $@" >> .eflag;\
echo "and change it to your requirements." >> .eflag ; fi
rmeflag:
@- rm -f .eflag
nw.ini: examples/nw.ini
@rm -f .mk.notes
@if [ -r $@ ] ; then echo "NOTE:examples/$@ is newer then $@" > .mk.notes ; \
echo "please compare examples/$@ with $@" >> .mk.notes; \
echo "make the changes you need and touch $@" >> .mk.notes; \
else cp examples/$@ . ; \
echo "$@ created (from examples/$@) Please edit $@" > .mk.notes;\
echo "and change it to your requirements." >> .mk.notes ; fi

8
doc/old/README.dosemu Normal file
View File

@@ -0,0 +1,8 @@
!! this dosemupatch is _not_ needed for kernel >= 1.3.71 :) !!
If dosemu don't work together with mars_nwe you should apply
the dirty dosemu-patch to the dosemu program.
In 1.3.6? the changing of an existing route over the internal net
is not ignored, but handled as an error (EINVAL, Alan's idea :-( ) .
Therefor actual dosemus can fail when then want to access a external
server.

17
doc/old/README.important Normal file
View File

@@ -0,0 +1,17 @@
This is an important kernel ipx patch for all known kernels prior 2.0.32
In linux/net/ipx/af_ipx.c routine ipx_create one line is missing.
static int ipx_create(struct socket *sock, int protocol)
{
...
sk->rcvbuf=SK_RMEM_MAX;
sk->sndbuf=SK_WMEM_MAX;
sk->allocation=GFP_KERNEL;
.......^^^^^^^^^^^^^^^^^^^^^^^^^^^
After applying this patch you can disable the sendmsg() workaround code
in mars_nwe/emutli.c by setting DO_IPX_SEND_TEST to 0.
#define DO_IPX_SEND_TEST 0

View File

@@ -0,0 +1,7 @@
This is the kernel-ipx patch for the 1.2.13 kernel.
If you have problems with mars_nwe or if you want to
speed up mars_nwe with kernel 1.2.13 you should apply
this patch to kernel 1.2.13
Martin

90
doc/old/config.h Normal file
View 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

11
doc/old/dosemu-patch Normal file
View File

@@ -0,0 +1,11 @@
--- net/ipxglt.c Thu Feb 8 10:02:54 1996
+++ net/ipxglt.c Thu Feb 8 10:13:21 1996
@@ -59,7 +59,7 @@
}
if(ioctl(sock,SIOCADDRT,(void *)&rt) < 0) {
- if( errno != EEXIST ) {
+ if( errno != EEXIST && errno != EINVAL ) {
close( sock );
return( -2 );
}

BIN
doc/old/e.pck Normal file

Binary file not shown.

122
doc/old/kpatch1.2.13 Normal file
View File

@@ -0,0 +1,122 @@
Index: include/linux/ipx.h
--- linux.org/include/linux/ipx.h Mon Feb 6 19:25:22 1995
+++ linux/include/linux/ipx.h Fri Mar 22 00:58:02 1996
@@ -74,5 +74,6 @@
#define SIOCAIPXITFCRT (SIOCPROTOPRIVATE)
#define SIOCAIPXPRISLT (SIOCPROTOPRIVATE+1)
#define SIOCIPXCFGDATA (SIOCPROTOPRIVATE+2)
+#define SIOCIPXNCPCONN (SIOCPROTOPRIVATE+3)
#endif
Index: net/inet/ipx.c
--- linux.org/net/inet/ipx.c Tue Apr 18 21:13:26 1995
+++ linux/net/inet/ipx.c Fri Mar 22 01:25:25 1996
@@ -341,6 +341,20 @@
struct sk_buff *skb1 = NULL, *skb2 = NULL;
int ipx_offset;
+ if (intrfc == ipx_primary_net
+ && ntohs(ipx->ipx_dest.sock) == 0x451
+ && *((char*)(ipx+1)) == 0x22
+ && *((char*)(ipx+1)+1) == 0x22) {
+ int connection = (int) *((char*)(ipx+1)+3);
+ /* 255 connections are enough ;) */
+ if (connection) {
+ for (sock1=intrfc->if_sklist;
+ (sock1 != NULL) &&
+ (sock1->ipx_ncp_conn != connection);
+ sock1=sock1->next);;
+ }
+ }
+ if (sock1 == NULL)
sock1 = ipxitf_find_socket(intrfc, ipx->ipx_dest.sock);
/*
@@ -859,6 +873,7 @@
ipxif=ipxitf_find_using_phys(dev, ipx_map_frame_type(sipx->sipx_type));
if(ipxif==NULL)
return -EADDRNOTAVAIL;
+ sipx->sipx_family=AF_IPX;
sipx->sipx_network=ipxif->if_netnum;
memcpy(sipx->sipx_node, ipxif->if_node, sizeof(sipx->sipx_node));
memcpy_tofs(arg,&ifr,sizeof(ifr));
@@ -909,7 +924,8 @@
return -EAGAIN;
rt->ir_next=ipx_routes;
ipx_routes=rt;
- }
+ } else if (intrfc == ipx_internal_net)
+ return(-EEXIST); /* fix for mars_nwe: 11-Jan-96 */
rt->ir_net = network;
rt->ir_intrfc = intrfc;
@@ -983,6 +999,7 @@
int size;
int ipx_offset;
ipx_route *rt = NULL;
+ int snr;
/* Find the appropriate interface on which to send packet */
if ((usipx->sipx_network == 0L) && (ipx_primary_net != NULL)) {
@@ -1017,9 +1034,14 @@
ipx->ipx_tctrl=0;
ipx->ipx_type=usipx->sipx_type;
skb->h.raw = (unsigned char *)ipx;
-
+ if ((snr=ntohs(sk->ipx_port)) == 0x453 || snr == 0x452) {
+ /* RIP/SAP speicial handling for mars_nwe: 11-Jan-96 */
+ ipx->ipx_source.net = intrfc->if_netnum;
+ memcpy(ipx->ipx_source.node, intrfc->if_node, IPX_NODE_LEN);
+ } else {
ipx->ipx_source.net = sk->ipx_intrfc->if_netnum;
memcpy(ipx->ipx_source.node, sk->ipx_intrfc->if_node, IPX_NODE_LEN);
+ }
ipx->ipx_source.sock = sk->ipx_port;
ipx->ipx_dest.net=usipx->sipx_network;
memcpy(ipx->ipx_dest.node,usipx->sipx_node,IPX_NODE_LEN);
@@ -1335,6 +1357,7 @@
return err;
put_fs_long(sizeof(int),(unsigned long *)optlen);
err=verify_area(VERIFY_WRITE,optval,sizeof(int));
+ if (err) return err;
put_fs_long(val,(unsigned long *)optval);
return(0);
}
@@ -1397,6 +1420,8 @@
sk->debug=0;
sk->ipx_intrfc = NULL;
memset(&sk->ipx_dest_addr,'\0',sizeof(sk->ipx_dest_addr));
+ sk->ipx_ncp_conn = 0; /* no ncp socket yet */
+
sk->ipx_port = 0;
sk->mtu=IPX_MTU;
@@ -1835,6 +1860,16 @@
if(err) return err;
return(ipxcfg_get_config_data((void *)arg));
}
+ case SIOCIPXNCPCONN:
+ {
+ if (!suser()) return(-EPERM);
+ err = verify_area(VERIFY_READ, (void *)arg,
+ sizeof(unsigned short));
+ if (err) return err;
+ sk->ipx_ncp_conn = get_fs_word(arg);
+ return 0;
+ }
+
case SIOCGSTAMP:
if (sk)
{
Index: net/inet/sock.h
Prereq: 1.0.4
--- linux.org/net/inet/sock.h Fri Mar 22 01:11:28 1996
+++ linux/net/inet/sock.h Fri Mar 22 01:12:26 1996
@@ -146,6 +146,7 @@
ipx_interface *ipx_intrfc;
unsigned short ipx_port;
unsigned short ipx_type;
+ unsigned short ipx_ncp_conn;
#endif
#ifdef CONFIG_AX25
/* Really we want to add a per protocol private area */

64
doc/old/kpatch2.0.1 Normal file
View File

@@ -0,0 +1,64 @@
--- linux.org/include/linux/ipx.h Mon May 13 22:39:28 1996
+++ linux/include/linux/ipx.h Thu Jul 4 00:09:54 1996
@@ -75,5 +75,6 @@
#define SIOCAIPXITFCRT (SIOCPROTOPRIVATE)
#define SIOCAIPXPRISLT (SIOCPROTOPRIVATE+1)
#define SIOCIPXCFGDATA (SIOCPROTOPRIVATE+2)
+#define SIOCIPXNCPCONN (SIOCPROTOPRIVATE+3)
#endif
--- linux.org/include/net/sock.h Wed Jun 12 23:08:41 1996
+++ linux/include/net/sock.h Thu Jul 4 00:09:12 1996
@@ -112,6 +112,10 @@
* know the connection this socket belongs to.
*/
struct ncp_server *ncp_server;
+/*
+ * To handle special NCP-Sockets for mars_nwe
+ */
+ unsigned short ipx_ncp_conn;
};
#endif
--- linux.org/net/ipx/af_ipx.c Wed Jun 12 22:55:00 1996
+++ linux/net/ipx/af_ipx.c Thu Jul 4 00:09:46 1996
@@ -468,6 +468,20 @@
ipx_socket *sock1 = NULL, *sock2 = NULL;
struct sk_buff *skb1 = NULL, *skb2 = NULL;
+ if (intrfc == ipx_primary_net
+ && ntohs(ipx->ipx_dest.sock) == 0x451
+ && *((char*)(ipx+1)) == 0x22
+ && *((char*)(ipx+1)+1) == 0x22) {
+ int connection = (int) *((char*)(ipx+1)+3);
+ /* 255 connections are enough ;) */
+ if (connection) {
+ for (sock1=intrfc->if_sklist;
+ (sock1 != NULL) &&
+ (sock1->protinfo.af_ipx.ipx_ncp_conn != connection);
+ sock1=sock1->next);;
+ }
+ }
+ if (sock1 == NULL)
sock1 = ipxitf_find_socket(intrfc, ipx->ipx_dest.sock);
/*
@@ -2243,6 +2257,17 @@
if(err) return err;
return(ipxcfg_get_config_data((void *)arg));
}
+
+ case SIOCIPXNCPCONN:
+ {
+ if (!suser()) return(-EPERM);
+ err = verify_area(VERIFY_READ, (void *)arg,
+ sizeof(unsigned short));
+ if (err) return err;
+ sk->protinfo.af_ipx.ipx_ncp_conn = get_fs_word(arg);
+ return 0;
+ }
+
case SIOCGSTAMP:
if (sk)
{

66
doc/old/kpatch2.0.28 Normal file
View File

@@ -0,0 +1,66 @@
diff -uwr linux-2.0.28/include/linux/ipx.h linux/include/linux/ipx.h
--- linux-2.0.28/include/linux/ipx.h Mon May 13 22:39:28 1996
+++ linux/include/linux/ipx.h Tue Jan 14 16:33:27 1997
@@ -75,5 +75,6 @@
#define SIOCAIPXITFCRT (SIOCPROTOPRIVATE)
#define SIOCAIPXPRISLT (SIOCPROTOPRIVATE+1)
#define SIOCIPXCFGDATA (SIOCPROTOPRIVATE+2)
+#define SIOCIPXNCPCONN (SIOCPROTOPRIVATE+3)
#endif
diff -uwr linux-2.0.28/include/net/sock.h linux/include/net/sock.h
--- linux-2.0.28/include/net/sock.h Sun Dec 1 19:01:21 1996
+++ linux/include/net/sock.h Tue Jan 14 16:34:39 1997
@@ -112,6 +112,10 @@
* know the connection this socket belongs to.
*/
struct ncp_server *ncp_server;
+/*
+ * To handle special NCP-Sockets for mars_nwe
+ */
+ unsigned short ipx_ncp_conn;
};
#endif
diff -uwr linux-2.0.28/net/ipx/af_ipx.c linux/net/ipx/af_ipx.c
--- linux-2.0.28/net/ipx/af_ipx.c Wed Nov 27 08:44:21 1996
+++ linux/net/ipx/af_ipx.c Tue Jan 14 16:33:27 1997
@@ -468,6 +468,20 @@
ipx_socket *sock1 = NULL, *sock2 = NULL;
struct sk_buff *skb1 = NULL, *skb2 = NULL;
+ if (intrfc == ipx_primary_net
+ && ntohs(ipx->ipx_dest.sock) == 0x451
+ && *((char*)(ipx+1)) == 0x22
+ && *((char*)(ipx+1)+1) == 0x22) {
+ int connection = (int) *((char*)(ipx+1)+3);
+ /* 255 connections are enough ;) */
+ if (connection) {
+ for (sock1=intrfc->if_sklist;
+ (sock1 != NULL) &&
+ (sock1->protinfo.af_ipx.ipx_ncp_conn != connection);
+ sock1=sock1->next);;
+ }
+ }
+ if (sock1 == NULL)
sock1 = ipxitf_find_socket(intrfc, ipx->ipx_dest.sock);
/*
@@ -2242,6 +2256,17 @@
if(err) return err;
return(ipxcfg_get_config_data((void *)arg));
}
+
+ case SIOCIPXNCPCONN:
+ {
+ if (!suser()) return(-EPERM);
+ err = verify_area(VERIFY_READ, (void *)arg,
+ sizeof(unsigned short));
+ if (err) return err;
+ sk->protinfo.af_ipx.ipx_ncp_conn = get_fs_word(arg);
+ return 0;
+ }
+
case SIOCGSTAMP:
if (sk)
{

112
doc/old/kpatch2.0.29 Normal file
View File

@@ -0,0 +1,112 @@
diff -ubr 2.0.29/include/linux/ipx.h linux/include/linux/ipx.h
--- 2.0.29/include/linux/ipx.h Mon May 13 22:39:28 1996
+++ linux/include/linux/ipx.h Tue May 27 02:50:48 1997
@@ -75,5 +75,6 @@
#define SIOCAIPXITFCRT (SIOCPROTOPRIVATE)
#define SIOCAIPXPRISLT (SIOCPROTOPRIVATE+1)
#define SIOCIPXCFGDATA (SIOCPROTOPRIVATE+2)
+#define SIOCIPXNCPCONN (SIOCPROTOPRIVATE+3)
#endif
diff -ubr 2.0.29/include/net/sock.h linux/include/net/sock.h
--- 2.0.29/include/net/sock.h Tue Dec 10 18:35:21 1996
+++ linux/include/net/sock.h Tue May 27 02:50:48 1997
@@ -112,7 +112,11 @@
* know the connection this socket belongs to.
*/
struct ncp_server *ncp_server;
-
+/*
+ * To handle special ncp connection-handling sockets for mars_nwe,
+ * the connection number must be stored in the socket.
+ */
+ unsigned short ipx_ncp_conn;
};
#endif
diff -ubr 2.0.29/net/ipx/af_ipx.c linux/net/ipx/af_ipx.c
--- 2.0.29/net/ipx/af_ipx.c Tue Dec 10 18:35:35 1996
+++ linux/net/ipx/af_ipx.c Tue May 27 02:50:48 1997
@@ -468,7 +468,60 @@
ipx_socket *sock1 = NULL, *sock2 = NULL;
struct sk_buff *skb1 = NULL, *skb2 = NULL;
+ if (intrfc == ipx_primary_net
+ && ntohs(ipx->ipx_dest.sock) == 0x451)
+ {
+ /*
+ * The packet's target is a NCP connection handler. We want to
+ * hand it to the correct socket directly within the kernel,
+ * so that the mars_nwe packet distribution process
+ * does not have to do it. Here we only care about NCP and
+ * BURST packets.
+ * You might call this a hack, but believe me, you do not
+ * want a complete NCP layer in the kernel, and this is
+ * VERY fast as well.
+ */
+ int connection = 0;
+
+ if ( *((char*)(ipx+1)) == 0x22
+ && *((char*)(ipx+1)+1) == 0x22)
+ {
+ /*
+ * The packet is a NCP request
+ */
+ connection = ( ((int) *((char*)(ipx+1)+5)) << 8 )
+ | (int) *((char*)(ipx+1)+3);
+ }
+ else if ( *((char*)(ipx+1)) == 0x77
+ && *((char*)(ipx+1)+1) == 0x77)
+ {
+ /*
+ * The packet is a BURST packet
+ */
+ connection = ( ((int) *((char*)(ipx+1)+9)) << 8 )
+ | (int) *((char*)(ipx+1)+8);
+ }
+
+ if (connection)
+ {
+ /*
+ * Now we have to look for a special NCP connection handling
+ * socket. Only these sockets have ipx_ncp_conn != 0, set
+ * by SIOCIPXNCPCONN.
+ */
+ for (sock1=intrfc->if_sklist;
+ (sock1 != NULL) &&
+ (sock1->protinfo.af_ipx.ipx_ncp_conn != connection);
+ sock1=sock1->next);;
+ }
+ }
+ if (sock1 == NULL)
+ {
+ /* No special socket found, forward the packet the
+ * normal way.
+ */
sock1 = ipxitf_find_socket(intrfc, ipx->ipx_dest.sock);
+ }
/*
* We need to check if there is a primary net and if
@@ -2242,6 +2295,21 @@
if(err) return err;
return(ipxcfg_get_config_data((void *)arg));
}
+
+ case SIOCIPXNCPCONN:
+ {
+ /*
+ * This socket wants to take care of the NCP connection
+ * handed to us in arg.
+ */
+ if (!suser()) return(-EPERM);
+ err = verify_area(VERIFY_READ, (void *)arg,
+ sizeof(unsigned short));
+ if (err) return err;
+ sk->protinfo.af_ipx.ipx_ncp_conn = get_fs_word(arg);
+ return 0;
+ }
+
case SIOCGSTAMP:
if (sk)
{

332
doc/old/makefile.unx Normal file
View File

@@ -0,0 +1,332 @@
#if 0
#makefile.unx 14-05-2003
#endif
VPATH=$(V_VPATH)
O=.o
C=.c
V_H=0
V_L=99
P_L=21
#define D_P_L 1
DISTRIB=mars_nwe
#if D_P_L
DISTRIBF=$(DISTRIB)-$(V_H).$(V_L).pl$(P_L)
PATCHF=$(DISTRIBF)
#else
P_L=0
DISTRIBF=$(DISTRIB)-$(V_H).$(V_L)
PATCHF=$(DISTRIBF).pl$(P_L)
#endif
STERN=*
MAKEPATCH=diff -rub --new-file
DESTMAKEFILE=Makefile.o
#if 0
all: $(DESTMAKEFILE)
$(MAKE) -f $(DESTMAKEFILE) n_$@
routed: $(DESTMAKEFILE)
$(MAKE) -f $(DESTMAKEFILE) n_$@
clean: $(DESTMAKEFILE)
$(MAKE) -f $(DESTMAKEFILE) n_$@
distclean: $(DESTMAKEFILE)
$(MAKE) -f $(DESTMAKEFILE) n_$@
install: $(DESTMAKEFILE)
$(MAKE) -f $(DESTMAKEFILE) n_$@
reboot: $(DESTMAKEFILE)
$(MAKE) -f $(DESTMAKEFILE) n_$@
install_ini: $(DESTMAKEFILE)
$(MAKE) -f $(DESTMAKEFILE) n_$@
diff: $(DESTMAKEFILE)
$(MAKE) -f $(DESTMAKEFILE) n_$@
showconf: $(DESTMAKEFILE)
$(MAKE) -f $(DESTMAKEFILE) n_$@
distrib: $(DESTMAKEFILE)
$(MAKE) -f $(DESTMAKEFILE) n_$@
distrib_bin: $(DESTMAKEFILE)
$(MAKE) -f $(DESTMAKEFILE) n_$@
bintgz: $(DESTMAKEFILE)
$(MAKE) -f $(DESTMAKEFILE) n_$@
$(DESTMAKEFILE): $(VPATH)/makefile.unx $(VPATH)/config.h
rm -f $@
cp $(VPATH)/makefile.unx makefile.c
$(CPP) $(HOSTCFLAGS) -I$(VPATH) makefile.c > $@
rm -f makefile.c
#endif
PROG1=
PROG2=nwserv
PROG3=nwconn
PROG4=ncpserv
PROG5=nwclient
PROG6=nwbind
PROG7=nwrouted
PROG8=dbmtool
PROG9=ftrustee
#include "config.h"
#ifdef FILENAME_NW_INI
M_FILENAME_NW_INI=FILENAME_NW_INI
#else
M_FILENAME_NW_INI="./nw.ini"
#endif
#ifdef PATHNAME_PROGS
M_PATHNAME_PROGS=PATHNAME_PROGS
#else
M_PATHNAME_PROGS="."
#endif
M_PATHNAME_BINDERY=PATHNAME_BINDERY
#ifdef LINUX
# ifdef FREEBSD
EMUTLIOBJ=emutli$(O) ipxif$(O)
NWROUTE_O=nwroute1$(O)
NWROUTED=
# else
# ifndef INTERNAL_RIP_SAP
# define INTERNAL_RIP_SAP 1
# endif
EMUTLIOBJ=emutli$(O)
# if INTERNAL_RIP_SAP
EMUTLIOBJ1=emutli1$(O)
NWROUTE_O=nwroute$(O)
# else
EMUTLIOBJ1=
NWROUTE_O=nwroute1$(O)
NWROUTED=$(PROG7)
# endif
# endif
#else
NWROUTE_O=nwroute1$(O)
NWROUTED=
#endif
INSTALLPROGS=$(PROG1) $(PROG2) $(PROG3) $(PROG4) $(PROG5) $(PROG6) $(NWROUTED)
PROGS=$(INSTALLPROGS) $(PROG8) $(PROG9)
OBJ1= $(EMUTLIOBJ) net1$(O) tools$(O)
OBJ2= $(OBJ1) $(EMUTLIOBJ1) $(NWROUTE_O)
OBJ3= $(OBJ1) connect$(O) namspace$(O) nwvolume$(O) nwfile$(O) unxfile$(O) \
nwqconn$(O) nameos2$(O) nwfname$(O) nwshare$(O) extpipe$(O) \
nwattrib$(O) trustee$(O)
OBJ4= $(OBJ1)
OBJ5= $(OBJ1)
OBJ6= $(OBJ1) nwdbm$(O) nwcrypt$(O) unxlog$(O) sema$(O) nwqueue$(O) unxfile$(O)
OBJ7= $(OBJ1) emutli1$(O)
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)
HOBJ3= $(PROG3)$(O) connect$(O) namspace$(O) nwvolume$(O) nwfile$(O) \
unxfile$(O)
HOBJ6= $(PROG6)$(O) sema$(O)
#if 0
#$(PROG1): $(PROG1)$(O) $(OBJ1)
# $(CC) -o $(VPATH)/$(PROG1) $(PROG1)$(O) $(OBJ1) $(CRYPTLIB) $(NSLLIB)
#endif
$(PROG2): $(PROG2)$(O) $(OBJ2)
$(CC) -o $(VPATH)/$(PROG2) $(PROG2)$(O) $(OBJ2) $(CRYPTLIB) $(NSLLIB)
#if 0
#$(CC) -o $(VPATH)/$(PROG2) $(PROG2)$(O) $(OBJ2) $(NDBMLIB) $(CRYPTLIB) $(NSLLIB)
#endif
$(PROG3): $(PROG3)$(O) $(OBJ3)
$(CC) -o $(VPATH)/$(PROG3) $(PROG3)$(O) $(OBJ3) $(CRYPTLIB) $(NSLLIB)
$(PROG4): $(PROG4)$(O) $(OBJ4)
$(CC) -o $(VPATH)/$(PROG4) $(PROG4)$(O) $(OBJ4) $(CRYPTLIB) $(NSLLIB)
$(PROG5): $(PROG5)$(O) $(OBJ5)
$(CC) -o $(VPATH)/$(PROG5) $(PROG5)$(O) $(OBJ5) $(CRYPTLIB) $(NSLLIB)
$(PROG6): $(PROG6)$(O) $(OBJ6)
$(CC) -o $(VPATH)/$(PROG6) $(PROG6)$(O) $(OBJ6) $(NDBMLIB) $(CRYPTLIB) $(NSLLIB)
$(PROG7): $(PROG7)$(O) $(OBJ7)
$(CC) -o $(VPATH)/$(PROG7) $(PROG7)$(O) $(OBJ7) $(CRYPTLIB) $(NSLLIB)
$(PROG8): $(PROG8)$(O) $(OBJ8)
$(CC) -o $(VPATH)/$(PROG8) $(PROG8)$(O) $(OBJ8) $(NDBMLIB) $(CRYPTLIB) $(NSLLIB)
$(PROG9): $(PROG9)$(O) $(OBJ9)
$(CC) -o $(VPATH)/$(PROG9) $(PROG9)$(O) $(OBJ9) $(CRYPTLIB) $(NSLLIB)
$(HOBJ3): namspace.h connect.h nwvolume.h nwfile.h
$(HOBJ6): nwbind.h sema.h
$(OBJS): net.h config.h
$(PROG7)$(O): nwserv.c nwroute.c
tools$(O): $(DESTMAKEFILE)
$(C)$(O):
$(CC) -c $(CFLAGS) $(HOSTCFLAGS)\
-D_VERS_H_=$(V_H) -D_VERS_L_=$(V_L) -D_VERS_P_=$(P_L) $<
n_all: $(PROGS)
@echo "don't forget to do a 'make install' as root !" >> $(VPATH)/.mk.notes
@echo "please take a look into doc/NEWS !" >> $(VPATH)/.mk.notes
@-head -n 5 $(VPATH)/doc/NEWS >> $(VPATH)/.mk.notes
n_routed: $(PROG7)
n_install_ini:
cd $(VPATH) && $(INSTALL) -m 664 nw.ini $(M_FILENAME_NW_INI) && cd $(OBJDIR)
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 ;
@-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 ;
@cd $(VPATH) && (if [ -r $(M_FILENAME_NW_INI) ] ; then \
echo ""; \
echo "********************************************************"; \
echo ""; \
echo "$(M_FILENAME_NW_INI) exist."; \
echo "to overwrite it with nw.ini, make install_ini";\
echo ""; \
echo "********************************************************"; \
echo ""; \
else \
$(INSTALL) -m 664 nw.ini $(M_FILENAME_NW_INI); \
echo ""; \
echo "********************************************************"; \
echo ""; \
echo "$(M_FILENAME_NW_INI) created from nw.ini"; \
echo ""; \
echo "********************************************************"; \
echo ""; \
fi; \
echo "If you have problems, please read 'doc/BUGS' before"; \
echo "sending mail to mailinglist or me."; \
echo ""; \
echo "********************************************************"; \
cd $(OBJDIR) )
n_reboot: n_install
-(nwserv -k ; nwserv)&
clean_d:
cd $(VPATH) && (\
find $(DISTRIB) \( -name .e.pck -o -name '~*' -o -name '*~' -o -name core \) \
-exec rm {} \; \
; cd $(OBJDIR))
n_clean:
rm -f *.o
cd $(VPATH) && (rm -f $(PROGS) $(PROG7) \
; rm -rf $(OBJDIR)/$(VPATH)/$(DISTRIB) \
; cd $(OBJDIR) )
n_distclean: n_clean clean_d
cd $(VPATH) && (rm -f *.dir *.pag; cd $(OBJDIR))
make_dir:
cd $(VPATH) && (rm -rf $(OBJDIR)/$(VPATH)/$(DISTRIB) \
; mkdir $(DISTRIB) \
; mkdir $(DISTRIB)/examples \
; mkdir $(DISTRIB)/doc \
; ln -f \
$(STERN).[ch] \
makefile.unx \
tools.sh \
Makefile \
COPYING \
README \
$(DISTRIB)/. \
; rm -f $(DISTRIB)/config.h \
; ln -f \
examples/$(STERN) \
$(DISTRIB)/examples/. \
; ln -f \
doc/$(STERN) \
$(DISTRIB)/doc/. \
; cd $(OBJDIR) )
n_diff: make_dir clean_d
cd $(VPATH) && ( \
$(MAKEPATCH) org/$(DISTRIB) $(DISTRIB) > $(PATCHF) \
; gzip -9 -f $(PATCHF) \
; cd $(OBJDIR) )
n_distrib: n_diff
-mkdir /tmp/x
cd $(VPATH) && ./mk_lsm "$(V_H).$(V_L).pl$(P_L)" $(DISTRIBF) \
&& (tar cvzf $(DISTRIBF).tgz $(DISTRIB) \
; uue $(DISTRIBF).tgz; mv -f $(DISTRIB)-$(V_H).uue $(DISTRIBF).uue \
; cp -a $(DISTRIB)/doc/$(DISTRIB).lsm /tmp/yy \
; echo "" >> /tmp/yy \
; echo "" >> /tmp/yy \
; cat $(DISTRIBF).uue >> /tmp/yy \
; chmod 664 /tmp/yy \
; rm $(DISTRIBF).uue \
; mv $(DISTRIBF).tgz /tmp/x/. \
; cp -a $(DISTRIB)/doc/$(DISTRIB).lsm /tmp/x/. \
; mv $(PATCHF).gz /tmp/x/. \
; cd $(OBJDIR) )
-rm -f /tmp/mars_nwe.tgz
ln -s /tmp/x/$(DISTRIBF).tgz /tmp/mars_nwe.tgz
n_distrib_bin:
cd $(VPATH) && (/usr/local/bin/cdar cb /tmp/mars_nwb.cda \
$(PROGS) \
examples \
doc \
; cd $(OBJDIR))
n_bintgz:
cd $(VPATH) && (tar cvzf /tmp/mars_nwb.tgz \
$(PROGS) \
; cd $(OBJDIR))
n_showconf:
echo "#" $(M_FILENAME_NW_INI)
grep "^[ \t]*[0-9]" $(M_FILENAME_NW_INI)

1
doc/old/mk Executable file
View File

@@ -0,0 +1 @@
make unxcomm && mv unxcomm /u3/pipes/.

143
doc/old/mk.li Executable file
View 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
doc/old/nw.ini Normal file
View 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.

357
doc/old/nw.ini.old Normal file
View 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.

33
doc/old/tools.sh Executable file
View File

@@ -0,0 +1,33 @@
#!/bin/sh
yesno()
{
echo ""
echo $@
while true; do
echo "please answer with (Y)es or (N)o and <Return>."
read X
case "$X" in
('y'|'Y')
return 0
;;
('n'|'N')
return 1
;;
*)
;;
esac
done
}
COMMAND=$1
shift
case "$COMMAND" in
'yesno')
if yesno $@ ; then exit 0; fi
;;
esac
exit 1