Check-in [934c2033b2]
Not logged in
Overview
Comment:Enhance argument validation logic, primarily in the uploader client.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 934c2033b287202ac4bd167a2a243a88d43ac9b1
User & Date: mistachkin on 2018-08-23 01:20:44
Other Links: manifest | tags
Context
2018-08-23
02:35
Fix some integration issues between the package uploader client and the procedures shared with the package downloader client. check-in: 79fa8a2c0c user: mistachkin tags: trunk
01:20
Enhance argument validation logic, primarily in the uploader client. check-in: 934c2033b2 user: mistachkin tags: trunk
2018-08-11
20:47
Updates for Eagle beta 43 from upstream. check-in: 403ea61585 user: mistachkin tags: trunk
Changes

Modified client/1.0/neutral/pkgd.eagle from [b3f215a02c] to [919710aaa2].

888
889
890
891
892
893
894


























895
896
897
898
899
900
901
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927







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







      # HACK: On all other platforms, assume that Mono can be used to run
      #       any CLR application.
      #
      return [isMonoInstalled]
    }
  }

  #
  # NOTE: This procedure verifies that the specified value is indeed a valid
  #       package name.  The packageName argument is the value to verify.
  #       This procedure may raise script errors.
  #
  # <internal>
  proc verifyPackageName { packageName } {
    if {[string length $packageName] > 0 && \
        ![regexp -nocase -- {^[A-Z][0-9A-Z\.]*$} $packageName]} then {
      error "package name must be alphanumeric and start with a letter"
    }
  }

  #
  # NOTE: This procedure verifies that the specified value is indeed a valid
  #       patch level.  The patchLevel argument is the value to verify.  This
  #       procedure may raise script errors.
  #
  # <internal>
  proc verifyPackagePatchLevel { patchLevel } {
    if {[string length $patchLevel] > 0 && \
        ![regexp -nocase -- {^\d+\.\d+(?:\.\d+){0,2}$} $patchLevel]} then {
      error "patch level must use dotted decimal notation"
    }
  }

  #
  # NOTE: This procedure verifies the combination of language and version
  #       specified by the caller.  The language argument must be one of the
  #       literal strings "eagle", "tcl", or "client".  The version argument
  #       must be one of the literal strings "8.4", "8.5", or "8.6" when the
  #       language is "tcl" -OR- the literal string "1.0" when the language
  #       is "eagle".  When the language is "client", the version match the
924
925
926
927
928
929
930
931

932
933
934
935
936
937
938
950
951
952
953
954
955
956

957
958
959
960
961
962
963
964







-
+







    } elseif {$language eq "client"} then {
      if {![regexp -- {^1\.0(?:\.\d+)+$} $version]} then {
        error "unsupported client version"
      }

      set isClient true
    } else {
      error "unsupported language"
      error "unsupported package language"
    }
  }

  #
  # NOTE: This procedure returns the name of the current platform.  There are
  #       no arguments.  An empty string will be returned if the name of the
  #       current platform cannot be determined for any reason.
1147
1148
1149
1150
1151
1152
1153
1154

1155
1156
1157
1158
1159
1160
1161
1173
1174
1175
1176
1177
1178
1179

1180
1181
1182
1183
1184
1185
1186
1187







-
+







      win64-ia64 -
      win64-x64 {
        #
        # NOTE: This platform name is supported verbatim, do nothing.
        #
      }
      default {
        error "unsupported platform"
        error "unsupported package platform"
      }
    }
  }

  #
  # NOTE: This procedure issues a request to an HTTP(S) server.  It returns
  #       the raw response data verbatim.  It may raise a script error.  It
1399
1400
1401
1402
1403
1404
1405

1406
1407
1408
1409
1410
1411
1412
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439







