[comp.protocols.tcp-ip.ibmpc] Novell PDShell Patch fixes crash during workstation-->server copy

bkc@OMNIGATE.CLARKSON.EDU (Brad Clements) (04/28/89)

This is a possible patch that users of the BYU PDshell can use to avoid
crashing their systems while copying files from their PC to a server.
This patch has not been approved by the folks at BYU, etc. This is a 
suggested temporary fix until the PDshell problem is fixed.  

This patch was determined through some assembler hacking, and does solve the 
problem for the NI5210 packet driver (your mileage may vary).


Problem: 
      Using either the 3com or Ni5210 packet driver (and with other
      drivers presumably) during a copy of large files from workstations to a server,
      the workstation will hang.

      Transmitting packets larger than 1081 bytes causes the crash. Novell
      wants to send 1088 bytes on ethernet.

The error is in: PDipx.com generated via shgen using pdshell.lan

The temporary transmit buffer is 7 bytes too small. Packets larger than 1081
bytes overlay code used by the packet receiver routine. 

Fix:  Use IPATCH in your shell.cfg file, or patch by hand using symdeb.

SHELL.CFG: 
	include the lines

	ipatch=13387,172
	ipatch=13447, 172

Using debug:
	
	debug pdipx.com
	e 344b      B3    (type  AC <RETURN>)
	e 3487      B3    (type  AC <RETURN>)
	npdipx.com
	w
	q

What the patch does:

	This moves the temporary transmit buffer into the receive buffer space.
	The receive buffer appears to be 1500 bytes long, but Novell only sends
	1078 byte packets (on our network anyway).

Novell is a trademark, etc. Standard disclaimers apply.



| Brad Clements          bkc@omnigate.clarkson.edu        bkc@clgw.bitnet 
| Network Engineer       Clarkson University              (315)268-2292