home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 30 fixes_v / 30-fixes_v.zip / nwlt11.pat < prev    next >
Text File  |  1992-09-19  |  5KB  |  91 lines

  1. ; OS/2 V2.0 - Fix for Novell NetWare Lite 1.1
  2. ; -------------------------------------------
  3. ;
  4. ; file=NWLT11.PAT (22Aug92 CPK)
  5. ; with thanks to the original NWLITE.PAT (01Jun92 GLF)
  6. ;
  7. ; Novell's Netware Lite 1.1 has a minor bug which will prevent
  8. ; the server portion of the program from operating in an OS/2
  9. ; VDM.  Under certain conditions it will also crash DOS.  This
  10. ; patch will correct the defect in the file SERVER.EXE.  This is
  11. ; NOT an official fix, and carries no guarantees.  Novell has NOT
  12. ; been sent this patch file and appropriately informed of this
  13. ; condition.  Users should contact Novell to obtain official
  14. ; fixes to the Netware Lite program product.
  15. ;
  16. ; The problem is that SERVER.EXE assumes the JFN (Job File
  17. ; Number) for handles 0 and 1 (standard in and out) to always
  18. ; be a value of 1.  This is not always the true, since handles
  19. ; and the system file table are independent.  The correct
  20. ; solution is to copy the JFN from the PSP of SERVER.EXE for
  21. ; handles 0 and 1 to the new JFT (Job File Table).
  22. ;
  23. ; To install this fix enter the following from either an OS/2
  24. ; or VDM command line:    PATCH NWLT11.PAT /A
  25. ;
  26.  
  27.  
  28. FILE SERVER.EXE
  29. ;-------------------------------
  30.                                 ;;ES=DS=segment of PSP and data
  31. VER  1CA3 06                    ; push    es
  32. VER  1CA4 A1-02-0F              ; mov     ax,[0F02h]         ;AX=new JFT size
  33. VER  1CA7 8B-1E-EE-0E           ; mov     bx,[0EEEh]         ;BX=PSP
  34. VER  1CAB 8E-C3                 ; mov     es,bx              ;ES=PSP
  35. VER  1CAD 8B-16-04-0F           ; mov     dx,[0F04h]         ;DX=ofs new JFT
  36. VER  1CB1 26-A3-32-00           ; mov     es:[0032h],ax      ;PSP:=new JFT size
  37. VER  1CB5 26-89-16-34-00        ; mov     es:[0034h],dx      ;PSP:=new JFT
  38. VER  1CBA 26-8C-1E-36-00        ; mov     es:[0036h],ds      ;        address
  39. VER  1CBF 07                    ; pop     es                 ;ES=seg new JFT
  40. VER  1CC0 8B-0E-02-0F           ; mov     cx,[0F02h]         ;CX=new JFT size
  41. VER  1CC4 B0-FF                 ; mov     al,-1              ;-1=unused JFN
  42. VER  1CC6 8B-3E-04-0F           ; mov     di,[0F04h]         ;ES:DI=&new JFT
  43. VER  1CCA FC                    ; cld
  44. VER  1CCB F3-AA                 ; rep     stosb              ;fill new JFT w/-1
  45. VER  1CCD 8B-3E-04-0F           ; mov     di,[0F04h]
  46. VER  1CD1 C6-05-01              ; mov     byte ptr [di],1    ;JFN[0]:=1
  47. VER  1CD4 C6-45-01-01           ; mov     byte ptr [di+1],1  ;JFN[1]:=1
  48. VER  1CD8 C3                    ; ret
  49.                                 ;;ES=DS=segment of PSP and data
  50.                                 ;;AH=junk (upper half of new JFT size)
  51.                                 ;;AL=-1
  52.                                 ;;BX=PSP
  53.                                 ;;CX=0
  54.                                 ;;DX=offset of new JFT
  55.                                 ;;DI=offset of new JFT
  56. ;-------------------------------
  57.                                 ;;ES=DS=segment of PSP and data
  58. CHA  1CA3 1E                    ; push    ds
  59. CHA  1CA4 8B-0E-02-0F           ; mov     cx,[0F02h]         ;CX=new JFT size
  60. CHA  1CA8 8B-1E-EE-0E           ; mov     bx,[0EEEh]         ;BX=PSP
  61. CHA  1CAC 8E-DB                 ; mov     ds,bx              ;DS=PSP
  62. CHA  1CAE C5-3E-34-00           ; lds     di,[0034h]         ;DS:DI=&old JFT
  63. CHA  1CB2 8B-05                 ; mov     ax,[di]            ;AX=old JFN(0,1)
  64. CHA  1CB4 8E-DB                 ; mov     ds,bx              ;DS=PSP
  65. CHA  1CB6 26-8B-16-04-0F        ; mov     dx,es:[0F04h]      ;DX=ofs new JFT
  66. CHA  1CBB 89-0E-32-00           ; mov     [0032h],cx         ;PSP:=new JFT size
  67. CHA  1CBF 89-16-34-00           ; mov     [0034h],dx         ;PSP:=new JFT
  68. CHA  1CC3 8C-06-36-00           ; mov     [0036h],es         ;        address
  69. CHA  1CC7 1F                    ; pop     ds                 ;DS=seg new JFT
  70. CHA  1CC8 89-D7                 ; mov     di,dx              ;ES:DI=&new JFT
  71. CHA  1CCA FC                    ; cld
  72. CHA  1CCB AB                    ; stosw                      ;copy JFN(0,1)
  73. CHA  1CCC 88-EC                 ; mov     ah,ch              ;???useless???
  74. CHA  1CCE B0-FF                 ; mov     al,-1              ;-1=unused JFN
  75. CHA  1CD0 49                    ; dec     cx
  76. CHA  1CD1 49                    ; dec     cx
  77. CHA  1CD2 F3-AA                 ; rep     stosb              ;fill new JFT w/-1
  78. CHA  1CD4 89-D7                 ; mov     di,dx
  79. CHA  1CD6 C3                    ; ret
  80. CHA  1CD7 90                    ; nop
  81. CHA  1CD8 90                    ; nop
  82.                                 ;;ES=DS=segment of PSP and data
  83.                                 ;;AH=junk (upper half of new JFT size)
  84.                                 ;;AL=-1
  85.                                 ;;BX=PSP
  86.                                 ;;CX=0
  87.                                 ;;DX=offset of new JFT
  88.                                 ;;DI=offset of new JFT
  89. ;-------------------------------
  90.  
  91.