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 E7C0E39450F2 for ; Fri, 30 Jul 2021 13:40:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E7C0E39450F2 Received: from mail-il1-f197.google.com (mail-il1-f197.google.com [209.85.166.197]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-12-Wl81G8vLNX-bJ8dTsn1afw-1; Fri, 30 Jul 2021 09:40:08 -0400 X-MC-Unique: Wl81G8vLNX-bJ8dTsn1afw-1 Received: by mail-il1-f197.google.com with SMTP id g9-20020a92cda90000b029020cc3319a86so5037041ild.18 for ; Fri, 30 Jul 2021 06:40:07 -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:references:in-reply-to:from:date :message-id:subject:to:cc; bh=hGlBVpwmT3CYsabuU+7SdLaPw/c/GIwGPIXF2eTJBu0=; b=IVyBzOU6g1j+bToPXga3mNIIbV/Y6008AloTnxriu/Qaz9Iw8aEYC5xR+JExlRGPgv CZd1MT3hzejiMoPQ8wB/Rru7nTpw/EGQVZlRCawkrq0YGbWBFzyDfmJQYYqGWudNp0yU 9IT7H9zmpTmDuxXf+PsvKjmkCFypof0tkXX3qktTgfNVPUikbXASLXRlPmpJf8Qvf45i geYFlY3UEbR7KffsTg5+wxDBCT68ZrZsf0s3evze6BQUAPifgVISECHEVNAa0ISr1xIe LZkfX6MjOjuaztniQtAK7AwCzLxqKu+nwpZq2fVukkzh7HzB2xiGQwzrcCpUtayf899v oByg== X-Gm-Message-State: AOAM530C4X4XcftAI/R+kdlo1zgiNzW37uLwZs4qMUGnWyvfACs646NN JhEfYCkM+nYlmLSGljifXLtFJxPomQ48l1SqidMHqEfdhZ8ya0DA8tazh0gpf4wM9aa2FPAFeEO avtr1shbCbbNP/wRErNoHfZ8GiX+oMvg4Y1FuDyeeZQ== X-Received: by 2002:a02:c991:: with SMTP id b17mr2184428jap.131.1627652407245; Fri, 30 Jul 2021 06:40:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw+WbUR8xKZFGyjPqe0SIwH1XGjlc1CfM36CsdVCK3zOKJEcj7d19ZeFrAYskk1NksSFLr+AzPJLvkka+i49YM= X-Received: by 2002:a02:c991:: with SMTP id b17mr2184421jap.131.1627652407039; Fri, 30 Jul 2021 06:40:07 -0700 (PDT) MIME-Version: 1.0 References: <34693753bef32fe1583538ca8ca7abe42f7d49a1.camel@klomp.org> In-Reply-To: From: Noah Sanci Date: Fri, 30 Jul 2021 09:39:56 -0400 Message-ID: Subject: Re: [Bug debuginfod/27982] added DEBUGINFOD_MAXSIZE and DEBUGINFOD_MAXTIME To: Mark Wielaard Cc: elfutils-devel@sourceware.org X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="0000000000008a542a05c8575bac" X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_BADIPHTTP, KAM_SHORT, NUMERIC_HTTP_ADDR, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP, WEIRD_PORT 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: Fri, 30 Jul 2021 13:40:12 -0000 --0000000000008a542a05c8575bac Content-Type: text/plain; charset="UTF-8" Hello, Here is the real patch :). Thanks, Noah On Fri, Jul 30, 2021 at 7:11 AM Mark Wielaard wrote: > > Hi Noah, > > On Thu, 2021-07-29 at 16:29 -0400, Noah Sanci wrote: > > Why have MAXTIME default to LONG_MAX? Which is long, but different > > > on > > > different arches 32/64bit. If MAXSIZE == 0 means infinite, why not make > > > MAXTIME=0 the same for consistency? > > > > Fixed. > > > > > The bug suggests to also check the Content-Length header on reciept (in > > > case the server didn't support or respect the X-DEBUGINFOD-MAXSIZE > > > header. Did you try to implement that? > > > > Fixed. > > > > > I believe various error handling goto out1 should be goto out2 (after > > > your duplicate urls patch). Could you double check that? > > > > Fixed. > > > > > diff --git a/tests/run-debuginfod-find.sh b/tests/run-debuginfod-find.sh > > > index feec5ddf..8ed7743d 100755 > > > --- a/tests/run-debuginfod-find.sh > > > +++ b/tests/run-debuginfod-find.sh > > > @@ -187,7 +187,7 @@ tempfiles find-vlog$PORT1 > > > # wait for the server to fail the same number of times the query is retried. > > > wait_ready $PORT1 'http_responses_after_you_milliseconds_count{code="406"}' 1 > > > # quickly ensure all reporting is functional > > > -grep 'serving file '${PWD}'/F/p+r%o\$g.debug' vlog$PORT1 > > > +grep 'serving file '$(realpath ${PWD})'/F/p+r%o\$g.debug' vlog$PORT1 > > > grep 'File too large' vlog$PORT1 > > > grep 'using max size 1B' find-vlog$PORT1 > > > if [ -f ${DEBUGINFOD_CACHE_PATH}/${BUILDID} ]; then > > > > Fixed. > > Great. Thanks. Although you don't just have to do things the way I like > them. Feel free to push back and tell me you feel the solution you > chose is better than what I am suggesting. It really is a conversation. > > > Find all the fixes in the attached patch. > > Looks like you attached the wrong patch (url-duplicate) > > Cheers, > > Mark > --0000000000008a542a05c8575bac Content-Type: text/x-patch; charset="US-ASCII"; name="0001-debuginfod-PR27982-added-DEBUGINFOD_MAXSIZE-and-DEBU.patch" Content-Disposition: attachment; filename="0001-debuginfod-PR27982-added-DEBUGINFOD_MAXSIZE-and-DEBU.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_krqe6w8m0 RnJvbSBiN2UyOGE2YTFjNWUyNjY0Y2RhZWZmN2U3ZjVhYzM5YWViZmMxMmQwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOb2FoIFNhbmNpIDxuc2FuY2lAcmVkaGF0LmNvbT4KRGF0ZTog TW9uLCAyNiBKdWwgMjAyMSAxMzoyOToxMSAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIGRlYnVnaW5m b2Q6IFBSMjc5ODIgLSBhZGRlZCBERUJVR0lORk9EX01BWFNJWkUgYW5kCiBERUJVR0lORk9EX01B WFRJTUUKCkRFQlVHSU5GT0RfVElNRU9VVCBpcyBhIGdvb2Qgd2F5IHRvIGNhdGNoIHNlcnZlcnMg dGhhdCBhcmUgdG9vIHNsb3cgdG8KKnN0YXJ0KiB0cmFuc21pdHRpbmcgYSBmaWxlLiAgQnV0IHdl IGhhdmUgbm8gd2F5IG9mIGxpbWl0aW5nIHRvdGFsCmRvd25sb2FkIHRpbWUgb3Igc3BhY2UuICBB IHVzZXIgbWlnaHQgcHJlZmVyIHRvIGhhdmUgaGlzIGRlYnVnZ2VyIGZldGNoCm9ubHkgcXVpY2sg JiBzbWFsbCBmaWxlcywgYW5kIG1ha2UgZG8gd2l0aG91dCB0aGUgYmlnZ2VyIG9uZXMuICBTb21l CnRyYW5zaXRpdmUgZGVwZW5kZW5jaWVzIG9mIGUuZy4gZ25vbWUgcHJvZ3JhbXMgYXJlIGh1Z2U6 IDNHQiBvZiBMTFZNCmRlYnVnaW5mbywgMUdCIG9mIHdlYmtpdGd0aywgZXRjLiBldGMuCkRFQlVH SU5GT0RfTUFYU0laRSBhbmQgREVCVUdJTkZPRF9NQVhUSU1FIHdlcmUgYWRkZWQgdG8gZGljdGF0 ZSB0aGUKbWF4IGRvd25sb2FkIHNpemUgYW5kIHRpbWUgb2YgYSBkZWJ1Z2luZm9kIGNsaWVudC4g REVCVUdJTkZPRF9NQVhTSVpFCmlzIGhhbmRsZWQgc2VydmVyLXNpZGUgYW5kIGlzIHNlbnQgdXNp bmcgdGhlIGh0dHAgaGVhZGVyOgpYLURFQlVHSU5GT0QtTUFYU0laRS4gVGhlIGNsaWVudCBzaWRl IHRoZW4gY2hlY2tzIHRvIGVuc3VyZSB0aGlzIG1heHNpemUKaGFzIGJlZW4gcmVzcGVjdGVkLgoK aHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9Mjc5ODIKClNp Z25lZC1vZmYtYnk6IE5vYWggU2FuY2kgPG5zYW5jaUByZWRoYXQuY29tPgotLS0KIGRlYnVnaW5m b2QvQ2hhbmdlTG9nICAgICAgICAgICB8IDEyICsrKysrCiBkZWJ1Z2luZm9kL2RlYnVnaW5mb2Qt Y2xpZW50LmMgfCA5OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiBkZWJ1Z2lu Zm9kL2RlYnVnaW5mb2QuY3h4ICAgICAgfCAxMyArKysrKwogZGVidWdpbmZvZC9kZWJ1Z2luZm9k LmguaW4gICAgIHwgIDIgKwogZG9jL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgIHwgIDYgKysr CiBkb2MvZGVidWdpbmZvZC1maW5kLjEgICAgICAgICAgfCAxNSArKysrKysKIHRlc3RzL0NoYW5n ZUxvZyAgICAgICAgICAgICAgICB8ICA3ICsrKwogdGVzdHMvcnVuLWRlYnVnaW5mb2QtZmluZC5z aCAgIHwgMjYgKysrKysrKysrCiA4IGZpbGVzIGNoYW5nZWQsIDE3NyBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RlYnVnaW5mb2QvQ2hhbmdlTG9nIGIvZGVidWdp bmZvZC9DaGFuZ2VMb2cKaW5kZXggODFlYjU2ZjkuLjllODJkNzhkIDEwMDY0NAotLS0gYS9kZWJ1 Z2luZm9kL0NoYW5nZUxvZworKysgYi9kZWJ1Z2luZm9kL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1 IEBACisyMDIxLTA3LTI2ICBOb2FoIFNhbmNpICA8bnNhbmNpQHJlZGhhdC5jb20+CisKKwlQUjI3 OTgyCisJKiBkZWJ1Z2luZm9kLWNsaWVudC5jIChnbG9iYWxzKTogYWRkZWQgZGVmYXVsdF9tYXhz aXplIGFuZAorCWRlZmF1bHRfbWF4dGltZS4KKwkoZGVidWdpbmZvZF9xdWVyeV9zZXJ2ZXIpOiBB ZGRlZCBERUJVR0lORk9EX01BWFNJWkUgYW5kCisJREVCVUdJTkZPRF9NQVhUSU1FIGVudnZhciBw cm9jZXNzaW5nLgorCSogZGVidWdpbmZvZC5jeHggKGhhbmRsZXJfY2IpOiBJZiB0aGUgcmVxdWVz dGVkIGZpbGUgZXhjZWVkcworCW1heHNpemUgcmV0dXJuIGNvZGUgNDA2LgorCSogZGVidWdpbmZv ZC5oLmluOiBBZGRlZCBERUJVR0lORk9EX01BWFNJWkVfRU5WX1ZBUiBhbmQKKwlERUJVR0lORk9E X01BWFRJTUVfRU5WX1ZBUi4KKwogMjAyMS0wNy0xNiAgTm9haCBTYW5jaSAgPG5zYW5jaUByZWRo YXQuY29tPgogCiAJUFIyODAzNApkaWZmIC0tZ2l0IGEvZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWNs aWVudC5jIGIvZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWNsaWVudC5jCmluZGV4IGE3MGY2ZDc5Li43 ZDRiMjIwZiAxMDA2NDQKLS0tIGEvZGVidWdpbmZvZC9kZWJ1Z2luZm9kLWNsaWVudC5jCisrKyBi L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1jbGllbnQuYwpAQCAtNTU1LDYgKzU1NSwzOSBAQCBkZWJ1 Z2luZm9kX3F1ZXJ5X3NlcnZlciAoZGVidWdpbmZvZF9jbGllbnQgKmMsCiAgIGZyZWUgKGMtPnVy bCk7CiAgIGMtPnVybCA9IE5VTEw7CiAKKyAgLyogUFIgMjc5ODI6IEFkZCBtYXggc2l6ZSBpZiBE RUJVR0lORk9EX01BWFNJWkUgaXMgc2V0LiAqLworICBsb25nIG1heHNpemUgPSAwOworICBjb25z dCBjaGFyICptYXhzaXplX2VudnZhcjsKKyAgbWF4c2l6ZV9lbnZ2YXIgPSBnZXRlbnYoREVCVUdJ TkZPRF9NQVhTSVpFX0VOVl9WQVIpOworICBpZiAobWF4c2l6ZV9lbnZ2YXIgIT0gTlVMTCkKKyAg ICBtYXhzaXplID0gYXRvbCAobWF4c2l6ZV9lbnZ2YXIpOworCisgIC8qIFBSIDI3OTgyOiBBZGQg bWF4IHRpbWUgaWYgREVCVUdJTkZPRF9NQVhUSU1FIGlzIHNldC4gKi8KKyAgbG9uZyBtYXh0aW1l ID0gMDsKKyAgY29uc3QgY2hhciAqbWF4dGltZV9lbnZ2YXI7CisgIG1heHRpbWVfZW52dmFyID0g Z2V0ZW52KERFQlVHSU5GT0RfTUFYVElNRV9FTlZfVkFSKTsKKyAgaWYgKG1heHRpbWVfZW52dmFy ICE9IE5VTEwpCisgICAgbWF4dGltZSA9IGF0b2wgKG1heHRpbWVfZW52dmFyKTsKKyAgaWYgKG1h eHRpbWUgJiYgdmZkID49IDApCisgICAgZHByaW50Zih2ZmQsICJ1c2luZyBtYXggdGltZSAlbGRz XG4iLCBtYXh0aW1lKTsKKworICAvKiBNYXhzaXplIGlzIHZhbGlkKi8KKyAgaWYgKG1heHNpemUg PiAwKQorICAgIHsKKyAgICAgIGlmICh2ZmQpCisgICAgICAgIGRwcmludGYgKHZmZCwgInVzaW5n IG1heCBzaXplICVsZEJcbiIsIG1heHNpemUpOworICAgICAgY2hhciAqc2l6ZV9oZWFkZXIgPSBO VUxMOworICAgICAgcmMgPSBhc3ByaW50ZiAoJnNpemVfaGVhZGVyLCAiWC1ERUJVR0lORk9ELU1B WFNJWkU6ICVsZCIsIG1heHNpemUpOworICAgICAgaWYgKHJjIDwgMCkKKyAgICAgICAgeworICAg ICAgICAgIHJjID0gLUVOT01FTTsKKyAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgfQorICAg ICAgcmMgPSBkZWJ1Z2luZm9kX2FkZF9odHRwX2hlYWRlcihjLCBzaXplX2hlYWRlcik7CisgICAg ICBmcmVlKHNpemVfaGVhZGVyKTsKKyAgICAgIGlmIChyYyA8IDApCisgICAgICAgIGdvdG8gb3V0 OworICAgIH0KICAgYWRkX2RlZmF1bHRfaGVhZGVycyhjKTsKIAogICAvKiBDb3B5IGxvd2VyY2Fz ZSBoZXggcmVwcmVzZW50YXRpb24gb2YgYnVpbGRfaWQgaW50byBidWYuICAqLwpAQCAtODMzLDcg Kzg2Niw3IEBAIGRlYnVnaW5mb2RfcXVlcnlfc2VydmVyIChkZWJ1Z2luZm9kX2NsaWVudCAqYywK ICAgaWYgKGRhdGEgPT0gTlVMTCkKICAgICB7CiAgICAgICByYyA9IC1FTk9NRU07Ci0gICAgICBn b3RvIG91dDA7CisgICAgICBnb3RvIG91dDE7CiAgICAgfQogCiAgIC8qIHRoZXJlYWZ0ZXIsIGdv dG8gb3V0MSBvbiBlcnJvci4gICovCkBAIC04NjQsNyArODk3LDcgQEAgZGVidWdpbmZvZF9xdWVy eV9zZXJ2ZXIgKGRlYnVnaW5mb2RfY2xpZW50ICpjLAogICAgICAgaWYgKGRhdGFbaV0uaGFuZGxl ID09IE5VTEwpCiAgICAgICAgIHsKICAgICAgICAgICByYyA9IC1FTkVUVU5SRUFDSDsKLSAgICAg ICAgICBnb3RvIG91dDI7CisgICAgICAgICAgZ290byBvdXQxOwogICAgICAgICB9CiAgICAgICBk YXRhW2ldLmNsaWVudCA9IGM7CiAKQEAgLTg3Niw3ICs5MDksNyBAQCBkZWJ1Z2luZm9kX3F1ZXJ5 X3NlcnZlciAoZGVidWdpbmZvZF9jbGllbnQgKmMsCiAgICAgICAgICAgaWYgKCFlc2NhcGVkX3N0 cmluZykKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgcmMgPSAtRU5PTUVNOwotICAgICAg ICAgICAgICBnb3RvIG91dDE7CisgICAgICAgICAgICAgIGdvdG8gb3V0MjsKICAgICAgICAgICAg IH0KICAgICAgICAgICBzbnByaW50ZihkYXRhW2ldLnVybCwgUEFUSF9NQVgsICIlcy8lcy8lcy8l cyIsIHNlcnZlcl91cmwsCiAgICAgICAgICAgICAgICAgICAgYnVpbGRfaWRfYnl0ZXMsIHR5cGUs IGVzY2FwZWRfc3RyaW5nKTsKQEAgLTkyNyw4ICs5NjAsMzEgQEAgZGVidWdpbmZvZF9xdWVyeV9z ZXJ2ZXIgKGRlYnVnaW5mb2RfY2xpZW50ICpjLAogICBsb25nIGxvb3BzID0gMDsKICAgaW50IGNv bW1pdHRlZF90byA9IC0xOwogICBib29sIHZlcmJvc2VfcmVwb3J0ZWQgPSBmYWxzZTsKKyAgc3Ry dWN0IHRpbWVzcGVjIHN0YXJ0X3RpbWUsIGN1cl90aW1lOworICBpZiAoIG1heHRpbWUgPiAwICYm IGNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDX1JBVywgJnN0YXJ0X3RpbWUpID09IC0xKQor ICAgIHsKKyAgICAgIHJjID0gZXJybm87CisgICAgICBnb3RvIG91dDI7CisgICAgfQorICBsb25n IGRlbHRhID0gMDsKICAgZG8KICAgICB7CisgICAgICAvKiBDaGVjayB0byBzZWUgaG93IGxvbmcg cXVlcnlpbmcgaXMgdGFraW5nLiAqLworICAgICAgaWYgKG1heHRpbWUgPiAwKQorICAgICAgICB7 CisgICAgICAgICAgaWYgKGNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDX1JBVywgJmN1cl90 aW1lKSA9PSAtMSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgcmMgPSBlcnJubzsKKyAg ICAgICAgICAgICAgZ290byBvdXQyOworICAgICAgICAgICAgfQorICAgICAgICAgIGRlbHRhID0g Y3VyX3RpbWUudHZfc2VjIC0gc3RhcnRfdGltZS50dl9zZWM7CisgICAgICAgICAgaWYgKCBkZWx0 YSA+ICBtYXh0aW1lKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICBkcHJpbnRmKHZmZCwg IlRpbWVvdXQgd2l0aCBtYXggdGltZT0lbGRzIGFuZCB0cmFuc2ZlciB0aW1lPSVsZHNcbiIsIG1h eHRpbWUsIGRlbHRhICk7CisgICAgICAgICAgICAgIHJjID0gLUVUSU1FOworICAgICAgICAgICAg ICBnb3RvIG91dDI7CisgICAgICAgICAgICB9CisgICAgICAgIH0KICAgICAgIC8qIFdhaXQgMSBz ZWNvbmQsIHRoZSBtaW5pbXVtIERFQlVHSU5GT0RfVElNRU9VVC4gICovCiAgICAgICBjdXJsX211 bHRpX3dhaXQoY3VybG0sIE5VTEwsIDAsIDEwMDAsIE5VTEwpOwogCkBAIC0xMDEwLDYgKzEwNjYs MjkgQEAgZGVidWdpbmZvZF9xdWVyeV9zZXJ2ZXIgKGRlYnVnaW5mb2RfY2xpZW50ICpjLAogICAg ICAgICAgIGlmICgoKmMtPnByb2dyZXNzZm4pIChjLCBwYSwgcGIpKQogICAgICAgICAgICAgYnJl YWs7CiAgICAgICAgIH0KKyAgICAgIC8qIENoZWNrIHRvIHNlZSBpZiB3ZSBhcmUgZG93bmxvYWRp bmcgc29tZXRoaW5nIHdoaWNoIGV4Y2VlZHMgbWF4c2l6ZSwgaWYgc2V0LiovCisgICAgICBpZiAo bWF4c2l6ZSA+IDAgJiYgdGFyZ2V0X2hhbmRsZSkKKyAgICAgICAgeworICAgICAgICAgIGxvbmcg ZGxfc2l6ZSA9IDA7CisjaWZkZWYgQ1VSTElORk9fU0laRV9ET1dOTE9BRF9UCisgICAgICAgICAg Y3VybF9vZmZfdCBkb3dubG9hZF9zaXplX3Q7CisgICAgICAgICAgaWYgKGN1cmxfZWFzeV9nZXRp bmZvKHRhcmdldF9oYW5kbGUsIENVUkxJTkZPX0NPTlRFTlRfTEVOR1RIX0RPV05MT0FEX1QsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRvd25s b2FkX3NpemVfdCkgPT0gQ1VSTEVfT0spCisgICAgICAgICAgICBkbF9zaXplID0gZG93bmxvYWRf c2l6ZV90ID49IChkb3VibGUpKExPTkdfTUFYKzFVTCkgPyBMT05HX01BWCA6IChsb25nKWRvd25s b2FkX3NpemVfdDsKKyNlbHNlCisgICAgICAgICAgZG91YmxlIGRvd25sb2FkX3NpemU7CisgICAg ICAgICAgaWYgKGN1cmxfZWFzeV9nZXRpbmZvKHRhcmdldF9oYW5kbGUsIENVUkxJTkZPX0NPTlRF TlRfTEVOR1RIX0RPV05MT0FELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZkb3dubG9hZF9zaXplKSA9PSBDVVJMRV9PSykKKyAgICAgICAgICAg IGRsX3NpemUgPSBkb3dubG9hZF9zaXplID49IChkb3VibGUpKExPTkdfTUFYKzFVTCkgPyBMT05H X01BWCA6IChsb25nKWRvd25sb2FkX3NpemU7CisjZW5kaWYKKyAgICAgICAgICAgIGlmIChkbF9z aXplID4gbWF4c2l6ZSkKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICh2ZmQg Pj0wKQorICAgICAgICAgICAgICAgICAgZHByaW50Zih2ZmQsICJDb250ZW50LUxlbmd0aCB0b28g bGFyZ2UuXG4iKTsKKyAgICAgICAgICAgICAgICByYyA9IC1FRkJJRzsKKyAgICAgICAgICAgICAg ICBnb3RvIG91dDI7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAgIH0gd2hpbGUgKHN0 aWxsX3J1bm5pbmcpOwogCiAgIC8qIENoZWNrIHdoZXRoZXIgYSBxdWVyeSB3YXMgc3VjY2Vzc2Z1 bC4gSWYgc28sIGFzc2lnbiBpdHMgaGFuZGxlCkBAIC0xMDQzLDYgKzExMjIsOCBAQCBkZWJ1Z2lu Zm9kX3F1ZXJ5X3NlcnZlciAoZGVidWdpbmZvZF9jbGllbnQgKmMsCiAKICAgICAgICAgICBpZiAo bXNnLT5kYXRhLnJlc3VsdCAhPSBDVVJMRV9PSykKICAgICAgICAgICAgIHsKKyAgICAgICAgICAg ICAgbG9uZyByZXNwX2NvZGU7CisgICAgICAgICAgICAgIENVUkxjb2RlIG9rMDsKICAgICAgICAg ICAgICAgLyogVW5zdWNjZXNzZnVsIHF1ZXJ5LCBkZXRlcm1pbmUgZXJyb3IgY29kZS4gICovCiAg ICAgICAgICAgICAgIHN3aXRjaCAobXNnLT5kYXRhLnJlc3VsdCkKICAgICAgICAgICAgICAgICB7 CkBAIC0xMDU3LDYgKzExMzgsMTYgQEAgZGVidWdpbmZvZF9xdWVyeV9zZXJ2ZXIgKGRlYnVnaW5m b2RfY2xpZW50ICpjLAogICAgICAgICAgICAgICAgIGNhc2UgQ1VSTEVfU0VORF9FUlJPUjogcmMg PSAtRUNPTk5SRVNFVDsgYnJlYWs7CiAgICAgICAgICAgICAgICAgY2FzZSBDVVJMRV9SRUNWX0VS Uk9SOiByYyA9IC1FQ09OTlJFU0VUOyBicmVhazsKICAgICAgICAgICAgICAgICBjYXNlIENVUkxF X09QRVJBVElPTl9USU1FRE9VVDogcmMgPSAtRVRJTUU7IGJyZWFrOworICAgICAgICAgICAgICAg IGNhc2UgQ1VSTEVfSFRUUF9SRVRVUk5FRF9FUlJPUjoKKyAgICAgICAgICAgICAgICAgIG9rMCA9 IGN1cmxfZWFzeV9nZXRpbmZvIChtc2ctPmVhc3lfaGFuZGxlLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQ1VSTElORk9fUkVTUE9OU0VfQ09ERSwKKwkJCQkgICAg ICAgICAgJnJlc3BfY29kZSk7CisgICAgICAgICAgICAgICAgICAvKiA0MDYgc2lnbmFscyB0aGF0 IHRoZSByZXF1ZXN0ZWQgZmlsZSB3YXMgdG9vIGxhcmdlICovCisgICAgICAgICAgICAgICAgICBp ZiAoIG9rMCA9PSBDVVJMRV9PSyAmJiByZXNwX2NvZGUgPT0gNDA2KQorICAgICAgICAgICAgICAg ICAgICByYyA9IC1FRkJJRzsKKyAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg ICAgICAgcmMgPSAtRU5PRU5UOworICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg ICAgICAgZGVmYXVsdDogcmMgPSAtRU5PRU5UOyBicmVhazsKICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICB9CkBAIC0xMTI5LDYgKzEyMjAsOCBAQCBkZWJ1Z2luZm9kX3F1ZXJ5X3NlcnZl ciAoZGVidWdpbmZvZF9jbGllbnQgKmMsCiAgICAgICBpZiAoZWZkID49IDApCiAgICAgICAgIGNs b3NlKGVmZCk7CiAgICAgfQorICBlbHNlIGlmIChyYyA9PSAtRUZCSUcpCisgICAgZ290byBvdXQy OwogCiAgIC8qIElmIHRoZSB2ZXJpZmllZF9oYW5kbGUgaXMgTlVMTCBhbmQgcmMgIT0gLUVOT0VO VCwgdGhlIHF1ZXJ5IGZhaWxzIHdpdGgKICAgICogYW4gZXJyb3IgY29kZSBvdGhlciB0aGFuIDQw NCwgdGhlbiBkbyBzZXZlcmFsIHJldHJ5IHdpdGhpbiB0aGUgcmV0cnlfbGltaXQuCmRpZmYgLS1n aXQgYS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QuY3h4IGIvZGVidWdpbmZvZC9kZWJ1Z2luZm9kLmN4 eAppbmRleCA1MDNlZGJhNy4uNGRkZDkyNTUgMTAwNjQ0Ci0tLSBhL2RlYnVnaW5mb2QvZGVidWdp bmZvZC5jeHgKKysrIGIvZGVidWdpbmZvZC9kZWJ1Z2luZm9kLmN4eApAQCAtMjEwMiw2ICsyMTAy LDEzIEBAIGhhbmRsZXJfY2IgKHZvaWQgKiAvKmNscyovLAogICAgIH0KICAgKnB0ciA9IE5VTEw7 ICAgICAgICAgICAgICAgICAgICAgLyogcmVzZXQgd2hlbiBkb25lICovCiAgIAorICBjb25zdCBj aGFyICptYXhzaXplX3N0cmluZyA9IE1IRF9sb29rdXBfY29ubmVjdGlvbl92YWx1ZShjb25uZWN0 aW9uLCBNSERfSEVBREVSX0tJTkQsICJYLURFQlVHSU5GT0QtTUFYU0laRSIpOworICBsb25nIG1h eHNpemUgPSAwOworICBpZiAobWF4c2l6ZV9zdHJpbmcgIT0gTlVMTCAmJiBtYXhzaXplX3N0cmlu Z1swXSAhPSAnXDAnKQorICAgIG1heHNpemUgPSBhdG9sKG1heHNpemVfc3RyaW5nKTsKKyAgZWxz ZQorICAgIG1heHNpemUgPSAwOworCiAjaWYgTUhEX1ZFUlNJT04gPj0gMHgwMDA5NzAwMgogICBl bnVtIE1IRF9SZXN1bHQgcmM7CiAjZWxzZQpAQCAtMjE5MCw2ICsyMTk3LDEyIEBAIGhhbmRsZXJf Y2IgKHZvaWQgKiAvKmNscyovLAogICAgICAgaWYgKHIgPT0gMCkKICAgICAgICAgdGhyb3cgcmVw b3J0YWJsZV9leGNlcHRpb24oImludGVybmFsIGVycm9yLCBtaXNzaW5nIHJlc3BvbnNlIik7CiAK KyAgICAgIGlmIChtYXhzaXplID4gMCAmJiBodHRwX3NpemUgPiBtYXhzaXplKQorICAgICAgICB7 CisgICAgICAgICAgTUhEX2Rlc3Ryb3lfcmVzcG9uc2Uocik7CisgICAgICAgICAgdGhyb3cgcmVw b3J0YWJsZV9leGNlcHRpb24oNDA2LCAiRmlsZSB0b28gbGFyZ2UsIG1heCBzaXplPSIgKyBzdGQ6 OnRvX3N0cmluZyhtYXhzaXplKSk7CisgICAgICAgIH0KKwogICAgICAgcmMgPSBNSERfcXVldWVf cmVzcG9uc2UgKGNvbm5lY3Rpb24sIE1IRF9IVFRQX09LLCByKTsKICAgICAgIGh0dHBfY29kZSA9 IE1IRF9IVFRQX09LOwogICAgICAgTUhEX2Rlc3Ryb3lfcmVzcG9uc2UgKHIpOwpkaWZmIC0tZ2l0 IGEvZGVidWdpbmZvZC9kZWJ1Z2luZm9kLmguaW4gYi9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QuaC5p bgppbmRleCAyODJlNTIzZC4uYzM1OGRmNGQgMTAwNjQ0Ci0tLSBhL2RlYnVnaW5mb2QvZGVidWdp bmZvZC5oLmluCisrKyBiL2RlYnVnaW5mb2QvZGVidWdpbmZvZC5oLmluCkBAIC0zNiw2ICszNiw4 IEBACiAjZGVmaW5lIERFQlVHSU5GT0RfUFJPR1JFU1NfRU5WX1ZBUiAiREVCVUdJTkZPRF9QUk9H UkVTUyIKICNkZWZpbmUgREVCVUdJTkZPRF9WRVJCT1NFX0VOVl9WQVIgIkRFQlVHSU5GT0RfVkVS Qk9TRSIKICNkZWZpbmUgREVCVUdJTkZPRF9SRVRSWV9MSU1JVF9FTlZfVkFSICJERUJVR0lORk9E X1JFVFJZX0xJTUlUIgorI2RlZmluZSBERUJVR0lORk9EX01BWFNJWkVfRU5WX1ZBUiAiREVCVUdJ TkZPRF9NQVhTSVpFIgorI2RlZmluZSBERUJVR0lORk9EX01BWFRJTUVfRU5WX1ZBUiAiREVCVUdJ TkZPRF9NQVhUSU1FIgogCiAvKiBUaGUgbGliZGVidWdpbmZvZCBzb25hbWUuICAqLwogI2RlZmlu ZSBERUJVR0lORk9EX1NPTkFNRSAiQExJQkRFQlVHSU5GT0RfU09OQU1FQCIKZGlmZiAtLWdpdCBh L2RvYy9DaGFuZ2VMb2cgYi9kb2MvQ2hhbmdlTG9nCmluZGV4IDA1ZmNkMjNkLi4xODIyZmM2YiAx MDA2NDQKLS0tIGEvZG9jL0NoYW5nZUxvZworKysgYi9kb2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs OSBAQAorMjAyMS0wNy0yNiAgTm9haCBTYW5jaSA8bnNhbmNpQHJlZGhhdC5jb20+CisKKwlQUjI3 OTgyCisJKiBkZWJ1Z2luZm9kLWZpbmQuMTogRG9jdW1lbnQgREVCVUdJTkZPRF9NQVhUSU1FCisJ YW5kIERFQlVHSU5GT0RfTUFYU0laRS4KKwogMjAyMS0wNC0yMyAgRnJhbmsgQ2guIEVpZ2xlciA8 ZmNoZUByZWRoYXQuY29tPgogCiAJUFIyNzcwMQpkaWZmIC0tZ2l0IGEvZG9jL2RlYnVnaW5mb2Qt ZmluZC4xIGIvZG9jL2RlYnVnaW5mb2QtZmluZC4xCmluZGV4IDEyZDRlYzJkLi40ODJhOGFlNyAx MDA2NDQKLS0tIGEvZG9jL2RlYnVnaW5mb2QtZmluZC4xCisrKyBiL2RvYy9kZWJ1Z2luZm9kLWZp bmQuMQpAQCAtMTQ3LDYgKzE0NywyMSBAQCBpcyByZWV4ZWN1dGVkLiAgQ2FjaGUgbWFuYWdlbWVu dCBwYXJhbWV0ZXJzIG1heSBiZSBzZXQgYnkgZmlsZXMgdW5kZXIKIHRoaXMgZGlyZWN0b3J5OiBz ZWUgdGhlIFxmQmRlYnVnaW5mb2RfZmluZF9kZWJ1Z2luZm8oMylcZlAgbWFuIHBhZ2UKIGZvciBk ZXRhaWxzLiAgVGhlIGRlZmF1bHQgaXMgJEhPTUUvLmRlYnVnaW5mb2RfY2xpZW50X2NhY2hlLgog CisuVFAgMjEKKy5CIERFQlVHSU5GT0RfTUFYVElNRQorVGhpcyBlbnZpcm9ubWVudCB2YXJpYWJs ZSBkaWN0YXRlcyBob3cgbG9uZyB0aGUgY2xpZW50IHdpbGwgd2FpdCB0bworZG93bmxvYWQgYSBm aWxlIGZvdW5kIG9uIGEgc2VydmVyIGluIHNlY29uZHMuIEl0IGlzIGJlc3QgdXNlZCB0byBlbnN1 cmUKK3RoYXQgYSBmaWxlIGlzIGRvd25sb2FkZWQgcXVpY2tseSBvciBiZSByZWplY3RlZC4gVGhl IGRlZmF1bHQgaXMKKzAgKGluZmluaXRlIHRpbWUpLgorCisuVFAgMjEKKy5CIERFQlVHSU5GT0Rf TUFYU0laRQorVGhpcyBlbnZpcm9ubWVudCB2YXJpYWJsZSBkaWN0YXRlcyB0aGUgbWF4aW11bSBz aXplIG9mIGEgZmlsZSB0bworZG93bmxvYWQgaW4gYnl0ZXMuIFRoaXMgaXMgYmVzdCB1c2VkIGlm IHRoZSB1c2VyIHdvdWxkIGxpa2UgdG8gZW5zdXJlCitvbmx5IHNtYWxsIGZpbGVzIGFyZSBkb3du bG9hZGVkLiBBIHZhbHVlIG9mIDAgY2F1c2VzIG5vIGNvbnNpZGVyYXRpb24KK2ZvciBzaXplLCBh bmQgdGhlIGNsaWVudCBtYXkgYXR0ZW1wdCB0byBkb3dubG9hZCBhIGZpbGUgb2YgYW55IHNpemUu CitUaGUgZGVmYXVsdCBpcyAwIChpbmZpbml0ZSBzaXplKS4KKwogLlNIICJGSUxFUyIKIC5MUAog LlBEIC4xdgpkaWZmIC0tZ2l0IGEvdGVzdHMvQ2hhbmdlTG9nIGIvdGVzdHMvQ2hhbmdlTG9nCmlu ZGV4IGRiYTc1MGU0Li4zNDY2NjYwOSAxMDA2NDQKLS0tIGEvdGVzdHMvQ2hhbmdlTG9nCisrKyBi L3Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwIEBACisyMDIxLTA3LTI2ICBOb2FoIFNhbmNp ICA8bnNhbmNpQHJlZGhhdC5jb20+CisKKwlQUjI3OTgyCisJKiBydW4tZGVidWdpbmZvZC1maW5k LnNoOiBBZGRlZCBhIHRlc3QgdG8gZW5zdXJlIHRoYXQKKwlERUJVR0lORk9EX01BWFNJWkUgYW5k IERFQlVHSU5GT0RfTUFYVElNRSB3b3JrIHByb3Blcmx5CisJYnkgc2VhcmNoaW5nIHNlcnZlciBh bmQgY2xpZW50IGxvZ3MgZm9yIHByb21wdHMuCisKIDIwMjEtMDctMTYgIE5vYWggU2FuY2kgIDxu c2FuY2lAcmVkaGF0LmNvbT4KIAogCVBSMjgwMzQKZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bi1kZWJ1 Z2luZm9kLWZpbmQuc2ggYi90ZXN0cy9ydW4tZGVidWdpbmZvZC1maW5kLnNoCmluZGV4IDQ0ZTE2 MjQyLi45OTFkMWRjNSAxMDA3NTUKLS0tIGEvdGVzdHMvcnVuLWRlYnVnaW5mb2QtZmluZC5zaAor KysgYi90ZXN0cy9ydW4tZGVidWdpbmZvZC1maW5kLnNoCkBAIC0xNzcsNyArMTc3LDMzIEBAIHdh aXRfcmVhZHkgJFBPUlQxICd0aHJlYWRfYnVzeXtyb2xlPSJzY2FuIn0nIDAKIHRlc3RydW4gJHth YnNfYnVpbGRkaXJ9L2RlYnVnaW5mb2RfYnVpbGRfaWRfZmluZCAtZSBGL3ArciVvXCRnIDEKIAog IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCisjIyBQUjI3ODkyCisjIEVuc3VyZSBERUJVR0lORk9EX01BWFNJWkUg aXMgZnVuY3Rpb25hbCBhbmQgc2VuZHMgYmFjayB0aGUgY29ycmVjdCBodHRwCisjIGNvZGUKK2Vu diBMRF9MSUJSQVJZX1BBVEg9JGxkcGF0aCBERUJVR0lORk9EX1JFVFJZX0xJTUlUPTEgREVCVUdJ TkZPRF9VUkxTPSJodHRwOi8vMTI3LjAuMC4xOiRQT1JUMS8iIERFQlVHSU5GT0RfTUFYU0laRT0x IFwKKyAgICAke2Fic190b3BfYnVpbGRkaXJ9L2RlYnVnaW5mb2QvZGVidWdpbmZvZC1maW5kIC12 IGRlYnVnaW5mbyBGL3ArciVvXCRnLmRlYnVnIDI+IGZpbmQtdmxvZyRQT1JUMSB8fCB0cnVlCit0 ZW1wZmlsZXMgZmluZC12bG9nJFBPUlQxCisjIHdhaXQgZm9yIHRoZSBzZXJ2ZXIgdG8gZmFpbCB0 aGUgc2FtZSBudW1iZXIgb2YgdGltZXMgdGhlIHF1ZXJ5IGlzIHJldHJpZWQuCit3YWl0X3JlYWR5 ICRQT1JUMSAnaHR0cF9yZXNwb25zZXNfYWZ0ZXJfeW91X21pbGxpc2Vjb25kc19jb3VudHtjb2Rl PSI0MDYifScgMQorIyBlbnN1cmUgYWxsIHJlcG9ydGluZyBpcyBmdW5jdGlvbmFsCitncmVwICdz ZXJ2aW5nIGZpbGUgJyQocmVhbHBhdGggJHtQV0R9KScvRi9wK3Ilb1wkZy5kZWJ1ZycgdmxvZyRQ T1JUMQorZ3JlcCAnRmlsZSB0b28gbGFyZ2UnIHZsb2ckUE9SVDEKK2dyZXAgJ3VzaW5nIG1heCBz aXplIDFCJyBmaW5kLXZsb2ckUE9SVDEKK2lmIFsgLWYgJHtERUJVR0lORk9EX0NBQ0hFX1BBVEh9 LyR7QlVJTERJRH0gXTsgdGhlbgorICBlY2hvICJGaWxlIGNhY2hlZCBhZnRlciBtYXhzaXplIGNo ZWNrIgorICBlcnIKK2ZpCiAKKyMgRW5zdXJlIERFQlVHSU5GT0RfTUFYVElNRSBpcyBmdW5jdGlv bmFsCitlbnYgTERfTElCUkFSWV9QQVRIPSRsZHBhdGggREVCVUdJTkZPRF9VUkxTPSJodHRwOi8v MTI3LjAuMC4xOjgwMDIvIiBERUJVR0lORk9EX01BWFRJTUU9MSBcCisgICAgJHthYnNfdG9wX2J1 aWxkZGlyfS9kZWJ1Z2luZm9kL2RlYnVnaW5mb2QtZmluZCAtdiBkZWJ1Z2luZm8gRi9wK3Ilb1wk Zy5kZWJ1ZyAyPiBmaW5kLXZsb2ckUE9SVDEgfHwgdHJ1ZQorZ3JlcCAndXNpbmcgbWF4IHRpbWUn IGZpbmQtdmxvZyRQT1JUMQorIyBFbnN1cmUgcCtyJW9cJGcuZGVidWcgaXMgTk9UIGNhY2hlZAor aWYgWyAtZiAke0RFQlVHSU5GT0RfQ0FDSEVfUEFUSH0vJHtCVUlMRElEfSBdOyB0aGVuCisgIGVj aG8gIkZpbGUgY2FjaGVkIGFmdGVyIG1heHRpbWUgY2hlY2siCisgIGVycgorZmkKKyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIwogIyBQUjI1NjI4CiBybSAtcmYgJERFQlVHSU5GT0RfQ0FDSEVfUEFUSCAjIGNsZWFu IGl0IGZyb20gcHJldmlvdXMgdGVzdHMKIAotLSAKMi4zMS4xCgo= --0000000000008a542a05c8575bac--