gatekeeper.git
2 years agoMove more of the old comment blocks into POD
Jacob Bachmeyer [Sat, 8 Oct 2022 03:40:31 +0000 (22:40 -0500)]
Move more of the old comment blocks into POD

2 years agoUse Pod::Usage and begin to develop internal documentation in Perl POD
Jacob Bachmeyer [Sat, 8 Oct 2022 03:32:21 +0000 (22:32 -0500)]
Use Pod::Usage and begin to develop internal documentation in Perl POD

POD is Perl's native documentation format, designed to embed an
approximate equivalent to a man page inside a Perl program or module.
POD can be particularly useful for docstring-like embedded per-function
documentation but has a different purpose from Texinfo, which will be
used when a reference manual is written.

2 years agoFinish integration of CheckVulnerabilities code
Jacob Bachmeyer [Sat, 8 Oct 2022 00:06:02 +0000 (19:06 -0500)]
Finish integration of CheckVulnerabilities code

2 years agoRemove version 1.0 compatibility mode
Jacob Bachmeyer [Sat, 8 Oct 2022 00:02:40 +0000 (19:02 -0500)]
Remove version 1.0 compatibility mode

2 years agoRefactor log style tag into ftp_syslog
Jacob Bachmeyer [Fri, 7 Oct 2022 23:48:00 +0000 (18:48 -0500)]
Refactor log style tag into ftp_syslog

This removes references to $log_style at every call site and collects a
single reference to the renamed $Log_Style global in the ftp_syslog sub.

2 years agoFill long lines in gatekeeper script
Jacob Bachmeyer [Fri, 7 Oct 2022 23:37:00 +0000 (18:37 -0500)]
Fill long lines in gatekeeper script

Also update testsuite to recognize a message changed by this operation.

2 years agoEmit stack backtrace if syslog call fails
Jacob Bachmeyer [Fri, 7 Oct 2022 04:12:59 +0000 (23:12 -0500)]
Emit stack backtrace if syslog call fails

2 years agoRevise display of usage information
Jacob Bachmeyer [Fri, 7 Oct 2022 04:02:48 +0000 (23:02 -0500)]
Revise display of usage information

The script now reports success if run with the --help option.

2 years agoUse Perl's "or" in conditionals used for control flow
Jacob Bachmeyer [Fri, 7 Oct 2022 03:48:56 +0000 (22:48 -0500)]
Use Perl's "or" in conditionals used for control flow

2 years agoFix oversight with location of logging definitions
Jacob Bachmeyer [Fri, 7 Oct 2022 03:37:48 +0000 (22:37 -0500)]
Fix oversight with location of logging definitions

2 years agoRevise syslog initialization in gatekeeper script
Jacob Bachmeyer [Fri, 7 Oct 2022 03:33:34 +0000 (22:33 -0500)]
Revise syslog initialization in gatekeeper script

This reflects the renaming of the script and moves the syslog details to
one place nearer the top of the file.

The "ndelay" option could be added to the openlog call, but would be
redundant, as the script immediately logs its own startup.

2 years agoNormalize argument unpacking in gatekeeper script
Jacob Bachmeyer [Thu, 6 Oct 2022 04:49:46 +0000 (23:49 -0500)]
Normalize argument unpacking in gatekeeper script

This shifts arguments out of @_ one at a time in each sub and also
removes a few cases of setting lists containing only one variable.

2 years agoUpdate old-style sub calls in gatekeeper script
Jacob Bachmeyer [Thu, 6 Oct 2022 04:35:00 +0000 (23:35 -0500)]
Update old-style sub calls in gatekeeper script

2 years agoMerge CheckVulnerabilities module into main script
Jacob Bachmeyer [Thu, 6 Oct 2022 04:20:00 +0000 (23:20 -0500)]
Merge CheckVulnerabilities module into main script

2 years agoMove syslog initialization and final configuration check to preliminaries
Jacob Bachmeyer [Thu, 6 Oct 2022 04:18:48 +0000 (23:18 -0500)]
Move syslog initialization and final configuration check to preliminaries

This also required moving the message reporting subs farther up, since
this code uses ftp_syslog and ftp_die.

2 years agoRemove sub main in gatekeeper script
Jacob Bachmeyer [Thu, 6 Oct 2022 03:50:50 +0000 (22:50 -0500)]
Remove sub main in gatekeeper script

