home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 30 fixes_v
/
30-fixes_v.zip
/
nwlt11.pat
< prev
next >
Wrap
Text File
|
1992-09-19
|
5KB
|
91 lines
; OS/2 V2.0 - Fix for Novell NetWare Lite 1.1
; -------------------------------------------
;
; file=NWLT11.PAT (22Aug92 CPK)
; with thanks to the original NWLITE.PAT (01Jun92 GLF)
;
; Novell's Netware Lite 1.1 has a minor bug which will prevent
; the server portion of the program from operating in an OS/2
; VDM. Under certain conditions it will also crash DOS. This
; patch will correct the defect in the file SERVER.EXE. This is
; NOT an official fix, and carries no guarantees. Novell has NOT
; been sent this patch file and appropriately informed of this
; condition. Users should contact Novell to obtain official
; fixes to the Netware Lite program product.
;
; The problem is that SERVER.EXE assumes the JFN (Job File
; Number) for handles 0 and 1 (standard in and out) to always
; be a value of 1. This is not always the true, since handles
; and the system file table are independent. The correct
; solution is to copy the JFN from the PSP of SERVER.EXE for
; handles 0 and 1 to the new JFT (Job File Table).
;
; To install this fix enter the following from either an OS/2
; or VDM command line: PATCH NWLT11.PAT /A
;
FILE SERVER.EXE
;-------------------------------
;;ES=DS=segment of PSP and data
VER 1CA3 06 ; push es
VER 1CA4 A1-02-0F ; mov ax,[0F02h] ;AX=new JFT size
VER 1CA7 8B-1E-EE-0E ; mov bx,[0EEEh] ;BX=PSP
VER 1CAB 8E-C3 ; mov es,bx ;ES=PSP
VER 1CAD 8B-16-04-0F ; mov dx,[0F04h] ;DX=ofs new JFT
VER 1CB1 26-A3-32-00 ; mov es:[0032h],ax ;PSP:=new JFT size
VER 1CB5 26-89-16-34-00 ; mov es:[0034h],dx ;PSP:=new JFT
VER 1CBA 26-8C-1E-36-00 ; mov es:[0036h],ds ; address
VER 1CBF 07 ; pop es ;ES=seg new JFT
VER 1CC0 8B-0E-02-0F ; mov cx,[0F02h] ;CX=new JFT size
VER 1CC4 B0-FF ; mov al,-1 ;-1=unused JFN
VER 1CC6 8B-3E-04-0F ; mov di,[0F04h] ;ES:DI=&new JFT
VER 1CCA FC ; cld
VER 1CCB F3-AA ; rep stosb ;fill new JFT w/-1
VER 1CCD 8B-3E-04-0F ; mov di,[0F04h]
VER 1CD1 C6-05-01 ; mov byte ptr [di],1 ;JFN[0]:=1
VER 1CD4 C6-45-01-01 ; mov byte ptr [di+1],1 ;JFN[1]:=1
VER 1CD8 C3 ; ret
;;ES=DS=segment of PSP and data
;;AH=junk (upper half of new JFT size)
;;AL=-1
;;BX=PSP
;;CX=0
;;DX=offset of new JFT
;;DI=offset of new JFT
;-------------------------------
;;ES=DS=segment of PSP and data
CHA 1CA3 1E ; push ds
CHA 1CA4 8B-0E-02-0F ; mov cx,[0F02h] ;CX=new JFT size
CHA 1CA8 8B-1E-EE-0E ; mov bx,[0EEEh] ;BX=PSP
CHA 1CAC 8E-DB ; mov ds,bx ;DS=PSP
CHA 1CAE C5-3E-34-00 ; lds di,[0034h] ;DS:DI=&old JFT
CHA 1CB2 8B-05 ; mov ax,[di] ;AX=old JFN(0,1)
CHA 1CB4 8E-DB ; mov ds,bx ;DS=PSP
CHA 1CB6 26-8B-16-04-0F ; mov dx,es:[0F04h] ;DX=ofs new JFT
CHA 1CBB 89-0E-32-00 ; mov [0032h],cx ;PSP:=new JFT size
CHA 1CBF 89-16-34-00 ; mov [0034h],dx ;PSP:=new JFT
CHA 1CC3 8C-06-36-00 ; mov [0036h],es ; address
CHA 1CC7 1F ; pop ds ;DS=seg new JFT
CHA 1CC8 89-D7 ; mov di,dx ;ES:DI=&new JFT
CHA 1CCA FC ; cld
CHA 1CCB AB ; stosw ;copy JFN(0,1)
CHA 1CCC 88-EC ; mov ah,ch ;???useless???
CHA 1CCE B0-FF ; mov al,-1 ;-1=unused JFN
CHA 1CD0 49 ; dec cx
CHA 1CD1 49 ; dec cx
CHA 1CD2 F3-AA ; rep stosb ;fill new JFT w/-1
CHA 1CD4 89-D7 ; mov di,dx
CHA 1CD6 C3 ; ret
CHA 1CD7 90 ; nop
CHA 1CD8 90 ; nop
;;ES=DS=segment of PSP and data
;;AH=junk (upper half of new JFT size)
;;AL=-1
;;BX=PSP
;;CX=0
;;DX=offset of new JFT
;;DI=offset of new JFT
;-------------------------------