home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 30 fixes_v / 30-fixes_v.zip / netsrv.pat < prev    next >
Text File  |  1992-07-22  |  5KB  |  86 lines

  1. ;
  2. ; file=NWLITE.PAT (01Jun92 GLF)
  3. ;
  4. ; Novell's Netware Lite 1.0 has a minor bug which will prevent the server
  5. ; portion of the program from operating in an OS/2 VDM.  Under certain
  6. ; conditions it will also crash DOS.  This patch will correct the defect
  7. ; in the file SERVER.EXE.  This is not an official fix, and carries no
  8. ; guarantees.  Novell has been sent this patch file and appropriately
  9. ; informed of this condition.  Users should contact Novell to obtain
  10. ; official fixes to the Netware Lite program product.
  11. ;
  12. ; The problem is that SERVER.EXE assumes the JFN (Job File Number) for
  13. ; handles 0 and 1 (standard in and out) to always be a value of 1.  This
  14. ; is not always the true, since handles and the system file table are
  15. ; independent.  The correct solution is to copy the JFN from the PSP of
  16. ; SERVER.EXE for handles 0 and 1 to the new JFT (Job File Table).
  17. ;
  18. ; To install this fix enter the following from either an OS/2 or VDM
  19. ; command line:    PATCH NWLITE.PAT /A
  20. ;
  21.  
  22.  
  23. FILE SERVER.EXE
  24. ;-------------------------------
  25.                                 ;;ES=DS=segment of PSP and data
  26. VER  1E6B 06                    ; push    es
  27. VER  1E6C A1-EB-11              ; mov     ax,[11EBh]         ;AX=new JFT size
  28. VER  1E6F 8B-1E-D7-11           ; mov     bx,[11D7h]         ;BX=PSP
  29. VER  1E73 8E-C3                 ; mov     es,bx              ;ES=PSP
  30. VER  1E75 8B-16-ED-11           ; mov     dx,[11EDh]         ;DX=ofs new JFT
  31. VER  1E79 26-A3-32-00           ; mov     es:[0032h],ax      ;PSP:=new JFT size
  32. VER  1E7D 26-89-16-34-00        ; mov     es:[0034h],dx      ;PSP:=new JFT
  33. VER  1E82 26-8C-1E-36-00        ; mov     es:[0036h],ds      ;        address
  34. VER  1E87 07                    ; pop     es                 ;ES=seg new JFT
  35. VER  1E88 8B-0E-EB-11           ; mov     cx,[11EBh]         ;CX=new JFT size
  36. VER  1E8C B0-FF                 ; mov     al,-1              ;-1=unused JFN
  37. VER  1E8E 8B-3E-ED-11           ; mov     di,[11EDh]         ;ES:DI=&new JFT
  38. VER  1E92 FC                    ; cld
  39. VER  1E93 F3-AA                 ; rep     stosb              ;fill new JFT w/-1
  40. VER  1E95 8B-3E-ED-11           ; mov     di,[11EDh]
  41. VER  1E99 C6-05-01              ; mov     byte ptr [di],1    ;JFN[0]:=1
  42. VER  1E9C C6-45-01-01           ; mov     byte ptr [di+1],1  ;JFN[1]:=1
  43. VER  1EA0 C3                    ; ret
  44.                                 ;;ES=DS=segment of PSP and data
  45.                                 ;;AH=junk (upper half of new JFT size)
  46.                                 ;;AL=-1
  47.                                 ;;BX=PSP
  48.                                 ;;CX=0
  49.                                 ;;DX=offset of new JFT
  50.                                 ;;DI=offset of new JFT
  51. ;-------------------------------
  52.                                 ;;ES=DS=segment of PSP and data
  53. CHA  1E6B 1E                    ; push    ds
  54. CHA  1E6C 8B-0E-EB-11           ; mov     cx,[11EBh]         ;CX=new JFT size
  55. CHA  1E70 8B-1E-D7-11           ; mov     bx,[11D7h]         ;BX=PSP
  56. CHA  1E74 8E-DB                 ; mov     ds,bx              ;DS=PSP
  57. CHA  1E76 C5-3E-34-00           ; lds     di,[0034h]         ;DS:DI=&old JFT
  58. CHA  1E7A 8B-05                 ; mov     ax,[di]            ;AX=old JFN(0,1)
  59. CHA  1E7C 8E-DB                 ; mov     ds,bx              ;DS=PSP
  60. CHA  1E7E 26-8B-16-ED-11        ; mov     dx,es:[11EDh]      ;DX=ofs new JFT
  61. CHA  1E83 89-0E-32-00           ; mov     [0032h],cx         ;PSP:=new JFT size
  62. CHA  1E87 89-16-34-00           ; mov     [0034h],dx         ;PSP:=new JFT
  63. CHA  1E8B 8C-06-36-00           ; mov     [0036h],es         ;        address
  64. CHA  1E8F 1F                    ; pop     ds                 ;DS=seg new JFT
  65. CHA  1E90 89-D7                 ; mov     di,dx              ;ES:DI=&new JFT
  66. CHA  1E92 FC                    ; cld
  67. CHA  1E93 AB                    ; stosw                      ;copy JFN(0,1)
  68. CHA  1E94 88-EC                 ; mov     ah,ch              ;???useless???
  69. CHA  1E96 B0-FF                 ; mov     al,-1              ;-1=unused JFN
  70. CHA  1E98 49                    ; dec     cx
  71. CHA  1E99 49                    ; dec     cx
  72. CHA  1E9A F3-AA                 ; rep     stosb              ;fill new JFT w/-1
  73. CHA  1E9C 89-D7                 ; mov     di,dx
  74. CHA  1E9E C3                    ; ret
  75. CHA  1E9F 90                    ; nop
  76. CHA  1EA0 90                    ; nop
  77.                                 ;;ES=DS=segment of PSP and data
  78.                                 ;;AH=junk (upper half of new JFT size)
  79.                                 ;;AL=-1
  80.                                 ;;BX=PSP
  81.                                 ;;CX=0
  82.                                 ;;DX=offset of new JFT
  83.                                 ;;DI=offset of new JFT
  84. ;-------------------------------
  85.  
  86.