Unlike C, Perl allows program code to simply appear at the top level of
the file.  Using this feature is the standard convention in Perl.

2 years agoReorganize gatekeeper script to sort subs ahead of their callers
Jacob Bachmeyer [Thu, 6 Oct 2022 03:48:04 +0000 (22:48 -0500)]
Reorganize gatekeeper script to sort subs ahead of their callers

Prior to committing, this was validated with:
(DIFF='git diff --cached';
 comm -3 <($DIFF | grep ^- | sed -e 's/^-//' | sort) \
         <($DIFF | grep ^+ | sed -e 's/^+//' | sort) )

The output shows only blank lines, comments, and a diff header were
added, and only a diff header removed, after all lines are sorted
and paired for analysis.  To replicate, change the "git diff" command
to compare this commit with its parent.

2 years agoDocument change of script name and update copyright years
Jacob Bachmeyer [Thu, 6 Oct 2022 03:36:06 +0000 (22:36 -0500)]
Document change of script name and update copyright years

2 years agoFix prototype on ftp_die in gatekeeper script
Jacob Bachmeyer [Thu, 6 Oct 2022 02:05:21 +0000 (21:05 -0500)]
Fix prototype on ftp_die in gatekeeper script

Currently, this prototype has no effect because the entire script has been
compiled before it is seen.  Moving ftp_die to near the beginning of the script
will cause the prototype to be checked and the incorrect prototype causes
compilation to fail.

2 years agoRename the upload-ftp tool to "gatekeeper" and update symlinks
Jacob Bachmeyer [Thu, 6 Oct 2022 01:40:40 +0000 (20:40 -0500)]
Rename the upload-ftp tool to "gatekeeper" and update symlinks

At this time, the tool still reports as "ftp-upload" in syslog.

2 years agoRemove old version of upload-ftp script
Jacob Bachmeyer [Thu, 6 Oct 2022 01:31:49 +0000 (20:31 -0500)]
Remove old version of upload-ftp script

2 years agoImport existing script generate-ftpindex.sh
unknown [Wed, 5 Oct 2022 02:15:30 +0000 (21:15 -0500)]
Import existing script generate-ftpindex.sh

2 years agoWork around Expect bug
Jacob Bachmeyer [Tue, 4 Oct 2022 02:01:38 +0000 (21:01 -0500)]
Work around Expect bug

2 years agoImprove handling of test environments in upload testsuite
Jacob Bachmeyer [Tue, 20 Sep 2022 00:04:12 +0000 (19:04 -0500)]
Improve handling of test environments in upload testsuite

This removes the argument to the new_test_environment procedure.

2 years agoClean up scratchpad files in mock tool testsuite
Jacob Bachmeyer [Mon, 19 Sep 2022 23:38:56 +0000 (18:38 -0500)]
Clean up scratchpad files in mock tool testsuite

2 years agoRemove Emacs time-stamp configuration
Jacob Bachmeyer [Mon, 19 Sep 2022 23:03:34 +0000 (18:03 -0500)]
Remove Emacs time-stamp configuration

The files are now tracked in Git and the actual timestamp was removed
long ago -- the oldest version in the repository does not have it.

2 years agoAdd test for rejection of future directive signature timestamp
Jacob Bachmeyer [Sun, 13 Feb 2022 04:34:25 +0000 (22:34 -0600)]
Add test for rejection of future directive signature timestamp

2 years agoCorrectly handle both old and new signature timestamps from GPG
Jacob Bachmeyer [Sun, 13 Feb 2022 04:33:22 +0000 (22:33 -0600)]
Correctly handle both old and new signature timestamps from GPG

2 years agoAdd debugging message reporting directive signature timestamp
Jacob Bachmeyer [Sun, 13 Feb 2022 04:32:24 +0000 (22:32 -0600)]
Add debugging message reporting directive signature timestamp

2 years agoFix critical bug in symlink command handling found during testing
Jacob Bachmeyer [Sat, 29 Jan 2022 02:56:49 +0000 (20:56 -0600)]
Fix critical bug in symlink command handling found during testing

Previously, while symlink targets were checked for the string "..", symlink
names were unchecked; this allowed symlinks to be placed outside of the
permitted areas for which the signing key is authorized and even outside of the
managed file tree, requiring only that the containing directory already exist.
The test case places a symlink directly into the top-level pub/ directory to
demonstrate the issue and confirm that it is fixed.

