Check-in [c2f94d309c]
Not logged in
Overview
Comment:The 'downloadFiles' procedure should extract options before doing any other significant work. Also, verify the OpenPGP signature for all downloaded manifests used to automatically detect the platform of a package.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: c2f94d309cef15f7b0cab19c6ebffe18a3719aa1
User & Date: mistachkin on 2017-10-18 20:42:08
Other Links: manifest | tags
Context
2017-10-18
23:38
Revise and enhance integration with GPG. check-in: a9435e38d1 user: mistachkin tags: trunk
20:42
The 'downloadFiles' procedure should extract options before doing any other significant work. Also, verify the OpenPGP signature for all downloaded manifests used to automatically detect the platform of a package. check-in: c2f94d309c user: mistachkin tags: trunk
2017-10-04
19:09
Update the Garuda pacakge for 'x86' to the beta 40 release. check-in: 8bf71bf5cb user: mistachkin tags: trunk
Changes

Modified client/1.0/neutral/pkgd.eagle from [3414d7200c] to [a5ca57ad83].

570
571
572
573
574
575
576
577

578
579
580
581
582
583
584
570
571
572
573
574
575
576

577
578
579
580
581
582
583
584







-
+







        #
        set uri [subst $substUri]

        #
        # NOTE: Then, in one step, download the file from the package
        #       file server and write it to the specified local file.
        #
        downloadOneUriToFile $fileName $uri false
        downloadOneUriToFile $fileName $uri false false
      } result] == 0} then {
        #
        # NOTE: Ok, success.  We are done.
        #
        return ""
      } else {
        #
1493
1494
1495
1496
1497
1498
1499
1500



1501
1502

1503
1504
1505
1506
1507
1508
1509
1493
1494
1495
1496
1497
1498
1499

1500
1501
1502
1503

1504
1505
1506
1507
1508
1509
1510
1511







-
+
+
+

-
+







    #       repository, performing any applicable substitutions in the URI
    #       prior to using it as the basis for fetching the platform list.
    #
    set uri [subst $platformsUri]

    #
    # NOTE: Then, in one step, download the file from the package file
    #       server and write it to the specified local file.
    #       server and write it to the specified local file.  Also, make
    #       sure it has a valid OpenPGP signature because all manifests on
    #       the server should be signed.
    #
    downloadOneUriToFile $localFileName $uri $usePgp
    downloadOneUriToFile $localFileName $uri $usePgp true

    #
    # NOTE: Initialize list of platforms to return.  This will be populated
    #       based on the platform directories available in the downloaded
    #       manfiest data.
    #
    set platforms [list]
1565
1566
1567
1568
1569
1570
1571
1572

1573
1574
1575
1576
1577
1578
1579
1580
1581
1582

1583

1584
1585
1586
1587
1588
1589
1590
1567
1568
1569
1570
1571
1572
1573

1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585

1586
1587
1588
1589
1590
1591
1592
1593







-
+










+
-
+







  # NOTE: This procedure downloads a single URI from the package file server
  #       and writes the result to a local file.  The localFileName argument
  #       is the file name where the downloaded file should be written.  The
  #       The uri argument is the URI to download.  The usePgp argument should
  #       be non-zero when the OpenPGP signature file needs to be verified for
  #       the downloaded file.  The return value is undefined.
  #
  proc downloadOneUriToFile { localFileName uri usePgp } {
  proc downloadOneUriToFile { localFileName uri usePgp forcePgp } {
    #
    # NOTE: Then, in one step, download the URI from the package file
    #       server and write it to the specified local file.
    #
    writeFile $localFileName [getPackageFile $uri]

    #
    # NOTE: Is use of OpenPGP for signature verification enabled?  Also,
    #       did we just download an OpenPGP signature file?
    #
    if {$usePgp && ($forcePgp || \
    if {$usePgp && [isOpenPgpSignatureFileName $localFileName true]} then {
        [isOpenPgpSignatureFileName $localFileName true])} then {
      #
      # NOTE: Attempt to verify the OpenPGP signature.  If this fails,
      #       an error is raised.
      #
      ::PackageRepository::probeForOpenPgpInstallation
      ::PackageRepository::openPgpMustBeInstalled

1650
1651
1652
1653
1654
1655
1656
1657

1658
1659
1660
1661
1662
1663
1664
1653
1654
1655
1656
1657
1658
1659

1660
1661
1662
1663
1664
1665
1666
1667







-
+







    #
    set uri [subst $downloadUri]

    #
    # NOTE: Then, in one step, download the file from the package file
    #       server and write it to the specified local file.
    #
    downloadOneUriToFile $localFileName $uri $usePgp
    downloadOneUriToFile $localFileName $uri $usePgp false
  }

  #
  # NOTE: This procedure attempts to download a list of files, optionally
  #       persistening them for subsequent uses by the target language.
  #       The language argument must be one of the literal strings "eagle",
  #       "tcl", or "client".  The version argument must be one of the
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
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
1686
1687
1688
1689
1690
1691
1692












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







-
-
-
-
-
-
-
-
-
-
-
-














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







  #
  # <public>
  proc downloadFiles { language version platform fileNames options } {
    variable clientDirectory
    variable persistentRootDirectory
    variable viaInstall

    verifyLanguageAndVersion $language $version isClient
    verifyPlatform $platform platform

    set temporaryDirectory [getUniqueTempDirectory pkgd_lib_]

    if {$isClient} then {
      set persistentDirectory $clientDirectory
    } else {
      verifyPersistentRootDirectory
      set persistentDirectory $persistentRootDirectory
    }

    set persistent [string is true -strict \
        [getDictionaryValue $options -persistent]]

    set overwrite [string is true -strict \
        [getDictionaryValue $options -overwrite]]

    set usePgp [string is true -strict \
        [getDictionaryValue $options -usePgp]]

    set useAutoPath [string is true -strict \
        [getDictionaryValue $options -useAutoPath]]

    set allowUpdate [string is true -strict \
        [getDictionaryValue $options -allowUpdate]]

    verifyLanguageAndVersion $language $version isClient
    verifyPlatform $platform platform

    set temporaryDirectory [getUniqueTempDirectory pkgd_lib_]

    if {$isClient} then {
      set persistentDirectory $clientDirectory
    } else {
      verifyPersistentRootDirectory
      set persistentDirectory $persistentRootDirectory
    }

    set downloadedFileNames [list]

    foreach fileName $fileNames {
      if {[string length $fileName] == 0 || \
          [file pathtype $fileName] ne "relative"} then {
        error [appendArgs \

Modified client/1.0/neutral/pkgd.eagle.asc from [3d803f872e] to [04efc54858].

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

iQIcBAABCAAGBQJZ1S6hAAoJEFAslq9JXcLZB0oQAK21CfCowFxB0gCkJFhncsrb
VOB0SAVsVdzWJvnx7p8mr+LGDCKUCyTv9MYLczqlAYrTy/CDjwOYraFh5+6q4bbM
UstM1CbkERDl8nz5ViHd1CdWO2W3tz5zVdqNoPjhXvSy3vlbvw3OMdYZkPxjgYTk
HvOmcukdaOCAZC+Eh36sJkcSrSeAmzohWHAQqQi/f2zwslc/buoot9eNTYlWfE/A
wOUVd91XfPxrvp98INEw5XqqDp9tQYeeODqf2Wv3dFaqR4A0YqTYKXtZt1BqKHAJ
EDicsfZwuMO/cp14QmiWqes/JmIVE0vaLdsfoZlK/JPNO6hL4KB15Ea1lg+aNpMw
v8KvTT25eSMk9QrBrrY3zmCwWugXqt1YSPeMaJbYE+eTP41lO4HS+7yWV8+1kYe/
zLlXo2VtZkPC68rOBcz5zSbpoZW0rb7Q1jxXhjU5v+ajQ9DHxy5vBUmUZe3IFs7c
OlM3Ut8xLG8pO8erB/nPKQlAU5JA20O/eqGmQDzb59o08ScWsZUyDa1Jc1NhAYMI
fsdaHdntktVMYcOq61cdouA4WxNRZLN9PqojOZdYR/jIwQk/i5iR6+Se+d7BBltU
d0E2PfUvt+IbhV1y1AcJjQyCJi2DnGamm9MIiKN6gF8b6ll35spoAvuIrPoR7uBg
HBlN4wtv0Pv4ZAjHEOEK
=vcqU
iQIcBAABCAAGBQJZ57ySAAoJEFAslq9JXcLZoXEP/2lC/G+eMJ+2tMhhsITa0b6F
yWB45twBy/sbB0/HEpGYRGtkuqjDH06eniLmxpPUft1xcVP+qZC1YxCqRclLN7aR
rwTenAu0UMXvQQ4Wzqi58H0BboOmv7CFeuXgbiqeS5ZjEoIkRaHFWt/CAxaR8+0y
EgeYeNE1eP9QW/50XltHiE9XZ9uRmb2cGDEb01llae7kSimt7QFxejEG2sSwy4QW
wDrlQVAYZWSogrK1YR71Gk9QUUdbBwOGrM8thRD22NIdCdvLRx68NH5DRzW/iX1i
5FFyVv48HrWeRjq8hnbCWD49Mxf0gL6G0HOMsDJ0PKrAM9EHIp0uZxLEIWJYnFKI
VIuQHBCsEqbzpfXq4noEV4aWcnBC6coYqsi+KqLThNLR5DPbAtdBboTjUM7k2LjV
iCScjQ/tDlddYhk64+K3RrJil+BnClgxhEwsnU7Xefmy8svVmHus68w76djA+jkV
shx7Yn4k9ABTaOm/fnZQKFQgBUCiz/LgnhsNGTTJySxT//oteYaWxnYMZ1vOQn4x
3OxrGhq0k1J7OUrCERxzj2ERlruNFywfAULcR555bctHKz2oSiszGXQh4JTxU2H5
WhICv6nL29TIlqTXyX6TW2MyQm+B5HPbxXbZQBWKxMt55VIuEV+VqUsa5ucbHRuS
hLQKpk2iXX9WusWYApVz
=IwhK
-----END PGP SIGNATURE-----

Modified client/1.0/neutral/pkgd.eagle.harpy from [d837520dad] to [745199d474].

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>8162c6e9-b28a-47dc-9cdf-45e01e16dd25</Id>
  <Id>49591527-683b-4f1a-998b-11fb404578fb</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2017-10-04T18:14:00.1741644Z</TimeStamp>
  <TimeStamp>2017-10-18T20:38:25.7364963Z</TimeStamp>
  <Duration>-1.00:00:00</Duration>
  <Key>0x9559f6017247e3e2</Key>
  <Signature>
    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
  </Signature>
</Certificate>

Modified client/1.0/neutral/pkgd.eagle.harpy.asc from [0c953d2928] to [c675b0c359].

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

iQIcBAABCAAGBQJZ1S6iAAoJEFAslq9JXcLZsIgQAJivoHtm12ssDRZ4NXW6raHk
Ax9EIXnsL4uBxVOKjjH74yH+2U8lFhrAyaD8crodVmYxiE5v1Bc/VtkrX728hgad
0qvAVq1IqGTFFDMF2qD0+DQIWNybiQXgYmbjiVovNhHZEjOh6hTsYj1aD31V+ioz
HmSMIrm/+l8EtaB31XKJ0K2lqXx7XUdOwGU4H0WyaxQaw6v1jr7c5KA+BoaMWdqP
KMwLej0vjOqtOvQz5pGyPYVOCOnOTC9Ljv4LS/NM8eiyGYHWcyWRUymFBlRcRhYn
ab6Ky94MT1PpvMYRtcxB+pURB9pq9V2m3ZlP+rgCcawiRFOacPUSvvuC7km12h+8
6jxCVvu+bqPlYGNuTfdJJpe83P/oj5qf72OmqJYGAyLdhndAcoi9ujUdenYbYblK
gep9iSyf5E39r/ISzZ27xR5q85bEarw9weop9UJpEwPJgA/NvjPN4dnzXrcvUV3X
4yy+SzHm8yRNTmpqRhcpDbzB/RbVbfuFJjVgFhGavul+NQkqUH0ILcpc9NzuEbDO
/g4iPRE19qY2e2nkbHfVD4K6qVXOLmq8Aa+9C4NrzCyXfb36yriGdgfl554oeeba
0i2pV4wqjQ0k72Sz7WbLTIUyXGbWpLw30eNuONbYcqe/S75XvASIujqmMm3td7Hy
f1YIHQlck4Z9QQlsTZQm
=whBl
iQIcBAABCAAGBQJZ57yUAAoJEFAslq9JXcLZAv4QAKpkDb0l6PzaKncyYgTDMJKa
KU6SArlYsfcJIgE2KSClNkeS4YWFMpu1jzxwZiVPQ0fCFbRBQzAcuriP5DgtJ7fT
akPpnbubL/U7Fn/uKtkTXxDn74szRH5K7TY05eViQkjmxuN39tE6oq1XjmTNUeDn
xED/021dUox20JsKgfM2OSqO3HrTNwNK5aj7R5otofG3rpQ/SBf+rCY06cT4XXH/
5HevWTxnszSJ5+IZL3muYoxVvAH7c5y+c8Kc1iKuueq7kRgc+eVvbRLEh2f6iGdU
aLXfl63vtAAtbLnCXy+1Tu/SwCydg7BvGZEulNSArSKZdkoN7JXe9kXzn+sbvvN9
CpYnASSvR5RH7psgSt9swzXjsmjrGT+e9eYr46bU5czgikE4Pivi5xAuqPtqzDai
N5M/x/vlPQUlljkMfIf7sv5k65otloRq32kiOkDRiGp5Viaeojqtu55MPx/2ce2C
v7t7T4qElsVgEyK5xPkAUKVdY0znRMxZVRtWhZMvS6X58/XF/rI7dujhHBxoQwVL
4CTVMhaZYoqOrIr4lVsOwHH4nGK625YHWsxn3Khs1l8xSjtgXvepMSSu57htcHiT
M3f39TmhR+wJLj3NrQ2JmW4JC7iE5puyxZe6DFgxGyFn33tlSlNyW015vpmoi21d
1DHJpsFc3qp2nKgvbm8p
=/Mda
-----END PGP SIGNATURE-----