Index: client/1.0/pkgr.eagle ================================================================== --- client/1.0/pkgr.eagle +++ client/1.0/pkgr.eagle @@ -174,35 +174,47 @@ } # # NOTE: This procedure returns non-zero if the specified string value # looks like a Harpy (script) certificate. The value argument - # is the string to check. + # is the string to check. The value 14 used within this procedure + # is the length of the literal string "". # # proc isHarpyCertificate { value } { - if {[string length $value] == 0 || ([string first [string trim { + set length [string length $value] + + if {$length == 0 || ([string first [string trim { }] $value] == 0 && [string first [string trim { + }] $value] == ($length - 14))} then { return true } else { return false } } # # NOTE: This procedure returns non-zero if the specified string value # looks like an OpenPGP signature. The value argument is the - # string to check. + # string to check. The value 29 used within this procedure is + # the length of the literal string "-----END PGP SIGNATURE-----" + # followed by a carriage-return / line-feed pair, which means + # the value must be in DOS format. # # proc isPgpSignature { value } { - if {[string length $value] == 0 || [string first [string trim { + set length [string length $value] + + if {$length == 0 || ([string first [string trim { -----BEGIN PGP SIGNATURE----- - }] $value] == 0} then { + }] $value] == 0 && [string first [subst [string trim { + -----END PGP SIGNATURE-----\r\n + }]] $value] == ($length - 29))} then { return true } else { return false } }