Overview
Comment: | Add missing header comments. Escape URI parameters used by the package downloader client. Add 'public' account support to the package downloader client. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
5d006e65c11ca6eee41c99c8b9c053fa |
User & Date: | mistachkin on 2016-08-21 23:52:06 |
Other Links: | manifest | tags |
Context
2016-08-22
| ||
00:39 | Make it possible for the package downloader client to use different API keys from the package repository client. check-in: 81125bba50 user: mistachkin tags: trunk | |
2016-08-21
| ||
23:52 | Add missing header comments. Escape URI parameters used by the package downloader client. Add 'public' account support to the package downloader client. check-in: 5d006e65c1 user: mistachkin tags: trunk | |
21:16 | Add Fossil logout support. check-in: 9b4f8b3fdc user: mistachkin tags: trunk | |
Changes
Modified client/1.0/pkgd.eagle from [9a9904770b] to [b3945860da].
︙ | ︙ | |||
68 69 70 71 72 73 74 | # # NOTE: The URI where a login request may be sent. This should return a # payload containing the necessary HTTP(S) cookie information. # variable loginUri; # DEFAULT: ${baseUri}/pkgd_login?... if {![info exists loginUri]} then { | | | | | | | | | > | > > > > > > > > > > > > > > > > > > > > > | 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | # # NOTE: The URI where a login request may be sent. This should return a # payload containing the necessary HTTP(S) cookie information. # variable loginUri; # DEFAULT: ${baseUri}/pkgd_login?... if {![info exists loginUri]} then { 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 [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 [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. # variable persistentRootDirectory; # DEFAULT: [getPersistentRootDirectory] |
︙ | ︙ | |||
116 117 118 119 120 121 122 123 124 125 126 127 128 129 | variable temporaryRootDirectory; # DEFAULT: [getFileTempDirectory PKGD_TEMP] if {![info exists temporaryRootDirectory]} then { set temporaryRootDirectory \ [::PackageRepository::getFileTempDirectory PKGD_TEMP] } } # # 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. # proc getPersistentRootDirectory {} { | > > > > > > > > > > > > > > > > | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | variable temporaryRootDirectory; # DEFAULT: [getFileTempDirectory PKGD_TEMP] 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. # proc getPersistentRootDirectory {} { |
︙ | ︙ | |||
187 188 189 190 191 192 193 | # NOTE: This procedure adds a directory to the auto-path of the specified # language (i.e. native Tcl or Eagle). The directory will not be # 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. # | < | 225 226 227 228 229 230 231 232 233 234 235 236 237 238 | # NOTE: This procedure adds a directory to the auto-path of the specified # language (i.e. native Tcl or Eagle). The directory will not be # 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. # if {[string length $language] == 0 || $language eq "eagle"} then { if {[isEagle]} then { |
︙ | ︙ | |||
313 314 315 316 317 318 319 320 321 322 323 324 325 326 | } 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 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 # raised. The userName argument must be the name of a package file # server user with at least Fossil Check-Out (o) permissions on the | > > > > > > > > > > > > > > > > > > > > > > > > > > > | 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 | } 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. # # <public> 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 # raised. The userName argument must be the name of a package file # server user with at least Fossil Check-Out (o) permissions on the |
︙ | ︙ | |||
368 369 370 371 372 373 374 375 376 377 378 379 380 381 | # # NOTE: Always return an empty string (i.e. and not any response data). # return "" } proc logoutAndResetCookie {} { variable baseUri variable loginCookie variable logoutUri # # NOTE: Attempt to verify that we are currently logged in. | > > > > > > | 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 | # # 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. # # <public> proc logoutAndResetCookie {} { variable baseUri variable loginCookie variable logoutUri # # NOTE: Attempt to verify that we are currently logged in. |
︙ | ︙ |
Modified client/1.0/pkgd.eagle.asc from [f70caddce0] to [b530e69d3b].
1 2 3 4 | -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository | | | | | | | | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository 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----- |
Modified client/1.0/pkgd.eagle.harpy from [b6b3c8d503] to [ed02a2b145].
︙ | ︙ | |||
17 18 19 20 21 22 23 | THE ASSOCIATED SOFTWARE MAY NOT WORK PROPERLY IF THIS FILE IS ALTERED. --> <Certificate xmlns="https://eagle.to/2011/harpy" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Protocol>None</Protocol> <Vendor>Mistachkin Systems</Vendor> | | | | | | | | | | | | | | | | | | | | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | THE ASSOCIATED SOFTWARE MAY NOT WORK PROPERLY IF THIS FILE IS ALTERED. --> <Certificate xmlns="https://eagle.to/2011/harpy" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Protocol>None</Protocol> <Vendor>Mistachkin Systems</Vendor> <Id>da5f8db6-4d13-4e31-9c03-44992bc389cf</Id> <HashAlgorithm>SHA512</HashAlgorithm> <EntityType>Script</EntityType> <TimeStamp>2016-08-21T23:51:06.3496562Z</TimeStamp> <Duration>-1.00:00:00</Duration> <Key>0x2c322765603b5278</Key> <Signature> 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== </Signature> </Certificate> |
Modified client/1.0/pkgd.eagle.harpy.asc from [dd69a90491] to [bc7dd56d83].
1 2 3 4 | -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository | | | | | | | | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository 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----- |
Modified client/1.0/pkgr.eagle from [d5661a3c00] to [2dc38da858].
︙ | ︙ | |||
60 61 62 63 64 65 66 | } } # # NOTE: This procedure emits a message to the package repository client # log. The string argument is the content of the message to emit. # | < | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | } } # # 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] } } # |
︙ | ︙ | |||
127 128 129 130 131 132 133 134 135 136 137 138 139 140 | } # # 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 { return $env($envVarName) } elseif {[info exists env(TEMP)]} then { | > | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | } # # 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). # # <public> proc getFileTempDirectory { {envVarName ""} } { global env if {[string length $envVarName] > 0 && \ [info exists env($envVarName)]} then { return $env($envVarName) } elseif {[info exists env(TEMP)]} then { |
︙ | ︙ | |||
218 219 220 221 222 223 224 225 226 227 228 229 230 231 | # that is unique to the running process at the current point in # time. It is used (internally) to avoid name collisions with any # 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] -] } | > | 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 | # that is unique to the running process at the current point in # time. It is used (internally) to avoid name collisions with any # 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. # # <public> proc getUniqueSuffix { {paranoia 1} } { set result [string trim [pid] -] if {$paranoia > 0} then { append result _ [string trim [clock seconds] -] } |
︙ | ︙ | |||
239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 | # # 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] } global env set varName [string trim $varName :] if {[info exists env($varName)]} then { return $env($varName) } return [list]; # NOTE: System default, which is "public-only". } proc getLookupBaseUri {} { set varName [appendArgs [getLookupVarNamePrefix] base_uri] if {[info exists $varName]} then { return [set $varName] } | > > > > > | 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 | # # 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. # # <public> proc getLookupApiKeys {} { set varName [appendArgs [getLookupVarNamePrefix] api_keys] if {[info exists $varName]} then { return [set $varName] } global env set varName [string trim $varName :] if {[info exists env($varName)]} then { return $env($varName) } 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] } |
︙ | ︙ | |||
1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 | # # NOTE: This procedure evaluates the package repository client settings # 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 } set fileName [appendArgs \ | > | 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 | # # NOTE: This procedure evaluates the package repository client settings # 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. # # <public> proc maybeReadSettingsFile { script } { if {[string length $script] == 0 || \ ![file exists $script] || ![file isfile $script]} then { return } set fileName [appendArgs \ |
︙ | ︙ |
Modified client/1.0/pkgr.eagle.asc from [a78282fd9e] to [25407fe7f1].
1 2 3 4 | -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository | | | | | | | | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository 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----- |
Modified client/1.0/pkgr.eagle.harpy from [5b97a23d9d] to [c7ddac45e3].
︙ | ︙ | |||
17 18 19 20 21 22 23 | THE ASSOCIATED SOFTWARE MAY NOT WORK PROPERLY IF THIS FILE IS ALTERED. --> <Certificate xmlns="https://eagle.to/2011/harpy" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Protocol>None</Protocol> <Vendor>Mistachkin Systems</Vendor> | | | | | | | | | | | | | | | | | | | | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | THE ASSOCIATED SOFTWARE MAY NOT WORK PROPERLY IF THIS FILE IS ALTERED. --> <Certificate xmlns="https://eagle.to/2011/harpy" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Protocol>None</Protocol> <Vendor>Mistachkin Systems</Vendor> <Id>18022369-d1a1-4ea4-9951-5b1e22e758af</Id> <HashAlgorithm>SHA512</HashAlgorithm> <EntityType>Script</EntityType> <TimeStamp>2016-08-21T23:50:34.8643047Z</TimeStamp> <Duration>-1.00:00:00</Duration> <Key>0x2c322765603b5278</Key> <Signature> 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== </Signature> </Certificate> |
Modified client/1.0/pkgr.eagle.harpy.asc from [bce44ba2b6] to [75e3ab8489].
1 2 3 4 | -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository | | | | | | | | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository 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----- |