+







  #       file needs to be downloaded and verified for the downloaded file.
  #
  # <public>
  proc checkForHigherVersion { language version platform packageName usePgp } {
    variable clientDirectory
    variable persistentRootDirectory

    verifyPackageName $packageName
    verifyLanguageAndVersion $language $version isClient
    verifyPlatform $platform platform

    set temporaryDirectory [getUniqueTempDirectory pkgd_ver_]

    if {$isClient} then {
      set persistentDirectory $clientDirectory
1490
1491
1492
1493
1494
1495
1496
1497

1498

1499
1500
1501
1502
1503
1504
1505
1517
1518
1519
1520
1521
1522
1523

1524
1525
1526
1527
1528
1529
1530
1531
1532
1533







-
+

+







  proc downloadAllPlatforms { language version packageName fileNames usePgp } {
    variable baseUri
    variable branchName
    variable platformsUri
    variable platformsUrn

    #
    # NOTE: Verify that the package language and version are correct.
    # NOTE: Verify that the package name, language, and version are correct.
    #
    verifyPackageName $packageName
    verifyLanguageAndVersion $language $version isClient

    set temporaryDirectory [getUniqueTempDirectory pkgd_plat_]

    set localFileName [file join $temporaryDirectory manifest.txt]
    file mkdir [file dirname $localFileName]

1716
1717
1718
1719
1720
1721
1722




1723
1724
1725
1726
1727
1728
1729
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761







+
+
+
+








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

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

    #
    # NOTE: Verify that the package language, version, and platform are
    #       correct.
    #
    verifyLanguageAndVersion $language $version isClient
    verifyPlatform $platform platform

    set temporaryDirectory [getUniqueTempDirectory pkgd_lib_]

    if {$isClient} then {
      set persistentDirectory $clientDirectory

Modified client/1.0/neutral/pkgd.eagle.asc from [08be61ca6b] to [b56a6b5c9a].

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

iQIcBAABCAAGBQJaOaZMAAoJEFAslq9JXcLZLO4P/34Setw1iUXjTpzlZDqsVbcv
ObJcV08qpzmccftpxfeDkbJPs/4TOQ1lqBw1j2w5Y3P2sFHovZtLEagyc+EYuHqI
5SC23mhIOPiIo6oIFbLa4mgwYeFYaQTXJZRy3yzqzH0QMvj8VlLNLzLCARpkT2O2
8AS/2aWUl0rUJDy5m0BnXuGg3YO5TkJ/xM+qSgtfJBHAZfKtofDCQM2wf7hraL12
M3jZNh1SajA7UV/c0i/GAD9GmzU9FLubGtPU1j4rZ/wdMkR//mSrsD3KVfOEwVLP
foVBnNkefzWKUt1a8OpUYm2j4m8GaeNH+evqOE8A2evfPCU4tH8TPsFi8NesEQ4r
N7XTHwmnlKC1kQ46i2TZ4F1CeIhKP3Z7bha/BBSA7EvXvIEig8CXG3GFalQncgWr
+w1efjs8ypcqoYkmPOdiMw/hecoWHLDjXMA14obwQgtHzgBd5sIUy7E2xxa45VSh
lGkDUKMaihafg9UWcfhYqY0VvJZRcetgPt4KGc51pn/fbm17KQV2/aATJu+HFGA0
COoC5Qyy5VLxbqUekNwWT+YXZFKfVEofj96ItIcjoe8lisyYz8cTkOhukEVVM1o9
4tDY99BYzWGB9ygYcZvEmBr+e2haioMrtSMKLR34eGlLdN4WrfB2gKmqn8QmPfId
x3025G9c2SmP/cibXR79
=IphY
iQIcBAABCAAGBQJbfguPAAoJEFAslq9JXcLZOQkQALgTNph0QZYrI8+tiy/r02aJ
X2zcjblNduNIwB7USX8I1+aSjSPqXNQkWW5S/ZU+QVTtjaUixH6tlDF18cS74GJ6
OcSEG1jbH0q89ZrDY4DJG5uhnK3/6AI9l/6SMVkQSQhra7cICvruOkMsX9y3lxEQ
e+lLTWWznV9zGiO+j1wVtvTA5hrJGnyIq88s+3jtVfudvCjHrNP0zWIuBOHcZSUF
c0tdZmEdAJHcXIpiFowVsAuFv4aNtPqxOMubwDgDJHR6IPyACg/fCEFDAmwG1gs5
9AlLo0uajoKsK7O4A832evWJ5DGFKnPv+QNYBIqBR25ej3W0k+GC/oFiAy7D0vJU
o6wccqFWQBHZirJtZNv6jjTsyas7+vSauKz0YEVmKJkUnxPu0rE02JsuaGcf2cWV
ftIuh8CcCdoEH81ShjhX/igv+wo2kC885eiXveCN7ZtV64t8x21Q78Jjz9wkd4Zq
W9tx+eds8xYDcz2xqk4YpfNQCw1JxLPQmsk0cRbFsU3TrGq8r5tZA3awJsdMDj5j
N7orMu2vrqnxk78y88kjmtNIwlYsTp6v9Lu3zCSofxzqNeKIjGznXMlH6TwgwBtq
z2uuNdKfuOC0UIXcYwzZJOazGvoWtsGyYP16mJp2e+srxf2UEjZF3ysr67HyQWQR
IKa9RRocE3oQb6DqjPES
=vouz
-----END PGP SIGNATURE-----

Modified client/1.0/neutral/pkgd.eagle.harpy from [a5ef239229] to [be8f59bf7a].

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>2aca1121-2445-4247-8d78-b5cd1a4d81a1</Id>
  <Id>91fd94d7-a4bf-4b26-bc75-023da084903e</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2017-12-19T23:50:34.3582818Z</TimeStamp>
  <TimeStamp>2018-08-23T01:18:28.1919255Z</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 [b3d0cee8a7] to [643cacfefc].

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

iQIcBAABCAAGBQJaOaZNAAoJEFAslq9JXcLZ4YIP/RNk6Cbyqzkdv0gHG9jLXxNU
LtuO26ApeiK1cOUZTJKYPc/nYvmbT1VgapWam7fSoXxnNImnSLwwkyyz3iU7xBpq
Hl3kL1vBDBfjDIUSdSfGomUzShBMi8U8YMAMqkytDY+Diopq886ORhfyVmf2tiZw
+OVVr4a0KNbzOUj94GNKnjkEu2u6WsP1sGqTyfzXza7fzDzpY+TlY8RUfPx7etIP
8mhWisZhbSymyAbt9N5Qjtt6szJJ/ouCPujD4t+fyHZaE2Fr1ULXHS5avRfgvLd2
SQg5o4n17eQv5Y6hmA4Di1UhUxFHRq3oryM16PbUp6eANs4BOroP6VocahzPJc3j
t4OIjrzFzGfKna6K7M5sIsz2fo1MzjCq6eq6Rk7AlXHD14hfbJhBZeBUUL7ZSxLx
T2I5qSrNuLHGkic5lJP+6Ri1KLCOxAkapKcsAF2rMz3YJYx0MOQ4Kb92/qAgheCf
P8aJKv8iP3jhrZqFJNUd2vYNV1xqvHpIKGT/YU8qMmPkN/y5FCgqsbDpvd+6d3ta
fGb6t94Q0gwQyPJRJQq0HVkgMenij/+vtYQ9gP0yDGvq5YEfIgweBlOn3fy3/lhn
gt0rJkQCYkGI3cieMzVb3AhqR8xwqlAIXdb+anZ5FuBX7K05SbhiQMTashl1+Bno
zr8tvTTRvIoSjswUH/Sb
=hFgf
iQIcBAABCAAGBQJbfguQAAoJEFAslq9JXcLZZpUQAKyeN2vMhm3EU0AySqgfZZvS
ssoph6+K4qdEmx0R6XXKA+2o+wq5rkmM50j7ctrS1JWUoaC0seSkPEs1NHV6eC/3
adpqGoZ5lUyWlOG3W80/XF/9TSn9HH59ueCx/pl80jMGR36RC5usXfACMlO77tod
hbb6Iq8lxQDdDy7Hc+Onqqd7rvbDKITVtWcuMc1TN1Shk3tTmsW0N9Yx9qyYor1i
YTxfUYZdFFZIhdbk24Y994+t6uw284SFV8wkCJQNjoT/7rRytqztiK139kBm1oP9
kg/vEauSOd5yhJ8ffC3iL06qqRvkxPqU+oOnbMhU5z6Q97/h9VA7AfkxwLWmJy2K
Z64eONrvNQRMB02C2Qf+foUsy/0aIUIPipOf6qXo9oA7mDF03hdx+D05Wr/zC5dZ
QeqOYThxe8fcd7UBu5h2YuATV86eNYBBGPCpVsqdlRRjXSB/lRssbYcG3VxShzFv
dNtVxrvOtE6rPBWQ2q8xo53+SZiom9iIS5Y2Op1aU/v9ophswpBVDyDuC5hp2j3k
lyz9cT1rhfJr5Kmzb4BD/1JbH+t1EHB8pdOn2lfMNFMBZwsGXfUI52wTGdqhhRGF
RJrfUJMWJZWPC+NkL8/Gtf9LUTE90u4btuxJUJsetRfCSjZNrHA3WmsTpK3tyv2D
GtTRFt2945PTvo6YEhOt
=3ttB
-----END PGP SIGNATURE-----

Modified client/1.0/neutral/pkgr.eagle from [e6c5a6c94c] to [0a7e1a9601].

852
853
854
855
856
857
858












859
860
861
862
863
864
865
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877







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







    #
    # NOTE: Otherwise, return the system default, which is "anonymous"
    #       packages only (i.e. those without any owners).
    #
    return [list]
  }

  #
  # NOTE: This procedure verifies the language specified by the caller.  The
  #       language argument must be an empty string -OR- the literal string
  #       "Eagle" or "Tcl".  This procedure may raise script errors.
  #
  # <internal>
  proc verifyMetadataLanguage { language } {
    if {[lsearch -exact [list "" Tcl Eagle] $language] == -1} then {
      error "unsupported metadata language"
    }
  }

  #
  # NOTE: This procedure verifies that the specified value is indeed a valid
  #       server identifier.  The serverId argument is the value to verify.
  #       This procedure may raise script errors.
  #
  # <internal>
  proc verifyServerId { serverId } {
1233
1234
1235
1236
1237
1238
1239
1240
1241

1242
1243
1244
1245
1246
1247
1248
1249
1245
1246
1247
1248
1249
1250
1251


1252

1253
1254
1255
1256
1257
1258
1259







-
-
+
-







    #
    # NOTE: Grab the language for the package script.  It must be an empty
    #       string, "Tcl", or "Eagle".  If it is an empty string, then the
    #       current language will be assumed (but not by this procedure).
    #
    set language [getDictionaryValue $result Language]

    if {[lsearch -exact [list "" Tcl Eagle] $language] == -1} then {
      error "unsupported language"
    verifyMetadataLanguage $language
    }

    #
    # NOTE: Grab the package script.  If it is an empty string, then the
    #       package cannot be loaded and there is nothing to do.  In that
    #       case, just raise an error.
    #
    set script [getDictionaryValue $result Script]
1615
1616
1617
1618
1619
1620
1621
1622

1623
1624
1625
1626
1627
1628
1629
1625
1626
1627
1628
1629
1630
1631

1632
1633
1634
1635
1636
1637
1638
1639







-
+







                    # NOTE: The target language is Tcl; therefore, a bit of
                    #       special handling is needed here.
                    #
                    {%tclMustBeReady%}; return [tcl eval [tcl master] [list \
                        uplevel #0 $script(inner)]]
                  }
                  default {
                    error "unsupported language"
                    error "unsupported metadata language"
                  }
                }
              } finally {
                #
                # NOTE: Perform any necessary cleanup steps.
                #
                eval ${%cleanup%}
1783
1784
1785
1786
1787
1788
1789
1790

1791
1792
1793
1794
1795
1796
1797
1793
1794
1795
1796
1797
1798
1799

1800
1801
1802
1803
1804
1805
1806
1807







-
+







              tclMustBeReady; return [tcl eval [tcl master] [list \
                  uplevel #0 $script(inner)]]
            } else {
              return [uplevel #0 $script(inner)]
            }
          }
          default {
            error "unsupported language"
            error "unsupported metadata language"
          }
        }
      }
    } else {
      error "unsupported script certificate"
    }
  }

Modified client/1.0/neutral/pkgr.eagle.asc from [ad22dc3e26] to [08eda9f0dc].

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

iQIcBAABCAAGBQJakMVlAAoJEFAslq9JXcLZE34P/iygl55FtjgfPyxBBh/cEnTX
1+ksOnGDoLKqlzIZbUdeQxpvZEiGSWe2q1Qf6RMzzNWma8lXAdlT8sDPFVPYvokp
i0E42UUu04CNR86MwnUt56/VLe6FyieJVWbPtkFfbBYCRvFXjjQPMABappnB2fHL
smQCy9nE1A1FLehMnixgs6jUyQdvzX5IF9QjaLXkDye08Gl86QYgroY8hjmhg3m7
8Dbl5QQ+LkvE+GkXqJRRV3UN2SlJtM2eKQIHQvGIRQg/CBIsx0mczpjJPOa2q4Av
DKauXqCOD7Y4x6iruNSxd5dEDqS7eTjn6+b0F0Ds9Idnr1QvKCd6ppXlbImmQVK+
9gWdbq5aLntNNXPDnMz/AQOxrUHRQYPDyBvkPBubewgiQcGttUooIxPhL0S9G0Dr
r9x+WG134OAnR+X8iEmBdhpePNrtlfxQUpyqa6aWAFccmsSz7irYSQH1sWg5M8yb
S8ELaaYSPcc+V3kJBSVZShcNEQEMP5CXZASlfeti425SCoxqTA0Nxreum69Uecyw
AtMBfFzYxdB/Bhf+QEaLPJsb+h7grPjwZmvbrK6+W4TP+DyaO6MErAKlzp6BNLS5
Al5mXf+AzTXG4GHwXxpSygD3ewtlStr5xcloyE5KsS7g6GPsUvsDZ8YZWxeTEbOS
7qqI15ZWs0Po+6b5jtkJ
=khOs
iQIcBAABCAAGBQJbfguCAAoJEFAslq9JXcLZ3F4P/25899yywof2kao7PR/ajKXL
gZWSULmrlAuPS01SaVjevJkama74ideKLU5AtG/C3eJ1c7TI0LdzeDj/NfACsJEE
yY0NAcIVxzDS46KR4lAgd2O3cVdVAzZyP3iDhq0x30PiPuSpKnR0sLKKjNyfJUFz
t7wX1d7c8ZZxPdL11EuHX6vJ8e8WB6U2jJoZ3P8hcKFs84JekEsOM+rEcFQFfuds
FYhkcVAOsYPl/sashHqG5G8k9ZEjvbsNzyCYrFnMitnG8Y6bSQ4f/Atc1rRozcYS
TEBcUOvzscCfYbMJFIZ2Tc4VBJm/1GtcqzC8Bpn3cxDhcmLyCSRoPPN/S60tC7yo
NxgkIn6A6WsV0L9jAcbu7KqWq/ei8SmHrmzv+yK3ZX+0sbKdZCzD14zu5Q3/4qL3
RwWO2Mhh1kHYb0AiWKDpDQ+re4fpRdfMrdryH9lVeMyAqjJeumuTpshViIBVef/r
PPY4ZVwfJRpqlpkm3bgupRBRh0c3QDj1DJ5SA2mR3qBaB11DTfWFqV3athzEecD+
Q7CKxtF0/YCYqNkv1f3B/eI7I9y4OvOJ0r3GdqA2wxR4m+LjzSjNfkuor76g6V7j
8aUYWy3HB2q0Lw+QdSkQ9J7Liz4xZmBScRHHSvzZ06tJBy1yiuc3v27Uhy6cIJHZ
fgMLf+z+X6o4Oh/T7XLV
=e1zE
-----END PGP SIGNATURE-----

Modified client/1.0/neutral/pkgr.eagle.harpy from [926e9c4006] to [f2609d3ac9].

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>eba422b3-7f27-4da1-8356-55d786817b33</Id>
  <Id>d53cb739-31cf-4099-b64e-96f4ae8e6623</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2018-02-24T01:52:18.8236505Z</TimeStamp>
  <TimeStamp>2018-08-23T01:18:07.9507678Z</TimeStamp>
  <Duration>-1.00:00:00</Duration>
  <Key>0x9559f6017247e3e2</Key>
  <Signature>
    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
  </Signature>
</Certificate>

Modified client/1.0/neutral/pkgr.eagle.harpy.asc from [468ea0467e] to [eae791ff0f].

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

iQIcBAABCAAGBQJakMVmAAoJEFAslq9JXcLZKqgP/1msLtweMu+Xj3OHts6Tcnav
cs/ZGHWqpcgcS3Scmss7TotkJ0FsyyppgtjgH6Xq59p4IUJ0B2MtOf+wjGy9PMiw
C/T4zjHvqHhsjpbfJ0JXtbjLVI9AqZETxqVxSKlr/fKe9t3QNdyO1QQuyxjc9612
vTR6VGrE9p6/4EsiAXUfX4WyCsQIC4asHc8qbIejKdVa/+dZVoBMIIgizBCnytOy
6v9QfFaw4Fms21LqTaThiPbJn3Gv2xXGEVJLs5pej/dnq5gKV4+8T/TK4dO2k4qx
OTjZqhGSoNIMwGHO9qnWkeEqCTORMUoYkmrt4FaT5cmQmayd9hclFNAgqMAu8OtD
YEJBZYXAhXpTo8BvGxf9F8ZnbDjd/lHYDhOCJcZtfReDElUYAlcm2DGce3IdfsSY
yPxQh7+I6n9vZj2kB+mY7OfrTiVaNFrK8MMVlG3TcrI8UyzoyrRRdtUqKl2yjvie
pqOOm5AiYQzmt3GtzS1zJio5X0rpJuUfrAYQ8pfvOcYSMDu8HPR4w9zfOu6c+OGi
wA/2gOgFGkWy2KIRSgmKplwLOHQLFRZQfZQz7s5zdopTd7540zGgfGY3xvzQKf0j
UDUn0kg4YNowZ+bGsSSk+f1LTDtYVT+YasVJj3zwb5XOHZmM99EDSk37vqMbG9pb
zztQRDMmStKa6HcuTdLe
=2MjG
iQIcBAABCAAGBQJbfguEAAoJEFAslq9JXcLZnMcP/iODW5OKup3AmvyGdWnNwGlR
5VwJ8+Esap0WzDacuvlJGkrlXBnypDpsCaVbSKafUYKVCJP2Ljwr9FQoNW9U/rVQ
vzuFdwZZ0QWQXuEMRlvK6Y4Xvt85OekQjLVexZwB1F3PLI9FDOwVVUkoBuSz/UqL
jZHA/EKWLGDGkTBku/4we5S/B0aUnRUEGb7sPDq6cLyEDatLLwt/0Fi91ao+rpwy
w2ufWdd+UGaJEOBeagOV1+wzZqpO6NYntO/OH33MHfu1KGBDtSe8f4OXHPmkw4LK
thJa3d/F8Sh7OByNcfXj8S253tJlc0xHFEirIIKSWnezdnfbBpjlTS95h7u/vB+8
xQ81D6pAH0gVPgRImM1W2xvea8LTh6+CjlIrQ+cX1eCtQChVB5keOBKdQbktTyFt
iDi2l0EeT3Faa1O/H+R/V/6P41EKKujm/KKjxrrUXvIWF7WA7D/hOmmc+BKHykkw
Yva5JmlNxqcvr1p6oaGUYLAFY/lw/ZxahAGlOmf9Tl1582ub8cE3OPM/3FyDPR7l
b8q50TIeJ+vHDX/ls63/QXmxXQO4oGlEoN5eUnaJ/U9LNMTnWsqXbatd8Cnw3OUp
QJ+zOv0rv6LOJfDnVTUPF6qToG0Rc3UI6N/vFJmnE5Pw0vDufEJwBpPg+iQKxvla
WHBD5rVNbuKWfvqzQZPH
=UwxU
-----END PGP SIGNATURE-----

Modified client/1.0/neutral/pkgu.eagle from [e3c38aaef7] to [03e7ae667a].

422
423
424
425
426
427
428

429
430
431
432
433
434
435
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436







+







  #       future use, it should be an empty list.
  #
  proc createRepositoryScript {
          serverId versionId language version platform fileNames options } {
    ::PackageRepository::verifyServerId $serverId
    ::PackageDownloader::verifyVersionId $versionId
    ::PackageDownloader::verifyLanguageAndVersion $language $version isClient
    ::PackageDownloader::verifyPlatform $platform platform

    set prologue ""

    if {[string length $serverId] > 0} then {
      append prologue "  ::PackageDownloader::useServerId " $serverId \n
    }

537
538
539
540
541
542
543



544
545
546
547
548
549
550
551
552
553
554
555
556


557
558
559
560
561
562
563
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569







+
+
+













+
+







  #       argument is the certificate associated with the script, which may be
  #       an OpenPGP signature or a Harpy script certificate.
  #
  proc submitPackageMetadata {
          apiKey package patchLevel language script certificate } {
    variable verboseMetadataSubmit

    ::PackageDownloader::verifyPackageName $package
    ::PackageDownloader::verifyPackagePatchLevel $patchLevel

    #
    # NOTE: Fetch the submission URI for the package repository server.  If
    #       it is not available for some reason, raise a script error.
    #
    set uri [getSubmitUri]

    if {[string length $uri] == 0} then {
      error ""
    }

    if {[string length $language] == 0} then {
      set language [expr {[isEagle] ? "Eagle" : "Tcl"}]
    }

    ::PackageRepository::verifyMetadataLanguage $language

    if {[isEagle]} then {
      set boundary [string map \
          [list + "" / "" = ""] [base64 encode [expr {randstr(50)}]]]
    } else {
      set boundary [::PackageRepository::getUniqueSuffix]
    }
1028
1029
1030
1031
1032
1033
1034
1035

1036
1037
1038
1039
1040
1041
1042
1034
1035
1036
1037
1038
1039
1040

1041
1042
1043
1044
1045
1046
1047
1048







-
+







    variable checkoutDirectory
    variable fossilAddCommand
    variable fossilFileNameOnly

    ::PackageDownloader::verifyLanguageAndVersion $language $version isClient

    if {$isClient} then {
      error "cannot stage files: client files must be committed directly"
      error "cannot stage package files for client"
    }

    ::PackageDownloader::verifyPlatform $platform platform
    verifyCheckoutDirectory

    if {![verifyThereAreNoChanges]} then {
      error "cannot stage files: there are pending changes"
1108
1109
1110
1111
1112
1113
1114








1115
1116
1117
1118
1119
1120
1121
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135







+
+
+
+
+
+
+
+







  #       caller that will receive the resulting Fossil check-in identifier.
  #
  proc commitPackageFiles { package patchLevel language version varName } {
    variable checkoutDirectory
    variable fossilCommitCommand
    variable fossilCommitPattern
    variable fossilFileNameOnly

    ::PackageDownloader::verifyPackageName $package
    ::PackageDownloader::verifyPackagePatchLevel $patchLevel
    ::PackageDownloader::verifyLanguageAndVersion $language $version isClient

    if {$isClient} then {
      error "cannot commit package files for client"
    }

    fossilMustBeInstalled
    verifyCheckoutDirectory

    set branch [appendArgs pkg_ $package _ $patchLevel]

    set comment [appendArgs \

Modified client/1.0/neutral/pkgu.eagle.asc from [a09cfbeb03] to [4ba36b7d41].

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

iQIcBAABCAAGBQJaOaZWAAoJEFAslq9JXcLZbV8P/iKqB0rw2eqRLGbUQ8KVwwCM
J7iifS6hPHJUovMIkHXxaq2Bq4EG6m7iprBD4hb9Yerft1H+I3GP6i5ebMro585r
Z+pE5WXgDvgjTQlxcvlqOpVLdMFsqfDKDMWYK6kzWGznLV3nojic3U1sSKfguwEY
arqX9xukahOihsAh7Q54ZD8Z4Xc8V3I1bbVYZkn2+YkK3vifh6HOqKLx398PLKeR
vPaSIXJhaaJFfUDV11PHRcFzYqkfOyRjo1kW29nKt9OJqOO5Jia/V/W3diSwbJGz
fkbHNzE/+oEOU1mfh0i1Hyw+1Fyb0Drnl2LNvo23EGOB+rEP1PFoIZmA9bF45Rri
v3tasM+V7Wsc6HskCdij0UQMu6dUxTw/RVQ1lbw3bPrnBSwfbbg12e12c0kfwyhU
7eSuI5tNSFHCkmeq4ESpNvQG2bFNpWYTWhJ3EIfYiJY5236UxNmoiRyje4DddHg2
Xa81+lhrnurRAh9RWUUzCLzof4SuKcq8ZDob3tpbxc99CInX7rIDzLJwPqExoJT9
5srDdD6qs7+96DXdwIcaQEorWs5ybWmXsXyK9F1lhj5LOQP8Ub+ipI+nfsiPnK8r
XkG1iABH26DJNaEtgCX+w5pNG9cM9RsFLccghTp0SHPjeAqOyyIe08X7HGso8i+q
QMJzfjxY64jwA8KREkAK
=akDz
iQIcBAABCAAGBQJbfguIAAoJEFAslq9JXcLZ2+0QAKLlPdsuDGO6JJXGINKeyRJb
kAr5VsZuv8RMI5Vu2jcgC9ASzwO+ckdq4K1GCfqiDnWMAyczajSIOtSXlRxWPVOZ
KGAZe4KYE6+HcjgZ8d1ZL2AipgFVJmr24g2cryNhlW9nq3OQy8Gleutd7cBr/y9s
rNvDEysFmgNHIkLjCkcWfoAtXx0sautzqu4IW9C8YFg/Z5a1Kzl9myRn4XTPU6gB
31aGWGQaHmB5dBAvQXJVY0GW+pjbzev4OZ7pkPsDQ5u2/I4dntODmKT4hcLlqCjn
v6IzSnxpkla8qCUe0E3zfXeADi0qIHCdWuL/gitBgQMOagbDRd/ZCsD18N/ltqKM
eWCF205FfzwDXnlYnU0lHv19jHv8h3PTwxX4QkdaFd7RM4UjqbKVY6Y5CMlc1JP4
jqOkJ7ynE0x6ePeNJ5lMKM/Yj5osXusM+AoBFlCgGMXHiuniCMkYb9hfMgyr9mCa
2m6Z7K2VtXMOKDP2xDh3ZoEy1+zGqpOBSxaIDlsJ13Y9XtBPTISzMBoyLS+//ou+
V5j1DNpPSJNJr08jS+juR3E+tvdfsdhukDzjjB9emi9PlvqFFcu22ihZLT1VXoLl
mRJ6rDPHammcYj+EJg9ahDSeb3iJzwztLC8vtZ5stAfKfoBv4oiOnx5gkQ9jYHH4
cebgNMA/tQQ4/39w+s4t
=3UDc
-----END PGP SIGNATURE-----

Modified client/1.0/neutral/pkgu.eagle.harpy from [6bb9f6457d] to [d3fa00f298].

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>6834d021-1c1e-4b99-96e4-59da48243822</Id>
  <Id>fcf98fbd-0bf3-43f3-bbfd-5f4e308c33da</Id>
  <HashAlgorithm>SHA512</HashAlgorithm>
  <EntityType>Script</EntityType>
  <TimeStamp>2017-12-19T23:52:24.8476014Z</TimeStamp>
  <TimeStamp>2018-08-23T01:18:46.7959896Z</TimeStamp>
  <Duration>-1.00:00:00</Duration>
  <Key>0x9559f6017247e3e2</Key>
  <Signature>
    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
  </Signature>
</Certificate>

Modified client/1.0/neutral/pkgu.eagle.harpy.asc from [e0825a9ebc] to [28ebef7daa].

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

iQIcBAABCAAGBQJaOaZXAAoJEFAslq9JXcLZ5HsQAJYSJtKa1CzeKWE8gJ1R4kFD
Bc2vhDmBa/AAGXmLpF5NEA4+9gOAl6g9yo42yq8r/sfqhi/6rYKtm6eHVkc1Ploi
lFT91aAOqoEqdlD2M+zPaAUE9Dpzj5aG6P3v2QwbGMV3AIQReTJ+Ae78Xp7Jq4rW
dNq/gknhnu94lGTVCKwee/QoaXJeagEXZ2jxq/DbNEfUX2JdXxwqKzNBJ25ghLcq
SdzLEF57O2SFR0omMQtkcWPIbox+eDG1xyd9TzTjMNW1hLj2mCkr4uvSgNpbC2Mx
EC41g8FFPA5UOtlSqSdHBL+CDKaX0SLdi0MKoyKZXmro0LBUa2GFOOkq2h+X9uPQ
bv7zppE8Dv3cTkRFHE8beyKGrY4WnZzFaVtbM3OwElJWLREvXsP9oaxfTg/Wj8YT
afCmwFi4i+pchreLg8hh23adO9mGGpAp+FnUP6gvLQSMVqOrKpY/gU44WN/OMDzc
ze4BqhjMmYbLSfepUhqxdItTidjusIhp8EhU/5F76dAQUo6G0ae5U50cqcHGSyPA
X21uNbpdzM48uW4BrXQ1p/YddJshdF+xwhNFdBIN4Hdc/uY7diSXieqFe/YDugfV
q7H5fq/UP9mnssuPj4h1HM3XXDBBcGCk9iod36xWoMR2Ww4WK+j4pe9qE4SVt2uC
oxErU0pKgJ73rzWjEM0/
=599a
iQIcBAABCAAGBQJbfguKAAoJEFAslq9JXcLZxr0P/RwHbAAH2UG1fTOswtAbJGT1
zZNl9NB79RBa1ckSsVp+6ukMJ77bIfV3QM1le6YLQZSwIGH+k6No3vrkCQnwD0oB
hT2HDpvPoL5OBd8NI8GmxZYCX90gT4Kcitc8JwtyQJfRWBFVxljWUFi8iOfmnIYP
hZLlcJ/2WeVuI0pt1BMB6N3cjiqmt2bWwoZDB7mhjnsSK6SvLiOO8JpSR1NtCHTq
xbyw8f3+lugTPtn3W02kJH++V/jSkGVX65AVAhBZSjB+pzUyHLIxclcOyL21fHWB
LiyqoAn7XCYZ99yfRdcgwydzb4LxSyWh7NlY6krLpS4qJqKZKZLTzk2ThAHXO7lw
9t3cx6xh9DTtfQt/exIvhJAOtxuiO6+uVm4ij9I3Kb7YYh6OlvnlaFuXUoR8lwrO
wyEVyInWvDnoS7eaUuAw9jvzTNRcEhUnk+SYwtgq9OzB0vNCUVQe3oLzzviX+JFj
Q5i4IF/e9qNok/HmlJQJbQm3JKx6L7g0H3hAUw8NhmYMpvN0JTS1lyxs7HzqshC8
ZxNFmzFoChB+KQmFCqHAHFz/mgi386TtIMFBMVB19ZyGbzGA9xpGyIO6uEni5slw
L5sdH9Z4ckymJZuiFS2qFbjJNfU4lsomZZ9ttXtp7NrPeht6bmyUz/Qcjwynj6za
azqTX9GrsXSSQuSzDPZq
=odDr
-----END PGP SIGNATURE-----