Check-in [5790d1dd55]
Not logged in
Overview
Comment:Address chicken-and-egg issues related to the 'http' and 'tls' packages. Add 'allowInsecureHttp' setting to permit insecure HTTP requests to be issued by the client. Prevent the package downloader from using the API keys associated with the package repository. Add and update comments.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 5790d1dd55310833988f9b508b07c3ea4f9d60c9
User & Date: mistachkin on 2016-09-15 08:19:42
Other Links: manifest | tags
Context
2016-09-17
00:02
Make sure that the TLS protocol is always enabled when downloading via HTTPS. check-in: fbe498f5f3 user: mistachkin tags: trunk
2016-09-15
08:19
Address chicken-and-egg issues related to the 'http' and 'tls' packages. Add 'allowInsecureHttp' setting to permit insecure HTTP requests to be issued by the client. Prevent the package downloader from using the API keys associated with the package repository. Add and update comments. check-in: 5790d1dd55 user: mistachkin tags: trunk
2016-09-14
21:41
Add 'apply' compatibility shim for native Tcl 8.4. Enhance and update comments. check-in: 2bfdcf67cf user: mistachkin tags: trunk
Changes

Modified client/1.0/pkgd.eagle from [cc28280428] to [64d1062216].

456
457
458
459
460
461
462
463

464
465
466
467
468
469
470
456
457
458
459
460
461
462

463
464
465
466
467
468
469
470







-
+







  #
  # <public>
  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]
    }

    if {[string length $publicUserName] > 0 && \
        [string length $publicPassword] > 0} then {

Modified client/1.0/pkgd.eagle.asc from [fe86dd5643] to [1ae1ea5c61].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17













18
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

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-----

Modified client/1.0/pkgd.eagle.harpy from [008374ed6e] to [893c5734c0].

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66




































67
68
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68







-
+


-
+



-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+


    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>2b0a3f6a-f792-4860-b9a8-0ef405383af5</Id>
  <Id>fe5b4e0d-1a5b-41e3-92ec-88ef23daba5f</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-09-14T21:40:00.7617187Z</TimeStamp>
  <TimeStamp>2016-09-15T08:19:02.3906250Z</TimeStamp>
  <Duration>-1.00:00:00</Duration>
  <Key>0x9559f6017247e3e2</Key>
  <Signature>
    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
  </Signature>
</Certificate>

Modified client/1.0/pkgd.eagle.harpy.asc from [386b489277] to [8fe81ed6c3].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17













18
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

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-----

Modified client/1.0/pkgr.eagle from [5031a13764] to [3124877c79].

76
77
78
79
80
81
82
83







84
85
86
87
88
89
90
76
77
78
79
80
81
82

83
84
85
86
87
88
89
90
91
92
93
94
95
96







-
+
+
+
+
+
+
+








    unset -nocomplain pkgr_path
  }

  #
  # 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]

      if {$length < 2 || $length > 3} {
        error [appendArgs \
101
102
103
104
105
106
107
108



109
110
111
112
113
114
115
107
108
109
110
111
112
113

114
115
116
117
118
119
120
121
122
123







-
+
+
+








      return [uplevel 1 [list $procName] $args]
    }
  }

  #
  # 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]]
  }

  #
  # NOTE: This procedure returns a formatted script result.  If the string
313
314
315
316
317
318
319
320



321
322
323

324
325
326
327
328
329
330
331
332
333
334
335
336
337
338


339

340


341
342
343
344
345
346
347
321
322
323
324
325
326
327

328
329
330
331
332

333
334
335
336
337
338
339
340
341
342
343
344
345
346
347

348
349
350
351

352
353
354
355
356
357
358
359
360







-
+
+
+


-
+














-
+
+