I consider this bug critical because while the rogue symlink can only refer to
something else at or below its own location, it could replace an existing
symlink.  While I do not expect that this provides any way to crack system
security, careful misuse could certainly cause considerable nuisance, possibly
breaking the entire system if an attacker can find a symlink that is critical
for the system's operation and replace it with a dangling symlink.

2 years agoAdd more tests for loose directives to improve coverage
Jacob Bachmeyer [Sat, 29 Jan 2022 02:52:00 +0000 (20:52 -0600)]
Add more tests for loose directives to improve coverage

2 years agoAdd more tests for misconfigured package scenarios
Jacob Bachmeyer [Fri, 28 Jan 2022 03:36:12 +0000 (21:36 -0600)]
Add more tests for misconfigured package scenarios

2 years agoAdd more tests for invalid directives in triplets
Jacob Bachmeyer [Fri, 28 Jan 2022 03:34:12 +0000 (21:34 -0600)]
Add more tests for invalid directives in triplets

2 years agoChange DEBUG, NOMAIL, TSTAMPCHECK mode flags to constants
Jacob Bachmeyer [Thu, 27 Jan 2022 05:13:50 +0000 (23:13 -0600)]
Change DEBUG, NOMAIL, TSTAMPCHECK mode flags to constants

This simplifies coverage analysis reports, since these flags are only set
while initializing the script and never changed during a run.

2 years agoAdd tests for oversize directive and signature files
Jacob Bachmeyer [Thu, 27 Jan 2022 04:06:42 +0000 (22:06 -0600)]
Add tests for oversize directive and signature files

2 years agoImprove log messages for oversize directive or signature files
Jacob Bachmeyer [Thu, 27 Jan 2022 03:16:00 +0000 (21:16 -0600)]
Improve log messages for oversize directive or signature files

The new messages are easier for the testsuite to match.

2 years agoAdd idle processing tests for recent uploads
Jacob Bachmeyer [Thu, 27 Jan 2022 03:10:49 +0000 (21:10 -0600)]
Add idle processing tests for recent uploads

2 years agoAdd infrastructure for testsuite coverage analysis
Jacob Bachmeyer [Thu, 27 Jan 2022 03:10:11 +0000 (21:10 -0600)]
Add infrastructure for testsuite coverage analysis

2 years agoTidy whitespace
Jacob Bachmeyer [Thu, 27 Jan 2022 03:09:26 +0000 (21:09 -0600)]
Tidy whitespace

2 years agoAdd tests for Automake vulnerability filter logic
Jacob Bachmeyer [Wed, 26 Jan 2022 03:20:00 +0000 (21:20 -0600)]
Add tests for Automake vulnerability filter logic

2 years agoAdd tests for basic triplet handling
Jacob Bachmeyer [Sat, 22 Jan 2022 03:33:44 +0000 (21:33 -0600)]
Add tests for basic triplet handling

2 years agoEnsure that upload handler syslog messages do not span lines
Jacob Bachmeyer [Fri, 10 Dec 2021 22:54:51 +0000 (16:54 -0600)]
Ensure that upload handler syslog messages do not span lines

3 years agoMeet taint mode requirements for handling test SMTP port
Jacob Bachmeyer [Sun, 14 Nov 2021 01:08:28 +0000 (19:08 -0600)]
Meet taint mode requirements for handling test SMTP port

3 years agofix for gpgv upgrade 1.4 to 2.2.4
Ian Kelling [Mon, 18 Oct 2021 20:25:23 +0000 (16:25 -0400)]
fix for gpgv upgrade 1.4 to 2.2.4

3 years agoClean up whitespace using Emacs
Jacob Bachmeyer [Sun, 9 May 2021 02:07:23 +0000 (21:07 -0500)]
Clean up whitespace using Emacs

3 years agoInclude more information in the test log
Jacob Bachmeyer [Sat, 1 May 2021 00:05:00 +0000 (19:05 -0500)]
Include more information in the test log

Previously, the analyze_file_tree procedure stopped immediately when a
tree that was expected to be empty was found to contain files.  This
change causes a full list of the files found to appear in the log.

3 years agoAdd testsuite support for building tarballs for test cases
Jacob Bachmeyer [Fri, 30 Apr 2021 23:49:40 +0000 (18:49 -0500)]
Add testsuite support for building tarballs for test cases

