
    Ŀ
                               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.
     
      ͼ


0.99    - Could it be? The last beta, after 1 1/2 years in development?
(5/24/93)
           CONFIGURATION FILE CHANGE!!!  The ARC_PACK command lines have been
           split into two lines: ARC_PACK and ARC_COMMENT. This was done for
           several reasons: to allow ULPTEST to comment archives during
           testing, to allow unaltered archives (e.g. -AV and SFX archives) to
           be commented, to prevent needless commenting of nested archives and
           other less-important reasons. Refer to the documentation for more
           information.

           CONFIGURATION FILE CHANGE!!!  Added the WORD_WRAP parameter back by
           popular demand. The choices are NO (default) for no word-wrapping
           and YES for the smart word-wrapping, which checks for boxes, etc.
           before word-wrapping. In addition, the smart word-wrapping logic has
           been enhanced.

           ULPTEST now recognizes the ATTACH mode passed by PCBoard 15.0 for
           file attachments to messages, and tests the file for integrity,
           corruption and viruses only. Under no circumstances will the file be
           rejected, however, since this would prevent the file attachment. Any
           problems detected will be logged in the log file and displayed to
           the user online.

           Archives with imbedded paths are now supported by ULP and ULPTEST.
           ULPTEST will now automatically switch into FAST mode when an archive
           with paths is detected, eliminating the problem of unpacking, since
           there should not be any nested archives in a pathed archive. During
           the event, ULP.EXE will detect the imbedded paths, processing as
           usual (i.e. unpacking without respect to paths), but it will retain
           the original archive. Granted, ULP.EXE's handling is a kludge, but
           should suffice for now. In addition, ULP has been coded to repack
           pathed archives in which all files within have identical pathspecs,
           thus removing the paths (why were they there to begin with?).

           ULP and ULPTEST will now detect and reject archives containing
           encrypted files, and renaming or deleting in accordance with the
           ERR_DISP parameter. The extension will be .ENC if renamed.

           Also rewrote the ULP process logging system for improved clarity and
           additional information. ULP's retest (-R) and mass conversion (-M)
           modes now have verbose logging and follow the LOG_MODE parameter
           defined in the configuration file. Finally, due to some confusion
           over ULP refusing to reprocess a file that is in the PROCESS.DAT
           file, ULP now logs any file skipped due to previous processing into
           the log file.

           ULPTEST will now check the environment for a DSZPORT environment
           variable, and will use it if found versus reading the PCBOARD.DAT.

           Added a -G command line switch to ULPTEST, allowing the sysop to
           force ULPTEST to use or not use ANSI graphics at all times (options
           are YES or NO). Normally ULPTEST extracts the user's current
           graphics state from PCBOARD.SYS, but if a sysop was using the
           command-line exclusively to pass program parameters, he was forced
           to use non-graphics mode due to the lack of this switch.

           Switched compilers for all programs except ULPDB to Microsoft C 7.0
           from Borland C++ 3.1 for reduced code size and improved speed.

           For the first time in awhile, I spent some time optimizing and
           re-writing code. For example, the duplication database compilation
           routines are now at least 3 times faster, especially on LANs and
           slow hard disks. Also removed redundant code from ULPTEST, resulting
           in smaller code size. Runtime memory requirements have been reduced
           slightly as well.

           Spent some time on the documentation as well, clarifying ULP system
           installation and operation. Also including instructions for using
           ZDCS with ULP instead of ULP's duplication system, for those wishing
           to use ZDCS.

           Made the ULP programs error messages less cryptic by using the
           configuration file parameter id in the error message.

           Changed the minimum acceptable database purge value for ULPDB from
           12 to 6 months by user request. Be careful!

           The ULP programs could not identify PKZIP 2.04? SFX archives created
           with the -j option (SFX junior). Fixed.

           Learned that what CDC calls FOSSIL port 1 in PCBOARD.DAT is really
           FOSSIL port 0 (and so on). Fixed. Note that this does not affect the
           associated command line switch, however. If you want to specify
           FOSSIL port 2 on the command line, use '-X2'.

           Discovered that part of my third-party library was broken, including
           the swap code. Now that it's corrected with a library upgrade, the
           ULP programs should no longer hang when swapping out to EMS/XMS/etc.

           On occcasion, ULP would ignore the KEEP_AV and KEEP_ENV variable
           settings and always keep secured archives. Fixed.

           ULP now does not include FILE_ID.DIZ and DESC.SDI files in the
           archive statistics; they are used solely for descriptions. Since
           this is how ULPTEST has always operated, the file counts during
           upload test and event processing were different in the log files for
           files with internal description files.

           ULP could mangle a directory listing if two files with the same base
           name but different extensions (e.g. .SDN and .SDA files) were
           processed. Fixed.

           ULPTEST would fail with "Unknown format" errors if attempting to run
           ULPTEST from the same subdirectory where the file being tested was
           stored. An example of this is when files are uploaded through the
           RoseMail 2.00 door.

           ULPTEST's counting of EXE extensions and EXE duplicates when in FAST
           mode would always result in 0. Fixed.

           Corrected background color bleeding in ULPTEST's colorized header.

           If you tried to mass convert or retest the subdirectory pointed to
           by SOURCE_PATH using ULP.EXE, it wouldn't do anything since it was
           using PROCESS.DAT. Fixed.

