Index: client/1.0/pkgr.eagle ================================================================== --- client/1.0/pkgr.eagle +++ client/1.0/pkgr.eagle @@ -1531,10 +1531,20 @@ if {![info exists allowInsecureUri]} then { set allowInsecureUri false } + # + # NOTE: Emit diagnostic messages when the [::http::geturl] procedure is + # about to be called? + # + variable verboseGetUrl; # DEFAULT: false + + if {![info exists verboseGetUrl]} then { + set verboseGetUrl false + } + # # NOTE: Is this HTTP request processor allowed to use plain HTTP if/when # the server responds with an HTTP redirect location to an original # URI that was HTTPS? Otherwise, a script error will result. # @@ -1730,10 +1740,20 @@ if {![isEagle]} then { ########################################################################### ############################# BEGIN Tcl ONLY ############################## ########################################################################### + # + # NOTE: This procedure emits a message to the HTTP client log. The string + # argument is the content of the message to emit. + # + proc pageLog { string } { + catch { + tclLog [appendArgs [pid] " : " [clock seconds] " : http : " $string] + } + } + # # NOTE: This procedure was stolen from the "getEagle.tcl" script. It is # designed to emit a progress indicator while an HTTP request is # being processed. The channel argument is the Tcl channel where # the progress indicator should be emitted. The type argument is @@ -1784,10 +1804,16 @@ # NOTE: This variable is used to determine if plain HTTP is allowed if # the "tls" package is not available. # variable allowInsecureUri + # + # NOTE: This variable is used to determine if a diagnostic message is + # emitted when [::http::geturl] is about to be called. + # + variable verboseGetUrl + # # NOTE: This variable is used to determine if plain HTTP is allowed if # an HTTP redirect response contains an HTTP URI and the original # URI was HTTPS. # @@ -1842,10 +1868,19 @@ while {1} { # # NOTE: Issue the HTTP request now, grabbing the resulting token. # + if {$verboseGetUrl} then { + # + # NOTE: Emit important diagnostic information related to this + # HTTP request here. This may be enhanced in the future. + # + pageLog [appendArgs \ + "attempting to download URL \"" $uri \"...] + } + set token [eval [list ::http::geturl $uri] $args] # # NOTE: Grab the HTTP response code and data now as they are needed # in almost all cases. Index: client/1.0/pkgr.eagle.asc ================================================================== --- client/1.0/pkgr.eagle.asc +++ client/1.0/pkgr.eagle.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJYBT/8AAoJEFAslq9JXcLZWGoQAIA/IPYRK0t30qWVe2eQIR1M -vbXGy5XyQaQQHmTHDY61y5kFbnlJoSrwJRX46uTttkp3u0FnfxtLEYQSvIVBWkYx -IonkPHcgRQpfJXSDqV/z6bdMApTwkoU9iOAtK9rH4qq1CfYoi4WGpG2n/KPqfXtm -4Cs6WUVywhNu4ZKZABDqpIDezxWsR6SujBGRKZwfbTLGdnpXJKT5BZS+GGKwp7ep -noWRpOctG2PBhs4YWnD9awcsb8+QYI8GvAbQNVL4NqFqtOUMGLcJof6Lp+/F+KQc -J4gMnrbN+u/k/Sy4oOHryz19m9+Qrnc3WzYh+NpYQeDUmmP1bSUNNZ/x5UAKjpyb -45ndI/Jjtq6VcQt/j16VmBN89ybVe3SE5xuyFoLi6tgpjdO2DO59WxU3lIQ1NQoT -CKz5H/RrYX1is2BqcB1NY2D3XvPI5tuf2bylOufCsuad9B7WQOt4hwyJmLqG+57+ -eoX2nZVFfdiZEAvQv0x644C96pC3pTAdeHq3YS+M1JpOKoi1vVx2Vxj+XJMo9dR7 -IW+K1Q1fM9RBJOiw7M5k9ZSQ6JCJaWXb76EY4FA4YKb8VqwapvoUpu5+ff67O0px -66qbVL5oUxLW2hU9SkYPN0eM/wBj8+aFWPcc2QgoUUP/M2TlXPJgdT6kv4WRcrL3 -vO6v4yswIT4zc1eq4Tvx -=crRO +iQIcBAABCAAGBQJYBVUMAAoJEFAslq9JXcLZ/28P+QHqfz72NA83ojjtBSO9+g41 +i6LVJCSq8bBfHkl+wE+kthWmkETHlu6IY67rBuJb0QDDi4VENwwUG+KyFVbRwt+w +u0PfXhbDTZi0KzD7NbktGR8IQkLH4JRXnAxQNRtYP5/gIQuFBurh8w/1XXzi/sop +cSSa8+qpNfQ60zVvrhE8yFvfw9VpE/RInqbWyOOMj5MST+BgoEjUjvVPHrox5IWR +XnUFgV+iwvaCqjynI5swTuunpL13SxMUpdJf/Ghekij+vEXZQQtScdwP4XwgoB7r +l2neeUOhlcfXISI5PhnjmJ8oRhJ7yMVCJXaFkzkq8dKOgrSDAkaGFFjZEkNPKGVo +eguLISIXNG1A3ENYXuKyTsImk7cHEMHCdCeCi9rjzGVK+EvCiptIz/7Z6U7CZHKs +GxcKJQa2Byd6jKn7qZR2xu3CQ7NGsYMb08/PXNn0rIdNQVvqAYAhvGBiwQW1H7Sw +Ohl55pYAMkbCiC2tsX6IcvCVjLqwZJYe6hPh5rdRrJ5bc/KLaGLzttMC1j1dNmL5 +xDMTVdR1G9HyrMj42CO+1Ch8a4hMPLxbXieBq434diEVXNRX8oU1Ap2S+WFa8tiO +VIjTbR6+8bJ+1uWHwNDYa/h+CLFDyUFlty4kqqYSqACWCrnbXXvqTneY00HpbOjG +eNW7DqidxrUaQOBD5WIA +=JT0J -----END PGP SIGNATURE----- Index: client/1.0/pkgr.eagle.harpy ================================================================== --- client/1.0/pkgr.eagle.harpy +++ client/1.0/pkgr.eagle.harpy @@ -19,50 +19,50 @@ None Mistachkin Systems - 30bda9cc-69bd-4688-8b96-96e4e82a982b + c1c2fa54-3faf-4030-8a03-3afb5193103c SHA512 Script - 2016-10-17T21:17:25.9542266Z + 2016-10-17T22:46:29.1886016Z -1.00:00:00 0x9559f6017247e3e2 - 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 Index: client/1.0/pkgr.eagle.harpy.asc ================================================================== --- client/1.0/pkgr.eagle.harpy.asc +++ client/1.0/pkgr.eagle.harpy.asc @@ -1,18 +1,18 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository -iQIcBAABCAAGBQJYBT/+AAoJEFAslq9JXcLZr3EQAK21y4o0OA6UEZNVnkE0lMRH -HIycdG/mXLuL8ulshgP7U7nKHBu3kbglDvd9+uQDyzryVBIBKxXoeNZJ15jB0lPi -ZjTLuMtKk7nnwwMu280Kmo2d7iVNl2GX1BhjloGvsNelb/Hzcc6YEt4aqlGU0qVB -dQAeI5KKnDKGbT/aede4qO80kcY1MPGWeE0sc6m/pJNWzPgt4bhlKqqhE/FxjgQ+ -Ius/Bc1OM2NFFFoBQ3Xb6zg48UtOCJfqBvTG18p73Q0mUlfwLZBv3PW56jYa6c7/ -PViAPUddridOrs4D5iR4CpnUtGgNxiXLiH91ucfhC+Cc3IIduXn8I2Kuwd7DZ8R5 -M6QzwrPxpHs7eBfL3Nw4a3hQKnNQX2ljXCdOyQTYu5Ijcx9tua/HgAn/bwuYpfJc -EJAUYYs42u71AYdRl+99CG++OQ2730vauQUwpQxHwymKssQOz5IawTKa2L06O1dh -QQAc+3YM8j5HD5x3BjoQa0mMq2AJzR6AmgHoWEOWWiks4DS4DM8Hb6wEulGX5Sba -H4f2LJuNVIrYOllUd0TZDIoDPyTpzsvOnkwkTsX4X7JApXp9p8tiSfYjl+1hqNfH -fXMEvBdnBxSwn0/d6tOejK7n/NiqCcLz1Wpny2QFqJ4IlEs10p+5xAJm/9h1Hm76 -Ao/TX4b8851HTKKS7n7d -=MsgF +iQIcBAABCAAGBQJYBVUOAAoJEFAslq9JXcLZiPwQAIzmXsShuPAnAsIj6QZiy+9d +IyyyW2zuUBpCt6swFCS4sXGN0tr8gcTZMvwlQBVwnE4bDCFfjKPmtQMZ0+cDa+Cx +cL4qbYXD7Mm60mcrBgvL2hUAnHTGN0S9N7T0oEMmGKiRj8UI3uknOpxigeNLw1Jt +ZDeCD4VvvyOt/pja86kng5DI4zyOw/8uGBQcIXihp+LTAVif50TI6+ZYAhKTzalk +TGbDEniieDBgL8eeaLnrME+26le5vaG18ufSG7NwLdxTojfDv8qKb3Go5VW8VjKE +fh8eMBwfYPWWBihoSpMb/miPrdCzWbOnRM77ZK70KWJS1VtODZ9whoq8flgos8uC +stV1X94Pjxz+rL7GQSmnIOhVDwZb/7Yl5sHVGLBWMUixISEu4oIATjclKQV/Pcez +OIRBnD//O2tYtu3V1niB5P4oUFdUUdSLek+uwu2fAXGswusyPx1ZXeusGFAAe4te +jwx6NTbPQtOmKNMLnW+LvES7gXhoIzpv0GhXkM9hblbaCltBcoKijtJk7wj0Jrtb +g1KOJcJ+6NqKVuPrdeN+IOJeMqPJGxKmQT6MVVhOg+yH1vv/0d7ogB3VOgzCfSu+ +GuXcCVcwN96lV19miFflu2xP2Eg4LgS5I6LWtKwveh5jjWoYAFP0CNmFX3pUsfTo +5Hv2eDTbVVBoW08oVH0B +=7fMl -----END PGP SIGNATURE----- Index: client/1.0/pkgr.settings.mistachkin.eagle ================================================================== --- client/1.0/pkgr.settings.mistachkin.eagle +++ client/1.0/pkgr.settings.mistachkin.eagle @@ -16,7 +16,8 @@ # TODO: Set this to your list of API keys. # set ::pkgr_api_keys [list 0000000000000000000000000000000000000000] variable strictUnknownLanguage false +variable verboseGetUrl true variable verboseUnknownResult true variable verboseUriDownload true Index: client/1.0/pkgr.settings.mistachkin.eagle.harpy ================================================================== --- client/1.0/pkgr.settings.mistachkin.eagle.harpy +++ client/1.0/pkgr.settings.mistachkin.eagle.harpy @@ -19,50 +19,50 @@ None Mistachkin Systems - c96239b7-5301-4f9f-9adb-5e0ca93b214a + 2585a4fc-8467-4d93-99d6-11c5afbcb752 SHA512 Script - 2016-08-25T21:27:35.2666015Z + 2016-10-17T22:47:03.9483672Z -1.00:00:00 0x9559f6017247e3e2 - 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