3 years agoAdd initial partial testsuite
Jacob Bachmeyer [Thu, 8 Apr 2021 01:22:34 +0000 (20:22 -0500)]
Add initial partial testsuite

This does not yet check actual upload handling, but the testsuite
infrastructure seems to be sufficiently developed at this point that no
major changes should be needed to support further tests.

3 years agoAdd "no-op" command for testing uses
Jacob Bachmeyer [Thu, 25 Mar 2021 01:44:22 +0000 (20:44 -0500)]
Add "no-op" command for testing uses

This command is only recognized in test mode.

3 years agoImprove recognizability of debugging message for testsuite
Jacob Bachmeyer [Thu, 25 Mar 2021 01:43:44 +0000 (20:43 -0500)]
Improve recognizability of debugging message for testsuite

3 years agoAvoid running generate-ftpindex during tests
Jacob Bachmeyer [Thu, 25 Mar 2021 01:26:39 +0000 (20:26 -0500)]
Avoid running generate-ftpindex during tests

The attempt to rebuild the FTP server index is normally harmless, since most
test machines will not actually have /usr/local/bin/generate-ftpindex and the
error from the inability to execute that tool is ignored anyway.

However, if the testsuite is ever actually run on the FTP upload server, this
will prevent a large amount of spurious work rebuilding the FTP indexes.

3 years agoUse special tag for log messages in testing mode
Jacob Bachmeyer [Wed, 24 Mar 2021 22:04:32 +0000 (17:04 -0500)]
Use special tag for log messages in testing mode

3 years agoDemote severity of debugging message and indicate message type
Jacob Bachmeyer [Wed, 24 Mar 2021 21:56:11 +0000 (16:56 -0500)]
Demote severity of debugging message and indicate message type

This change enables the testsuite to reliably recognize this message
instead of guessing with heuristics.  The message severity was demoted
to 'debug' because the message is only emitted in debugging mode.

3 years agoUse constant for name of lsof executable to enable testing with mock
Jacob Bachmeyer [Wed, 17 Mar 2021 03:04:00 +0000 (22:04 -0500)]
Use constant for name of lsof executable to enable testing with mock

3 years agoAdd infrastructure for generic mock tools
Jacob Bachmeyer [Wed, 17 Mar 2021 03:02:50 +0000 (22:02 -0500)]
Add infrastructure for generic mock tools

3 years agoInclude state files in the test case directory
Jacob Bachmeyer [Thu, 11 Mar 2021 07:44:11 +0000 (01:44 -0600)]
Include state files in the test case directory

3 years agoAdd mock gpgv signature verification tool and mock tool testsuite
Jacob Bachmeyer [Wed, 10 Mar 2021 05:48:12 +0000 (23:48 -0600)]
Add mock gpgv signature verification tool and mock tool testsuite

3 years agoIgnore DejaGnu output files and scratchpad used with testsuite
Jacob Bachmeyer [Sat, 6 Mar 2021 23:50:22 +0000 (17:50 -0600)]
Ignore DejaGnu output files and scratchpad used with testsuite

3 years agoTidy minor details
Jacob Bachmeyer [Thu, 4 Mar 2021 02:43:34 +0000 (20:43 -0600)]
Tidy minor details

Update copyright notice and rearrange test configuration to follow the
locations of files in lifecycle order.

3 years agoLog startup/shutdown in mock syslog server
Jacob Bachmeyer [Thu, 4 Mar 2021 02:42:06 +0000 (20:42 -0600)]
Log startup/shutdown in mock syslog server

3 years agoRelax parsing of RFC3164 syslog message format
Jacob Bachmeyer [Thu, 4 Mar 2021 02:40:08 +0000 (20:40 -0600)]
Relax parsing of RFC3164 syslog message format

3 years agoOverride configuration directories in testing mode
Jacob Bachmeyer [Sat, 27 Feb 2021 22:30:20 +0000 (16:30 -0600)]
Override configuration directories in testing mode

3 years agoUse constant for name of gpgv executable to enable testing with mock gpgv
Jacob Bachmeyer [Sat, 27 Feb 2021 22:28:56 +0000 (16:28 -0600)]
Use constant for name of gpgv executable to enable testing with mock gpgv

3 years agoImprove shutdown logic in mock syslog server
Jacob Bachmeyer [Sat, 27 Feb 2021 03:36:10 +0000 (21:36 -0600)]
Improve shutdown logic in mock syslog server