0.98    - CONFIGURATION FILE CHANGE!!!  ULP is now capable of processing a
(2/27/93)  single upload directory for those who want to make all uploads
           public and don't like the three-directory approach (although the
           three-directory approach is still supported). In order to achieve
           this, ULP now maintains a process data file, defined by the
           PROC_DAT_FILE parameter. This file is required for ULP operation.
           * NOTE: To initialize the data file, run your old version of ULP
                   first to be sure everything has been processed, and then use
                   the -I initialization command-line switch. If you do not
                   process the files in the SOURCE_DIR prior to initialization,
                   they will not be processed after initialization!

           CONFIGURATION FILE CHANGE!!!  ULP and ULPTEST are now capable of
           partially decoding GIF files and rejecting files based upon width,
           height, colors and/or GIFLITE compression. By doing so, only 1 GIF
           tester can be defined in the configuration file (which shouldn't be
           a problem, since GIFTEST is the only one I'm aware of). This is the
           first step toward an integrated GIF tester, eliminating dependence
           on GIFTEST. Refer to the MIN_WIDTH, MIN_HEIGHT, MIN_COLORS and
           KEEP_GIFLITE parameters. Note that these limits are not applied to
           nested GIFs within archives. (NOTE: If you continue to use GIFTEST,
           the KEEP_GIFLITE parameter will not work).

           CONFIGURATION FILE CHANGE!!!  In conjunction with the added GIF
           testing ability, ULP can add a single user-defined line to the GIF
           description describing the resolution and compression (refer to
           GIF_INFO_FMT parameter). Also note that the INFO_FORMAT config
           parameter has been renamed to ARC_INFO_FMT.

           CONFIGURATION FILE CHANGE!!!  The upload directory configuration
           information is now external to the ULP binary configuration file, in
           a separate file defined by DIR_CFG_FILE parameter. This change
           reduces ULP.EXE's runtime memory requirements, while eliminating the
           10-directory limit previously imposed. An unlimited number of upload
           directories can now be defined.

           CONFIGURATION FILE CHANGE!!!  The WORD_WRAP parameter is now
           obsolete. ULP and ULPTEST will now check the description for box
           drawing characters prior to word-wrapping. If boxes are detected,
           they will not be word-wrapped, otherwise it will be word-wrapped.

           Two new variables are now available for the format definitions
           ARC_INFO_FMT and GIF_INFO_FMT: @DATE@ and @CR@. @DATE@ will insert
           today's date, while @CR@ will insert a line break in the definition
           to facilitate multi-line information line definitions.

           ULPTEST is now able to use a FOSSIL driver for it's comm I/O; it
           will automatically determine if you are running the PCBoard /M
           software when reading the PCBOARD.DAT. You can force ULPTEST to use
           a FOSSIL by using the -X command-line parameter to define the FOSSIL
           port number.

           Greatly enhanced the duplication database scanning speed of ULP,
           ULPTEST and ULPDB, especially for those users with very large
           duplication databases and/or processing across a LAN.

           Improved the archive scanning routines, speeding scanning for
           corruption, ULPTEST FAST mode and ULPDB database addition (when not
           forced to unpack via the command line). The speed increase is most
           noticable when scanning a file across a LAN.

           Enhanced -AV and secured archive detection, and added detection of
           PKZIP 2.x -AV stamps. ULP will now detect if an unsecured file has
           been added to an authentic archive and will not consider the archive
           authentic anymore.

           ULP and ULPTEST will now detect bomb archives and skip them (if in
           ARJ, ARC, PAK or ZIP formats). Bomb archives are archives with huge
           repeated text files inside that compress very tightly. I was given
           one that has a 30 meg file compressed down to 58K! If a single file
           contained inside any archive is greater than 3 megs in size
           (arbitrary limit), the archive will be rejected and renamed to a
           .BOM extension.

           Modified the manner in which ULPTEST uses the -I, -A, -B and -N
           parameters. They are now considered to be overrides of the defaults
           found in PCBOARD.DAT/PCBOARD.SYS. In addition, ULPTEST will now only
           open PCBOARD.DAT and/or PCBOARD.SYS only if information contained
           within is required. Lastly, added a last-ditch attempt to locate the
           PCBOARD.DAT/.SYS files by checking the current directory if all
           other attempts fail.

           Changed the 16550A UART FIFO trigger level in ULPTEST from 1 to 8
           bytes. This will reduce CPU overhead slightly due to comm I/O when
           ULPTEST is running. (Note that this change is for direct I/O only,
           not FOSSIL driver I/O).

           Due to popular demand, ULP will now move files that have internal
           descriptions, regardless of whether a user-supplied description
           exists in the source DIRxx list.

           Added a purge function to ULPDB to remove old duplication database
           records. This purge function is based upon the date of the file
           represented by the record, NOT the date the record was entered into
           the database. Refer to the documentation for more information on the
           -P command line switch. Be careful!

           Improved the memory handling in ULPDB to improve its tolerance of
           variable available memory conditions.

           Changed the .VRS error extension to .CHK...seemed more descriptive
           since more than just virus-checkers are executed in this function.

           Removed single file processing mode from ULP.

           ULP and ULPTEST NORMAL modes would ignore FILE_ID.DIZ and DESC.SDI
           files when processing a file (in the statistics compilation), while
           ULPDB, ULPTEST FAST and VERIFY.ULP modes would not. All functions
           now completely ignore internal description files during processing.

           When ULPTEST NORMAL mode begins processing a nested archive, it will
           inform the user that it is processing a nested archive. Before, the
           output was somewhat confusing to the uploader.

           ULP, ULPTEST and ULPDB would not recognize a file of the format of
           the first archiver listed in the ULP.CFG file (usually ARC). Related
           to this was a bug that could cause a failure to move the files to
           the destination directory.

           ULP -O (override) mode was broken if you had ULP's internal BBS ad
           file checking disabled. Fixed.

           ULP and ULPTEST could muck up or duplicate description lines if
           boneheads didn't follow the standard format of the FILE_ID.DIZ file.
           The description lines are now truncated to 45 (count 'em, 45)
           characters. Also installed code to strip leading blanks and tabs and
           blank lines in incorrectly formatted description files.

           ULPTEST would insert a file size of 0 in the description file. This
           was purely cosmetic, since ULP would correct it in the event. Fixed.

           ULPCFG didn't allocate the same amount of space for the upload
           directory and directory lists as PCBoard does, so problems with long
           paths could arise. ULP now allocates the same amount of space as
           PCBoard allows in PCBSETUP.

           If your primary archiver was the first archiver defined in the
           config file, ULPCFG falsely reported that no primary archiver was
           defined. ULP would still operate correctly; the error message was a
           false alarm. Fixed.

           ULPCFG would report "WARNING: Unknown configuration file parameter
           '(null)'" if any blank lines were in the text configuration file.
           Fixed.

           When reading a list file to build a database, ULPDB may miss the
           first line in the file, resulting in those files not being entered
           in the database. Fixed.

           Spend a significant amount of time updating and improving the
           documentation. I suggest you read it, since there are so many
           changes and improvements in this version...

0.91 through 0.97 - Earlier beta test versions...

0.90/A through 0.90/I - Alpha test versions...
