Index: client/1.0/pkgd.eagle ================================================================== --- client/1.0/pkgd.eagle +++ client/1.0/pkgd.eagle @@ -70,37 +70,59 @@ # payload containing the necessary HTTP(S) cookie information. # variable loginUri; # DEFAULT: ${baseUri}/pkgd_login?... if {![info exists loginUri]} then { - set loginUri [string trim { - ${baseUri}/pkgd_login?name=${userName}&password=${password} - }] + set loginUri [appendArgs \ + {${baseUri}/pkgd_login?} {[uriEscape name $userName]} & \ + {[uriEscape password $password]}] } # # NOTE: The URI where a single package file may be found. This file will # belong to a specific version of one package. # variable downloadUri; # DEFAULT: ${baseUri}/pkgd_file?... if {![info exists downloadUri]} then { - set downloadUri [string trim { - ${baseUri}/pkgd_file?download&ci=trunk&filename=${fileName} - }] + set downloadUri [appendArgs \ + {${baseUri}/pkgd_file?download&ci=trunk&} \ + {[uriEscape filename $fileName]}] } # # NOTE: The URI where the logout request should be sent. This should # return a payload indicating that the logout was successful. # variable logoutUri; # DEFAULT: ${baseUri}/pkgd_logout?... if {![info exists logoutUri]} then { - set logoutUri [string trim { - ${baseUri}/pkgd_logout?authToken=${authToken} - }] + set logoutUri [appendArgs \ + {${baseUri}/pkgd_logout?} {[uriEscape authToken $authToken]}] + } + + # + # NOTE: The user name for the public account on the package file server. + # If this is an empty string, there is no public account. + # + variable publicUserName; # DEFAULT: public + + if {![info exists publicUserName]} then { + set publicUserName public + } + + # + # NOTE: The password associated with the public account on the package + # file server. If this is an empty string, the public account is + # disabled. This is not considered to be a secret; however, it + # should not be shared with any person or organization that does + # not have access to the package downloader client. + # + variable publicPassword; # DEFAULT: X+NlF2obS5tQFKIsf/q345/naqVSGD67Cg + + if {![info exists publicPassword]} then { + set publicPassword X+NlF2obS5tQFKIsf/q345/naqVSGD67Cg } # # NOTE: The root directory where any persistent packages will be saved. # @@ -118,10 +140,26 @@ if {![info exists temporaryRootDirectory]} then { set temporaryRootDirectory \ [::PackageRepository::getFileTempDirectory PKGD_TEMP] } } + + # + # NOTE: This procedure escapes a single name/value pair for use in a URI + # query string. The name argument is the name of the parameter. + # The value argument is the value of the parameter. + # + proc uriEscape { name value } { + if {[isEagle]} then { + return [appendArgs \ + [uri escape uri $name] = [uri escape uri $value]] + } else { + package require http 2.0 + + return [http::formatQuery $name $value] + } + } # # NOTE: This procedure returns the root directory where any packages that # are downloaded should be saved to permanent storage for subsequent # use. There are no arguments. @@ -189,11 +227,10 @@ # added if it is already present. The language argument must be the # literal string "eagle" or the literal string "tcl". The directory # argument is the fully qualified path for the directory to add to # the auto-path. # - # proc addToAutoPath { language directory } { # # NOTE: Add the specified directory to the auto-path if not already # present. # @@ -315,10 +352,37 @@ return [eval ::PackageRepository::getFileViaHttp \ [list $uri] [list 20] [list stdout] [list $quiet] $options] } } + # + # NOTE: This procedure resets the currently configured login cookie, if + # any, and then attempts to login using the configured package + # repository server API key -OR- using the public access account. + # Upon success, it will set the login cookie to the one from the + # raw response data. Upon failure, a script error will be raised. + # There are no arguments. + # + # + proc resetCookieAndLoginSimple {} { + variable publicPassword + variable publicUserName + + set apiKey [lindex [::PackageRepository::getLookupApiKeys] 0] + + if {[string length $apiKey] > 0} then { + return [resetCookieAndLogin $apiKey $apiKey] + } + + if {[string length $publicUserName] > 0 && \ + [string length $publicPassword] > 0} then { + return [resetCookieAndLogin $publicUserName $publicPassword] + } + + error "missing API key and no public login credentials configured" + } + # # NOTE: This procedure resets the currently configured login cookie, if # any, and then attempts to login using the specified user name and # password. Upon success, it will set the login cookie to the one # from the raw response data. Upon failure, a script error will be @@ -370,10 +434,16 @@ # NOTE: Always return an empty string (i.e. and not any response data). # return "" } + # + # NOTE: This procedure attempts to logout using the currently configured + # login cookie, if any, and then resets the login cookie. There + # are no arguments. This procedure may raise a script error. + # + # proc logoutAndResetCookie {} { variable baseUri variable loginCookie variable logoutUri Index: client/1.0/pkgd.eagle.asc ================================================================== --- client/1.0/pkgd.eagle.asc +++ client/1.0/pkgd.eagle.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJXuhoFAAoJEFAslq9JXcLZ7K4QAJ+GW8T0ge7G7RFt80kaDDxW -wGfmBA8u9feemubV+YQhlUGY6W1lbDaxUeLfbe9noko2Dvv7N6Y/NFnN74zGuhUr -SaZm7L3RXNgyOj2OfBoiHNcfbbcObQewIaewEsIjD2W9uiWzVzLM6V+1T81ho7N0 -7k+X1pr74zuoGUh/IwiNFFVR1Rctp4HJJum9rZYWN4hWoGNGKZbtl6Juw4PgdgHY -rbheGqJCcwHNLmnfQV4GaC8a3l2fsria4481G6de9DZwwywraiMsV5ylglxhOmCu -fal/M8CE5CTNcblxW++6BLSG6bUPxEBkvzqyFEQomW5PfMFYLCDnT7GOFploftHF -jjUv4R3n0BLakXRokObngTdzaM5aqtLQ73JLAwaFHZBLlSdzZnb9ryJ6i4BI3wwW -w2rBzPujKXapIUvF/DR2CEQHnKhAUdChPsm+RTmAdGUAViajs2sSOg7Qr15Xu2zm -TzLNZ47icuCM9Id++UjFq7bil8zzhGPh300O70ZDCVzZlqBN/uZ5OEGc4HmXgXwW -VCYytdGX4LB1zT/oN8vUrT0qNnvIrgtotCZlZhfh83Ok7tzjZB77C2N6zCXJIbTh -9Tj+5ROce4mnHeeoKez+Zom0+FqSOO01+LlzoBFfp4+Hxdh66deiVTgVThB7auoH -HyA13sTx8eIBN/RK0fxD -=Jbz/ +iQIcBAABCAAGBQJXuj5+AAoJEFAslq9JXcLZNsAQAIa+VRhgp36bvPqQrPfYD1C8 +GC5Fh/snmEuiBExAyvavT8vt95jU4pnRvg8eI2dxkLZqm0yWNkkqDFykF5xKlCS3 +lIY3M9TjSzwMiH9CoJWHQ/hoid+0Y/zToWCmdASuPJODi+sr0xFM6+2r6mD7VSg9 +c0XnFHflAPy9aWlyYTdUgnov7gnUfNLCiaKQa9SOW2SaEBiLDn1vpi+Ld+po4NMn +0Yt3ZBKw1keU725aaqi0S7IcTppM5atw0qFUkT3uS5Cas9R0vpQQQtgRoAnqCvDB +djGuwK0/TFCT1HtzNMwvy/FsZfb1nFRoC8sWV0WHThMKgvmDnli7ioiS8EIqlij6 +x1PC4nLa19MyH1j33qF8Hx93Nb4tlwRcm1WvJ3/gZ6SYuZwuV18Z1NH5NZQ5sQxp +L3L08tMu0rox+/BPUkQuPU3+pDCkVjJvVbM53cF9DhyP1GeMuWqG1017ihQKnWJi +5BFDA6zYOADJAUIz66juMW06mXdzQ96XmMU/ekGHrl2qdV49A58y5RuSTSbwTgap +iD2p8YBEIRkP9MHjkL6oWnyiABSsHZ0pL/mTVIaGhINMQdHL9xmxM7nqq6ZS21f1 +kmSnEnDRB9MYtymMIQgZbQ4w1dLzoZYGb07o5vMBG1VUAwfCp65Uit3Tgw1keaGK +pm9knYwZgkaINZoPBtZq +=ZTSZ -----END PGP SIGNATURE----- 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 - afab66f3-1284-40cc-bd79-85aa722faa85 + da5f8db6-4d13-4e31-9c03-44992bc389cf SHA512 Script - 2016-08-21T21:15:42.2568828Z + 2016-08-21T23:51:06.3496562Z -1.00:00:00 0x2c322765603b5278 - j+sh0asklSnCaztnwarO4TRfBGjIReDWzL2P3kMYEr54324MGFk1oCVNRvoCd/CbuB0xkOTirYyZ - GIyI8N/KdRoxBzetkVdBYwwwDMqnKSakz5z+Z2io8QWbROPH8sOmiEX6iF2c4w7uY0W4oiWzjd4+ - QZ9zvKJvbG2WBWEfORF4DDIKDlmzchgt4FITjPyROHqr3pjT0afRLzvaWoNn2TUkdxFgnVucpB1H - LwyoVW/BAsYNc5qHZg+irit8GdbyEpucablsVumXmMMZDJvdQ1DvPx1eg1286567wbE2UqwGdie3 - A+LAK7P30Hw9GDq0f2/eBvmECftgUOf7GkpT8Gmh0chDMTrnowzSmiUlgOoBDF2e37KVeT2EUVwj - CYX1BKhlIAJdJw5QNO3Vpc34yIGiPCzdO6/RsShKIWz3e48+2beIFy7zG/EVaQ/babCUPAEhkhPX - ub6HGCUwZRhHD2CAutKs8i6Ef/gFmbovB7UqsdRibnUKN1eFM/JRpOdf05NuI5cD03fMZMMkcaSR - Cp+qgukQWc4RR9qfoNWg8/bmupwOY7uen4f1X0UJDios61BP7LA0oRGEuRIHQdFgdC+dUMqhzqkF - DBsRmMRvfuMIOCDcpYtZRBxQIww8LLUL7rl5s+Zf/LNzsOzImS/zgRlbOCxq+gaodXU0mSllnv7w - WN46VaUHGmTNdK3ilpiddhg5nGUlYQBlW8SiDNnCX/CEJ7iTKzqmQ1zh3hE9hDvxCjOaq+bDeTnN - Il+GuCkSuzRJulzFa/oozWyqpYO2Lb9BxBIZkswjKHaxiua0EaIqJZkVL72tk6D/vSZ9DdKMmTVU - gmg5tjyP3PYFGKBs7wx3/6yt3r5sI8mBswtsrlArq8V7WPXzaMoar2LHjANqtGuQFeoD40ksmnRs - r/Xp8PjHwmhnaaHTswnsLl0uFGTWSpuVh5L8WA2BSWd6KAqwQjoB1Uegr6FW1ByU1k8CqBgyZItt - qD+tNSNBl6JXDbUhj8ACP71/6CmiygL9LfYBRrDoMs3GM6ZqhHhOfbmKIYcjxRqWwdscyRxc1tC3 - qsPEnKBqu1qyfaE30Ocv6+sF49GQaLq77D53pACtcYa++4GTcAJRKZtTmGt/peKrH73m26JgiAPL - ZVl/Oh886AX0iCzvrvHTCfrE/KVin3b/c9Sc4rXHdcVTB1hcycRKLXjTKg3c9qsaaaVYqijVfQbO - TBrk+zaTeBOAQ5U6KROGueYa9rm+YEvT9a04ivl1UtchFyaUcHTd7xmetViDstHK3vARl0wbdXNx - BwbT+6RSyBtljQkqSmbqgfkdHDkWbU4wropQY6XEveFFskuIHYxC5VB+dqZe4JUNNNq+bxaMmg== + HbdthSY5GuE2YAJZKC+87OXAFyXJYkQXmrvoUSxPLZKCIi8YdM7NipD8T/GA32PqH4Qw1i4JTHnq + VIp9Cy5yW9j30TM17r6g0mysM2g6jud9yYrBLOSuNcf2YFJW68pFCDWrLZfeoVMFMN0lIGjJc6v4 + +9rZ6Bv92a7IrdwPY0dsvuTaexiNkXm4MOcTuPPC51Wn2F8uPpJ4Hfyr0D1Kk4Vjj6OjTX1JQN2h + 0ppbyLHVKR5VTHY35THsysgfrIakQEM8jwu32DS5hVTeVfWDfITq0k1cHpmoHHman5zssoSf2y1h + zNozdfIUtDkDNLnQK6JfNUb+rkAVOl1rXDrAN0v1O34mnqq1zCoMo7nNDxYa+5lLIMvXI8c74Szx + Mq1GVNfITsL46C2RkGoEpPP4/6LRy7LIzt0LbctOxi2EvcZvlM0F3Cizxeyv8M+NU5T7bF55rp2U + KBJDXjAdrbpp4WiBfPlx36S9Pp3/e++pbyJdVADlb8RnFEt2nn7Y6wBiHXMQz3JZPbD/yUdAfPyT + XVdmVkmTyrPZ9e39OplFqvfKF0TOIEGcp5EevinfyUdYNPuOO5HEMeGkLwIasbSvbDApjtwUv81+ + p4jO3L/DW/uKvTfD0l14rX3QuVGF3Yu8QOhq9+g3r3MWm8ZV0pU/6EYtSvxRR1Plrd/qCLlWqHSs + t80Ud8UgDOv5sT9x0uG5WrnwT9sOS6qoypdjogvCeNEZxV0u7dBi/wkkpbFi58Xcjw2372p4t0iB + N1TG8jFCsZq1Y8RZ1QsOgY2r21/lqrhvn1Rwev6TJBdsn2tjASJFbOvR3Bsd97XjnyxTXCGk4V8j + 1zGSTqlbfVrQ9n+K76TpnCi95rMO+TeAlzPwsKDzBH8px5GsRjEZCdShTcLY9u7iQhZiT2SWUfNj + ctqrPqKrILfliBy3rdD3MQglmNgeWXA/+ToAi+hjgVMRJRulZGSQmbV333Nl+FQyodvb6hhmcJ+h + P/VZyljfX1dI9JwdjRNoE4LPIg9lV2hzFsVNmwsj2t9UiUmF2y103BFzyoDhTYU84vXG13h4Y2Pe + kyWayuYz4GXWPfcnS/H7XZi0Uqcpamr38lhjmoeFiVYhwHCmNRxz542823fnmY3RHpq7XqTf95jL + GFZ653+o9f3IwnoO7batbcbdxDIWA51f6yfi7OIzIzkWmm7AWSpeSItkI1HwqZmhTQQvkGNdzPWt + PT7N0Ch1qkIqYRSUF6UMO+RONP2PU+43dCthrHXfqAwPN3QyZtwZtDRC6PGMAnl8KJa0/FxSn9j/ + YhrL6H+fYKQ57P53wYwyI3yT349ejzuqdFP8T2rCeCZQlnvd9ZJ8JnYN2bGyFb6O1qNkESttyg== Index: client/1.0/pkgd.eagle.harpy.asc ================================================================== --- client/1.0/pkgd.eagle.harpy.asc +++ client/1.0/pkgd.eagle.harpy.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJXuhoIAAoJEFAslq9JXcLZmsQP/i/+vEm99Zmm9k75h9hgKKYb -58jjQ6W+saNBI6QYiG0a0VBBsZeyGKSy8/j5qRpibBU2WHF4Sb/vF/LzWnjhmWcz -htZOqx8phYrxC5rZdBE9b7bcN3l4kJuAAKYJGDmkGY+6PK9reEtdTqdXmXA414S0 -WE0p9x+femoEpS8ZXGQvGilz6k8J8jwM8BlEBDs/hM+DGYqnQhQND5aWAAlNs/Oj -6er7yfFBSVb7pYInaB8tEAGFs4r2ugmJ4yOn07YD419E5TZ17OzB0e4kQc82HYA9 -ZjLcR/ctCeGVdi0hnNJkpFdsWWEjUrUG0J2WkaAe6hHrmKHPJqJ0I3AdGpi13EXt -mi+cGXtU7pCXyiw+UJebh+64E1FcLJeiq+CtNsCh3bXLEoPNIkuCbIdbv080JcBJ -b4CxfIifp6RVHP8OigvTDYAFlUDne2QxNlsKvmd8Ads4nHQw2jWubz7BDTcmhrkr -gNlTCZ1ytuv0wDrk6EyfsZPgYF4HTjkqQcTBH8JhlOVdZ+RPVMt9hj7oOymN4lfn -EbNPGY37S0ghqzvXi0tHk9PExWn4jq/GBuA9a1q5SCea1FZZaH0pxAr5Q82M3FIW -UxDZN5J3v9jDdOaIM1tThO4jTv5G1V4f0fJsBrjYGdQBLL9I4tImI3/7/GyNORtn -ITO9nMNHBCxbXkN2hkJD -=CEV1 +iQIcBAABCAAGBQJXuj6AAAoJEFAslq9JXcLZMNEP/iF15g9gblVqZ9ws17ht48ic +Ydo0ZqgaVSf16Pq8pnecE14bivKEyWua+qwxsrIgum8wimS6YW71xw8PVTcdu88w +nU8Oh32U7DThcIG5arxLucwQ3clETLuQQZQjOagbV9bUtt7ZkJZYMlktizewyf3L +FLLRxk3Rvs6iYIaHH3+MtV1to97HQyphGJOTq9Y/8bWqXkplOgPrShygiDbyCU/0 +++OOsvWhHlxDolH4Fmy6XqrzOc+aqOFDALDGzTQaw/yqvY23uSQW6V1Hql+eozBt +Ie2G2h+8kpHJbbOA/1y8aIbtYzbhhQWlvU3NqWfgbWGqx0aGwRiLqCc5RhzHIYE3 ++1eZk+rG2QeivKzmyhPCqrIQtPk8tRue5wxaTf9hA/4vaf++lHH/xdr6bp4YwAj0 +FcODWWpUS495hGf06piaWfavpCjcicZ1cgTOobl4+0Oi0Ln0bgLDJ3boTWpOV02T +wxRfofk8r9CfGsyYkYqBX/wKpL01nCVsP7EnAgnxbNYcfAw5jfYRPdLI5OdvQp+m +xSyJIcbZNuyjpIF+IEAcpF4P2YbsIWMhe0DYaNKond8VW+lnV+bjGpbWt56NX3Qn +GWF/sfFd0jRNH0YxOS9uMxsan9t3U3fkyLo8LDJA5ABJo8iq4CoKtUUIyHm6JTzY +NnVAWvSsRAnKmtHcMwcH +=JY6F -----END PGP SIGNATURE----- Index: client/1.0/pkgr.eagle ================================================================== --- client/1.0/pkgr.eagle +++ client/1.0/pkgr.eagle @@ -62,11 +62,10 @@ # # NOTE: This procedure emits a message to the package repository client # log. The string argument is the content of the message to emit. # - # proc pkgLog { string } { catch { tclLog [appendArgs [pid] " : " [clock seconds] " : pkgr : " $string] } } @@ -129,10 +128,11 @@ # # NOTE: This procedure returns the fully qualified name of the directory # where temporary files should be written. The envVarName argument # is an optional extra environment variable to check (first). # + # proc getFileTempDirectory { {envVarName ""} } { global env if {[string length $envVarName] > 0 && \ [info exists env($envVarName)]} then { @@ -220,10 +220,11 @@ # preexisting variables or commands that may be present in the # global namespace. The paranoia argument represents the relative # level of paranoia required by the caller; the higher this level, # the more uniqueness is required. # + # proc getUniqueSuffix { {paranoia 1} } { set result [string trim [pid] -] if {$paranoia > 0} then { append result _ [string trim [clock seconds] -] @@ -241,10 +242,11 @@ # NOTE: This procedure returns the list of API keys to use when looking # up packages via the package repository server. An empty list # is returned if no API keys are currently configured. There are # no arguments. # + # proc getLookupApiKeys {} { set varName [appendArgs [getLookupVarNamePrefix] api_keys] if {[info exists $varName]} then { return [set $varName] @@ -258,10 +260,14 @@ } return [list]; # NOTE: System default, which is "public-only". } + # + # NOTE: This procedure returns the base URI for the package repository + # server. There are no arguments. + # proc getLookupBaseUri {} { set varName [appendArgs [getLookupVarNamePrefix] base_uri] if {[info exists $varName]} then { return [set $varName] @@ -1189,10 +1195,11 @@ # script file, if it exists. Any script errors raised are not # masked. The script argument must be the fully qualified path # and file name for the primary package repository client script # file. # + # proc maybeReadSettingsFile { script } { if {[string length $script] == 0 || \ ![file exists $script] || ![file isfile $script]} then { return } Index: client/1.0/pkgr.eagle.asc ================================================================== --- client/1.0/pkgr.eagle.asc +++ client/1.0/pkgr.eagle.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJXuTIZAAoJEFAslq9JXcLZjO4QAKamHSO8HOqCcMvl0aV2+KyK -LqfG7OSsGvC6c0oCingidqBT4OpZwz+osDIZZDuFNAj18/s5S1ZdYwFxkftmS7Xv -STKHplVXYqSEZMN3bITz2f9pr7RBUe5RYAeDRXHV60VGy/HrXSFuLAbXPRAyIHuE -u5egBy53zvFGT6lUkFx9iIamUY7nu1GL+JDPumXxxStlA7fn6NCs00k6rwSb0821 -FBpzvIi0XfHmz2o1d3DUkCJ7i58oWMne/+Ac3a7o/NPDcyrdxEcNuxPJ1LbrBIG4 -A9Z4QJO4WcRl2Fem24/wSaXfHNBqiIMNuRoKqL+rb7o5/IgLHAdeqGpxgFb+o9Fs -eO4GN3mTXr1CM9IhhUs3JDH9jtTdKASTsL8CaLrmFjvIxIktWdDsaD1rNpZFhNPO -Js37+2z9g2n+VdBoi7cawXRnd/UHaybzv/tmak+pvCCfFXdtVN5D1bh8ceP4PiXC -ZYA+4LudHCWM/YCdqei3YTDaeETTk0D/hhx4IXbrj/4cdvhkMhGEN81UjVQiOmIk -8RQTYbm863oeFwk1Yifgpj3L7kkguKcvHwJ5QfMGjTF32fPGqIO1yz/B+xc7tll0 -ul7G5ijYY3TwbVjy03Yda3opqI1c+svCq7I6L6uZ8t2qGl6xo9I3sh6rJI6kkDtG -xl97ugVPDkvXRJJRFVLv -=b3un +iQIcBAABCAAGBQJXuj6DAAoJEFAslq9JXcLZ1KQQAK296xIBrbmz7zuFqiTC56FI +c49vTBv9cx/QVblc4BcOSkc4fh2vxBewwyYBWmFH5GE8EfA1Y48Yrq953XZ3jDlS +Jk4tv7KIBOeJaxGoBlmA767G2D4KnU7K8lQJfO/jeMF+sze0AAhPI7Prwmu3Jjej +w0eCFuQo2rN4wJhjx86V1bWmLqAIfn5ZHmJUOHmAYYINrNhIYupLbYgMV9GtgOhI +ruAo8Ce+F1y5FMreNsTONhIyqGF0uRtQKiHgVuwEHrDqLAcerLFLL5P3dlpOqWn6 +qoG/lIGsf+pWHURQQHVjER9C48wGK4fJwl29EqjTpA17+xyFty3clqUiQ6sXaYDW +1iKQuTGttH3ycPlVBDpQ71PDHN1Zmwb5mLo2l+T+cJ3saXDOD7HpaLpTxQKSJkfH +ffdfwLjaeybn1P6oYEL0TBFCa0YGgTu8x5/5BpKzpx2BYzp2bQAP8nN2QO8D8SkT +PxYy613USSQ1Q1WiZchrHwNH59ojMiuTS88A3PdgBDLYD0DPsCYK/TIzaYBvvbzD +R6/sxolugV347P4Sp9aNK3Lrx0OTnL5sbXIRGjfcAp+/ZW6M9+CdDbdz/4uc4Rlv +27sZrAAIiHVepwVGXF7rkCA1LPj6hcf6ef/d3H7N3bnWAWtnfjIOyrkwQfnURe3A +jsewtWb8mB8ml5yb5E7r +=TA6b -----END PGP SIGNATURE----- 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 - 42a75fe6-f5d2-40e4-9609-66fefc8ee7d1 + 18022369-d1a1-4ea4-9951-5b1e22e758af SHA512 Script - 2016-08-21T04:46:30.7500469Z + 2016-08-21T23:50:34.8643047Z -1.00:00:00 0x2c322765603b5278 - ignlAnTdsDHOp1RAlpwA64WbsKwB1Ov9HQmWAVufkPHFa0wFhToM2EoKCdHVU5qPBzBR0b/Hka0H - HgFktYzmKk6MzeWK3Vt0ruHMd012ofszjj8nBMtj5/5kIfEF+WD3K8n+Sh66sefJr/a4DXzk6VYL - wvaXWkRGTXvbdAQ7k7ZpQMljb68I1G1SHGRWQ/u4mF1ZHW3Pod9MMnQFT5YTuGaJTA/MskJB0mXN - lUcGOn9Ox9jtVV/P2/98nhlTMHGTtAG6t1XbCyDacj612yqY1A33qCVRihW/5/sUoSQcKVkIdeiE - YWY2n6jMq4KR4LM4gtV6NY52TOAdYAqD7Nt9Gqo2gMdymuRKaz/FUn3bHk2E+0rxv2PcP6L7UJdu - 3OfgTzW7M3PbuEIM/ZhNpGjx6rO3hAmMaeBQbpcwrTXyKz3tmjn/IIfS+Z0hKl0JSaYsZa6aeSwn - d6+q9ZK1v7FMj033YMWzYV1OgF/EVMzvesh+QhuL/yhyzH9ay3xwAsyn4aaUrmyRqnWt1JTCCrlZ - 8oHnuwrUmehD/UgABWPrXegBLkgUIb84+pdxQVAU/b8lvbMEUMMZLHT36xRzJFKarAeNgDT/CxSv - VH4UN8L98xuWzLpZMidf8tmbQxpmVkAviBxLtQ1WO1INNYvOobapIDTB+6vukFCSH4qpbD4fZdI4 - gEFpPl+TyyCT1d2KxWgvlupwqEiJAMgavi5DpDbBjwkjevbyQ7UjJc2TWa/X7SvihHf0Sn947d0U - Hr5yZynUB3NsdJffdXdccKodAT29U93WZbg1QyG4uNH9oFqyu4efsKV+/zPT54Iy5ix8h+EWaQpj - ZNIRPbPDouK2ND73Jp7j1GqsIipFnqC2ReZ/ILQbwLyOo15GQKMkzVIGUaNBuwIm8eg5MHoh34ga - RnQPYWU3UqL6wUFdFftLNEjWAXbR4sP08XZoV/XweEBCIs4ntlIp+frYZ/Kp6rSRZ5Xre4peGpLI - VWRkLIv7lKrxQFgng9IEALx8wZsnJUPkMA0rze40/ObzenlV0ZSFTeU7Ca2Sv0AAUMhAVfdlMBrs - 4WpYY0Qw3V0lYxb3dnSWNo+0RNFATRNb+1RQBNiBlV4pmiq4kXZSbJg48IBvmZCfQEw4JXRvnC8P - cbqpRYsTTHXUeSBuXgQ1KX9K40F8seghsFmLPQjMDUmYMwh0Z+HAHK+0O/tik1hIdI2x3c2XdmlQ - wbaaXIzK0IDk0odQ0QV5O63/X2kYAwNPr4ilaOiNgkbf84SJBi96FgYppUFSkDVxi/aX+RJePbJb - TxD9QT0hLvDVLISt4d0F+NYe8jRuuyCAkOPbgBte35a014/MXaFsUHDDF8ovIhyvRkkimqsoEg== + hP98rVM1G3OG3Nr2jHKR7vv/oBTw0TSQmZRCDwUJdMZYG80mnkFk1a42x5HQ5skP5J35HWacl8IW + X1Jr7xZC+bVVVOwHTI2cUE8qpw6bwGYCYLNuPJu6BmqhuF3NylYp0WoK1pUWfTALnGpWHnJ7dJyk + IdZ/txSJysXz2b0PmZHs00558/32LTFtPF6TdrsxwXgriqUc3ey5Zk0u1YPhcV2Y/OhD2KF8FAMY + DKYiuRdih+y05KyAbvfgH9TZT10FfrsSOnIXAhdAAFShQOH3usimf8dumDJ3c7CtZy6K7psCSxd4 + hpkZL1loS4/9zR2Yp4RCvC4PBvdbu1gMO1iyyR+EyANtwlR08FZK8P/FGiMaIXEkqWwYElvJsDDI + Fr1E92Wv1juc1dFId17XJSdYpLPDHBdkcj5LBvU9xwuVU+lLCvozj7DYlz1/njUsy6fTBYqDFzhU + RmQk9W13GFWsuzBWvp/hjtMGpO51jLZXrAoH2inQ4Q1uWwGCgf8p2nvXAZFgJ3endruHngEprjwS + TZX+cBSQFV2jdu7tst43KvMydJMI+braRo1bxZtiA4FKhmxztS9OHJZ5iB8bmq7hulkMnKFH3ZqN + 8SIn+RD7EcFFf8hAuYmcMVpFWVNIeTCi9Olkhk+7dKVosf02R1S7dhidR8st9SNVvmpBCTdQWwmR + DUd05SD1zmLVj5Q8Be9GuYnwxbVtZEJDsTeHblIYILXdJCxElSOqaIFK+ph4IKIPHo38jtu8FmKM + 4pkMANamePEdmT6CJUd785ESEEaumMvqo6avKn9jjSvMICGD37E00fDM8P0Xm1IsUAOEeEpdSTTJ + 644bIuZaPv2cXSEh55i7eiJEIhOL8yFgp47t2AAN1vLQ5jWY+wTFePL6Mo8ihPuRcNxXVp5Fay2r + gBaXUpcMxErg02FvorqDhP1uCHczksuHtzrBaQgvn0dtMuIYxt4wKg717r5p8AoBaLElCOqcOrZS + WkmYc5wRZ5HlsWtgn9gxFDKfL2WfTWsE9XJRjI3N1VflF6AIVWiuHGcfCOjXhrh2CJYoeuY1TH+Q + kPfhiTmNC5fXVh1nsUgKVnFEDgC4HiP26xE5wlFNsynXXOE3p2V5aZWdiSKF4E9rzUztUHlnTEIH + BP72QL4Jx1+oHSWajFj3BNpQLhlhmuqKIKK+GyoSJvpdVZcTabtnXkJ2n8fts6r6BP9mtd1Fb8Xi + 1gbsscWfo7PnD5gkERB0Gh4P3naxrd64RsUZ31HFZbwNaz55aip3MlnWtMoIly4ij417PHRyi/4l + IrNxoVzDzjn4oWIIWSNWbFb+TeaHJMnHVrd2G/yPkB0RcWEBsdgJb7o7lewRWAcf4EzNnT8E4w== Index: client/1.0/pkgr.eagle.harpy.asc ================================================================== --- client/1.0/pkgr.eagle.harpy.asc +++ client/1.0/pkgr.eagle.harpy.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJXuTIyAAoJEFAslq9JXcLZq4gP+gKdXVq96ykZH7BEOGX5381a -EXJr8peAVDJbCha+EmxgfWz55zypltfL/+kaT7oDC0XQcc6xyYEiutIcsnELu4qJ -eMxJYyEAMcuDOmZZ7oBUrDQpKoNImMw9pce8xyzieKQNq/bUhIFKFUFcxN39cEQ+ -z62uf62NrH5FavZziu86xABl+nEqX7AoJToh0oe0N93A8kQ+cJ4xGL6cYHpb1Ujm -9i6OfliwD6CILJCDLQItvZdHF63bZe45NPNUeKGDe5YHX4qhaTOLnFzNGxlJ6BNt -FZLPw2NImwsxnRG7Q/enYVWPjgNTOLPyNm9FCIKyNLVm8tp+eNcRkRBBCttbHKaY -NuhPsyaHBRvsCRl7xhYUE3NrkyiIJYk94GUO5O8HZVMlnyj82x9/9XT7CQ4fHd4d -WronhQBCrDdPYxRxjq7zjNXAAXSt64W13sKamLNIVvW71sSTEGzErlA4Vk00zPuD -32CgmWgTiQeGILgt4qIny9a7UJfBuGdZb8U60n/I8UTtyRI3/ELYOe2bB+2uq77N -69jLjaSswCk4/ioi9NWoVc3ffHEYsX9ONic1sDD+9LRlL3Q0JgOMUp4SxpV4kiGZ -GsyRkDjC5TZVrsJDlcWcpeUDnBA0pZyGbLMWYomDUDl4iMKq9haRMZkAxxvMcDVW -79xXsfCePEZgm8iKVETO -=IPf6 +iQIcBAABCAAGBQJXuj6FAAoJEFAslq9JXcLZ/dMP/317ZPcU7B//jPQbzx6368dI +8tv4Cz7gfXAQgp4grkWaza5ZOBWqeHrlTo78GIEVwiIUmicdztB9yXKure5mlgVx +YY9AgshHmuzs/wciZ8WtFYFoGov42x0prQzsFrQmFM6sxNd/IMtnkQQv6iR8lMwq +VF3hz0aSSWFmp9g8z0WMY4VpwWnvRPuG8PUJkXXoIdTBL6OQ4tz17BAPMXmYq169 +SGqXmey3eNVSxXHsneLMrtIvMsxFx+oa7klAucMwX6+3XQQ2nvz7y99hMmGui/8t +30MFEfNpcu2YPzMVubg/iF2R78v8yywmP1uEQGXiBZnnJ8z7eSYLvKcIh2LsZug4 +O66Jhs74vy/PMC+T5lpJeRvZWNih6+d94u3fM5c/uX9xo/HgQ8U2biMVTwUYgkZy +p6s8uqgR7s8pywVihWVddV/NQbhb+pZUxOibo5BJSGa4W0l2EzETdC4MlBCwMLXM +svVQQZmI6VMRNykgVwJfmIt/kUVCnkAFfTf3jsmj9GB2dxbFQ1xJ8Sjtlj1NBm3t +msaDv7UwdM5Wo5YJz1bCYZRPXLUIux97KJnGYIudAeaAvt8BVlUjHQAhJ65hxl19 +mVfc8BwBbuTjYPUq6iKux7HOjK2uMRXeIaDJqrhqmhGw6n3/Hsf5+JErATs2KwjU +9fhVQudCHcscFq2RJEsd +=/wc0 -----END PGP SIGNATURE-----