Index: client/1.0/pkgd.eagle
==================================================================
--- client/1.0/pkgd.eagle
+++ client/1.0/pkgd.eagle
@@ -458,11 +458,11 @@
proc resetCookieAndLoginSimple {} {
variable publicPassword
variable publicUserName
set apiKey [lindex [::PackageRepository::getApiKeys \
- [getDownloadVarNamePrefix]] 0]
+ [getDownloadVarNamePrefix] true] 0]
if {[string length $apiKey] > 0} then {
return [resetCookieAndLogin $apiKey $apiKey]
}
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
-iQIcBAABCAAGBQJX2cPLAAoJEFAslq9JXcLZbKgP/2l4qkLKwLfjWPdElkwADK7r
-+GfnqOGD0u6C5Te/KOowxMw5idOFIeEE6CZ3qfLB5i5nQmUXYhgIpX18ZV7rs5nt
-KqiaMXRCEoT8aNXVPORLfI2SCI1W5QEl+/apW+kw7mG5BkR9AlJZlkXZtrSgIrq5
-T3KojlaXzvJGA0usYdnDYPlapyY3yGGCh5/ePfj0KXgyWuv78SnC8BtXpqUBv3vU
-2KZUGoMuHNyV98YJIeSdor2IET9+t0Tbl/RAPbgcI95FbLEOd9rmqqh4yLRXKsnb
-LoY7lCjseFbAxVfT0/+bxtmGl5PoWqNC/jvTMoR3eautxZTfyhBKnMyDiigrjMoC
-zngOo4GltyETppUCVbir8fGj7KVu5PTe6eFo8kOqEoQ8CcGpqiuLvyBpMSeH3JZd
-1d/0YcX6RKrrZU1nlcc6W2kspAdqYj74lUTo3G1+q6JLhHarTAK49HmM1ej+aUvp
-SfMhJni46uIpC3aMZSGFO+iVWTV0F2YFWRFzQ/IlVDStAF574iLTH2+hyKb076mY
-Ghay/M0S3sXas54TI08uUQbuKnPnpsrk15Y7oZE74LTBjAxrCE0JQ86HADeRquRU
-7wNyV/rN0xQ/lWMRIttiScQqhOLaphR8hBppDexvAWcEv3glSoH8ulE76/WOAIE9
-w8EOSugpDMBbJm0ICW2Q
-=LqGc
+iQIcBAABCAAGBQJX2lmPAAoJEFAslq9JXcLZxUwQALrghwu+4ZYCoda2LiPUhB4L
+f2xhc13e84ezWkitX3cOyvaOfG9JGg1dL3+uiwRefKm66g7J8T79JT+O9ji4YQw4
+H2/aCtlBXUB3KX1zM8ta0wdPIohL6NAQSa8Fvbld5J0ZYYzcZmIAq3ExyXIPJnn2
+L9t3lP4hA0dy2zFcYTivheyixAnMSiqHLm6dlrVcP66cynOfiR4FdeI0af9NhlNw
+D3yK/FvRZoCsocE1eyfFHQZtP2uSN4mPup7YcdQCV8hAj3nLqai0J2KlKiGg+cud
+TgvbieWOa9m3GNOxT5u4wRZby9FtQH5b2+ZcTF5Olto/kJIYh2KyhZy9XHdHqRRI
+VfFqwkR+I7S5zvB54jYq/0NkZLYqLiCG+dUFDY/hreRp8dadMnot053nwJfHgy5E
+CqOVLrHE1FVB61v0WY3a5BE9rMbUZrHw1jiUKuIeHGk5N5vwpIc3udLQEcW+llY2
+Fzh0++zfmBB5Dbt7TqpuBDMYQug6gAa/wPdaCKOF4Zk8qhGrZlE6UWwtW2B9H7ZZ
+e0QagWA05/OWbKzmrJkueQJf7uj1pBBg+B/uzppjX8w//c/lLzuLWIsvpzE5unO2
+bpw8aauhSCkAtw5cMMBHzrL3ovyprVYjxnGSUWlfbAP9124FiKqaupdadxxWu5qI
+omf24CSb7cNDO0ig4S5Z
+=hQVG
-----END PGP SIGNATURE-----
Index: client/1.0/pkgd.eagle.harpy
==================================================================
--- client/1.0/pkgd.eagle.harpy
+++ client/1.0/pkgd.eagle.harpy
@@ -19,50 +19,50 @@
None
Mistachkin Systems
- 2b0a3f6a-f792-4860-b9a8-0ef405383af5
+ fe5b4e0d-1a5b-41e3-92ec-88ef23daba5f
SHA512
Script
- 2016-09-14T21:40:00.7617187Z
+ 2016-09-15T08:19:02.3906250Z
-1.00:00:00
0x9559f6017247e3e2
- lHK8oMnaM08uRy8as2/uXPtJUzrzUPjXF5QtggNz/ErE48DJ3LDQqDdiZ430PxbtSMKOILtkr6JK
- ygP+Uv0SEwu/V6DlGW3QLYGkA3UEUf9khZzJvrFZCJqkal8mel6rG8776bCTQlTt2dssENytG7+S
- usw5M+D1l/ocgXBZCQw2oJXli9uS4XCZ3258A3IoHCzSxn/kafAvlCR+BDA4OlAIo7Fdy7hXEQxU
- MSeKyBIa1fqZLT+JElNrgrlh4DKXz090x/hgpaWZJqXcl2mp3aN0fF5UQTFBJYrJfAlgsvbcTU8D
- IsdirqJTmxJipyVP+5G4TDAiPKbNXgDg4GBNdDws9pSXp8aQ9tb3MfB5i947zqA0gozmpuQ9qnK1
- K6ZLewgLgwVQ5DYB0ai1HLlhxCYrFmUZH6ogRR2mQ4gy5sX7aWGL7tersfLjamNnfRO8Bdzm5n7C
- Ml9sHfw5R/nMSgyPdTA7YP7PNaDQkE709MUC4c4t18mBdXfmAR0i9LvUx3jIXwr4JRn3Ji8XsgG/
- UhzOi22t32p/FqIJfoE8ymMu6sWQyFB/1q1TxyyuIcZ2+kjvhNsnqnVV4w/9R/4R2UJk7Boy1i8F
- 1jttAJ+JUNP5uzi0DCTnCKiISGWKSIJzne+jJshYFYaG49fWpNSlGv8kZb0svhfHJylrKw8ExBZS
- R284rPWu7Zc7I7cTPIDabNSKkvkLsrUOd2jk6BJOhM0gqRHQoGRQammieTfcNY+UmL+LDd95uLqW
- TNjirumnsDjnZ4MWF6PGTqNf9IA7XFXfNqVaNJA1UVCcVW1sB5aAaEKlm70PMDDWamvO3R3+oRM8
- cn7p1jXxF/GISYDa+PuuKFIlpGVoS7ijNK0FViqW9sRSOG24qJaB8RImnAGAVxrvP6w08eX7GNTz
- I0e6LtG9ZZKlOSgRzg7q0f3nvl/8VsY8kn/xKb8y6DlhzeRZ6s8X3CBF2jYlgc4Mec6in6TvOKr2
- GjDSakT9rZIHs/kVQn9T7QIKajFkNB9dN/5bP9aadkeQg3l8Lyu53h86lw10PkAyB+CHnvFQWX6W
- GJt5GU17vsJ7IGSr/ofwdH/QXPPyHeIGi63QzVP47KfrE/5L+6/XfS9CPo5PiahNorioHxQRVfej
- ZqKIvqCw1kCPdtXJKt0/kZzzAiPN1vO+/yAbIPBOxX/sfh3tXp+58Wh5CBTPCaRFxqOepUnlMn9/
- mDs8WMCLBi9uoiPfm6ZLSDhHLlQ0bC/gfEXrvMgMXNjXRlulPjpLRIp0yowuwf+OQ19xbd63xNmI
- N67PlcjUPXVsg4pLaqkgdx0Z2JudknKu/Qqz+xd7n00cw+/n5z8ObcfA1P4qdVjSvDJE+u8v0yhV
- 5Wg9Ua9qUvZKlR/6juL7HcEDx3Hsw292vkmdYc2PgdL3paQwUY3hVKi/fGyWDlEfG1Q7ioNepWsm
- j2Pxcmb4S7W09VmoA6SxWMHiQbfDLWd+j3z38OaTIRgt/849WJQZZoUhlWeLu5LI6m0dDafJn9NV
- 3ocxgTDM4HPmAE6ObE55/GKXl9bFGARUtq9Kz3Q74XN5qBY9GFeD3FKYcHFqNnM24+7MhtHrPk/R
- deq0QKPxwxlpvjY7SEop00/wjzscWvSgX9DmlAeEIP1ctkXcUP0i3yH2oPFdS8L1/29CRKJ3L38J
- pi1iflff9KMjz+OQo+aU4mv0Aqv2eUlzMKVNCDIZg1BIgRXtkjS9bt2G8VSg1X+c8iTVJou7n5DO
- 4RS9RJbT6WsvPadzRP2+naiuyNwTgtK617udQhENPiOCg36ja7zGj8bbC6PfJgLTrF4mjzrS4mbW
- zF68nH0zy1mOJa7X+QWUrKbVJ09WL2mqEP2ZQOhUbV434xtvnU0RHmUfNZEvGei0dH3oHbt/G8/R
- PLLK+1o7Z7B4mTqnwbIqMUWKpk5TRLmXl+a+dO8jt10h5Hu0+IROkiYp8sKCVy2fTcQHp+uFWo0Z
- dSZ6bNm3Q4ebXXyfXkC4ASJ1IAO6tYLTQ51eULOktAuy0SP5jzexnTCx3sX7vQOSK2vuCjYRgbec
- RhpsOiXlfzM5AcBKDWUd6yvBsOyFgiDVoKvtzjgf5rZsRTJ0YhRvn3HmQ1Sq8VeuJwFiq7AaA1us
- lOBMFemYZM2JFcC1kJhg6fVVDDqGe+G8MIqX4hZhQ62DhpKEc0IOq+J5ndyGRI1nNGIZ5193hQc/
- wz312GZ8alPuuLFn4NHhelrXfn+CsY2rOKUeSyU3ENoznPSMDlx+l0NOtDT5+ns1SUUPhfZr33zm
- X0xcWnFilvbhr8dEdGYvVvY3zGnpLgoGRfHWFWMY0eazpBVukE+oocY+jf28yZhU2xp5T0I21+h9
- 0899JTpxQB38Z8+8LyNk3Imd7o5KfOgw/JCLzCWRkKMbnpb92JWS91W3+Uj8C0LXtTxORCmVdoCA
- +geA+64cBNhanBokUU+mBabSS8w5IpRw1bnF7xzfSSnZ0HhjaDiWff6m+iriUWY7WnEpJPQf5lQ9
- Ld3f0Fbcgrnfk2u/mDJ013vfASstLia0RywEoqPO8h0C3WNnEEeOT/+7sMeEfKj3pSokd3sp+LSW
- QKqkMBxBrlNKAKy5g0xP53hAzi+BGqamPHxxZn1JryyONu1HWu4n0BbceiUQBZfriXrKM+YXTLbb
- U9cthLmSId2FRXCOs7rku/E1+86SCCxmi4WC08lDIUF2gPinRHkM6Y5K2ZJvjX36uGHk4dw=
+ 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
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
-iQIcBAABCAAGBQJX2cPPAAoJEFAslq9JXcLZQEMP/02DJ5Bc1hGJE+OETc7rG9bZ
-CAy3pU6sQEqDLUy/9ITxi3CwkcbM0YrXkUcAk4JLImLpDy1vvQjkG+E50OF5Nx/G
-qfu/HTqBa7rJyFdkJ/hxeayE9PruZ9NbluuS5nAYe4TFlh3h13Grw5yk3Eoh6XAr
-TEanHt+M8S1RYp6fT1OpTuWrG5ElHVs+KcjIq3XkO81iB7SLZZbtGSuEvgpHSMkI
-Fc1KegMT+KlIHc/iEJGDUs578929uzlgXL7QR6ohz2mGppminfL3LrX0B4X4uYuo
-46xenh9uHEk4c1sODmfRzwCsJkmNbsav58V2Qx3voGtLxS3ClwD+61bwaCRMoMXQ
-yihyDHDK21FLwm/iiNeNGCqecmuVa4QEoFW/EhqtqRhm7GhHPYmDQpaTqjbeAvF9
-uq4DCsRsWLAKnv6dPKrAWjJ88qw/bq/wqvu/tLfvDcExR2tbcex1+hjg7ENO6mMb
-FlMOluAF05njntL3kPikr2dJBF7ZeSSZ9vz5SKXIgWkyoyQ6Egf7dzsyIl1jqiNU
-FwadvZ1Ui/JmqHbt3OPGQqOLSmhdl25ZiQhNWl6kroPtL0kBtBqGly5kMs0V6/aO
-tc/QWOoPNiFpp0LhJPTAwB/rB7m9C6UOwr1rijPLjFrxneuwCXtEfKRqgQclNpZL
-Px2cpUeX4lX7cv9mHeZH
-=f+jR
+iQIcBAABCAAGBQJX2lmRAAoJEFAslq9JXcLZ7msP/0dgrHwpn+UH3mj180XwYS/a
+2ds36eZXWxTTLuaRZote6j8UykroIBd5PaRHG14lStvPv0PNhqZg2KQGkaNuQrN1
+qbmwyYvnURie3r6wFil8RJkSNLlAQJP3iIwa9EBp3J7DSpr1agMowrQlxF0JDASY
+QjA0Kv6N183+VNYJQbPKU9GPcpNAN92bMZddyZ1hlaV3RmNjLk4Y3NbJIsMbI6uw
+qnLoHyGgIh9I+pkqLeH6XxfoY5n9EwDaXFY1C050MxZaPdlkjNEO0Z9Td6o3m0D9
+IxJLTvDAKmijHXAbLxgvyvUH5j9FLC91hYlo82m5C4Jvwa6ES9A5WEimHm5BYkpB
+EBkwUQvqAP65sLRg5AVW0yVTWTwhFeUx4fWjeWJdvgMOzvgyfwxYBHavCjJNJhk2
+5r6Lc9hi7LoiDtsuC8QsDwCPfP1/LoU3h39Awx9M5qeIOcZY8/+Ti6Ax6aDQQdBz
+Wv8IHJ7xtiOtSbuLX2PsRvNJ2NdO816o7S7OzuEcJNme4OjyE82FNOPYhDxCmBT+
+fhh+6wW9+9NI6BKjrfjfrGCMd3q8r+IrAy7y4ixws0xevgVj8gXQIe/Qf2KGK1HE
+wX/QhCIIvUZGXEE8NEpAos3ILb22O8Tmk8GHVL5mqe2ZroD+sVanxxqIa7Rpn4uI
+qd5tr8utEcwGmsBJg1vI
+=9qA5
-----END PGP SIGNATURE-----
Index: client/1.0/pkgr.eagle
==================================================================
--- client/1.0/pkgr.eagle
+++ client/1.0/pkgr.eagle
@@ -78,11 +78,17 @@
}
#
# NOTE: This procedure is used to provide a TIP #194 compatible [apply]
# command to the native Tcl 8.4 interpreter. Eagle and native Tcl
- # 8.5 (or higher) have this command built-in.
+ # 8.5 (or higher) have this command built-in. The lambdaExpr
+ # argument must be a list with two or three elements. The first
+ # element is the list of arguments to the procedure. The second
+ # element is the body of the procedure. The third element is the
+ # target namespace for the procedure. If the third element is not
+ # specified, the global namespace is used. Any remaining arguments
+ # are passed to the procedure verbatim.
#
if {[llength [info commands ::apply]] == 0} then {
proc ::apply { lambdaExpr args } {
set length [llength $lambdaExpr]
@@ -103,11 +109,13 @@
}
}
#
# NOTE: This procedure returns a formatted, possibly version-specific,
- # package name, for use in logging.
+ # package name, for use in logging. The package argument is the
+ # name of the package. The version argument is the version of the
+ # package.
#
proc formatPackageName { package version } {
return [string trim [appendArgs $package " " $version]]
}
@@ -315,14 +323,16 @@
#
# 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. The prefix
# argument is an extra variable name prefix to check prior to any
- # that are already configured.
+ # that are already configured. The prefixOnly argument should be
+ # non-zero to exclude any API keys other than those based on the
+ # prefix specified by the caller.
#
#
- proc getApiKeys { {prefix ""} } {
+ proc getApiKeys { {prefix ""} {prefixOnly false} } {
global env
variable autoApiKeys
#
# NOTE: If the caller specified a variable name prefix, try to use it
@@ -333,13 +343,16 @@
if {[string length $prefix] > 0} then {
lappend prefixes $prefix
}
#
- # NOTE: Next, fallback to the variable name prefix for this package.
+ # NOTE: Next, fallback to the variable name prefix for this package,
+ # unless the caller has forbidden us to do so.
#
- lappend prefixes [getLookupVarNamePrefix]
+ if {!$prefixOnly} then {
+ lappend prefixes [getLookupVarNamePrefix]
+ }
#
# NOTE: Try each variable name prefix, in order, until a set of API
# keys is found.
#
@@ -372,13 +385,15 @@
return $env($varName)
}
}
#
- # NOTE: If there is a default list of API keys, just return it.
+ # NOTE: If there is a default list of API keys, just return it,
+ # unless the caller has forbidden us to do so.
#
- if {[info exists autoApiKeys] && [llength $autoApiKeys] > 0} then {
+ if {!$prefixOnly && \
+ [info exists autoApiKeys] && [llength $autoApiKeys] > 0} then {
return $autoApiKeys
}
#
# NOTE: Otherwise, return the system default, which is "anonymous"
@@ -729,11 +744,11 @@
}
#
# NOTE: This procedure, which may only be used from an Eagle script, checks
# if a native Tcl library is loaded and ready. If not, a script error
- # is raised.
+ # is raised. There are no arguments.
#
proc tclMustBeReady {} {
#
# NOTE: This procedure is useless when running in native Tcl; therefore,
# forbid its use there.
@@ -752,11 +767,11 @@
}
#
# NOTE: This procedure is designed for Eagle. It attempts to load the
# "best" native Tcl library. It may raise any number of script
- # errors.
+ # errors. There are no arguments.
#
proc makeTclReady {} {
#
# NOTE: This procedure is useless when running in native Tcl; therefore,
# forbid its use there.
@@ -779,11 +794,11 @@
}
#
# NOTE: This procedure, which may only be used from a native Tcl script,
# checks if Garuda and Eagle are loaded and ready. If not, a script
- # error is raised.
+ # error is raised. There are no arguments.
#
proc eagleMustBeReady {} {
#
# NOTE: This procedure is useless when running in Eagle; therefore,
# forbid its use there.
@@ -802,11 +817,11 @@
}
#
# NOTE: This procedure is designed for native Tcl. It attempts to load
# the Garuda package and gain access to Eagle. It may raise any
- # number of script errors.
+ # number of script errors. There are no arguments.
#
proc makeEagleReady {} {
#
# NOTE: This procedure is useless when running in Eagle; therefore,
# forbid its use there.
@@ -1195,10 +1210,34 @@
} else {
error "unsupported script certificate"
}
}
+ #
+ # NOTE: This procedure returns non-zero if the specified package can be
+ # downloaded, i.e. because it is not required for the downloading
+ # process itself to be functional, etc. The package argument is
+ # the name of the package to check.
+ #
+ proc canDownloadPackage { package } {
+ #
+ # NOTE: Since the "http" and "tls" packages are required from within
+ # the custom [package unknown] itself, in order to locate and
+ # download the requested package, we must return false here to
+ # prevent needless recursion.
+ #
+ if {[lsearch -exact [list http tls] $package] != -1} then {
+ return false
+ }
+
+ #
+ # NOTE: Currently, all other packages, including Garuda, are legal to
+ # handle from the custom [package unknown] handler.
+ #
+ return true
+ }
+
#
# NOTE: This procedure performs initial setup of the package repository
# client, using the current configuration parameters. There are
# no arguments. It may load the Garuda package when evaluated in
# native Tcl. It may load a native Tcl library when evaluated in
@@ -1316,18 +1355,20 @@
variable verboseUnknownResult
#
# NOTE: First, run our special [package unknown] handler.
#
- set code(1) [catch {
- getPackageFromRepository $package $version handler
- } result(1)]
-
- if {$verboseUnknownResult} then {
- pkgLog [appendArgs \
- "repository handler results for package \"" [formatPackageName \
- $package $version] "\" are " [formatResult $code(1) $result(1)]]
+ if {[canDownloadPackage $package]} then {
+ set code(1) [catch {
+ getPackageFromRepository $package $version handler
+ } result(1)]
+
+ if {$verboseUnknownResult} then {
+ pkgLog [appendArgs \
+ "repository handler results for package \"" [formatPackageName \
+ $package $version] "\" are " [formatResult $code(1) $result(1)]]
+ }
}
#
# NOTE: Next, run the saved [package unknown] handler.
#
@@ -1417,10 +1458,25 @@
# NOTE: This procedure sets up the default values for all configuration
# parameters used by the package repository client. There are no
# arguments.
#
proc setupPackageUnknownVars {} {
+ #
+ # NOTE: Is this HTTP request processor allowed to use plain HTTP if/when
+ # the "tls" package is not available? This should only be changed
+ # if the "tls" package cannot be easily installed for use with the
+ # native Tcl interpreter in use. It should be noted here that the
+ # official package repository server reserves the right to refuse
+ # plain HTTP connections, which means that changing this setting
+ # may be totally pointless.
+ #
+ variable allowInsecureHttp; # DEFAULT: false
+
+ if {![info exists allowInsecureHttp]} then {
+ set allowInsecureHttp false
+ }
+
#
# NOTE: What is the default set of API keys if none were set explicitly?
# This list is subject to change at any time -AND- may be empty or
# may contain non-working API keys, please do not rely on it.
#
@@ -1639,10 +1695,16 @@
# HTTP response data. It does not contain special code to handle
# HTTP status codes other than 3XX (e.g. 4XX, 5XX, etc).
#
#
proc getFileViaHttp { uri redirectLimit channel quiet args } {
+ #
+ # NOTE: This variable is used to determine if plain HTTP is allowed if
+ # the "tls" package is not available.
+ #
+ variable allowInsecureHttp
+
#
# NOTE: This variable is used to keep track of the currently scheduled
# (i.e. pending) [after] event.
#
variable afterForPageProgress
@@ -1652,18 +1714,23 @@
# which is typically included with the Tcl core distribution.
#
package require http 2.0
#
- # NOTE: If the 'tls' package is available, always attempt to use HTTPS.
+ # NOTE: If the 'tls' package is available, always attempt to use HTTPS;
+ # otherwise, only attempt to use HTTP if explicitly allowed.
#
if {[catch {package require tls}] == 0} then {
::http::register https 443 ::tls::socket
if {[string range $uri 0 6] eq "http://"} then {
set uri [appendArgs https:// [string range $uri 7 end]]
}
+ } elseif {$allowInsecureHttp} then {
+ if {[string range $uri 0 7] eq "https://"} then {
+ set uri [appendArgs http:// [string range $uri 8 end]]
+ }
}
#
# NOTE: Unless the caller forbids it, display progress messages during
# the download.
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
-iQIcBAABCAAGBQJX2cPGAAoJEFAslq9JXcLZoEEQAIU8u3qomWl5utTUSsBfAlT9
-/LC4G8eHHmxDVT/woyRKZYuVCnU0/jWljIY6pOV4xSxSJOHs2RT0N+EFIi35HD2W
-9NW9Q/09w/HO/LevQoyvZA51JDw7Ecsv86ajBRtGD3vQH6PxvLRKc6g8g1qs+X3Q
-+J6CbUsJo3F07sFQJgGiFTmC/xxmEeAKT2aV3gwnCBkuPq+EkjUGJ9vA8y1NKDMS
-akFeuARrXWgwm61KUdkoYrQzqYNzr7ZMGV7HzVe+57Hu0XF0v/yK5VTYLnaw4Qoc
-6Y/8TVuBjFumfZhIZJ6pVdBBhchcNHWydqM+17mcxZEjdVUx7lpE6jT4PRn3svjy
-s9MQbfmkA1P5aa4dswUobDMBE8n/pOJYgQUGbiAI6CLLZpiZu2GkbxfgaLYVgoqh
-4VPeeB8L/7xgWs+Y6F8HBNaK/HcV6Tj41gCtd2/9duVyNrBpSdrKqOgSLzJ2IEX5
-2GKzb53TZI+JZkNr6y+fKYZzfAqnDw4HS6TJgcNyCQ5eqGFhu7/rT7qEr6hlMCM1
-NxhyiHJFejAmxnhjHWwD21ncc8ZYlEi/XHi+8Blego651AgkhsEubgs8yVEsbu/G
-F6H7h2uHls0YcjgyGjc2KOuk55quza4MTSyGERFOl6HChlDXCASAHouXFRkIb42x
-HP/iYeSdgv/Jmt0IJWi0
-=lSvY
+iQIcBAABCAAGBQJX2lmLAAoJEFAslq9JXcLZ004QAIYsgErwnB3NGRnR95lgXhy1
+7OvhO/y4KUMT7oXHnYeiSejLHb+PMYrBH2Jf+yCcPLH4B8fD2Ao0XGWeKQATTrPZ
+MdnBblmtlncRKZ1gkHvFyq0flQeOOoCBDXo/IcPbqlNuZ4ADhKmj+92dXn/QtquX
+ocbuWkQ53dssZz3MT4nHy+rHT4IrzTARpva+zbPWK6ETDPfVwwcbkoj1enVV+mni
+GN3G1SYD+D0nMFm+BB4ZUYT9ur8lGxkH3bo2ARPoOB6n8vizvomNLawWl5cgheAq
+IQTsUYGTYIGVu36ENaYAaehfyWf+8/TIjgeJj1DFs+xlVI5ZSRSxrK/1V/LCkT1M
+GJRD29WdUwNnvYhUDir+aflp51xof2u2CW+hNK+X6ovVRctSDASoE8bZu86xy8Fc
+cJbM1TF9lRa8TolyO6dWxF7sLyzuDUEnjn8HlgRm8rJ9iOPMO4Jq+WjiEcO5Rq9c
+DpfG8eArkbiWfGB1i5hq7m1HCQ5oE1fKgzo2VRXuxh1NE4/1xhIsgJEOa6iiOsw6
+1fJGvLLG8SN+OKWNmnAYafAkXAGK8m/XsdKO9/MQ/Z+ZDXjsOyqtD62mdn+EM2iU
+nuwyyWXMuRZ2hAh35+VoQBJXupabSXCIAVl/O2ZKR//pJQTZAa4o3VYqdMrCdCJy
+1UNosp1flt84bCm3hr41
+=cRnK
-----END PGP SIGNATURE-----
Index: client/1.0/pkgr.eagle.harpy
==================================================================
--- client/1.0/pkgr.eagle.harpy
+++ client/1.0/pkgr.eagle.harpy
@@ -19,50 +19,50 @@
None
Mistachkin Systems
- 59f8e661-e0ae-4a28-aa15-d2ca8d4eab99
+ 318a7cd9-abc8-44bc-9375-3d3b9ef1cd38
SHA512
Script
- 2016-09-14T21:39:38.0507812Z
+ 2016-09-15T08:18:37.3359375Z
-1.00:00:00
0x9559f6017247e3e2
- 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
+ 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
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
-iQIcBAABCAAGBQJX2cPIAAoJEFAslq9JXcLZoOsP/AqpJydAxvNd8JADpLwnKJJW
-YJ1Tzo5ioSJoYNMYxl0edmXuNfo6FsBZNuKWA+PwSLlmIZX2c8LeQha/A5CwrL0A
-ui1Rs/1353dj/VaJwXR7uk34o044MQqCDeoYAVRKr7h4/CrnkGNqXH8FczXd1t0O
-fe0zP2HCOA8yiFc5l6Gt2qt87GoHABpdYA0EAhWdKNdURWrL1lvuySqadT2Z1It7
-snn+xm7E/9InIpO3lteRnIAA9M2FegltA+NISZpn1zARdvp/d8wHmtDvnH2pOMif
-DT7II0xsvHrN7p6HoBwKvnM2/EVhAkfpjhYYhJ+So4h1RLqsKNWIRBazMA41MJgI
-QYSO5/GMupHPHcqO+WwQCYPMXtXhg6dRTuoQYAgu7G9K9ajeOTuL9fWNHjJi+a1r
-cMGUKcoNEzeFvGNdFbLtIS4WTpUF3eV5340LZWFTLCm+0FUEkXrb4bMMaO4+gxyY
-ECahkU+b67SBTOB4cfNn9mURQCGDwQK4VNDg/776XpazwTtruJRWZ8AG6l453SSf
-4mkhhGjOqWvULw6i9/vp7HizAe52a7+d9pjGdtuMHyBF0gePpIaucmPpSN1p5TkU
-9Aeq8XmvGwXM1BUPDZ1dUTgKumobwB1vbkdf/EZbjZkLzZogzSwyebjT+1tjy+2e
-3W8zT+cilYmLj2cAnV1J
-=H0ez
+iQIcBAABCAAGBQJX2lmMAAoJEFAslq9JXcLZSNoQAMimg7wVtpuOSAMrLPIrZSma
+y5iosyPUA2xV4rc09RZXduNqsV/qKw/MnFCaFXOgatFanlo8Z+i7QtH/7mH1tH/w
+rJF+5L/VblHj9yWvxrqtivFR0zzzk6jNBlaxFFeSSvdI0FOrGjiZm5qWqbdikKm9
+80yj7grDqZxfXXH6auxggfeaDbju14s0EYQfi0cZ6QwKxBQ2n987vcj9jAIcp1o2
++WBLaNWst38TckXFxPv0zxkosITjC0Nv6A0b8HzP+l9k9tLG1YHjImDgtjRJnpn1
+ZcwjViDMq2vQdSldpZkC0WlPZ7rQLts7eB3PCLxgwud08Z5PMQmyLs2vnagZWemX
+HV/r3fjJsdzmCEy6Qd/ujH4dy2GOHVlIVmRDpAuO0KFtpHKNMAm2TbxyDUc/b9gx
+Mx5ieEWUvGFq2xGeJobaqjcN6jo1EE2BMX4jUbGyx1I9nOMZIIMlLEuSZaVOz8NE
+Fn7zSbSfI7Zj5C4nE5Z+cIBMeZ4YYUQmOXp9CfcRTXCdTnYN1JyID0hMJf0TsLgH
+P7NSvi81HgNQLj8+ZBk5TueKIXFX5mnfJELm+UqL9h2ewbnwmXb3QFNmAW35Rnq0
+VT7QT2qSNS5kxEfCI2UI+moMpEeiE1y/i4O8ceI5fAGXqRTRPo98TCB1x4qggxpZ
+2txrMtdMKZQDASB6u3NU
+=UXhY
-----END PGP SIGNATURE-----