ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ º UpLoadProcessor Revision History File ³ Ò Ò Ò ³ º ³ º º º ÖÄÄ· ³ º ³ º º º º º ³ º The following is a list of the most ³ ÓÄÄĽ Ð ºÄĽ ³ º recent changes made to the ULP system ³ Ð ³ º by revision level, in reverse order. ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ 1.06 - Added preliminary support for the new VENDINFO.DIZ standard for (1/28/94) internal description files. Further support will be added in a future version if this standard catches on. At the request of a couple of users, ULPSM has been modified to permit editing 24 upload subdirectory configurations, up from the previous limit of 15. Also at the request of a user, increased the number of configurable special-case file extensions to 24 from 10 (this applies to both "extensions to never process" and "extensions to process and compress"). *** NOTE: Due to this change, the ULP configuration file requires updating using the included UPDATE.EXE utility! The command line for UPDATE is "update -Culp.cfg". Added a sample configuration for the new UC2 compression format to the sample configuration file. Note that this format is identified only by extension. Signature identification will not be implemented until the archiver becomes more widespread and mature. Altered the logging of "files previously processed" to place 4 filenames per line, reducing log file bloat for those with large numbers of files in their source upload directories. Removed the archive info line from "file extensions to never be processed" files, since the data is generally inaccurate. The ARJ security envelope format was changed in ARJ version 2.4, breaking ULP's secured ARJ archive detection. Fixed. Some users reported that the ULPTEST pre-verification test was broken, but I was unable to replicate it. However, after reviewing the code, I found the problem and now I can't figure out how it ever worked in the first place! I wasn't properly opening the temporary data file for the pre-verification routine. Fixed. Oops...ULPDB was returning an errorlevel of 0 regardless of what happened during its execution. ULPSM archivers configuration menus would not permit numbers in the file extension. Fixed. 1.05 - Finally nailed that swapping lockup problem that has been affecting (1/6/94) a small precentage of the people using ULPTEST! The direct comm interrupts were left hooked during the swap, and if something (keystroke, line noise, etc.) were to be received by the modem during the swapped spawn, the unservicable interrupt could lock the system. ULPTEST now shuts down the direct comm I/O prior to a spawn and restarts it after the returning from the spawn. This, in conjunction with updated library code, should fix all swapping problems. No UPDATE.EXE is included in this archive, as no change to the configuration file format(s) occurred. No setup modifications are necessary to install 1.05 from 1.04. 1.04 - Disk swapping has been broken since swapping was first introduced (12/31/93) into ULP during early 0.9x beta testing; this was due to a bug in my third party library. Fixed. Added the file SWAPPING.DOC to fully explain the ins and outs of swapping with ULP. Read it...the rare lockup problem (experienced by a half-dozen or so out of a few hundred ULP users) has not been tracked down by the library vendor as of this release. ULPTEST will now follow the description column number as configured in ULPSM for description secondary lines. Originally, ULPTEST forced this value to 32, relying on ULP.EXE to correct the description in the event, which was not compatible with ULPTEST's slow mode. It appears I was overzealous in my attempts to not falsely detect an ARC format archive, and was not recognizing some valid ARC archives. Fixed. Found that if an archive had a sufficient number and layers of nested archives, ULPTEST could abort with a stack overflow error. Corrected by increasing ULPTEST's stack size by 1K. This was discovered when processing V12N21.ZIP, which has multiple 4-level- deep nested archives within. ULP.EXE does not exhibit this problem. ULPTEST's local mode switch (-L) was not working. Fixed. If you had your default archiver as the first archiver in page 1 of the "archivers" menu, ULP.EXE would insert the wrong new file size for an archive that was converted from a format other than your default. Sorry 'bout that...if this bug applies to you, you can correct your directory listing file sizes using the "PCBFILER /PROCESS:xx:nn" command, where 'xx' is the conference number and 'nn' is the directory number. Fixed a bug where very badly damaged archives could hang ULP while screening for corruption. Learned that ULP would still strip leading spaces regardless of the smart word-wrapping toggle (it shouldn't have with word-wrapping off). Fixed. Fixed a bug where spawned processes on nested archives could fail for an invalid command line parameter due to an improperly restored pointer if no @-variable was used in the command line. This bug has existed since the 0.90à versions of ULP, but apparently no one found it until I found it recently. If the work subdirectory drive letter wasn't capitalized, ULP would incorrectly think there wasn't enough space available on the work drive, and would default to the startup drive as the work drive. Fixed. ULPDB's view function would not operate on a file located on a write-protected device (e.g. CD-ROM drive). Fixed. No UPDATE.EXE is included in this archive, as no change to the configuration file format(s) occurred. No setup modifications are necessary to install 1.04 from 1.03. 1.03 - Changed the swapping code (yes, again) because the code installed in (11/6/93) version 1.02 was mangling the direct comm I/O after the first swap. Also, the type of swapping is now configurable (see the General Options menu). Options for swapping are now: (N)one, (E)MS, (X)MS, (D)isk and (A)uto. Be sure to set this parameter when upgrading, as the value has changed from your previous setting; (A)uto is equivalent to the old (Y)es selection and probably the best choice. Added the brain-dead newest file age checking algorithm back into ULP as an option (see the Age Checking menu). I *strongly* recommend you stick with average age checking, as it's much more resistant to tampering than simply basing acceptance off the newest file, but some people seem adament about using a newest file algorithm. Removed the "elapsed time" code, saving about 1.5K of executable size each on ULP, ULPTEST and ULPDB. Shortened the length of the @-variable names that ULP utilizes in order to free up a few more characters for the configuration information fields in ULPSM (refer to the documentation for the new variable names). You must go through your configuration file and update all @-variables (in the archivers, file checkers, GIF file checkers and description processing menus) according to the following translation: @ARCHIVE@ ---> @ARC@ @WIDTH@ ---> @WID@ @FILES@ ---> @FILE@ @HEIGT@ ---> @HGT@ @NEWEST@ ---> @NEW@ @COLORS@ ---> @COLOR@ @OLDEST@ ---> @OLD@ @COMPRESS@ ---> @COMP@ @BYTES@ ---> @BYTE@ *** NOTE: ZDCS users must enter the Duplication Checking menu in ULPSM (menu G) and save the values (press F10) in order to reset an imbedded @FILE@ variable. Removed the erroneous FOSSIL port limitation of 8 (port numbers 0 through 7). Any port number will now be accepted on the command line. Fixed a bug in ULPADS that, under certain conditions, incorrectly identified ads as having already been entered into the CRC database, when in fact, they had not. The end result was the perception that ULP was not removing some BBS ads. It would be a good idea to use the distribution database included in the ULP archive and add your own BBS ad files back in. Fixed a problem where ULPTEST would still attempt to access the comm port regardless of the configuration. Also improved ULPTEST's handling of comm port detection and determination. Due to some users having problems with stray DSZPORT variables, the order of the comm port determination was changed to: 1. It utilizes the information directly passed on the command line. 2. It will search for the PCBDIR, PCBDAT and PCBDRIVE (optional) environment variables to locate the PCBOARD.SYS and PCBOARD.DAT files. 3. It will look in the current subdirectory where ULPTEST was started from for the PCBOARD.SYS and PCBOARD.DAT files. 4. It checks DSZPORT environment variable for the comm port information. Discovered that ULP and ULPTEST were not including GIF files in the byte counts, making the @BYTE@ variable incorrect for GIFs and archives with nested GIF files. Fixed. Fixed a bug where ULPTEST would not properly count the number of executable duplicates, thereby skewing the percentages. (I think this bug only affected ULP's internal duplication system). ULPTEST did not properly handle what PCBoard was passing for 115,200 baud in the 5 character space allocated in PCBOARD.SYS for the DTE baud rate. Fixed. No UPDATE.EXE is included in this archive, as no change to the configuration file format(s) occurred. Mike Cocke is now a reseller of my shareware products, and can accept credit card registrations. Please see the REGISTER.FRM file for more information. 1.02 - In an effort to further improve ULP's already frugal memory usage, (10/7/93) the internal database buffer size is now user selectable. Three sizes are available for optimum database speed and memory usage: 2.5K, 5K and 10K. The smallest should be used for small databases (less than 1 meg) or in severe memory conditions. The largest should prove *slightly* faster for large databases (greater than 3 megs). Previous versions of ULP had the database buffer hard-coded to 10K. (This buffer is used only for internal database users; no buffer is allocated when ZDCS is used). Changed swapping code to what appears to be a more stable and compatible routine. In addition, an additional 25K of memory is now available with swapping enabled. Since ULPTEST fast and normal modes do not repack archives, the BBS ad checking was not enabled. This posed other problems, such as inaccurate duplication levels due to the BBS ads being included in the statistics. ULPTEST fast and normal modes now perform BBS ad checking but do not remove the ads until ULP.EXE reprocesses the file in the event. Argh! Under certain circumstances, ULPTEST would create an archive of the same name as being tested, except with the extension .ULP, containing only a comment. ULPSM would not allow a non-zero errorlevel to be configured for a GIF file checker. Fixed. With some help from the Fidonet C echo, I was able to fix my FOSSIL code for the Microsoft compiler, and have switched ULPTEST back to Microsoft C 7.0. Updated my direct comm libraries to the latest version. 1.01 - The "error disposition" and "virus disposition" functions now have a (9/22/93) third option: (K)eep. When (K)eep is selected, ULP will keep the defective uploads, but will not rename them. Note that selecting (K)eep prevents the use of ULP's override mode, since override mode keys off of the file extension that (R)ename produces. However, the purpose of the (K)eep function is to allow systems to more easily retain a rejected file. The "insert information line" flag has been removed from ULPSM. ULP and ULPTEST will now insert a line only if one is defined, giving the increased flexibility to add an archive info line, but not a GIF info line, vice versa or both. Added a new function to ULPSM's description processing menu: "Insert lack of description line". By setting this to 'Y', ULP.EXE will move files that have no description to the destination area, inserting the description line "No description available". Setting this to 'N' operates in the same manner as previous versions, where the file is not moved. ULPSM will also accept an environment variable, defined using the %VARIABLE% convention DOS uses, in the work subdirectory field. Note that the environment variable must still conform to the requirements for the work directory paremeter (trailing backslash, path length, etc.). Increased the maximum allowable number of description lines to 60, to match PCBoard 15's limit. Note that setting the limit higher will use more memory in ULP and ULPTEST. Extended ULPDB's segmented sorting algorithm to allow a complete recompile of a duplication database of up to 128 megs in size (I had one ULP user creeping up on the previous limit of 8 megs in size). Prior to this release, GIF file testing within ULP could not be disabled; ULP would always detect the GIF file and attempt to test it. It is now possible to disable GIF detection and testing entirely if all minimum image parameters are set to 0 and the GIF file tester command line is blanked out. Removed the bomb archive checking code in ULP and ULPTEST in favor of the improved disk space checking routine. Previously, ULP and ULPTEST would fail an archive if a file contained within was over the hard-coded limit of 5 megabytes in size; this is no longer the case (unless there is insufficient disk space to decompress the archive). Due to the ever-increasing memory requirements of SCAN, an example F-PROT command line has been added to the default ULP configuration file for those who wish to change virus testers, or simply want the extra safety of two virus testers. ULPTEST slow mode was not following the archiving flags for nested archives and nested SFX archives. ULPTEST also did not detect ZIP -AV stamps or ARJ security envelopes (this was by design when only normal and fast modes were available; I forgot to install it when slow mode was added). ULPSM would not allow numerals to be included in the special case file extensions. Fixed so all valid filename characters are accepted. Finally tracked down a long-standing bug that would process nested archives twice under certain circumstances. Fixed a problem where the privileged user list handling wasn't working exactly as planned when ULPTEST was run in normal or fast modes. Fixed a problem where ULPTEST normal and fast modes would not detect that the same file uploaded twice between events were duplicates. ULPSM would erase the unpacking command line in the archivers entry screen if the pack command was edited. This error also produced archiving errors if the command line extended to within 3 characters of the end of the packing command line field. Fixed. Cleaned up a few "Divide by zero" errors that would appear under some conditions. 1.00 - First non-beta production release. (8/28/93) 0.91á through 0.99á - Beta test versions... 0.90à/A through 0.90à/I - Alpha test versions...