Index: client/1.0/pkgd.eagle ================================================================== --- client/1.0/pkgd.eagle +++ client/1.0/pkgd.eagle @@ -99,21 +99,22 @@ } # # NOTE: This procedure returns non-zero if the specified file seems to be # an OpenPGP signature file. The fileName argument is the name of - # the file to check, which may or may not exist. + # the file to check, which may or may not exist. The nameOnly + # argument should be non-zero to ignore the contents of the file. # - proc isPgpSignatureFileName { fileName } { + proc isPgpSignatureFileName { fileName nameOnly } { if {[string length $fileName] == 0} then { return false } set extension [file extension $fileName] if {$extension eq ".asc"} then { - if {[file exists $fileName]} then { + if {!$nameOnly && [file exists $fileName]} then { return [::PackageRepository::isPgpSignature [readFile $fileName]] } else { return true } } else { @@ -122,21 +123,22 @@ } # # NOTE: This procedure returns non-zero if the specified file seems to be # a Harpy script certificate file. The fileName argument is the name - # of the file to check, which may or may not exist. + # of the file to check, which may or may not exist. The nameOnly + # argument should be non-zero to ignore the contents of the file. # - proc isHarpyCertificateFileName { fileName } { + proc isHarpyCertificateFileName { fileName nameOnly } { if {[string length $fileName] == 0} then { return false } set extension [file extension $fileName] if {$extension eq ".harpy"} then { - if {[file exists $fileName]} then { + if {!$nameOnly && [file exists $fileName]} then { return [::PackageRepository::isHarpyCertificate [readFile $fileName]] } else { return true } } else { @@ -235,11 +237,11 @@ # # NOTE: Is use of OpenPGP for signature verification enabled? Also, # did we just download an OpenPGP signature file? # - if {$usePgp && [isPgpSignatureFileName $localFileName]} then { + if {$usePgp && [isPgpSignatureFileName $localFileName true]} then { # # NOTE: Attempt to verify the OpenPGP signature. If this fails, # an error is raised. # if {![::PackageRepository::verifyPgpSignature $localFileName]} then { @@ -341,11 +343,11 @@ downloadOneFile $language $version $fileName $downloadFileName $usePgp lappend downloadedFileNames [list \ $fileNameOnly $directory(temporary) $directory(persistent)] - if {$usePgp && ![isPgpSignatureFileName $downloadFileName]} then { + if {$usePgp && ![isPgpSignatureFileName $downloadFileName true]} then { downloadOneFile $language $version [appendArgs $fileName .asc] \ [appendArgs $downloadFileName .asc] $usePgp lappend downloadedFileNames [list \ [appendArgs $fileNameOnly .asc] $directory(temporary) \ Index: client/1.0/pkgd.eagle.harpy ================================================================== --- client/1.0/pkgd.eagle.harpy +++ client/1.0/pkgd.eagle.harpy @@ -19,32 +19,32 @@ None Mistachkin Systems - 492aa58d-5e9f-40fd-b909-c8a2a65e7036 + 773aaed9-81ab-4f37-a8b5-33385149bc2e SHA512 Script - 2016-08-19T19:36:49.2881328Z + 2016-08-19T19:54:13.8457500Z -1.00:00:00 0x2c322765603b5278 - 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 Index: client/1.0/pkgr.eagle ================================================================== --- client/1.0/pkgr.eagle +++ client/1.0/pkgr.eagle @@ -97,13 +97,15 @@ # looks like a Harpy (script) certificate. The value argument # is the string to check. # # proc isHarpyCertificate { value } { - if {[string length $value] == 0 || [string first [string trim { + if {[string length $value] == 0 || ([string first [string trim { + + }] $value] == 0 && [string first [string trim { proc isPgpSignature { value } { if {[string length $value] == 0 || [string first [string trim { -----BEGIN PGP SIGNATURE----- - }] $value] != -1} then { + }] $value] == 0} then { return true } else { return false } } Index: client/1.0/pkgr.eagle.harpy ================================================================== --- client/1.0/pkgr.eagle.harpy +++ client/1.0/pkgr.eagle.harpy @@ -19,32 +19,32 @@ None Mistachkin Systems - c8d855d3-dc6c-4ff7-b559-6920bdc2c9ef + f958f841-28ec-493a-9f30-fc7c5ec9e126 SHA512 Script - 2016-08-19T19:13:22.5840312Z + 2016-08-19T19:55:14.6953594Z -1.00:00:00 0x2c322765603b5278 - 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