home *** CD-ROM | disk | FTP | other *** search
/ Network Supervisor's Toolkit / Network Supervisor's Toolkit.iso / patches / _310ptch / smdpatch / smdpatch.asc < prev    next >
Encoding:
Text File  |  1996-07-10  |  2.3 KB  |  68 lines

  1. PATCH FOR NETWARE 386 V3.1 SMODE.EXE UTILITY
  2.  
  3. PROBLEM:
  4.  
  5. The SMODE.EXE that ships with NetWare 386 v3.10 A (VERSION
  6. indicates V2.00, 27,573 bytes, 6/6/90, 12:27pm) has a bug in
  7. it that prevents setting a search mode to any executable
  8. file that has a file name (less path and extension) that is
  9. longer than five characters.
  10.  
  11. For example, SMODE has no problem with files like D.COM,
  12. DI.EXE, DIS.EXE, DISP.EXE, or DISPL.EXE.  However, once the
  13. base part of the filename exceeds five characters, like
  14. DISPLA.EXE, attempting to use SMODE to display or modify the
  15. search mode will fail with the error message:  "Executable
  16. files could not be found with pattern '*.COM or *.EXE'".
  17.  
  18. WHAT'S WRONG:
  19.  
  20. Novell screwed up again.
  21.  
  22. Careful inspection of SMODE.EXE reveals that SMODE breaks up
  23. the file name specified on the command line into a fully
  24. qualfied path and a unqualified file name.  However, the
  25. amount of space allocated for the unqualified file name is
  26. only a 10 bytes...enough for a 9-byte ASCII string and a
  27. null terminator.  If the unqualified file name is longer
  28. than 9 bytes (i.e., longer than 5 characters, plus a period,
  29. plus a 3-byte extension), the last part of this variable's
  30. storage area gets overwritten, and SMODE can't find the
  31. file.
  32.  
  33. WHAT DO WE DO:
  34.  
  35. Well, SMODE stores the unqualified file name at offset 1EB2h
  36. within its data segment.  The trick is to find some other
  37. larger unused area within its data segment in which to place
  38. this variable.  Conveniently some text version information
  39. is stored at offset 720h.  So, we merely change all
  40. references to location 1EB2h to reference 720h instead.
  41.  
  42. OK, SO HOW DO I ACTUALLY APPLY THE PATCH?
  43.  
  44. To apply the patch:
  45.  
  46. 1.)  Make a backup copy of LOGIN.EXE
  47.  
  48. 2.)  Execute the DOPATCH batch file, DOPATCH SMODE.EXE.
  49.      DOPATCH executes PATCH.EXE with the patch information 7
  50.      times to take care of every reference to this variable
  51.      field.
  52.  
  53. 3.)  Test it and make sure that it works for you.
  54. DISCLAIMERS
  55.  
  56. This is not a Novell supplied or supported patch, although I
  57. hope that Novell will take notice and correct this problem
  58. in future releases.
  59.  
  60. Also, you're trying the patch at your own risk.  I'm not
  61. aware of any potential side effects, and this document
  62. describes the patch to the best of my knowledge.
  63.  
  64.  
  65.  
  66. Brett Warthen
  67. (the original LAN Shark)
  68.