home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / RKPLUS30.ZIP / RKPLUS.VER < prev    next >
Encoding:
Text File  |  1993-02-04  |  11.8 KB  |  238 lines

  1.  
  2.  
  3.                             RkPlus Version Log
  4.  
  5.  
  6. ------------------------------------------------------------------------------
  7.  
  8.  
  9.                       RkPlus version 3.0 (4-February-1993)
  10.  
  11. This is a MAJOR update to RkPlus.  Although version 3.0 is still compatible 
  12. with versions 2.0 to 2.4 (mainly through the use of the Rkp2Enc unit), I have 
  13. made several changes to the way keys are generated (allowing the programmer to 
  14. create programmes with more secure keys) :
  15.  
  16.   (1) I have added hooks for user-written Encode functions.  An encode
  17.       function (there should be 3) needs to take 3 strings, a byte and
  18.       an integer; returning a word.  You can cause RkPlus to use
  19.       your encoding functions by calling the SetEncode procedure.  If
  20.       you want RkPlus to use version 2.x/compatible encoding functions,
  21.       you should Use the Rkp2Enc unit (must be listed AFTER RkPlus).  If
  22.       you want to use the new 3.x encoding functions, you should Use the
  23.       Rkp3Enc unit (must be listed AFTER RkPlus).
  24.  
  25.   (2) There is no longer an OwnerCode or ProgramCode in RkPlus.  You may
  26.       use any constants of your own devising in your encoding functions.
  27.       To maintain compatibility with 2.x, the RkpEnc2 unit contains
  28.       definitions for OwnerCode and ProgramCode.  Rkp3Enc uses SetOwnerCode,
  29.       SetProgCode and SetVerCode procedures to define its encryption
  30.       constants.
  31.  
  32.   (3) It is now possibly to have expiring keys which have an expiration
  33.       day (as well as month and year).  Because the expiration date for
  34.       a key is binary encrypted directly into the key number, adding
  35.       an expiration day caused a decrease in the number of bits available
  36.       to store the month and year.  Therefore, when using expiration
  37.       days the range of years is less than when using only expiration
  38.       months and years.  The boolean UseExpDays determines whether
  39.       RkPlus will use expiration days (which will allow a 21 year range)
  40.       or the version 2.x/compatible approach of expiration month and
  41.       year only (which allows a 340 year range).  UseExpDays defaults to
  42.       True, but the Rkp2Enc unit sets it to False (for compatibility
  43.       with version 2.x).
  44.  
  45. I have also added BaseYear (default is 1990), which is used to determine the 
  46. actual date as stored in a registration key.  It is very important that 
  47. UseExpDays and BaseYear are set to the same value in the programme that 
  48. generates keys and in the programme that uses them.  Otherwise, different 
  49. expiration date values will be calculated.
  50.  
  51. Due to naming conflicts with the error return values of RkPlus (in Rkp.Status) 
  52. and the error return values of other units that I was developing, I have 
  53. changed the way that errors are returned.  This will allow compatibility among 
  54. all units produced by Serious Cybernetics.  Registration status is now returned 
  55. in the boolean Rkp.Registered (in the Rkp record).  The function RkpOK will 
  56. return False if an error has occured and RkpError will return the value of the 
  57. error that occured (as a word).  Values of $0001 to $00FF indicate a Turbo 
  58. Pascal (tm) error and are the same as errors returned by IoResult.  Other 
  59. errors will return higher values (see RKPLUS.DOC for details).  RkPlus defines 
  60. constants for the more common errors (also documented in RKPLUS.DOC).  Due to 
  61. these changes, references to Rkp.Status will need to be changed to 
  62. Rkp.Register, RkpOK and/or RkpError where applicable.
  63.  
  64. I (finally!) added the BrandRegInfo procedure (originally to be called 
  65. CloneRegInfo).  This procedure will brand an EXE file with the contents of the 
  66. Rkp record.
  67.  
  68. RkPlusVer is now a Function.
  69.  
  70. VerifyKey and SaveRegInfo will no longer return an InvalidKey error, if if 
  71. Rkp.Key equals '' or '000000000000' (instead, Rkp.Registered will be set to 
  72. False).
  73.  
  74. I have removed the variables KeyFile and Rkp.KeyPath to allow RkPlus to store 
  75. this information internally as individual path, name and extension.  This is 
  76. necessary to allow the new BrandRegInfo to correctly use the key file name 
  77. (with an extension of '.EXE'), without having to store duplicate information. 
  78. The name of the key file is now accessed through a procedure and 2 functions. 
  79. SetKeyFile will set the key file name (with optional path and extension), 
  80. KeyFileName will return the full path, filename and extension of the key file 
  81. and ExeFileName will return the path and filename of the key file (with the 
  82. extension .EXE').
  83.  
  84. I have also added the boolean UseExePath, to specify where RkPlus reads/writes 
  85. key files when no path is specified (using SetKeyFile).  If UseExePath is True 
  86. (default), RkPlus will use the path from which the programme was executed.  If 
  87. UseExePath is False, RkPlus will use the current path.  If a path is specified 
  88. for the key file, UseExePath will be ignored.
  89.  
  90. Programmes written with unregistered copies of RkPlus will now display the 
  91. message "RkPlus 3.0 * Unlicenced Evaluation Copy" when they are first executed. 
  92. There is no delay or beep.  This is NOT intended as an annoyance, simply as a 
  93. gentle reminder that RkPlus is ShareWare and should be registered if it is 
  94. actually used for software development.  Programmes written with registered 
  95. copies of RkPlus will not display this message.  (see REGISTER.DOC for more 
  96. information about registering RkPlus).
  97.  
  98. Versions 1.0/1.5 of Turbo Pascal for Windows and Version 7.0 of Borland Pascal 
  99. (all modes) are now supported by RkPlus.  In order to make the TPW version 
  100. compatible with the other versions, it was necessary to create a 
  101. "compatibility" unit (WDCompat) which is included in the RKP10TPU.ZIP, 
  102. RKP15TPU.ZIP and RKP70TPU.ZIP archives.  This unit is used automatically by the 
  103. TPW version of RkPlus and requires no intervention on the part of the 
  104. programmer.
  105.  
  106. Finally, I have added the variable KeyFileCode, to help generate more secure 
  107. key files.  KeyFileCode will be used by RkPlus to "scramble" the key file 
  108. (Important: KeyFileCode must be set to the same value in all programmes which 
  109. will access the key file, or they will be incompatible).  For more information 
  110. on KeyFileCode, see the READ.ME file included with this archive.
  111.  
  112.  
  113. ------------------------------------------------------------------------------
  114.  
  115.  
  116.                       RkPlus version 2.4 (13-June-1991)
  117.  
  118. Due to a conflict between the naming of the RkPlus Registration Record as "Reg"
  119. and the use of "Reg" in other programmes/units as a record for holding
  120. registers, I have changed the name to "Rkp".  Therefore all occurances of
  121. "Reg." in your existing programmes will need to be replaced with "Rkp." This
  122. can be done easily in the IDE by pressing CTRL-Q then CTRL-A then typing "Reg."
  123. (without the quotes) and pressing ENTER then typing "Rkp." (without the quotes)
  124. and pressing ENTER then typing "GNU" (without the quotes) and pressing ENTER.
  125.  
  126. Also, due to a bug in the encryption algorythm, programmes which had an
  127. OwnerCode and/or ProgramCode of less than 10 characters MAY have produced
  128. incorrect keys under certain conditions.  This has been fixed in version 2.4,
  129. but new keys MAY have to be generated for such programmes.  This problem did
  130. not exist (to the best of my knowledge) when the OwnerCode and ProgramCode were
  131. both longer than 10 characters.
  132.  
  133. In addition, I fixed a bug where an expiration month of 12 (December) would
  134. produce an invalid key.
  135.  
  136. Rkp.Status may now contain an additional result code.  If any of the RkPlus
  137. procedures/functions return BadTPU in Rkp.Status, it indicates that the
  138. RKPLUS.TPU file may have been tampered with or may be corrupt.  If this
  139. occurs, you should immediately replace the questionable .TPU file.
  140.  
  141. The various demo programmes now demonstrate more secure methods of assigning
  142. the OwnerCode.
  143.  
  144.  
  145. ------------------------------------------------------------------------------
  146.  
  147.  
  148.                       RkPlus version 2.3 (4-April-1991)
  149.  
  150. The KeyFile variable is now String[12], instead of String[8].  This will allow
  151. you to include an extension for the key file, as well as a name. If no
  152. extension is specified, the default extension (.REG) will be used.
  153.  
  154. BadSystemDate is now a Function.
  155.  
  156. I have also added the Integer KeyFileSize.  If KeyFileSize is greater than 337
  157. (the minimum possible key file size), then any key files that are created will
  158. have random bytes appended to the end of the file to a length of KeyFileSize.
  159. KeyFileSize is ignored if it is less than or equal to 337 and RkPlus ONLY reads
  160. the first 337 bytes.  Any random bytes, at the end of the file, are ignored.
  161.  
  162. In addition, I have added the function GetKeyFileSize.  This will return the
  163. size of the key file (defined in the KeyFile variable), including any random
  164. bytes that were appended to the end of the file due to KeyFileSize.  A value of
  165. -1 indicates that the information was not available (most likely the file did
  166. not exist).  GetKeyFileSize does NOT alter or use the Reg record.
  167.  
  168.  
  169. ------------------------------------------------------------------------------
  170.  
  171.  
  172.                       RkPlus version 2.2 (19-February-1991)
  173.  
  174. Starting with version 2.2, I am including a Turbo Pascal (tm) 5.0 version of
  175. RkPlus.  All versions of RkPlus (for TP50, TP55 and TP60) are now RKPLUS.TPU.
  176. The 5.0 version is contained in RK50PLUS.ZIP.  The 5.5 version is contained in
  177. RK55PLUS.ZIP and the 6.0 version is contained in RK60PLUS.ZIP.  All three
  178. archives are contained in the RkPlus distribution archive (RKPLUS22.ZIP)
  179.  
  180. I am now including a help text file (RKPLUS.TXT), for those of you who are
  181. using any of the Turbo Power (tm) libraries.  It is in a format usable by
  182. the Turbo Power (tm) MAKEHELP programme.  The compiled RKPLUS.HLP file and
  183. Turbo Power (tm) POPHELP programme are available as RKHELP22.ZIP.
  184.  
  185. Also, GetRegInfo will no longer set the Reg record to "garbage" when a key file
  186. is invalid or corrupt.
  187.  
  188.  
  189. ------------------------------------------------------------------------------
  190.  
  191.  
  192.                       RkPlus version 2.1 (9-February-1991)
  193.  
  194.  
  195. The only real change in version 2.1 is a reduction in the size of the TPU, due
  196. to rearranging some of the internal constants and disabling internal range
  197. checking.  This release is primarily to allow for some changes and corrections
  198. to the documentation, and the addition of some new sample programmes.
  199.  
  200. I have added 2 new sample programmes, that demonstrate a couple of additional
  201. methods of handling keys.  RkpDemo2 has a built-in "brand" routine, instead of
  202. using an external "brand" programme or pre-generated key files.  RkpDemo3 saves
  203. registration information in its own configuration file, instead of using a key
  204. file.  For simplicity, all three demo programmes (RkpDemo, RkpDemo2 and RkpDemo3)
  205. are identical (except, of course, for key handling method) and use identical
  206. keys.  Therefore, a key file (RKPDEMO.REG) created for RkpDemo can also be used
  207. by RkpDemo2 and registration key numbers created for RkpDemo can also be used
  208. by both RkpDemo2 and RkpDemo3.
  209.  
  210. Also, I accidentally overlooked SetRegInfo, when I wrote the initial
  211. documentation.  A description and examples of using SetRegInfo are now included
  212. in RKPLUS.DOC.
  213.  
  214.  
  215. ------------------------------------------------------------------------------
  216.  
  217.  
  218.                       RkPlus version 2.0 (8-February-1991)
  219.  
  220.  
  221. Initial release of RkPlus.  This is a total re-write of the rKey programme.  It
  222. features alphanumeric keys, multiple encryption strings, expiring keys, etc.
  223.  
  224. If you don't feel that you need the enhanced features, a new smaller version
  225. of rKey is also available.
  226.  
  227.  
  228. ------------------------------------------------------------------------------
  229.  
  230.  
  231. RkPlus (c) 1991-92 Serious Cybernetics
  232. Rkp2Enc, Rkp3Enc (c) 1992 Serious Cybernetics
  233. rKey (c) 1990-92 Serious Cybernetics
  234. Turbo Pascal (c) 1983-89 Borland International
  235. MAKEHELP, POPHELP (c) 1989 TurboPower Software
  236.  
  237.  
  238.