+
-
+
+







  }

  #
  # 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.
  #
  # <internal>
  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
    #       first.
    #
    set prefixes [list]

    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.
    #
    if {!$prefixOnly} then {
    lappend prefixes [getLookupVarNamePrefix]
      lappend prefixes [getLookupVarNamePrefix]
    }

    #
    # NOTE: Try each variable name prefix, in order, until a set of API
    #       keys is found.
    #
    foreach prefix $prefixes {
      #
370
371
372
373
374
375
376
377


378

379

380
381
382
383
384
385
386
383
384
385
386
387
388
389

390
391
392
393

394
395
396
397
398
399
400
401







-
+
+

+
-
+








      if {[info exists env($varName)]} then {
        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 {!$prefixOnly && \
    if {[info exists autoApiKeys] && [llength $autoApiKeys] > 0} then {
        [info exists autoApiKeys] && [llength $autoApiKeys] > 0} then {
      return $autoApiKeys
    }

    #
    # NOTE: Otherwise, return the system default, which is "anonymous"
    #       packages only (i.e. those without any owners).
    #
727
728
729
730
731
732
733
734

735
736
737
738
739
740
741
742
743
744
745
746
747
748

749
750
751
752
753
754
755
756







-
+







      set metadata(certificate) $certificate
    }
  }

  #
  # 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.
    #
    if {![isEagle]} then {
750
751
752
753
754
755
756
757

758
759
760
761
762
763
764
765
766
767
768
769
770
771

772
773
774
775
776
777
778
779







-
+







      error "cannot use Tcl language, supporting library is not loaded"
    }
  }

  #
  # 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.
    #
    if {![isEagle]} then {
777
778
779
780
781
782
783
784

785
786
787
788
789
790
791
792
793
794
795
796
797
798

799
800
801
802
803
804
805
806







-
+







    #
    tclMustBeReady
  }

  #
  # 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.
    #
    if {[isEagle]} then {
800
801
802
803
804
805
806
807

808
809
810
811
812
813
814
815
816
817
818
819
820
821

822
823
824
825
826
827
828
829







-
+







      error "cannot use Eagle language, supporting package is not loaded"
    }
  }

  #
  # 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.
    #
    if {[isEagle]} then {
1193
1194
1195
1196
1197
1198
1199
























1200
1201
1202
1203
1204
1205
1206
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245







+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+







        }
      }
    } 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
  #       Eagle.  It may install the [package unknown] hook.
  #
1314
1315
1316
1317
1318
1319
1320

1321
1322
1323



1324
1325
1326
1327
1328





1329
1330
1331
1332
1333
1334
1335
1353
1354
1355
1356
1357
1358
1359
1360



1361
1362
1363
1364




1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376







+
-
-
-
+
+
+

-
-
-
-
+
+
+
+
+







  #
  proc packageUnknownHandler { package {version ""} } {
    variable verboseUnknownResult

    #
    # NOTE: First, run our special [package unknown] handler.
    #
    if {[canDownloadPackage $package]} then {
    set code(1) [catch {
      getPackageFromRepository $package $version handler
    } result(1)]
      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 {$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.
    #
    set code(2) [catch {
      runSavedPackageUnknownHandler $package $version
1415
1416
1417
1418
1419
1420
1421















1422
1423
1424
1425
1426
1427
1428
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484







+
+
+
+
+
+
+
+
+
+
+
+
+
+
+








  #
  # 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.
    #
    variable autoApiKeys; # DEFAULT: 0000000000000000000000000000000000000000

1637
1638
1639
1640
1641
1642
1643






1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657


1658
1659
1660
1661
1662
1663
1664




1665
1666
1667
1668
1669
1670
1671
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718

1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738







+
+
+
+
+
+













-
+
+







+
+
+
+







    #       designed to process a single HTTP request, including any HTTP
    #       3XX redirects (up to the specified limit), and return the raw
    #       HTTP response data.  It does not contain special code to handle
    #       HTTP status codes other than 3XX (e.g. 4XX, 5XX, etc).
    #
    # <public>
    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

      #
      # NOTE: This procedure requires the modern version of the HTTP package,
      #       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.
      #
      if {!$quiet} then {

Modified client/1.0/pkgr.eagle.asc from [6f0e9043c2] to [868ee097b3].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17













18
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

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-----

Modified client/1.0/pkgr.eagle.harpy from [b956793b69] to [b911adf9d7].

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66




































67
68
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68







-
+


-
+



-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+


    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>59f8e661-e0ae-4a28-aa15-d2ca8d4eab99</Id>
  <Id>318a7cd9-abc8-44bc-9375-3d3b9ef1cd38</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-09-14T21:39:38.0507812Z</TimeStamp>
  <TimeStamp>2016-09-15T08:18:37.3359375Z</TimeStamp>
  <Duration>-1.00:00:00</Duration>
  <Key>0x9559f6017247e3e2</Key>
  <Signature>
    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
  </Signature>
</Certificate>

Modified client/1.0/pkgr.eagle.harpy.asc from [94cc581ee8] to [222750b24a].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17













18
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

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-----