Index: client/1.0/neutral/pkgd.eagle ================================================================== --- client/1.0/neutral/pkgd.eagle +++ client/1.0/neutral/pkgd.eagle @@ -890,10 +890,36 @@ # return [isMonoInstalled] } } + # + # NOTE: This procedure verifies that the specified value is indeed a valid + # package name. The packageName argument is the value to verify. + # This procedure may raise script errors. + # + # + proc verifyPackageName { packageName } { + if {[string length $packageName] > 0 && \ + ![regexp -nocase -- {^[A-Z][0-9A-Z\.]*$} $packageName]} then { + error "package name must be alphanumeric and start with a letter" + } + } + + # + # NOTE: This procedure verifies that the specified value is indeed a valid + # patch level. The patchLevel argument is the value to verify. This + # procedure may raise script errors. + # + # + proc verifyPackagePatchLevel { patchLevel } { + if {[string length $patchLevel] > 0 && \ + ![regexp -nocase -- {^\d+\.\d+(?:\.\d+){0,2}$} $patchLevel]} then { + error "patch level must use dotted decimal notation" + } + } + # # NOTE: This procedure verifies the combination of language and version # specified by the caller. The language argument must be one of the # literal strings "eagle", "tcl", or "client". The version argument # must be one of the literal strings "8.4", "8.5", or "8.6" when the @@ -926,11 +952,11 @@ error "unsupported client version" } set isClient true } else { - error "unsupported language" + error "unsupported package language" } } # # NOTE: This procedure returns the name of the current platform. There are @@ -1149,11 +1175,11 @@ # # NOTE: This platform name is supported verbatim, do nothing. # } default { - error "unsupported platform" + error "unsupported package platform" } } } # @@ -1401,10 +1427,11 @@ # proc checkForHigherVersion { language version platform packageName usePgp } { variable clientDirectory variable persistentRootDirectory + verifyPackageName $packageName verifyLanguageAndVersion $language $version isClient verifyPlatform $platform platform set temporaryDirectory [getUniqueTempDirectory pkgd_ver_] @@ -1492,12 +1519,13 @@ variable branchName variable platformsUri variable platformsUrn # - # NOTE: Verify that the package language and version are correct. + # NOTE: Verify that the package name, language, and version are correct. # + verifyPackageName $packageName verifyLanguageAndVersion $language $version isClient set temporaryDirectory [getUniqueTempDirectory pkgd_plat_] set localFileName [file join $temporaryDirectory manifest.txt] @@ -1718,10 +1746,14 @@ [getDictionaryValue $options -useAutoPath]] set allowUpdate [string is true -strict \ [getDictionaryValue $options -allowUpdate]] + # + # NOTE: Verify that the package language, version, and platform are + # correct. + # verifyLanguageAndVersion $language $version isClient verifyPlatform $platform platform set temporaryDirectory [getUniqueTempDirectory pkgd_lib_] Index: client/1.0/neutral/pkgd.eagle.asc ================================================================== --- client/1.0/neutral/pkgd.eagle.asc +++ client/1.0/neutral/pkgd.eagle.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJaOaZMAAoJEFAslq9JXcLZLO4P/34Setw1iUXjTpzlZDqsVbcv -ObJcV08qpzmccftpxfeDkbJPs/4TOQ1lqBw1j2w5Y3P2sFHovZtLEagyc+EYuHqI -5SC23mhIOPiIo6oIFbLa4mgwYeFYaQTXJZRy3yzqzH0QMvj8VlLNLzLCARpkT2O2 -8AS/2aWUl0rUJDy5m0BnXuGg3YO5TkJ/xM+qSgtfJBHAZfKtofDCQM2wf7hraL12 -M3jZNh1SajA7UV/c0i/GAD9GmzU9FLubGtPU1j4rZ/wdMkR//mSrsD3KVfOEwVLP -foVBnNkefzWKUt1a8OpUYm2j4m8GaeNH+evqOE8A2evfPCU4tH8TPsFi8NesEQ4r -N7XTHwmnlKC1kQ46i2TZ4F1CeIhKP3Z7bha/BBSA7EvXvIEig8CXG3GFalQncgWr -+w1efjs8ypcqoYkmPOdiMw/hecoWHLDjXMA14obwQgtHzgBd5sIUy7E2xxa45VSh -lGkDUKMaihafg9UWcfhYqY0VvJZRcetgPt4KGc51pn/fbm17KQV2/aATJu+HFGA0 -COoC5Qyy5VLxbqUekNwWT+YXZFKfVEofj96ItIcjoe8lisyYz8cTkOhukEVVM1o9 -4tDY99BYzWGB9ygYcZvEmBr+e2haioMrtSMKLR34eGlLdN4WrfB2gKmqn8QmPfId -x3025G9c2SmP/cibXR79 -=IphY +iQIcBAABCAAGBQJbfguPAAoJEFAslq9JXcLZOQkQALgTNph0QZYrI8+tiy/r02aJ +X2zcjblNduNIwB7USX8I1+aSjSPqXNQkWW5S/ZU+QVTtjaUixH6tlDF18cS74GJ6 +OcSEG1jbH0q89ZrDY4DJG5uhnK3/6AI9l/6SMVkQSQhra7cICvruOkMsX9y3lxEQ +e+lLTWWznV9zGiO+j1wVtvTA5hrJGnyIq88s+3jtVfudvCjHrNP0zWIuBOHcZSUF +c0tdZmEdAJHcXIpiFowVsAuFv4aNtPqxOMubwDgDJHR6IPyACg/fCEFDAmwG1gs5 +9AlLo0uajoKsK7O4A832evWJ5DGFKnPv+QNYBIqBR25ej3W0k+GC/oFiAy7D0vJU +o6wccqFWQBHZirJtZNv6jjTsyas7+vSauKz0YEVmKJkUnxPu0rE02JsuaGcf2cWV +ftIuh8CcCdoEH81ShjhX/igv+wo2kC885eiXveCN7ZtV64t8x21Q78Jjz9wkd4Zq +W9tx+eds8xYDcz2xqk4YpfNQCw1JxLPQmsk0cRbFsU3TrGq8r5tZA3awJsdMDj5j +N7orMu2vrqnxk78y88kjmtNIwlYsTp6v9Lu3zCSofxzqNeKIjGznXMlH6TwgwBtq +z2uuNdKfuOC0UIXcYwzZJOazGvoWtsGyYP16mJp2e+srxf2UEjZF3ysr67HyQWQR +IKa9RRocE3oQb6DqjPES +=vouz -----END PGP SIGNATURE----- Index: client/1.0/neutral/pkgd.eagle.harpy ================================================================== --- client/1.0/neutral/pkgd.eagle.harpy +++ client/1.0/neutral/pkgd.eagle.harpy @@ -19,50 +19,50 @@ None Mistachkin Systems - 2aca1121-2445-4247-8d78-b5cd1a4d81a1 + 91fd94d7-a4bf-4b26-bc75-023da084903e SHA512 Script - 2017-12-19T23:50:34.3582818Z + 2018-08-23T01:18:28.1919255Z -1.00:00:00 0x9559f6017247e3e2 - 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 Index: client/1.0/neutral/pkgd.eagle.harpy.asc ================================================================== --- client/1.0/neutral/pkgd.eagle.harpy.asc +++ client/1.0/neutral/pkgd.eagle.harpy.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJaOaZNAAoJEFAslq9JXcLZ4YIP/RNk6Cbyqzkdv0gHG9jLXxNU -LtuO26ApeiK1cOUZTJKYPc/nYvmbT1VgapWam7fSoXxnNImnSLwwkyyz3iU7xBpq -Hl3kL1vBDBfjDIUSdSfGomUzShBMi8U8YMAMqkytDY+Diopq886ORhfyVmf2tiZw -+OVVr4a0KNbzOUj94GNKnjkEu2u6WsP1sGqTyfzXza7fzDzpY+TlY8RUfPx7etIP -8mhWisZhbSymyAbt9N5Qjtt6szJJ/ouCPujD4t+fyHZaE2Fr1ULXHS5avRfgvLd2 -SQg5o4n17eQv5Y6hmA4Di1UhUxFHRq3oryM16PbUp6eANs4BOroP6VocahzPJc3j -t4OIjrzFzGfKna6K7M5sIsz2fo1MzjCq6eq6Rk7AlXHD14hfbJhBZeBUUL7ZSxLx -T2I5qSrNuLHGkic5lJP+6Ri1KLCOxAkapKcsAF2rMz3YJYx0MOQ4Kb92/qAgheCf -P8aJKv8iP3jhrZqFJNUd2vYNV1xqvHpIKGT/YU8qMmPkN/y5FCgqsbDpvd+6d3ta -fGb6t94Q0gwQyPJRJQq0HVkgMenij/+vtYQ9gP0yDGvq5YEfIgweBlOn3fy3/lhn -gt0rJkQCYkGI3cieMzVb3AhqR8xwqlAIXdb+anZ5FuBX7K05SbhiQMTashl1+Bno -zr8tvTTRvIoSjswUH/Sb -=hFgf +iQIcBAABCAAGBQJbfguQAAoJEFAslq9JXcLZZpUQAKyeN2vMhm3EU0AySqgfZZvS +ssoph6+K4qdEmx0R6XXKA+2o+wq5rkmM50j7ctrS1JWUoaC0seSkPEs1NHV6eC/3 +adpqGoZ5lUyWlOG3W80/XF/9TSn9HH59ueCx/pl80jMGR36RC5usXfACMlO77tod +hbb6Iq8lxQDdDy7Hc+Onqqd7rvbDKITVtWcuMc1TN1Shk3tTmsW0N9Yx9qyYor1i +YTxfUYZdFFZIhdbk24Y994+t6uw284SFV8wkCJQNjoT/7rRytqztiK139kBm1oP9 +kg/vEauSOd5yhJ8ffC3iL06qqRvkxPqU+oOnbMhU5z6Q97/h9VA7AfkxwLWmJy2K +Z64eONrvNQRMB02C2Qf+foUsy/0aIUIPipOf6qXo9oA7mDF03hdx+D05Wr/zC5dZ +QeqOYThxe8fcd7UBu5h2YuATV86eNYBBGPCpVsqdlRRjXSB/lRssbYcG3VxShzFv +dNtVxrvOtE6rPBWQ2q8xo53+SZiom9iIS5Y2Op1aU/v9ophswpBVDyDuC5hp2j3k +lyz9cT1rhfJr5Kmzb4BD/1JbH+t1EHB8pdOn2lfMNFMBZwsGXfUI52wTGdqhhRGF +RJrfUJMWJZWPC+NkL8/Gtf9LUTE90u4btuxJUJsetRfCSjZNrHA3WmsTpK3tyv2D +GtTRFt2945PTvo6YEhOt +=3ttB -----END PGP SIGNATURE----- Index: client/1.0/neutral/pkgr.eagle ================================================================== --- client/1.0/neutral/pkgr.eagle +++ client/1.0/neutral/pkgr.eagle @@ -854,10 +854,22 @@ # packages only (i.e. those without any owners). # return [list] } + # + # NOTE: This procedure verifies the language specified by the caller. The + # language argument must be an empty string -OR- the literal string + # "Eagle" or "Tcl". This procedure may raise script errors. + # + # + proc verifyMetadataLanguage { language } { + if {[lsearch -exact [list "" Tcl Eagle] $language] == -1} then { + error "unsupported metadata language" + } + } + # # NOTE: This procedure verifies that the specified value is indeed a valid # server identifier. The serverId argument is the value to verify. # This procedure may raise script errors. # @@ -1235,13 +1247,11 @@ # string, "Tcl", or "Eagle". If it is an empty string, then the # current language will be assumed (but not by this procedure). # set language [getDictionaryValue $result Language] - if {[lsearch -exact [list "" Tcl Eagle] $language] == -1} then { - error "unsupported language" - } + verifyMetadataLanguage $language # # NOTE: Grab the package script. If it is an empty string, then the # package cannot be loaded and there is nothing to do. In that # case, just raise an error. @@ -1617,11 +1627,11 @@ # {%tclMustBeReady%}; return [tcl eval [tcl master] [list \ uplevel #0 $script(inner)]] } default { - error "unsupported language" + error "unsupported metadata language" } } } finally { # # NOTE: Perform any necessary cleanup steps. @@ -1785,11 +1795,11 @@ } else { return [uplevel #0 $script(inner)] } } default { - error "unsupported language" + error "unsupported metadata language" } } } } else { error "unsupported script certificate" Index: client/1.0/neutral/pkgr.eagle.asc ================================================================== --- client/1.0/neutral/pkgr.eagle.asc +++ client/1.0/neutral/pkgr.eagle.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJakMVlAAoJEFAslq9JXcLZE34P/iygl55FtjgfPyxBBh/cEnTX -1+ksOnGDoLKqlzIZbUdeQxpvZEiGSWe2q1Qf6RMzzNWma8lXAdlT8sDPFVPYvokp -i0E42UUu04CNR86MwnUt56/VLe6FyieJVWbPtkFfbBYCRvFXjjQPMABappnB2fHL -smQCy9nE1A1FLehMnixgs6jUyQdvzX5IF9QjaLXkDye08Gl86QYgroY8hjmhg3m7 -8Dbl5QQ+LkvE+GkXqJRRV3UN2SlJtM2eKQIHQvGIRQg/CBIsx0mczpjJPOa2q4Av -DKauXqCOD7Y4x6iruNSxd5dEDqS7eTjn6+b0F0Ds9Idnr1QvKCd6ppXlbImmQVK+ -9gWdbq5aLntNNXPDnMz/AQOxrUHRQYPDyBvkPBubewgiQcGttUooIxPhL0S9G0Dr -r9x+WG134OAnR+X8iEmBdhpePNrtlfxQUpyqa6aWAFccmsSz7irYSQH1sWg5M8yb -S8ELaaYSPcc+V3kJBSVZShcNEQEMP5CXZASlfeti425SCoxqTA0Nxreum69Uecyw -AtMBfFzYxdB/Bhf+QEaLPJsb+h7grPjwZmvbrK6+W4TP+DyaO6MErAKlzp6BNLS5 -Al5mXf+AzTXG4GHwXxpSygD3ewtlStr5xcloyE5KsS7g6GPsUvsDZ8YZWxeTEbOS -7qqI15ZWs0Po+6b5jtkJ -=khOs +iQIcBAABCAAGBQJbfguCAAoJEFAslq9JXcLZ3F4P/25899yywof2kao7PR/ajKXL +gZWSULmrlAuPS01SaVjevJkama74ideKLU5AtG/C3eJ1c7TI0LdzeDj/NfACsJEE +yY0NAcIVxzDS46KR4lAgd2O3cVdVAzZyP3iDhq0x30PiPuSpKnR0sLKKjNyfJUFz +t7wX1d7c8ZZxPdL11EuHX6vJ8e8WB6U2jJoZ3P8hcKFs84JekEsOM+rEcFQFfuds +FYhkcVAOsYPl/sashHqG5G8k9ZEjvbsNzyCYrFnMitnG8Y6bSQ4f/Atc1rRozcYS +TEBcUOvzscCfYbMJFIZ2Tc4VBJm/1GtcqzC8Bpn3cxDhcmLyCSRoPPN/S60tC7yo +NxgkIn6A6WsV0L9jAcbu7KqWq/ei8SmHrmzv+yK3ZX+0sbKdZCzD14zu5Q3/4qL3 +RwWO2Mhh1kHYb0AiWKDpDQ+re4fpRdfMrdryH9lVeMyAqjJeumuTpshViIBVef/r +PPY4ZVwfJRpqlpkm3bgupRBRh0c3QDj1DJ5SA2mR3qBaB11DTfWFqV3athzEecD+ +Q7CKxtF0/YCYqNkv1f3B/eI7I9y4OvOJ0r3GdqA2wxR4m+LjzSjNfkuor76g6V7j +8aUYWy3HB2q0Lw+QdSkQ9J7Liz4xZmBScRHHSvzZ06tJBy1yiuc3v27Uhy6cIJHZ +fgMLf+z+X6o4Oh/T7XLV +=e1zE -----END PGP SIGNATURE----- Index: client/1.0/neutral/pkgr.eagle.harpy ================================================================== --- client/1.0/neutral/pkgr.eagle.harpy +++ client/1.0/neutral/pkgr.eagle.harpy @@ -19,50 +19,50 @@ None Mistachkin Systems - eba422b3-7f27-4da1-8356-55d786817b33 + d53cb739-31cf-4099-b64e-96f4ae8e6623 SHA512 Script - 2018-02-24T01:52:18.8236505Z + 2018-08-23T01:18:07.9507678Z -1.00:00:00 0x9559f6017247e3e2 - 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 Index: client/1.0/neutral/pkgr.eagle.harpy.asc ================================================================== --- client/1.0/neutral/pkgr.eagle.harpy.asc +++ client/1.0/neutral/pkgr.eagle.harpy.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJakMVmAAoJEFAslq9JXcLZKqgP/1msLtweMu+Xj3OHts6Tcnav -cs/ZGHWqpcgcS3Scmss7TotkJ0FsyyppgtjgH6Xq59p4IUJ0B2MtOf+wjGy9PMiw -C/T4zjHvqHhsjpbfJ0JXtbjLVI9AqZETxqVxSKlr/fKe9t3QNdyO1QQuyxjc9612 -vTR6VGrE9p6/4EsiAXUfX4WyCsQIC4asHc8qbIejKdVa/+dZVoBMIIgizBCnytOy -6v9QfFaw4Fms21LqTaThiPbJn3Gv2xXGEVJLs5pej/dnq5gKV4+8T/TK4dO2k4qx -OTjZqhGSoNIMwGHO9qnWkeEqCTORMUoYkmrt4FaT5cmQmayd9hclFNAgqMAu8OtD -YEJBZYXAhXpTo8BvGxf9F8ZnbDjd/lHYDhOCJcZtfReDElUYAlcm2DGce3IdfsSY -yPxQh7+I6n9vZj2kB+mY7OfrTiVaNFrK8MMVlG3TcrI8UyzoyrRRdtUqKl2yjvie -pqOOm5AiYQzmt3GtzS1zJio5X0rpJuUfrAYQ8pfvOcYSMDu8HPR4w9zfOu6c+OGi -wA/2gOgFGkWy2KIRSgmKplwLOHQLFRZQfZQz7s5zdopTd7540zGgfGY3xvzQKf0j -UDUn0kg4YNowZ+bGsSSk+f1LTDtYVT+YasVJj3zwb5XOHZmM99EDSk37vqMbG9pb -zztQRDMmStKa6HcuTdLe -=2MjG +iQIcBAABCAAGBQJbfguEAAoJEFAslq9JXcLZnMcP/iODW5OKup3AmvyGdWnNwGlR +5VwJ8+Esap0WzDacuvlJGkrlXBnypDpsCaVbSKafUYKVCJP2Ljwr9FQoNW9U/rVQ +vzuFdwZZ0QWQXuEMRlvK6Y4Xvt85OekQjLVexZwB1F3PLI9FDOwVVUkoBuSz/UqL +jZHA/EKWLGDGkTBku/4we5S/B0aUnRUEGb7sPDq6cLyEDatLLwt/0Fi91ao+rpwy +w2ufWdd+UGaJEOBeagOV1+wzZqpO6NYntO/OH33MHfu1KGBDtSe8f4OXHPmkw4LK +thJa3d/F8Sh7OByNcfXj8S253tJlc0xHFEirIIKSWnezdnfbBpjlTS95h7u/vB+8 +xQ81D6pAH0gVPgRImM1W2xvea8LTh6+CjlIrQ+cX1eCtQChVB5keOBKdQbktTyFt +iDi2l0EeT3Faa1O/H+R/V/6P41EKKujm/KKjxrrUXvIWF7WA7D/hOmmc+BKHykkw +Yva5JmlNxqcvr1p6oaGUYLAFY/lw/ZxahAGlOmf9Tl1582ub8cE3OPM/3FyDPR7l +b8q50TIeJ+vHDX/ls63/QXmxXQO4oGlEoN5eUnaJ/U9LNMTnWsqXbatd8Cnw3OUp +QJ+zOv0rv6LOJfDnVTUPF6qToG0Rc3UI6N/vFJmnE5Pw0vDufEJwBpPg+iQKxvla +WHBD5rVNbuKWfvqzQZPH +=UwxU -----END PGP SIGNATURE----- Index: client/1.0/neutral/pkgu.eagle ================================================================== --- client/1.0/neutral/pkgu.eagle +++ client/1.0/neutral/pkgu.eagle @@ -424,10 +424,11 @@ proc createRepositoryScript { serverId versionId language version platform fileNames options } { ::PackageRepository::verifyServerId $serverId ::PackageDownloader::verifyVersionId $versionId ::PackageDownloader::verifyLanguageAndVersion $language $version isClient + ::PackageDownloader::verifyPlatform $platform platform set prologue "" if {[string length $serverId] > 0} then { append prologue " ::PackageDownloader::useServerId " $serverId \n @@ -539,10 +540,13 @@ # proc submitPackageMetadata { apiKey package patchLevel language script certificate } { variable verboseMetadataSubmit + ::PackageDownloader::verifyPackageName $package + ::PackageDownloader::verifyPackagePatchLevel $patchLevel + # # NOTE: Fetch the submission URI for the package repository server. If # it is not available for some reason, raise a script error. # set uri [getSubmitUri] @@ -552,10 +556,12 @@ } if {[string length $language] == 0} then { set language [expr {[isEagle] ? "Eagle" : "Tcl"}] } + + ::PackageRepository::verifyMetadataLanguage $language if {[isEagle]} then { set boundary [string map \ [list + "" / "" = ""] [base64 encode [expr {randstr(50)}]]] } else { @@ -1030,11 +1036,11 @@ variable fossilFileNameOnly ::PackageDownloader::verifyLanguageAndVersion $language $version isClient if {$isClient} then { - error "cannot stage files: client files must be committed directly" + error "cannot stage package files for client" } ::PackageDownloader::verifyPlatform $platform platform verifyCheckoutDirectory @@ -1110,10 +1116,18 @@ proc commitPackageFiles { package patchLevel language version varName } { variable checkoutDirectory variable fossilCommitCommand variable fossilCommitPattern variable fossilFileNameOnly + + ::PackageDownloader::verifyPackageName $package + ::PackageDownloader::verifyPackagePatchLevel $patchLevel + ::PackageDownloader::verifyLanguageAndVersion $language $version isClient + + if {$isClient} then { + error "cannot commit package files for client" + } fossilMustBeInstalled verifyCheckoutDirectory set branch [appendArgs pkg_ $package _ $patchLevel] Index: client/1.0/neutral/pkgu.eagle.asc ================================================================== --- client/1.0/neutral/pkgu.eagle.asc +++ client/1.0/neutral/pkgu.eagle.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJaOaZWAAoJEFAslq9JXcLZbV8P/iKqB0rw2eqRLGbUQ8KVwwCM -J7iifS6hPHJUovMIkHXxaq2Bq4EG6m7iprBD4hb9Yerft1H+I3GP6i5ebMro585r -Z+pE5WXgDvgjTQlxcvlqOpVLdMFsqfDKDMWYK6kzWGznLV3nojic3U1sSKfguwEY -arqX9xukahOihsAh7Q54ZD8Z4Xc8V3I1bbVYZkn2+YkK3vifh6HOqKLx398PLKeR -vPaSIXJhaaJFfUDV11PHRcFzYqkfOyRjo1kW29nKt9OJqOO5Jia/V/W3diSwbJGz -fkbHNzE/+oEOU1mfh0i1Hyw+1Fyb0Drnl2LNvo23EGOB+rEP1PFoIZmA9bF45Rri -v3tasM+V7Wsc6HskCdij0UQMu6dUxTw/RVQ1lbw3bPrnBSwfbbg12e12c0kfwyhU -7eSuI5tNSFHCkmeq4ESpNvQG2bFNpWYTWhJ3EIfYiJY5236UxNmoiRyje4DddHg2 -Xa81+lhrnurRAh9RWUUzCLzof4SuKcq8ZDob3tpbxc99CInX7rIDzLJwPqExoJT9 -5srDdD6qs7+96DXdwIcaQEorWs5ybWmXsXyK9F1lhj5LOQP8Ub+ipI+nfsiPnK8r -XkG1iABH26DJNaEtgCX+w5pNG9cM9RsFLccghTp0SHPjeAqOyyIe08X7HGso8i+q -QMJzfjxY64jwA8KREkAK -=akDz +iQIcBAABCAAGBQJbfguIAAoJEFAslq9JXcLZ2+0QAKLlPdsuDGO6JJXGINKeyRJb +kAr5VsZuv8RMI5Vu2jcgC9ASzwO+ckdq4K1GCfqiDnWMAyczajSIOtSXlRxWPVOZ +KGAZe4KYE6+HcjgZ8d1ZL2AipgFVJmr24g2cryNhlW9nq3OQy8Gleutd7cBr/y9s +rNvDEysFmgNHIkLjCkcWfoAtXx0sautzqu4IW9C8YFg/Z5a1Kzl9myRn4XTPU6gB +31aGWGQaHmB5dBAvQXJVY0GW+pjbzev4OZ7pkPsDQ5u2/I4dntODmKT4hcLlqCjn +v6IzSnxpkla8qCUe0E3zfXeADi0qIHCdWuL/gitBgQMOagbDRd/ZCsD18N/ltqKM +eWCF205FfzwDXnlYnU0lHv19jHv8h3PTwxX4QkdaFd7RM4UjqbKVY6Y5CMlc1JP4 +jqOkJ7ynE0x6ePeNJ5lMKM/Yj5osXusM+AoBFlCgGMXHiuniCMkYb9hfMgyr9mCa +2m6Z7K2VtXMOKDP2xDh3ZoEy1+zGqpOBSxaIDlsJ13Y9XtBPTISzMBoyLS+//ou+ +V5j1DNpPSJNJr08jS+juR3E+tvdfsdhukDzjjB9emi9PlvqFFcu22ihZLT1VXoLl +mRJ6rDPHammcYj+EJg9ahDSeb3iJzwztLC8vtZ5stAfKfoBv4oiOnx5gkQ9jYHH4 +cebgNMA/tQQ4/39w+s4t +=3UDc -----END PGP SIGNATURE----- Index: client/1.0/neutral/pkgu.eagle.harpy ================================================================== --- client/1.0/neutral/pkgu.eagle.harpy +++ client/1.0/neutral/pkgu.eagle.harpy @@ -19,50 +19,50 @@ None Mistachkin Systems - 6834d021-1c1e-4b99-96e4-59da48243822 + fcf98fbd-0bf3-43f3-bbfd-5f4e308c33da SHA512 Script - 2017-12-19T23:52:24.8476014Z + 2018-08-23T01:18:46.7959896Z -1.00:00:00 0x9559f6017247e3e2 - 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 Index: client/1.0/neutral/pkgu.eagle.harpy.asc ================================================================== --- client/1.0/neutral/pkgu.eagle.harpy.asc +++ client/1.0/neutral/pkgu.eagle.harpy.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJaOaZXAAoJEFAslq9JXcLZ5HsQAJYSJtKa1CzeKWE8gJ1R4kFD -Bc2vhDmBa/AAGXmLpF5NEA4+9gOAl6g9yo42yq8r/sfqhi/6rYKtm6eHVkc1Ploi -lFT91aAOqoEqdlD2M+zPaAUE9Dpzj5aG6P3v2QwbGMV3AIQReTJ+Ae78Xp7Jq4rW -dNq/gknhnu94lGTVCKwee/QoaXJeagEXZ2jxq/DbNEfUX2JdXxwqKzNBJ25ghLcq -SdzLEF57O2SFR0omMQtkcWPIbox+eDG1xyd9TzTjMNW1hLj2mCkr4uvSgNpbC2Mx -EC41g8FFPA5UOtlSqSdHBL+CDKaX0SLdi0MKoyKZXmro0LBUa2GFOOkq2h+X9uPQ -bv7zppE8Dv3cTkRFHE8beyKGrY4WnZzFaVtbM3OwElJWLREvXsP9oaxfTg/Wj8YT -afCmwFi4i+pchreLg8hh23adO9mGGpAp+FnUP6gvLQSMVqOrKpY/gU44WN/OMDzc -ze4BqhjMmYbLSfepUhqxdItTidjusIhp8EhU/5F76dAQUo6G0ae5U50cqcHGSyPA -X21uNbpdzM48uW4BrXQ1p/YddJshdF+xwhNFdBIN4Hdc/uY7diSXieqFe/YDugfV -q7H5fq/UP9mnssuPj4h1HM3XXDBBcGCk9iod36xWoMR2Ww4WK+j4pe9qE4SVt2uC -oxErU0pKgJ73rzWjEM0/ -=599a +iQIcBAABCAAGBQJbfguKAAoJEFAslq9JXcLZxr0P/RwHbAAH2UG1fTOswtAbJGT1 +zZNl9NB79RBa1ckSsVp+6ukMJ77bIfV3QM1le6YLQZSwIGH+k6No3vrkCQnwD0oB +hT2HDpvPoL5OBd8NI8GmxZYCX90gT4Kcitc8JwtyQJfRWBFVxljWUFi8iOfmnIYP +hZLlcJ/2WeVuI0pt1BMB6N3cjiqmt2bWwoZDB7mhjnsSK6SvLiOO8JpSR1NtCHTq +xbyw8f3+lugTPtn3W02kJH++V/jSkGVX65AVAhBZSjB+pzUyHLIxclcOyL21fHWB +LiyqoAn7XCYZ99yfRdcgwydzb4LxSyWh7NlY6krLpS4qJqKZKZLTzk2ThAHXO7lw +9t3cx6xh9DTtfQt/exIvhJAOtxuiO6+uVm4ij9I3Kb7YYh6OlvnlaFuXUoR8lwrO +wyEVyInWvDnoS7eaUuAw9jvzTNRcEhUnk+SYwtgq9OzB0vNCUVQe3oLzzviX+JFj +Q5i4IF/e9qNok/HmlJQJbQm3JKx6L7g0H3hAUw8NhmYMpvN0JTS1lyxs7HzqshC8 +ZxNFmzFoChB+KQmFCqHAHFz/mgi386TtIMFBMVB19ZyGbzGA9xpGyIO6uEni5slw +L5sdH9Z4ckymJZuiFS2qFbjJNfU4lsomZZ9ttXtp7NrPeht6bmyUz/Qcjwynj6za +azqTX9GrsXSSQuSzDPZq +=odDr -----END PGP SIGNATURE-----