Overview
| Comment: | All packages are 'downloadable' when using Eagle. Enhance 'getFileViaHttp' to permit the forced HTTPS handling to be disabled. | 
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive | 
| Timelines: | family | ancestors | descendants | both | trunk | 
| Files: | files | file ages | folders | 
| SHA1: | 0071c6835af853d9e0a2fb4fd6312476 | 
| User & Date: | mistachkin on 2016-09-17 18:31:15 | 
| Other Links: | manifest | tags | 
Context
| 2016-09-17 | ||
| 23:58 | Re-sign the 'client/1.0/pkgIndex.eagle.harpy.asc' file with GPG. check-in: da23537a44 user: mistachkin tags: trunk | |
| 18:31 | All packages are 'downloadable' when using Eagle. Enhance 'getFileViaHttp' to permit the forced HTTPS handling to be disabled. check-in: 0071c6835a user: mistachkin tags: trunk | |
| 01:27 | Make sure all uses of the native Tcl 'http' package are prefixed with '::'. check-in: 6943eb70a6 user: mistachkin tags: trunk | |
Changes
Modified client/1.0/pkgr.eagle from [7cf5ee6eba] to [2617b2dd5b].
| ︙ | ︙ | |||
| 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 | 
  #
  # 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 {
 | > > > > > > > > > | 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 | 
  #
  # 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 all the functionality needed by this package is built-in
    #       to Eagle, there are no download restrictions when it is being
    #       used.
    #
    if {[isEagle]} then {
      return true
    }
    #
    # 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 {
 | 
| ︙ | ︙ | |||
| 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 | 
  #
  # 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
 | > > > > > > > > > > > | 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 | 
  #
  # 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: Should the HTTP request processor attempt to force the use of
    #       HTTPS for URIs that were originally HTTP?  This setting is only
    #       applicable to native Tcl.
    #
    variable forceSecureHttps; # DEFAULT: true
    if {![info exists forceSecureHttps]} then {
      set forceSecureHttps true
    }
    #
    # 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
 | 
| ︙ | ︙ | |||
| 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 | 
    #       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
      #
 | > > > > > > | 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 | 
    #       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 URIs should be
      #       converted to HTTPS, if the "tls" package is available.
      #
      variable forceSecureHttps
      #
      # NOTE: This variable is used to determine if plain HTTP is allowed if
      #       the "tls" package is not available.
      #
      variable allowInsecureHttp
      #
 | 
| ︙ | ︙ | |||
| 1718 1719 1720 1721 1722 1723 1724 | 
      #
      # 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 [list ::tls::socket -tls1 true]
 | > | | > | 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 | 
      #
      # 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 [list ::tls::socket -tls1 true]
        if {$forceSecureHttps} then {
          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]]
        }
      }
 | 
| ︙ | ︙ | 
Modified client/1.0/pkgr.eagle.asc from [76398296ce] to [f042d36cae].
| 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 iQIcBAABCAAGBQJX3YvNAAoJEFAslq9JXcLZcvQP+wdEnKvWgEB2LoaPuDe5DRLL 5XBk3wGY0nBhORXg9xa5TFD/ZQYu/I8ku5Hram6ujP+aU83MKUOzdf+/5S0Zsuuf dWmsG/wmrgRjFX0wbyIm5NIxCH8scXcFjl0aB8s4skYRpvtXGtssOToI2HY65r++ FbtkA8btny+8q6yIwOGITcRITM5ufdLV4CL2SX+PYYMmiw/xwKnR0sISPu6vuo/v jLB7Fz/cqcxtGw8Bcw72S21cnYNK21VRxLSIMMZFGMh+jqMHNbrxwh7bwVR9KSGy Te8moGAV3JVYCBUs1I8T0ptV1VUP8Y3LUJl4e+ovJ8GHdgzstjdjWzbeLt9ogrXq Itxh3Y5Hdtpon8fbNixhe2gzyWjVnJeBSTwMzMsF5mRpPliPA4ZcBK477MtY35jm tWiDz9DLptLha9/KLGeQ3kG7t0RHzInnwTIgGBlsIEghi2ZvWkrk+C5HqK8MXaGa e/yV/4bwMUeGKd05U1FIpvpa/Am1Sjw/ein7efRc54T3Xp85Lt6rawU7foFSoTbr 6AXY4dRoLhHwr3VKzwgpYYP4gOBYzkOIFiVz4eSBNrgzSlONPJEMLgtT/UZ7yarC bEPddm+rRs0aNoIhwznUVk96JnrmaMU2LPb3Au5tKpldumCrCitsnWhBt2w3VDc5 IY+SHdmhC1mvqXgYOrzn =Qhta -----END PGP SIGNATURE----- | 
Modified client/1.0/pkgr.eagle.harpy from [a24d7447fc] to [dbc42f4ac7].
| ︙ | ︙ | |||
| 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>e4eb97a3-0d46-46e6-a2e8-250907a57841</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-09-17T18:29:05.3652343Z</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 [1cae0909f4] to [c099261db1].
| 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 iQIcBAABCAAGBQJX3YvPAAoJEFAslq9JXcLZtW4QALxApTX8zjqKtETnY32ZgJG3 TJ4riULFHC2hGXynu8IYGEsDx/gpCgJy/nOqlBc4XvlBzs8eyIId6f75sN6eX41d 7cRkPHs4qQMtywoZ0FeSKDuUA47+vMy2lb8PpSdYffJbJCtPLmxaaTwXkt1qG4aK aPHACZDWJ5DAUZO3TwVKWMPWq6J0gdWjkYLKQsvWDMaH3YFu+CjKb3El0ECUXBbB f1oEFPfvogbS56Y4ymNgvMMdHmaa5rUE7U3JTt73opvnzO1QbswkxP2dAEgiwuIm vPo8ngSvIoGFsxNEOZa4fi2aiM+kypuv+dfBLVAV2d6afJJFyxkNH4XvthI7oUSK J2n1S0o8F+USuSdLctk/uWnfIo7OTy4pJ1xQWezI0HxIA4GYRfPMW2RGbd/d2lCD eOo69svCsMTiF7o41e3d3kGCPG54HtL7BkGY3wGZDWSy8x01vfqfosy08VbfQebE PbeJjhm429bTYLlfTgjCdhi/2EZXr1vSP42NEKUu7+CWs+pzgZXCRlmLpx1IKTHh M/vBrHn7f6FUOAtXPl0mSTWGsLKMkGDPszEaU8c1BV24VaeztsXMstmBczPMaSXY VGRQNIyvJXjxQEd9kaIJRELAO9x985LDnOkUa3O9xOPXLiIYnxP424cmSLUcsX0r x14PRi6k4P+8FKrN9Ro6 =0QrJ -----END PGP SIGNATURE----- |