3 years agoHandle non-RFC-conforming end-of-message markers
Jacob Bachmeyer [Sat, 27 Feb 2021 03:35:45 +0000 (21:35 -0600)]
Handle non-RFC-conforming end-of-message markers

RFC3164 states in 4.1.3 "MSG Part of a syslog Packet":
  The MSG part will fill the remainder of the syslog packet.
  ...
  There is no ending delimiter to this part.

Some implementations do not follow this.

3 years agoTidy whitespace
Jacob Bachmeyer [Sat, 27 Feb 2021 03:32:45 +0000 (21:32 -0600)]
Tidy whitespace

3 years agoAnnounce output destination in mock syslog server
Jacob Bachmeyer [Sat, 27 Feb 2021 03:23:26 +0000 (21:23 -0600)]
Announce output destination in mock syslog server

3 years agoMeet taint mode requirements for handling test syslog socket name
Jacob Bachmeyer [Sat, 27 Feb 2021 03:19:16 +0000 (21:19 -0600)]
Meet taint mode requirements for handling test syslog socket name

3 years agoHandle missing HOSTNAME field in mock syslog server
Jacob Bachmeyer [Sat, 27 Feb 2021 03:18:31 +0000 (21:18 -0600)]
Handle missing HOSTNAME field in mock syslog server

3 years agoAdd initial scaffolding for testing mode in upload-ftp script
Jacob Bachmeyer [Sat, 27 Feb 2021 03:05:36 +0000 (21:05 -0600)]
Add initial scaffolding for testing mode in upload-ftp script

3 years agoAdd initial support skeleton code for DejaGnu testsuite
Jacob Bachmeyer [Sat, 27 Feb 2021 02:54:27 +0000 (20:54 -0600)]
Add initial support skeleton code for DejaGnu testsuite

3 years agoAdd initial mock SMTP and syslog servers
Jacob Bachmeyer [Sat, 27 Feb 2021 02:52:25 +0000 (20:52 -0600)]
Add initial mock SMTP and syslog servers

4 years agoEmergency fix: do not run with '.' in @INC
Jacob Bachmeyer [Sun, 9 Aug 2020 16:55:22 +0000 (11:55 -0500)]
Emergency fix:  do not run with '.' in @INC

4 years agoReport module search path with version information
Jacob Bachmeyer [Sun, 9 Aug 2020 16:54:55 +0000 (11:54 -0500)]
Report module search path with version information

4 years agoRestore comments omitted during initial re-import
Ian Kelling [Wed, 29 Jul 2020 03:50:00 +0000 (22:50 -0500)]
Restore comments omitted during initial re-import

I, Jacob Bachmeyer, did this work, but the comments are presumed to have been
originally added by Ian Kelling, therefore I have listed him as the author of
this commit.

4 years agoClean up whitespace using Emacs
Jacob Bachmeyer [Wed, 29 Jul 2020 03:16:48 +0000 (22:16 -0500)]
Clean up whitespace using Emacs

4 years agoAdd revised example of maintainers.bypkg file
Jacob Bachmeyer [Wed, 29 Jul 2020 03:11:55 +0000 (22:11 -0500)]
Add revised example of maintainers.bypkg file

4 years agodocs
Ian Kelling [Wed, 15 Jul 2020 06:59:36 +0000 (02:59 -0400)]
docs

4 years agoImport version as of 2019-04-03 for upload-ftp-v1.2.pl
unknown [Wed, 3 Apr 2019 21:24:03 +0000 (16:24 -0500)]
Import version as of 2019-04-03 for upload-ftp-v1.2.pl

4 years agoImport version as of 2019-04-03 for upload-ftp-v1.2.pl
unknown [Wed, 3 Apr 2019 21:21:38 +0000 (16:21 -0500)]
Import version as of 2019-04-03 for upload-ftp-v1.2.pl

4 years agoImport symlink as of 2018-11-19 for upload-ftp.pl
unknown [Mon, 19 Nov 2018 17:37:48 +0000 (11:37 -0600)]
Import symlink as of 2018-11-19 for upload-ftp.pl

4 years agoImport version as of 2013-05-14 for upload-ftp-v1.2.pl
unknown [Tue, 14 May 2013 13:52:02 +0000 (08:52 -0500)]
Import version as of 2013-05-14 for upload-ftp-v1.2.pl

