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: |
c2f94d309cef15f7b0cab19c6ebffe18 |
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 | # 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. # | | | 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 false } result] == 0} then { # # NOTE: Ok, success. We are done. # return "" } else { # |
︙ | ︙ | |||
1493 1494 1495 1496 1497 1498 1499 | # 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 | | > > | | 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. Also, make # sure it has a valid OpenPGP signature because all manifests on # the server should be signed. # 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 | # 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. # | | > | | 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 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 || \ [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 | # 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. # | | | 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 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 | # # <public> proc downloadFiles { language version platform fileNames options } { variable clientDirectory variable persistentRootDirectory variable viaInstall | < < < < < < < < < < < < > > > > > > > > > > > > | 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 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 | -----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 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 | 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 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>49591527-683b-4f1a-998b-11fb404578fb</Id> <HashAlgorithm>SHA512</HashAlgorithm> <EntityType>Script</EntityType> <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 | -----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 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----- |