Check-in [2ea4b56805]
Not logged in
Overview
Comment:Robustify the handling of malformed responses from the package repository server. Add comments.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 2ea4b56805c97ea947f83a83d7a46db9e237d1d9
User & Date: mistachkin on 2016-08-15 05:06:50
Other Links: manifest | tags
Context
2016-08-15
18:30
Add support for hooking the 'package unknown' handler in both Tcl and Eagle. check-in: 3bc512e10f user: mistachkin tags: trunk
05:06
Robustify the handling of malformed responses from the package repository server. Add comments. check-in: 2ea4b56805 user: mistachkin tags: trunk
03:18
Evaluate the package 'ifneeded' script in the global call frame, in both Tcl and Eagle. check-in: 933b5b078c user: mistachkin tags: trunk
Changes

Modified client/pkgr.eagle from [8888379407] to [ddaa5b7b84].

433
434
435
436
437
438
439



440




441





442
443



444







445






446
447





448





449
450
451
452
453
454
455
          [namespace current] :: tclMustBeReady]]]

      return [eagle $script(outer)]
    }
  }

  proc main { package version } {



    set data [getLookupData [getLookupApiKey] $package $version]




    set code [getLookupCodeFromData $data]





    set result [getLookupResultFromData $data]




    if {![isLookupCodeOk $code]} then {







      error $result






    }






    extractAndVerifyLookupMetadata $result metadata





    processLookupMetadata metadata
  }

  if {![isEagle]} then {
    ###########################################################################
    ############################# BEGIN Tcl ONLY ##############################
    ###########################################################################







>
>
>

>
>
>
>

>
>
>
>
>


>
>
>

>
>
>
>
>
>
>
|
>
>
>
>
>
>
|
|
>
>
>
>
>

>
>
>
>
>







433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
          [namespace current] :: tclMustBeReady]]]

      return [eagle $script(outer)]
    }
  }

  proc main { package version } {
    #
    # NOTE: Issue the lookup request to the remote package repository.
    #
    set data [getLookupData [getLookupApiKey] $package $version]

    #
    # NOTE: Attempt to grab the lookup code from the response data.
    #
    set code [getLookupCodeFromData $data]

    #
    # NOTE: Attempt to grab the lookup data from the response data.
    #       Upon failure, this should contain the error message.
    #
    set result [getLookupResultFromData $data]

    #
    # NOTE: Did the lookup operation fail?
    #
    if {![isLookupCodeOk $code]} then {
      #
      # NOTE: Is there an error message?
      #
      if {[string length $result] > 0} then {
        #
        # NOTE: Yes.  Use the returned error message verbatim.
        #
        error $result
      } else {
        #
        # NOTE: No.  Use the whole response data string as the error
        #       message.
        #
        error $data
      }
    }

    #
    # NOTE: Process the lookup data into the pieces of metadata that we
    #       need to load the requested package.
    #
    extractAndVerifyLookupMetadata $result metadata

    #
    # NOTE: Attempt to load the requested package using the metadata
    #       extracted in the previous step.
    #
    processLookupMetadata metadata
  }

  if {![isEagle]} then {
    ###########################################################################
    ############################# BEGIN Tcl ONLY ##############################
    ###########################################################################

Modified client/pkgr.eagle.harpy from [2af0459545] to [eb19421d6f].

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>b46c698d-6a49-4b2b-92c5-520602976c27</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-08-15T03:06:24.9841328Z</TimeStamp>
  <Duration>-1.00:00:00</Duration>
  <Key>0x2c322765603b5278</Key>
  <Signature>
    DQ/xzB2u7DmIXW06V0vDriQChaKbWig9QnRCF0YnSbRRLpK1Lp8JPkDZDL4xg0QYtQBVdzktbsnc
    8HgfB5Yth5R90hxa2daxPfBLM2nmfAnzdpodEnEPxtgX3OMJvxGkD9NZcxgTPs6uj1jgjxa80DTj
    9/A5fgaomJY+Xbw5ZmW3s18j4irsR1YXhGGHS4rKJAneoq/dK9ie/vm8U2WR9mLurBb1ZjfqLpZW
    x8ebkbGJmqEUEcNssiDy36UHb5HGLsfeAslNOYc7ucWYDD60IGeP3rXKfG4pVyFjgGkM3xU5AXgK
    y2kFomBTb2p3cy0+1ktUWY8j7XZzmY2fYEV03kD5+g3uofRBIu7S8Nk8+g809rOi34tXT6cyqF8F
    Uj/Gt123YwtyAwD3fkDpOT4/Hox3k/UiowrLE+IVzEwtUrftKFGrycEDw876Nqib2L8kAukNzQez
    hV241ds3P0/N+9ovlwxfaPjqgHFhRam9luETzuVWAKDJsBve9VnEKUSDxmJa8q8ymZ/3WgUn0Jzd
    oSahQU4xjs5BWbOWkC0zuNAlx5ACuqDelRheHRZiXHHx6oiNkgekSpVy75BC2EBQIWyZCYoF9o4V
    wbWeyNz8+IjMnd4IKOjObHThf/4ZnDc4uGs3h1qjRwqWW1L3UuiLoPcXU0rwARpkRDvs++/pFS7R
    vVXplYfh5v4WZEorJ0fwuMAxMvqC9sHZFv2pmmR4koXsoz1tVv3ReHUVrLh5URfGFPsvtUQ50oNa
    ecJVZnjQhY/EsQfxkywnD+IgAGH981dtGGuBG0GzpTTRRrUICBxJyae1zl3FyaVuj2vrcVHksFVY
    kJJSFcvd0ZleMBtyHkdiLFHGvTF+VKTsEQFIyIKk76n2zzbywplujlfcoc73vosor/LGzVIxF5Jv
    4EFxLWoLDx3r6No1eqklC6bC8H6pZyC1uuNkla4MuQ8Wk2GRJ9d6yKZFvuc6DrgM6BsP5FbUIpeM
    oE2N3YEQUmrMh9AbyuVnlhubACSeF5Zf1KJunUovL5T+NqviarG4Z/Gzd8fXDt42zeiqiZrtXp/Q
    N5g5x3JU084nb/bzcR7lQf1W20eaGlaLLvF1a5/1DmVzurHIUFRpGifyZKPS+3pQsSpF3kTdFEiL
    yx3d1rRMX215x9JQGkPKx2Ep7AnmxHtHq6+p3Do+aZE+IeiRwl8dRNSfhlSdWWVlP0hL6kCmP3tU
    kCAeoIhalKcqJBDDPCdQpfrhYzZRJqP6d/CWZ9xyai1XKMho3id0Q6J5rkKMsxXZC7L/HXXDm5Qh
    rlYM+j2sLJ6ltDh/lGb/5fuPJLPKRn3okvHU52CdPnAH2WMPjZhAQfMHqT8pcu/MKfJUckvsNg==
  </Signature>
</Certificate>







|


|



|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|


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>9f926fa1-99a4-41ab-bb33-50e8576a6d21</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2016-08-15T05:05:47.5290547Z</TimeStamp>
  <Duration>-1.00:00:00</Duration>
  <Key>0x2c322765603b5278</Key>
  <Signature>
    EQJrODV4AbXpPIBdhsRfDnbJuZQjwzXpfYL0UZu0NrVaXxyotFhF9dcEg9WagSn80zW4Cy0gFBJf
    n8O0f8VDO8JJTsw0RLUvSspi16fPc1KLJXRccdwpNgVM0qQLRcLQIfFrD1oqbOjesyO6GQNIKkAg
    muF/SF/ZtRyfbpPcjF9Ilttjch6iZGI8J+s5KgfvplPeHkFgM0L6pdjNgT5HTHjrLdgtV7qmeFKt
    KubvYOLvZMeaHlCetwikyIj9BD+qb1ccrbeGHr21vYbSJZsq0ZE8GrEEuaEDoFeHMtj8rQtvRWlY
    J5pN117OSIyQHFb9XwpwC0fiac3tdN+W698uttX0tGsOz5PoRhipwfIhnfDLscH1vFMj8PP4TCXN
    Qf1fSFfLif0GmtcYU7Hn06f00ZLepXLK3b9gCMvyNVJHEg/e7O7G1UcVrcw7FiEGRZT/rI0UQCLs
    bAzqXjadYusjtkZdqFArGMsKjYwqTH36p6UofCp5S5Ff7sUKoYsthrwMyQacLbacCNhZqQ5cx8bF
    quzNByALeoxAMtDujxzsasm9xQ3xJL0j0EzQf9R3b0uQYBSlv5SfkonYxmYEvyXb9TqbV7LLKWPA
    XKrWRbC1HEN46kBzpAZaqlUTDKsP4uDGeEzRaeCqiTiWypqJCiUuYlH78h8zxYgZDZHUX3V4ke7P
    t15vlqvZiGwVtztsEfnxr7la7CprFzOD38qOGZ528LBcwmvVB/F6zB2fd0MPLWU7HixIgqblScHD
    aCelhT9wxIg7lMJqfhfpLR3Tl2js5WjB7QRLKnwM5AuBj2BQFEQBQAnWvPgswKCgAUN05i59Ehow
    YDBunSeUScJ1PLBcXMj2dYREzbDclPO4aXaro/4RaDY5wxLJWUXLgUEP4zoiT434+YEJVIe7brVJ
    HdltUdnxKz5nraN2J8twiF+grxcZARYf3aCHoL0F1I9Sfs3kB3yjrL5SRWMyi/k9nnlmYm2aF/UM
    Ullu5kYGdh/NRXvJ0y23IpzAY/P0CRoJNeuUWc/NT6f9HEaqmQqXoDW1hmlBAkdqa83loupAhSw9
    94D0fwqCYVOj52cUDOHAwWhyBVDCCGexBXxoMt5UfRNb6SX9ZTOT2LHNoMD4KbpGGtMEdRMUEWPs
    mGcJVoPMekDe3ncgEEB8TIGvgLYyA3AzasyUZqwaWf9zDAkG/PABK2fqMQ/6mg5l5Gwsk/nFivRF
    eSbjdNniUc6XomYQVg+oAfTxD688uo74Tl7dSjLS41cWRdoxvxjvbnBKbaTJgKf91Szwl++9EuMr
    u066JWhI65V5GK+Z2LzzxGxWX7dVW05cIsyAkPvrzUgwn14hRkEsiW86RR86NyH7kMlpIbD4Yw==
  </Signature>
</Certificate>