4 years agoImport version as of 2013-03-21 for upload-ftp-v1.2.pl
unknown [Thu, 21 Mar 2013 21:50:13 +0000 (16:50 -0500)]
Import version as of 2013-03-21 for upload-ftp-v1.2.pl

4 years agoImport version as of 2013-03-21 for CheckVulnerabilities.pm
unknown [Thu, 21 Mar 2013 21:50:09 +0000 (16:50 -0500)]
Import version as of 2013-03-21 for CheckVulnerabilities.pm

4 years agoImport version as of 2012-12-10 for send-gpg-public-keys.sh
unknown [Mon, 10 Dec 2012 22:06:54 +0000 (16:06 -0600)]
Import version as of 2012-12-10 for send-gpg-public-keys.sh

4 years agoImport symlink as of 2012-09-21 for upload-distros.pl
unknown [Fri, 21 Sep 2012 19:13:04 +0000 (14:13 -0500)]
Import symlink as of 2012-09-21 for upload-distros.pl

4 years agoImport symlink as of 2012-09-21 for upload-alpha.pl
unknown [Fri, 21 Sep 2012 19:12:50 +0000 (14:12 -0500)]
Import symlink as of 2012-09-21 for upload-alpha.pl

4 years agoImport version as of 2012-09-21 for upload-ftp-v1.2.pl
unknown [Fri, 21 Sep 2012 19:11:57 +0000 (14:11 -0500)]
Import version as of 2012-09-21 for upload-ftp-v1.2.pl

4 years agoImport version as of 2012-08-14 for upload-ftp-v1.1.pl
unknown [Tue, 14 Aug 2012 23:50:56 +0000 (18:50 -0500)]
Import version as of 2012-08-14 for upload-ftp-v1.1.pl

4 years agoImport version as of 2012-05-18 for upload-ftp-v1.1.pl
unknown [Fri, 18 May 2012 15:28:20 +0000 (10:28 -0500)]
Import version as of 2012-05-18 for upload-ftp-v1.1.pl

4 years agoImport version as of 2012-04-20 for build-keyring.pl
unknown [Fri, 20 Apr 2012 17:42:28 +0000 (12:42 -0500)]
Import version as of 2012-04-20 for build-keyring.pl

4 years agoImport version as of 2012-04-03 for upload-ftp-v1.1.pl
unknown [Tue, 3 Apr 2012 13:18:58 +0000 (08:18 -0500)]
Import version as of 2012-04-03 for upload-ftp-v1.1.pl

4 years agoImport version as of 2011-10-05 for upload-ftp-v1.1.pl
unknown [Thu, 6 Oct 2011 00:44:46 +0000 (19:44 -0500)]
Import version as of 2011-10-05 for upload-ftp-v1.1.pl

4 years agoImport version as of 2011-09-29 for upload-ftp-v1.1.pl
unknown [Thu, 29 Sep 2011 17:43:38 +0000 (12:43 -0500)]
Import version as of 2011-09-29 for upload-ftp-v1.1.pl

4 years agoImport version as of 2011-08-11 for ftp-addkey.sh
unknown [Thu, 11 Aug 2011 20:29:27 +0000 (15:29 -0500)]
Import version as of 2011-08-11 for ftp-addkey.sh

4 years agoImport version as of 2011-08-11 for pgpg
unknown [Thu, 11 Aug 2011 20:23:55 +0000 (15:23 -0500)]
Import version as of 2011-08-11 for pgpg

4 years agoImport version as of 2011-07-29 for upload-ftp-v1.1.pl
unknown [Fri, 29 Jul 2011 20:23:33 +0000 (15:23 -0500)]
Import version as of 2011-07-29 for upload-ftp-v1.1.pl

4 years agoImport version as of 2011-04-11 for get-maintainers-file.sh
unknown [Mon, 11 Apr 2011 14:58:43 +0000 (09:58 -0500)]
Import version as of 2011-04-11 for get-maintainers-file.sh

4 years agoImport version as of 2011-02-08 for upload-ftp-v1.1.pl
unknown [Tue, 8 Feb 2011 16:08:42 +0000 (10:08 -0600)]
Import version as of 2011-02-08 for upload-ftp-v1.1.pl

4 years agoImport version as of 2010-08-02 for upload-ftp-v1.1.pl
unknown [Mon, 2 Aug 2010 17:11:00 +0000 (12:11 -0500)]
Import version as of 2010-08-02 for upload-ftp-v1.1.pl