mars_nwe-0.96.pl07

This commit is contained in:
Mario Fetka
2011-11-13 00:38:55 +01:00
parent 164365d514
commit 01778ec986
20 changed files with 743 additions and 360 deletions

27
examples/README.patch Normal file
View File

@@ -0,0 +1,27 @@
this kernelpatch for kernels 1.3.56,57,58, ?? makes 3 things.
- removes the ipx-send bug. BIG THANKS to Volker Lendecke.
the problem was that sometimes the sendto function hung.
- ipx rip/sap packets comming from internal net must change
there source address from internal net/node to the
device net/node.
The problem was:
By configuring mars_nwe at the internal network, the rip/sap
socket gets the network and node address of the internal
net. Then, by sending rip/sap packets over this socket to the
several devices the rip/sap packets don't have the device net/node,
but the internal net/node.
- an existing route should never be overwritten by an route
over the internal net.
The problem was:
By running dosemu at the same workstation as mars_nwe the
dosemu automaticly changes the route to a nearby server
to route over the internal network and this destroyed
the real route over a device to this server.
You must be supervisor and then you must start './patchme' .
Martin Stover

View File

@@ -1,4 +1,4 @@
/* config.h: 14-Jan-96 */
/* config.h: 22-Jan-96 */
/* some of this config is needed by make, others by cc */
#define FILENAME_NW_INI "/etc/nwserv.conf" /* full name of ini (conf) file */
#define PATHNAME_PROGS "/sbin" /* path location of progs */
@@ -9,8 +9,8 @@
#define MAX_NW_VOLS 10 /* max. Volumes */
#define MAX_NET_DEVICES 1 /* max. Netdevices, frames */
#define IPX_DATA_GR_546 1 /* allow ipx packets > 546+30 Byte */
#define MAX_NET_DEVICES 5 /* max. Netdevices, frames */
#define IPX_DATA_GR_546 1 /* allow ipx packets > 546+30 Byte */
#define MAX_NW_ROUTES 50 /* max. networks (internal + external) */
#define MAX_NW_SERVERS 40 /* max. count of servers */

View File

@@ -1,6 +1,30 @@
--- ORG/af_ipx.c Sat Jan 6 13:54:59 1996
+++ af_ipx.c Thu Jan 11 14:36:21 1996
@@ -994,7 +994,9 @@
--- af_ipx.c Sat Jan 6 13:54:59 1996
+++ af_ipx.c Sun Jan 21 20:36:36 1996
@@ -507,8 +507,10 @@
/*
* Don't charge sender
*/
- if(skb->sk)
+ if(skb->sk) {
skb->sk->wmem_alloc-=skb->truesize;
+ skb->sk = NULL;
+ }
/*
* Will charge receiver
*/
@@ -519,8 +521,10 @@
*/
if (memcmp(ipx_broadcast_node, node, IPX_NODE_LEN) == 0)
{
- if (!send_to_wire && skb->sk)
+ if (!send_to_wire && skb->sk) {
skb->sk->wmem_alloc-=skb->truesize;
+ skb->sk = NULL;
+ }
ipxitf_demux_socket(intrfc, skb, send_to_wire);
if (!send_to_wire)
return 0;
@@ -994,7 +998,9 @@
return -EAGAIN;
rt->ir_next=ipx_routes;
ipx_routes=rt;
@@ -11,7 +35,7 @@
rt->ir_net = network;
rt->ir_intrfc = intrfc;
@@ -1108,9 +1110,15 @@
@@ -1108,9 +1114,15 @@
ipx->ipx_tctrl=0;
ipx->ipx_type=usipx->sipx_type;
skb->h.raw = (unsigned char *)ipx;

View File

@@ -1,12 +1,12 @@
# (C)opyright 1993, 1995, Martin Stover, Softwareentwicklung, Marburg
# last change: 14-Jan-96
# last change: 22-Jan-96
# MAR.S NW-Server Emulator
# Einfache Konfiguration, alles ab # ist Kommentar.
# Jeder Eintrag beginnt mit einer Zahl und dann folgt der Inhalt.
# simple configuration, all after # is ignored.
# every entry begins with a number and then the meet follows.
# entry 1 VOLUMES (max. 5) entry 1
# Volumename Volumepath Options (k=lowercase)
# Volumename Volumepath Options (k=lowercase,p=pipe)
1 SYS /u3/SYS/ # SYS 1
####################################
# Die folgenden Volumes sind optional.
@@ -14,6 +14,7 @@
#1 SYS1 /u3/SYS1/ # SYS 2 upshift
#1 TMP /tmp/ k # TMP downshift
#1 CD /cdrom k # CDROM downshift
#1 PIPES /u3/pipes kp # pipecommands
# Falls lowercase nicht gesetzt ist, werden GROSSBUCHSTABEN erwartet.
# If lowercase is not set then all filenames are upshift.
# SYS, der Name darf auch anders lauten, muss
@@ -28,19 +29,20 @@
# will be taken.
#2 MAR1 # Servername
######################################
# next entry for later use, not yet supported !!
# the ipx kernel code must changed first, to do good routing !!
# If you have mars_nwe V > 0.96pl4 and the small ipx-kpatch
# you can use Internal Net and Routing.
# next entry for configure mars_nwe to use the internal net
# If you have mars_nwe V > 0.96pl5 and the small ipx-kpatch
# from the examples dir you can use Internal Net and Routing.
# INTERNAL NET [NODE]
###3 0x999999 1 # Node default 1
######################################
# entry 4: # for DEVICE(S)
# if your ipx is allready up, then entry 4 must be removed.
# NETWORK NUMBER, DEVICE, Frame-Typ TICS (default 1)
4 0x10 eth0 802.3 1
4 0x10 eth0 802.3 1
#4 0x22 eth0 ethernet_ii 1
#4 0x33 eth0 802.2 1
#4 0x55 isdn2 ethernet_ii 7
# Frames=ethernet_ii, 802.2, 802.3, SNAP (default 802.3)
# testet with 802.3
5 0 # don't = 0, do = 1, save ipx-routes after server is down.
######################################
# some clients are running better, if the server tells

19
examples/patchme Executable file
View File

@@ -0,0 +1,19 @@
#!/bin/sh
ACT_DIR=`pwd`
PATCHFILE=kpatch1.3.56
LINUXDIR=/usr/src/linux
IPXDIR=$LINUXDIR/net/ipx
IPXFILE=af_ipx.c
if [ -r $IPXDIR/$IPXFILE ] ; then
if [ -r $IPXDIR/P1 ] ; then
echo "patch was allready made: $IPXDIR/P1 exist"
else
cd $IPXDIR && cp -a $IPXFILE $IPXFILE.org && \
patch < $ACT_DIR/$PATCHFILE && echo "$PATCHFILE" > $IPXDIR/P1
echo "please rebuild the kernel"
fi
else
echo "linuxdir $LINUXDIR perhaps wrong ?"
fi