From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id 9DB9F385B836 for ; Wed, 4 Aug 2021 18:54:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9DB9F385B836 Received: from mail-io1-f69.google.com (mail-io1-f69.google.com [209.85.166.69]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-46--nJ6pns4NB62lv7Yndsscg-1; Wed, 04 Aug 2021 14:54:23 -0400 X-MC-Unique: -nJ6pns4NB62lv7Yndsscg-1 Received: by mail-io1-f69.google.com with SMTP id v18-20020a5ec1120000b02905286f544a84so2072770iol.1 for ; Wed, 04 Aug 2021 11:54:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=KjeEC+YFGTZ+z5mbKsEnoTF2lDMqv/paElOvtH9qqaI=; b=IsVCpReicuJjbBc51LHJk06J18wyjkRAWJlKakDdBcid34y/eEjJWM5uVWyt7ncLRF 3DCi3kjITwN7b96ROFMJ+kIBBxyqZdNej0m2MVbmLAdKHyQv+HXcTw1BxAlzY/IXz4/R WxIPF0D09v16VUKEGBKVn8zYPzqd0aOBguuj06CBls36XfbyG5/0rXiRooKYGG488yfA +Q989SoogAVch6NdmCDP30sapHTsEkOMqdKf+f7j/0gpui8eEm8U/Ac5ForUQM46XP+8 yjhLcha3kXjLwNfOqLDIotyMbB49VJ1oRTc/HXqKvBWn5LuOYVRNEFveGJ/fua+C6LQL 1E9w== X-Gm-Message-State: AOAM530SYEvHJflaJDGbVaOeoe3RH+BfN3h0YGjNcXqQSnX+jCTAcXCm xO50XQ98FVfOGev70SKlC8Mgbu5DcqZfufeyN1WUZJXVnq6NtQvypcyt6m9yxYPw2/lCdQMYtZ8 HB/Cj1fweUKEA1TnWyDxRkaukohTtFN83hSUMtxz+/Q== X-Received: by 2002:a92:d407:: with SMTP id q7mr799951ilm.203.1628103262971; Wed, 04 Aug 2021 11:54:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxQWZ3DX690Vob9WPp/Vj0X9WSPQXyBgPGwG31nzuHxpI21ugly9045tWwUlpU7HvtAdTMSL06VdFIrTSr3GNk= X-Received: by 2002:a92:d407:: with SMTP id q7mr799949ilm.203.1628103262864; Wed, 04 Aug 2021 11:54:22 -0700 (PDT) MIME-Version: 1.0 From: Noah Sanci Date: Wed, 4 Aug 2021 14:54:12 -0400 Message-ID: Subject: [Bug debuginfod/27277] Describe retrieved files when verbose To: elfutils-devel@sourceware.org X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="000000000000a43cd905c8c054f2" X-Spam-Status: No, score=-13.1 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_BADIPHTTP, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: elfutils-devel@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Elfutils-devel mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Aug 2021 18:54:28 -0000 --000000000000a43cd905c8c054f2 Content-Type: text/plain; charset="UTF-8" Hello, The attached patch dumps the http headers retrieved from the debuginfod server which a file was downloaded from. Some custom headers are now returned such as X-FILE, X-FILE-SIZE, and X-ARCHIVE to give some context about the downloaded files. Noah Sanci --000000000000a43cd905c8c054f2 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-debuginfod-PR27277-Describe-retrieved-files-when-ver.patch" Content-Disposition: attachment; filename="0001-debuginfod-PR27277-Describe-retrieved-files-when-ver.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_krxuld3b0 RnJvbSBkY2JlODY3MmQ2YmUzMGY5MmFkOGJhYTJmYTE1N2I5YjdhNTUxYjQ4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOb2FoIFNhbmNpIDxuc2FuY2lAcmVkaGF0LmNvbT4KRGF0ZTog V2VkLCAyOCBKdWwgMjAyMSAxNDo0NjowNSAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIGRlYnVnaW5m b2Q6IFBSMjcyNzcgLSBEZXNjcmliZSByZXRyaWV2ZWQgZmlsZXMgd2hlbiB2ZXJib3NlCgpUaGVy ZSBhcHBlYXIgdG8gZXhpc3QgdXNlIGNhc2VzIHRoYXQgaW50ZW5kIHRvIHNpbXBseSBjaGVjayBm b3IgdGhlCmV4aXN0ZW5jZSBvZiBjb250ZW50IGluIGEgZGVidWdpbmZvZCBzZXJ2ZXIsIHdpdGhv dXQgYWN0dWFsbHkKZG93bmxvYWRpbmcgaXQuICBJbiBIVFRQIGxhbmQsIHRoZSBIRUFEIG9wZXJh dGlvbiBpcyB0aGUgbmF0dXJhbApleHByZXNzaW9uIG9mIHRoaXMuICBXZSBjb3VsZCBzdXBwb3J0 IHRoaXMgaW4gdGhlIHdlYmFwaSwgYW5kIGdpdmUKb3B0aW9ucyB0byBkZWJ1Z2luZm9kLWZpbmQg YW5kIHRoZSBjbGllbnQgQVBJIHRvIHVzZSBpdC4KSW5zdGVhZCBvZiBpbXBsZW1lbnRpbmcgYSBk ZXNjcmliZSBvcHRpb24sIGFsbG93IHVzZXJzLCB3aXRoIGVub3VnaAp2ZXJib3NpdHksIHRvIGdl dCBhIGZpbGUgZGVzY3JpcHRpb24gcHJpbnRlZCB0byB0aGUgdmVyYm9zZSBvdXRwdXQKc3RyZWFt IHVwb24gcmV0cmlldmluZyBhIGZpbGUuIFRoZSBIRUFEIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9y dGVkIGluCnRoaXMgcGF0Y2guCgpFLmcgb3V0cHV0OgoKSFRUUC8xLjEgMjAwIE9LCkNvbm5lY3Rp b246IEtlZXAtQWxpdmUKQ29udGVudC1MZW5ndGg6IDI0MjgyNDAKQ2FjaGUtQ29udHJvbDogcHVi bGljCkxhc3QtTW9kaWZpZWQ6IFNhdCwgMTUgTWF5IDIwMjEgMjA6NDk6NTEgR01UClgtRklMRS1T SVpFOiA2NTY5MDYzMjEKWC1GSUxFOiAvdXNyL2xpYi9kZWJ1Zy9saWIvbW9kdWxlcy81LjExLjIx LTIwMC5mYzMzLng4Nl82NC9rZXJuZWwvZHJpdmVycy9zY3NpL2JueDJmYy9ibngyZmMua28uZGVi dWcKWC1BUkNISVZFOiBrZXJuZWwtZGVidWdpbmZvLTUuMTEuMjEtMjAwLmZjMzMueDg2XzY0LnJw bQpDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQpEYXRlOiBUdWUsIDAzIEF1 ZyAyMDIxIDE4OjUwOjM2IEdNVAoKaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93 X2J1Zy5jZ2k/aWQ9MjcyNzcKClNpZ25lZC1vZmYtYnk6IE5vYWggU2FuY2kgPG5zYW5jaUByZWRo YXQuY29tPgotLS0KIGRlYnVnaW5mb2QvQ2hhbmdlTG9nICAgICAgICAgICB8IDE2ICsrKysrKysr KysKIGRlYnVnaW5mb2QvZGVidWdpbmZvZC1jbGllbnQuYyB8IDU4ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0KIGRlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kLmMgICB8ICAzICsr CiBkZWJ1Z2luZm9kL2RlYnVnaW5mb2QuY3h4ICAgICAgfCAxMSArKysrKysrCiBkZWJ1Z2luZm9k L2RlYnVnaW5mb2QuaC5pbiAgICAgfCAgMyArKwogZGVidWdpbmZvZC9saWJkZWJ1Z2luZm9kLm1h cCAgIHwgIDMgKysKIGRvYy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICB8ICA2ICsrKysKIGRv Yy9kZWJ1Z2luZm9kLWZpbmQuMSAgICAgICAgICB8ICAzICstCiB0ZXN0cy9DaGFuZ2VMb2cgICAg ICAgICAgICAgICAgfCAgNiArKysrCiB0ZXN0cy9ydW4tZGVidWdpbmZvZC1maW5kLnNoICAgfCAx OSArKysrKysrKysrLQogMTAgZmlsZXMgY2hhbmdlZCwgMTI0IGluc2VydGlvbnMoKyksIDQgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZGVidWdpbmZvZC9DaGFuZ2VMb2cgYi9kZWJ1Z2luZm9k L0NoYW5nZUxvZwppbmRleCA5ZTgyZDc4ZC4uNDI5N2IwODggMTAwNjQ0Ci0tLSBhL2RlYnVnaW5m b2QvQ2hhbmdlTG9nCisrKyBiL2RlYnVnaW5mb2QvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK KzIwMjEtMDgtMDIgIE5vYWggU2FuY2kgIDxuc2FuY2lAcmVkaGF0LmNvbT4KKworCVBSMjcyNzcK KwkqIGRlYnVnaW5mb2QtY2xpZW50LmMgKGRlYnVnaW5mb2RfY2xpZW50KTogTmV3IGZpZWxkIHdp bm5pbmdfaGVhZGVycy4KKwkoaGFuZGxlX2RhdGEpOiBOZXcgZmllbGQgcmVzcG9uc2VfZGF0YS4K KwkoaGVhZGVyX2NhbGxiYWNrKTogU3RvcmUgcmVjZWl2ZWQgaGVhZGVycyBpbiByZXNwb25zZV9k YXRhLgorCShkZWJ1Z2luZm9kX3F1ZXJ5X3NlcnZlcik6IEFjdGl2YXRlIENVUkxPUFRfSEVBREVS RlVOQ1RJT04uCisJU2F2ZSB3aW5uaW5nIHJlc3BvbnNlX2RhdGEuCisJKGRlYnVnaW5mb2RfZ2V0 X3Jlc3BvbnNlX2hlYWRlcnMpOiBSZXR1cm4gdGhlIHdpbm5pbmcgaGVhZGVycy4KKwkqIGRlYnVn aW5mb2QuaC5pbjogRGVjbGFyZSBuZXcgQVBJIGZ1bmN0aW9uLgorCSogbGliZGVidWdpbmZvZC5t YXA6IEV4cG9ydCBpdC4KKwkqIGRlYnVnaW5mb2QtZmluZC5jOiBDYWxsIGl0IGluIHZlcmJvc2Ug bW9kZS4KKwkqIGRlYnVnaW5mb2QuY3h4IChoYW5kbGVfYnVpbGRpZF9mX21hdGNoKTogQWRkIFgt RklMRSBhbmQgWC1GSUxFLVNJWkUKKwlodHRwIGhlYWRlcnMgdG8gcmVzcG9uc2UuCisJKGhhbmRs ZV9idWlsZGlkX3JfbWF0Y2gpOiBBZGQgWC1GSUxFLCBYLUZJTEUtU0laRSBhbmQgWC1BUkNISVZF IGhlYWRlcnMuCisKIDIwMjEtMDctMjYgIE5vYWggU2FuY2kgIDxuc2FuY2lAcmVkaGF0LmNvbT4K IAogCVBSMjc5ODIKZGlmZiAtLWdpdCBhL2RlYnVnaW5mb2QvZGVidWdpbmZvZC1jbGllbnQuYyBi L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1jbGllbnQuYwppbmRleCA3ZDRiMjIwZi4uNWMyYTY0NmMg MTAwNjQ0Ci0tLSBhL2RlYnVnaW5mb2QvZGVidWdpbmZvZC1jbGllbnQuYworKysgYi9kZWJ1Z2lu Zm9kL2RlYnVnaW5mb2QtY2xpZW50LmMKQEAgLTEyNyw2ICsxMjcsNyBAQCBzdHJ1Y3QgZGVidWdp bmZvZF9jbGllbnQKICAgICAgdGltZW91dCBvciBvdGhlciBpbmZvIGdvdHRlbiBmcm9tIGVudmly b25tZW50IHZhcmlhYmxlcywgdGhlCiAgICAgIGhhbmRsZSBkYXRhLCBldGMuIFNvIHRob3NlIGRv bid0IGhhdmUgdG8gYmUgcmVwYXJzZWQgYW5kCiAgICAgIHJlY3JlYXRlZCBvbiBlYWNoIHJlcXVl c3QuICAqLworICBjaGFyICogd2lubmluZ19oZWFkZXJzOwogfTsKIAogLyogVGhlIGNhY2hlX2Ns ZWFuX2ludGVydmFsX3MgZmlsZSB3aXRoaW4gdGhlIGRlYnVnaW5mb2QgY2FjaGUgc3BlY2lmaWVz CkBAIC0xODMsNiArMTg0LDggQEAgc3RydWN0IGhhbmRsZV9kYXRhCiAgICAgIHRvIHRoZSBjYWNo ZS4gVXNlZCB0byBlbnN1cmUgdGhhdCBhIGZpbGUgaXMgbm90IGRvd25sb2FkZWQgZnJvbQogICAg ICBtdWx0aXBsZSBzZXJ2ZXJzIHVubmVjZXNzYXJpbHkuICAqLwogICBDVVJMICoqdGFyZ2V0X2hh bmRsZTsKKyAgLyogUmVzcG9uc2UgaHR0cCBoZWFkZXJzIGZvciB0aGlzIGNsaWVudCBoYW5kbGUs IHNlbnQgZnJvbSB0aGUgc2VydmVyICovCisgIGNoYXIgKnJlc3BvbnNlX2RhdGE7CiB9OwogCiBz dGF0aWMgc2l6ZV90CkBAIC00OTksNiArNTAyLDMzIEBAIGRlZmF1bHRfcHJvZ3Jlc3NmbiAoZGVi dWdpbmZvZF9jbGllbnQgKmMsIGxvbmcgYSwgbG9uZyBiKQogfQogCiAKK3N0YXRpYyBzaXplX3QK K2hlYWRlcl9jYWxsYmFjayAoY2hhciAqIGJ1ZmZlciwgc2l6ZV90IHNpemUsIHNpemVfdCBudW1p dGVtcywgdm9pZCAqIHVzZXJkYXRhKQoreworICBpZiAoc2l6ZSAhPSAxKQorICAgIHJldHVybiAw OworICAvKiBUZW1wb3JhcnkgYnVmZmVyIGZvciByZWFsbG9jICovCisgIGNoYXIgKnRlbXAgPSBO VUxMOworICBzaXplX3QgdXNlcmxlbiA9IDA7CisgIGlmICgqKGNoYXIqKil1c2VyZGF0YSA9PSBO VUxMKQorICAgIHsKKyAgICAgIHRlbXAgPSBtYWxsb2MobnVtaXRlbXMrMSk7CisgICAgICBpZiAo dGVtcCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gMDsKKyAgICAgIG1lbXNldCh0ZW1wLCAnXDAn LCBudW1pdGVtcysxKTsKKyAgICB9CisgIGVsc2UKKyAgICB7CisgICAgICB1c2VybGVuID0gc3Ry bGVuKCooY2hhcioqKXVzZXJkYXRhKTsKKyAgICAgIHRlbXAgPSByZWFsbG9jKCooY2hhcioqKXVz ZXJkYXRhLCB1c2VybGVuICsgbnVtaXRlbXMgKyAxKTsKKyAgICAgIGlmICh0ZW1wID09IE5VTEwp CisgICAgICAgcmV0dXJuIDA7CisgICAgfQorICBzdHJuY2F0KHRlbXAsIGJ1ZmZlciwgbnVtaXRl bXMpOworICAqKGNoYXIqKil1c2VyZGF0YSA9IHRlbXA7CisgIHJldHVybiBudW1pdGVtczsKK30K KwogLyogUXVlcnkgZWFjaCBvZiB0aGUgc2VydmVyIFVSTHMgZm91bmQgaW4gJERFQlVHSU5GT0Rf VVJMUyBmb3IgdGhlIGZpbGUKICAgIHdpdGggdGhlIHNwZWNpZmllZCBidWlsZC1pZCwgdHlwZSAo ZGVidWdpbmZvLCBleGVjdXRhYmxlIG9yIHNvdXJjZSkKICAgIGFuZCBmaWxlbmFtZS4gZmlsZW5h bWUgbWF5IGJlIE5VTEwuIElmIGZvdW5kLCByZXR1cm4gYSBmaWxlCkBAIC05MzYsMTAgKzk2Niwx MyBAQCBkZWJ1Z2luZm9kX3F1ZXJ5X3NlcnZlciAoZGVidWdpbmZvZF9jbGllbnQgKmMsCiAJICBj dXJsX2Vhc3lfc2V0b3B0IChkYXRhW2ldLmhhbmRsZSwgQ1VSTE9QVF9MT1dfU1BFRURfTElNSVQs CiAJCQkgICAgMTAwICogMTAyNEwpOwogCX0KKyAgICAgIGRhdGFbaV0ucmVzcG9uc2VfZGF0YSA9 IE5VTEw7CiAgICAgICBjdXJsX2Vhc3lfc2V0b3B0KGRhdGFbaV0uaGFuZGxlLCBDVVJMT1BUX0ZJ TEVUSU1FLCAobG9uZykgMSk7CiAgICAgICBjdXJsX2Vhc3lfc2V0b3B0KGRhdGFbaV0uaGFuZGxl LCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCAobG9uZykgMSk7CiAgICAgICBjdXJsX2Vhc3lfc2V0 b3B0KGRhdGFbaV0uaGFuZGxlLCBDVVJMT1BUX0ZBSUxPTkVSUk9SLCAobG9uZykgMSk7CiAgICAg ICBjdXJsX2Vhc3lfc2V0b3B0KGRhdGFbaV0uaGFuZGxlLCBDVVJMT1BUX05PU0lHTkFMLCAobG9u ZykgMSk7CisgICAgICBjdXJsX2Vhc3lfc2V0b3B0KGRhdGFbaV0uaGFuZGxlLCBDVVJMT1BUX0hF QURFUkZVTkNUSU9OLCBoZWFkZXJfY2FsbGJhY2spOworICAgICAgY3VybF9lYXN5X3NldG9wdChk YXRhW2ldLmhhbmRsZSwgQ1VSTE9QVF9IRUFERVJEQVRBLCAodm9pZCAqKSAmKGRhdGFbaV0ucmVz cG9uc2VfZGF0YSkpOwogI2lmIExJQkNVUkxfVkVSU0lPTl9OVU0gPj0gMHgwNzJhMDAgLyogNy40 Mi4wICovCiAgICAgICBjdXJsX2Vhc3lfc2V0b3B0KGRhdGFbaV0uaGFuZGxlLCBDVVJMT1BUX1BB VEhfQVNfSVMsIChsb25nKSAxKTsKICNlbHNlCkBAIC0xMTYxLDEwICsxMTk0LDEwIEBAIGRlYnVn aW5mb2RfcXVlcnlfc2VydmVyIChkZWJ1Z2luZm9kX2NsaWVudCAqYywKICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICBjaGFyICplZmZlY3RpdmVfdXJsID0gTlVMTDsKICAgICAg ICAgICAgICAgICAgIGxvbmcgcmVzcF9jb2RlID0gNTAwOwotICAgICAgICAgICAgICAgICAgQ1VS TGNvZGUgb2sxID0gY3VybF9lYXN5X2dldGluZm8gKHRhcmdldF9oYW5kbGUsCisgICAgICAgICAg ICAgICAgICBDVVJMY29kZSBvazEgPSBjdXJsX2Vhc3lfZ2V0aW5mbyAobXNnLT5lYXN5X2hhbmRs ZSwKIAkJCQkJCSAgICBDVVJMSU5GT19FRkZFQ1RJVkVfVVJMLAogCQkJCQkJICAgICZlZmZlY3Rp dmVfdXJsKTsKLSAgICAgICAgICAgICAgICAgIENVUkxjb2RlIG9rMiA9IGN1cmxfZWFzeV9nZXRp bmZvICh0YXJnZXRfaGFuZGxlLAorICAgICAgICAgICAgICAgICAgQ1VSTGNvZGUgb2syID0gY3Vy bF9lYXN5X2dldGluZm8gKG1zZy0+ZWFzeV9oYW5kbGUsCiAJCQkJCQkgICAgQ1VSTElORk9fUkVT UE9OU0VfQ09ERSwKIAkJCQkJCSAgICAmcmVzcF9jb2RlKTsKICAgICAgICAgICAgICAgICAgIGlm KG9rMSA9PSBDVVJMRV9PSyAmJiBvazIgPT0gQ1VSTEVfT0sgJiYgZWZmZWN0aXZlX3VybCkKQEAg LTEyMzgsNiArMTI3MSw3IEBAIGRlYnVnaW5mb2RfcXVlcnlfc2VydmVyIChkZWJ1Z2luZm9kX2Ns aWVudCAqYywKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgY3VybF9tdWx0aV9yZW1vdmVf aGFuZGxlKGN1cmxtLCBkYXRhW2ldLmhhbmRsZSk7IC8qIG9rIHRvIHJlcGVhdCAqLwogICAgICAg ICAgICAgICBjdXJsX2Vhc3lfY2xlYW51cCAoZGF0YVtpXS5oYW5kbGUpOworICAgICAgICAgICAg ICBmcmVlKGRhdGFbaV0ucmVzcG9uc2VfZGF0YSk7CiAgICAgICAgICAgICB9CiAJICAgIGdvdG8g cXVlcnlfaW5fcGFyYWxsZWw7CiAJfQpAQCAtMTI2NCw2ICsxMjk4LDE2IEBAIGRlYnVnaW5mb2Rf cXVlcnlfc2VydmVyIChkZWJ1Z2luZm9kX2NsaWVudCAqYywKICAgdHZzWzBdLnR2X3VzZWMgPSB0 dnNbMV0udHZfdXNlYyA9IDA7CiAgICh2b2lkKSBmdXRpbWVzIChmZCwgdHZzKTsgIC8qIGJlc3Qg ZWZmb3J0ICovCiAKKyAgYy0+d2lubmluZ19oZWFkZXJzID0gTlVMTDsKKyAgZm9yIChpbnQgaSA9 IDA7IGkgPCBudW1fdXJsczsgKytpKQorICAgICAgaWYgKGRhdGFbaV0uaGFuZGxlID09IHZlcmlm aWVkX2hhbmRsZSAmJiBkYXRhW2ldLnJlc3BvbnNlX2RhdGEgIT0gTlVMTCkKKyAgICAgICAgewor ICAgICAgICAgIGMtPndpbm5pbmdfaGVhZGVycyA9IGRhdGFbaV0ucmVzcG9uc2VfZGF0YTsKKyAg ICAgICAgICBpZiAodmZkID49IDApCisgICAgICAgICAgICBkcHJpbnRmKHZmZCwgIlxuJXMiLCBj LT53aW5uaW5nX2hlYWRlcnMpOworICAgICAgICAgIGRhdGFbaV0ucmVzcG9uc2VfZGF0YSA9IE5V TEw7CisgICAgICAgIH0KKwogICAvKiBQUjI3NTcxOiBtYWtlIGNhY2hlIGZpbGVzIGNhc3VhbGx5 IHVud3JpdGVhYmxlOyBkaXJzIGFyZSBhbHJlYWR5IDA3MDAgKi8KICAgKHZvaWQpIGZjaG1vZChm ZCwgMDQwMCk7CiAgICAgICAgICAgICAgICAgCkBAIC0xMjgxLDYgKzEzMjUsNyBAQCBkZWJ1Z2lu Zm9kX3F1ZXJ5X3NlcnZlciAoZGVidWdpbmZvZF9jbGllbnQgKmMsCiAgICAgewogICAgICAgY3Vy bF9tdWx0aV9yZW1vdmVfaGFuZGxlKGN1cmxtLCBkYXRhW2ldLmhhbmRsZSk7IC8qIG9rIHRvIHJl cGVhdCAqLwogICAgICAgY3VybF9lYXN5X2NsZWFudXAgKGRhdGFbaV0uaGFuZGxlKTsKKyAgICAg IGZyZWUgKGRhdGFbaV0ucmVzcG9uc2VfZGF0YSk7CiAgICAgfQogCiAgIGZvciAoaW50IGkgPSAw OyBpIDwgbnVtX3VybHM7ICsraSkKQEAgLTEzMDQsNiArMTM0OSw3IEBAIGRlYnVnaW5mb2RfcXVl cnlfc2VydmVyIChkZWJ1Z2luZm9kX2NsaWVudCAqYywKICAgICB7CiAgICAgICBjdXJsX211bHRp X3JlbW92ZV9oYW5kbGUoY3VybG0sIGRhdGFbaV0uaGFuZGxlKTsgLyogb2sgdG8gcmVwZWF0ICov CiAgICAgICBjdXJsX2Vhc3lfY2xlYW51cCAoZGF0YVtpXS5oYW5kbGUpOworICAgICAgZnJlZSAo ZGF0YVtpXS5yZXNwb25zZV9kYXRhKTsKICAgICB9CiAKICAgdW5saW5rICh0YXJnZXRfY2FjaGVf dG1wcGF0aCk7CkBAIC0xNDE1LDYgKzE0NjEsNyBAQCBkZWJ1Z2luZm9kX2VuZCAoZGVidWdpbmZv ZF9jbGllbnQgKmNsaWVudCkKIAogICBjdXJsX211bHRpX2NsZWFudXAgKGNsaWVudC0+c2VydmVy X21oYW5kbGUpOwogICBjdXJsX3NsaXN0X2ZyZWVfYWxsIChjbGllbnQtPmhlYWRlcnMpOworICBm cmVlIChjbGllbnQtPndpbm5pbmdfaGVhZGVycyk7CiAgIGZyZWUgKGNsaWVudC0+dXJsKTsKICAg ZnJlZSAoY2xpZW50KTsKIH0KQEAgLTE0ODMsNiArMTUzMCwxMyBAQCBkZWJ1Z2luZm9kX3NldF9w cm9ncmVzc2ZuKGRlYnVnaW5mb2RfY2xpZW50ICpjbGllbnQsCiAgIGNsaWVudC0+cHJvZ3Jlc3Nm biA9IGZuOwogfQogCisvKiBSZXR1cm4gdGhlIGh0dHAgcmVzcG9uc2UgaGVhZGVycyB0aGF0IGNh bWUgZnJvbSB0aGUgd2lubmluZyBzZXJ2ZXIgKi8KK2NvbnN0IGNoYXIgKgorZGVidWdpbmZvZF9n ZXRfcmVzcG9uc2VfaGVhZGVycyhkZWJ1Z2luZm9kX2NsaWVudCAqYykKK3sKKyAgcmV0dXJuIGMt Pndpbm5pbmdfaGVhZGVyczsKK30KKwogdm9pZAogZGVidWdpbmZvZF9zZXRfdmVyYm9zZV9mZChk ZWJ1Z2luZm9kX2NsaWVudCAqY2xpZW50LCBpbnQgZmQpCiB7CmRpZmYgLS1naXQgYS9kZWJ1Z2lu Zm9kL2RlYnVnaW5mb2QtZmluZC5jIGIvZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQuYwppbmRl eCAzZThhYjIwMy4uMWVkNzZmZmMgMTAwNjQ0Ci0tLSBhL2RlYnVnaW5mb2QvZGVidWdpbmZvZC1m aW5kLmMKKysrIGIvZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWZpbmQuYwpAQCAtMjE4LDYgKzIxOCw5 IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogICAgICAgY29uc3QgY2hhciogdXJsID0g ZGVidWdpbmZvZF9nZXRfdXJsIChjbGllbnQpOwogICAgICAgaWYgKHVybCAhPSBOVUxMKQogICAg ICAgICBmcHJpbnRmKHN0ZGVyciwgIkRvd25sb2FkZWQgZnJvbSAlc1xuIiwgdXJsKTsKKyAgICAg IGNvbnN0IGNoYXIgKmhlYWRlcnMgPSBkZWJ1Z2luZm9kX2dldF9yZXNwb25zZV9oZWFkZXJzIChj bGllbnQpOworICAgICAgaWYgKGhlYWRlcnMgIT0gTlVMTCkKKyAgICAgICAgZnByaW50ZihzdGRl cnIsICJIZWFkZXJzOlxuJXNcbiIsIGhlYWRlcnMpOwogICAgIH0KIAogICBkZWJ1Z2luZm9kX2Vu ZCAoY2xpZW50KTsKZGlmZiAtLWdpdCBhL2RlYnVnaW5mb2QvZGVidWdpbmZvZC5jeHggYi9kZWJ1 Z2luZm9kL2RlYnVnaW5mb2QuY3h4CmluZGV4IDRkZGQ5MjU1Li5jYzY1M2EzYSAxMDA2NDQKLS0t IGEvZGVidWdpbmZvZC9kZWJ1Z2luZm9kLmN4eAorKysgYi9kZWJ1Z2luZm9kL2RlYnVnaW5mb2Qu Y3h4CkBAIC0xMDYzLDYgKzEwNjMsOCBAQCBoYW5kbGVfYnVpbGRpZF9mX21hdGNoIChib29sIGlu dGVybmFsX3JlcV90LAogICBlbHNlCiAgICAgewogICAgICAgTUhEX2FkZF9yZXNwb25zZV9oZWFk ZXIgKHIsICJDb250ZW50LVR5cGUiLCAiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIik7CisgICAg ICAodm9pZCkgTUhEX2FkZF9yZXNwb25zZV9oZWFkZXIociwgIlgtRklMRS1TSVpFIiwgc3RkOjp0 b19zdHJpbmcocy5zdF9zaXplKS5jX3N0cigpKTsKKyAgICAgICh2b2lkKSBNSERfYWRkX3Jlc3Bv bnNlX2hlYWRlcihyLCAiWC1GSUxFIiwgYl9zb3VyY2UwLmNfc3RyKCkpOwogICAgICAgYWRkX21o ZF9sYXN0X21vZGlmaWVkIChyLCBzLnN0X210aW1lKTsKICAgICAgIGlmICh2ZXJib3NlID4gMSkK ICAgICAgICAgb2JhdGNoZWQoY2xvZykgPDwgInNlcnZpbmcgZmlsZSAiIDw8IGJfc291cmNlMCA8 PCBlbmRsOwpAQCAtMTY3Myw2ICsxNjc1LDE1IEBAIGhhbmRsZV9idWlsZGlkX3JfbWF0Y2ggKGJv b2wgaW50ZXJuYWxfcmVxX3AsCiAgICAgICBlbHNlCiAgICAgICAgIHsKICAgICAgICAgICBNSERf YWRkX3Jlc3BvbnNlX2hlYWRlciAociwgIkNvbnRlbnQtVHlwZSIsICJhcHBsaWNhdGlvbi9vY3Rl dC1zdHJlYW0iKTsKKyAgICAgICAgICBzaXplX3QgcGxhY2UgPSBiX3NvdXJjZTAuZmluZF9sYXN0 X29mKCIvIik7CisKKyAgICAgICAgICBpZiAocGxhY2UgPT0gc3RyaW5nOjpucG9zKQorICAgICAg ICAgICAgKHZvaWQpIE1IRF9hZGRfcmVzcG9uc2VfaGVhZGVyKHIsICJYLUFSQ0hJVkUiLCBiX3Nv dXJjZTAuY19zdHIoKSk7CisgICAgICAgICAgZWxzZQorICAgICAgICAgICAgKHZvaWQpIE1IRF9h ZGRfcmVzcG9uc2VfaGVhZGVyKHIsICJYLUFSQ0hJVkUiLCAoY2hhciAqKSAoKHVuc2lnbmVkIGxv bmcpYl9zb3VyY2UwLmNfc3RyKCkgKyBwbGFjZSArIDEpICk7CisKKyAgICAgICAgICAodm9pZCkg TUhEX2FkZF9yZXNwb25zZV9oZWFkZXIociwgIlgtRklMRSIsIGJfc291cmNlMS5jX3N0cigpKTsK KyAgICAgICAgICAodm9pZCkgTUhEX2FkZF9yZXNwb25zZV9oZWFkZXIociwgIlgtRklMRS1TSVpF Iiwgc3RkOjp0b19zdHJpbmcoZnMuc3Rfc2l6ZSkuY19zdHIoKSk7CiAgICAgICAgICAgYWRkX21o ZF9sYXN0X21vZGlmaWVkIChyLCBhcmNoaXZlX2VudHJ5X210aW1lKGUpKTsKICAgICAgICAgICBp ZiAodmVyYm9zZSA+IDEpCiAgICAgICAgICAgICBvYmF0Y2hlZChjbG9nKSA8PCAic2VydmluZyBh cmNoaXZlICIgPDwgYl9zb3VyY2UwIDw8ICIgZmlsZSAiIDw8IGJfc291cmNlMSA8PCBlbmRsOwpk aWZmIC0tZ2l0IGEvZGVidWdpbmZvZC9kZWJ1Z2luZm9kLmguaW4gYi9kZWJ1Z2luZm9kL2RlYnVn aW5mb2QuaC5pbgppbmRleCBjMzU4ZGY0ZC4uMjFhMWJhYjggMTAwNjQ0Ci0tLSBhL2RlYnVnaW5m b2QvZGVidWdpbmZvZC5oLmluCisrKyBiL2RlYnVnaW5mb2QvZGVidWdpbmZvZC5oLmluCkBAIC05 Myw2ICs5Myw5IEBAIHZvaWQqIGRlYnVnaW5mb2RfZ2V0X3VzZXJfZGF0YSAoZGVidWdpbmZvZF9j bGllbnQgKmNsaWVudCk7CiAvKiBHZXQgdGhlIGN1cnJlbnQgb3IgbGFzdCBhY3RpdmUgVVJMLCBp ZiBrbm93bi4gICovCiBjb25zdCBjaGFyKiBkZWJ1Z2luZm9kX2dldF91cmwgKGRlYnVnaW5mb2Rf Y2xpZW50ICpjbGllbnQpOwogCisvKiBHZXQgbGFzdCBzZXQgb2YgSFRUUCByZXNwb25zZSBoZWFk ZXJzLCBpZiBrbm93bi4gICovCitjb25zdCBjaGFyKiBkZWJ1Z2luZm9kX2dldF9yZXNwb25zZV9o ZWFkZXJzIChkZWJ1Z2luZm9kX2NsaWVudCAqY2xpZW50KTsKKyAgCiAvKiBBZGQgYW4gb3V0Z29p bmcgSFRUUCByZXF1ZXN0ICAiSGVhZGVyOiBWYWx1ZSIuICBDb3BpZXMgc3RyaW5nLiAgKi8KIGlu dCBkZWJ1Z2luZm9kX2FkZF9odHRwX2hlYWRlciAoZGVidWdpbmZvZF9jbGllbnQgKmNsaWVudCwg Y29uc3QgY2hhciogaGVhZGVyKTsKIApkaWZmIC0tZ2l0IGEvZGVidWdpbmZvZC9saWJkZWJ1Z2lu Zm9kLm1hcCBiL2RlYnVnaW5mb2QvbGliZGVidWdpbmZvZC5tYXAKaW5kZXggN2QyZjU4ODIuLjE3 OThmZjYzIDEwMDY0NAotLS0gYS9kZWJ1Z2luZm9kL2xpYmRlYnVnaW5mb2QubWFwCisrKyBiL2Rl YnVnaW5mb2QvbGliZGVidWdpbmZvZC5tYXAKQEAgLTE4LDMgKzE4LDYgQEAgRUxGVVRJTFNfMC4x NzkgewogRUxGVVRJTFNfMC4xODMgewogICBkZWJ1Z2luZm9kX3NldF92ZXJib3NlX2ZkOwogfSBF TEZVVElMU18wLjE3OTsKK0VMRlVUSUxTXzAuMTg2IHsKKyAgZGVidWdpbmZvZF9nZXRfcmVzcG9u c2VfaGVhZGVyczsKK30gRUxGVVRJTFNfMC4xODM7CmRpZmYgLS1naXQgYS9kb2MvQ2hhbmdlTG9n IGIvZG9jL0NoYW5nZUxvZwppbmRleCAxODIyZmM2Yi4uODU1Y2M0YTIgMTAwNjQ0Ci0tLSBhL2Rv Yy9DaGFuZ2VMb2cKKysrIGIvZG9jL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkgQEAKKzIwMjEtMDgt MDQgIE5vYWggU2FuY2kgIDxuc2FuY2lAcmVkaGF0LmNvbT4KKworCVBSMjcyNzcKKwkqIGRlYnVn aW5mb2QtZmluZC4xOiBJbmNyZWFzaW5nIHZlcmJvc2l0eSBkZXNjcmliZXMgdGhlIGRvd25sb2Fk ZWQKKwlmaWxlLgorCiAyMDIxLTA3LTI2ICBOb2FoIFNhbmNpIDxuc2FuY2lAcmVkaGF0LmNvbT4K IAogCVBSMjc5ODIKZGlmZiAtLWdpdCBhL2RvYy9kZWJ1Z2luZm9kLWZpbmQuMSBiL2RvYy9kZWJ1 Z2luZm9kLWZpbmQuMQppbmRleCA0ODJhOGFlNy4uOTAxMGFhN2IgMTAwNjQ0Ci0tLSBhL2RvYy9k ZWJ1Z2luZm9kLWZpbmQuMQorKysgYi9kb2MvZGVidWdpbmZvZC1maW5kLjEKQEAgLTExMCw3ICsx MTAsOCBAQCBsIGwuCiAKIC5UUAogLkIgIlwtdiIKLUluY3JlYXNlIHZlcmJvc2l0eSwgaW5jbHVk aW5nIHByaW50aW5nIGZyZXF1ZW50IGRvd25sb2FkLXByb2dyZXNzIG1lc3NhZ2VzLgorSW5jcmVh c2UgdmVyYm9zaXR5LCBpbmNsdWRpbmcgcHJpbnRpbmcgZnJlcXVlbnQgZG93bmxvYWQtcHJvZ3Jl c3MgbWVzc2FnZXMKK2FuZCBwcmludGluZyBhIGJyaWVmIGRlc2NyaXB0aW9uIG9mIHRoZSBkb3du bG9hZGVkIGZpbGUuCiAKIAogLlNIICJTRUNVUklUWSIKZGlmZiAtLWdpdCBhL3Rlc3RzL0NoYW5n ZUxvZyBiL3Rlc3RzL0NoYW5nZUxvZwppbmRleCAzNDY2NjYwOS4uM2NhODE0MTggMTAwNjQ0Ci0t LSBhL3Rlc3RzL0NoYW5nZUxvZworKysgYi90ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5IEBA CisyMDIxLTA4LTAyICBOb2FoIFNhbmNpICA8bnNhbmNpQHJlZGhhdC5jb20+CisKKwlQUjI3Mjc3 CisJKiBydW4tZGVidWdpbmZvZC1maW5kLnNoOiBBZGQgYSB0ZXN0IHRvIGVuc3VyZSB0aGF0IGZp bGUgZGVzY3JpcHRpb25zCisJYXJlIGFjY3VyYXRlIGZvciBmaWxlcyBvdXRzaWRlIG9yIHdpdGhp biBhcmNoaXZlcworCiAyMDIxLTA3LTI2ICBOb2FoIFNhbmNpICA8bnNhbmNpQHJlZGhhdC5jb20+ CiAKIAlQUjI3OTgyCmRpZmYgLS1naXQgYS90ZXN0cy9ydW4tZGVidWdpbmZvZC1maW5kLnNoIGIv dGVzdHMvcnVuLWRlYnVnaW5mb2QtZmluZC5zaAppbmRleCA5OTFkMWRjNS4uNzEwYWMwM2YgMTAw NzU1Ci0tLSBhL3Rlc3RzL3J1bi1kZWJ1Z2luZm9kLWZpbmQuc2gKKysrIGIvdGVzdHMvcnVuLWRl YnVnaW5mb2QtZmluZC5zaApAQCAtNTI2LDcgKzUyNiwyNCBAQCB3YWl0X3JlYWR5ICRQT1JUMSAn ZmRjYWNoZV9vcF9jb3VudHtvcD0iZXZpY3QifScgJCggZ3JlcCAtYyAnZXZpY3RlZCBhPS4qJyB2 bG9nJAogd2FpdF9yZWFkeSAkUE9SVDEgJ2ZkY2FjaGVfb3BfY291bnR7b3A9InByZWZldGNoX2Vu cXVldWUifScgJCggZ3JlcCAtYyAnaW50ZXJuZWQuKmZyb250PTAnIHZsb2ckUE9SVDEgKQogd2Fp dF9yZWFkeSAkUE9SVDEgJ2ZkY2FjaGVfb3BfY291bnR7b3A9InByZWZldGNoX2V2aWN0In0nICQo IGdyZXAgLWMgJ2V2aWN0ZWQgZnJvbSBwcmVmZXRjaCBhPS4qZnJvbnQ9MCcgdmxvZyRQT1JUMSB8 fCB0cnVlICkKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCisjIyBQUjI3Mjc3CisjIENoZWNrIHRvIHNlZSBp ZiBzb3VyY2UgZmlsZSBub3QgbG9jYXRlZCBpbiBhbiBhcmNoaXZlIHByaW50cyB0aGUgZmlsZSdz IGRlc2NyaXB0aW9uCitlbnYgREVCVUdJTkZPRF9VUkxTPSJodHRwOi8vMTI3LjAuMC4xOiRQT1JU MSIgTERfTElCUkFSWV9QQVRIPSRsZHBhdGggREVCVUdJTkZPRF9NQVNJWkU9MVwKKyAke2Fic190 b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIC12IHNvdXJjZSAkQlVJTERJ RDIgJHtQV0R9L3Byb2cyLmMgPiB2bG9nLWZpbmQkUE9SVDEuMSAyPiYxCisKK3RlbXBmaWxlcyB2 bG9nLWZpbmQkUE9SVDEuMQorZ3JlcCAnWC1GSUxFOiAnJChyZWFscGF0aCAkUFdEKScvcHJvZzIu YycgdmxvZy1maW5kJFBPUlQxLjEKK2dyZXAgJ1gtRklMRS1TSVpFOiAnJCh3YyAtYyAke1BXRH0n L3Byb2cyLmMnIHwgYXdrICd7cHJpbnQgJDF9JykgdmxvZy1maW5kJFBPUlQxLjEKKworIyBDaGVj ayB0byBzZWUgaWYgYW4gZXhlY3V0YWJsZSBmaWxlIGxvY2F0ZWQgaW4gYW4gYXJjaGl2ZSBwcmlu dHMgdGhlIGZpbGUncyBkZXNjcmlwdGlvbiBhbmQgYXJjaGl2ZQorZW52IERFQlVHSU5GT0RfVVJM Uz0iaHR0cDovLzEyNy4wLjAuMTokUE9SVDEiIExEX0xJQlJBUllfUEFUSD0kbGRwYXRoIFwKKyAk e2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kICRWRVJCT1NFIGV4 ZWN1dGFibGUgYzM2NzA4YTc4NjE4ZDU5N2RlZTE1ZDBkYzk4OWYwOTNjYTVmOTEyMCA+IHZsb2ct ZmluZCRQT1JUMS4yIDI+JjEKKwordGVtcGZpbGVzIHZsb2ctZmluZCRQT1JUMS4yCitncmVwICdY LUZJTEU6ICcgdmxvZy1maW5kJFBPUlQxLjIKK2dyZXAgJ1gtRklMRS1TSVpFOiAnIHZsb2ctZmlu ZCRQT1JUMS4yCitncmVwICdYLUFSQ0hJVkU6IGhlbGxvMi0xLjAtMi54ODZfNjQucnBtJyB2bG9n LWZpbmQkUE9SVDEuMgorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIEZlZGVyYXRpb24gbW9kZQogCiAjIGZp bmQgYW5vdGhlciB1bnVzZWQgcG9ydAotLSAKMi4zMS4xCgo= --000000000000a43cd905c8c054f2--