From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qt0-f169.google.com ([209.85.216.169]) by ewsd; Tue Sep 18 20:34:27 EDT 2018 Received: by mail-qt0-f169.google.com with SMTP id g44-v6so3537108qtb.12 for <9front@9front.org>; Tue, 18 Sep 2018 17:34:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=cr01l61xAfnLXAm96VUsrHFhloZVIhzof9XbX8tI2VE=; b=KpW3yemgO4sC/SM+Eby7WaF9MgRDp4U/7xveS0OxRzmxUPfVBHuJ/CKunGOI0dM3OM xG0C74ltVOcsCjTMCeI6oMdygtW5LQmdgUjbhdd/yujUbu94GHMygsAUhhh2qG8N9nWl o/2kvwVJll8JiAZkFCAhnH36O+g+5/VP4z8iQJrVOn5NlbRyrKWPJOJYSKTL13On6WaM sUsHDlPyf849A0GhCh6Mzz3j+CIUrGvbzWPyjYOZscL6EaprIgEUZbgsvb5LeQ/Oay4q dprPCEeceB4zGgvTLqv5b6ZJ8IW2LYsRiIEA1NMQTx2nCfSDtRyjotxUDJtbxYHxcBe7 g8tA== 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; bh=cr01l61xAfnLXAm96VUsrHFhloZVIhzof9XbX8tI2VE=; b=VGRXpfx98LFiqZI4PAJ4TUHR+Pelhii9dxQocQHrhgYLikqVfr1FzUoz3O8Jodvi8G VpoiH2VEofnEQYdCSWYd66hnpe2INpOONj2XiHRhlDR7NO7xFi8XTYWOtyw3A5H5I3bp yO6xstz0NaN6N76DTGjroVz7fYBkyknebniMWtZcLJgrK2B4j9HmbEYz2NtEE9pOru5Q FAacO91XbRzOJz3pbjsvbJmG/p4ikfV4di+OjbVRnE4Cn/l45+jCnr/cD1o3jUQpMQwc 8I5BN5WIR8DhdSyfNqxxF43LfpjAYs40jOpuhO6NRX8YJcxkvnrAykQvgZAKx8OFKD2N OCKQ== X-Gm-Message-State: APzg51Dvom3R3N9qDhNpSDKdz/LaMJ+NTxsJ/83INx0zLmzXjrWbDG8D cn8fGRexQYHSwtjyyQ2/3St1FBHYx14NfKCMjS/l9w== X-Google-Smtp-Source: ANB0VdY19fdS8wH/rzaDEXMAROh2IisaJjDQNysMVjQjDWtA+Pm47N0vTrF2JmCTi2e9jps7aPZNySZgGlD70dObNig= X-Received: by 2002:a0c:8738:: with SMTP id 53-v6mr23701258qvh.47.1537317264034; Tue, 18 Sep 2018 17:34:24 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Sean Hinchee Date: Tue, 18 Sep 2018 19:34:11 -0500 Message-ID: Subject: Re: [9front] Patch to bring 9front venti libventi up to date with 9legacy To: 9front@9front.org Content-Type: multipart/mixed; boundary="0000000000006eb87605762e9104" List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: non-blocking factory JSON over JSON callback app-oriented singleton callback control --0000000000006eb87605762e9104 Content-Type: text/plain; charset="UTF-8" I'm not really familiar with 3 way diff's, I wasn't aware there was a way to make them on 9front and I've never really used them, my apologies. I've attached the updated diff with no dd(1) regression and sha1.c. Cheers, Sean --0000000000006eb87605762e9104 Content-Type: text/x-patch; charset="US-ASCII"; name="ventiupdate3.diff" Content-Disposition: attachment; filename="ventiupdate3.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jm8ezqvh0 ZGlmZiAtciBhMzUyMjA2NGY1ZGMgc3lzL2luY2x1ZGUvdmVudGkuaAotLS0gYS9zeXMvaW5jbHVk ZS92ZW50aS5oCVdlZCBTZXAgMTkgMDE6MTE6NDkgMjAxOCArMDIwMAorKysgYi9zeXMvaW5jbHVk ZS92ZW50aS5oCVR1ZSBTZXAgMTggMTk6MzA6MjMgMjAxOCAtMDUwMApAQCAtMTM0LDcgKzEzNCw4 IEBACiAJX1Z0RW50cnlEaXIgPSAxPDwxLAkJLyogYSBkaXJlY3RvcnkgKi8KIAlfVnRFbnRyeURl cHRoU2hpZnQgPSAyLAkJLyogc2hpZnQgZm9yIHBvaW50ZXIgZGVwdGggKi8KIAlfVnRFbnRyeURl cHRoTWFzayA9IDc8PDIsCS8qIG1hc2sgZm9yIHBvaW50ZXIgZGVwdGggKi8KLQlWdEVudHJ5TG9j YWwgPSAxPDw1CQkvKiBmb3IgbG9jYWwgc3RvcmFnZSBvbmx5ICovCisJVnRFbnRyeUxvY2FsID0g MTw8NSwJCS8qIGZvciBsb2NhbCBzdG9yYWdlIG9ubHkgKi8KKwlWdEVudHJ5Tm9BcmNoaXZlID0g MTw8NgkJLyogZm9yIGxvY2FsIHN0b3JhZ2Ugb25seSAqLwogfTsKIGVudW0KIHsKQEAgLTMzNCw3 ICszMzUsOSBAQAogfTsKIAogVnRDb25uKgl2dGNvbm4oaW50IGluZmQsIGludCBvdXRmZCk7Citp bnQJdnRyZWNvbm4oVnRDb25uKiwgaW50LCBpbnQpOwogVnRDb25uKgl2dGRpYWwoY2hhciopOwor aW50CXZ0cmVkaWFsKFZ0Q29ubiosIGNoYXIqKTsKIHZvaWQJdnRmcmVlY29ubihWdENvbm4qKTsK IGludAl2dHNlbmQoVnRDb25uKiwgUGFja2V0Kik7CiBQYWNrZXQqCXZ0cmVjdihWdENvbm4qKTsK QEAgLTM3OCw2ICszODEsMTAgQEAKIGludAl2dHN5bmMoVnRDb25uKik7CiBpbnQJdnRwaW5nKFZ0 Q29ubiopOwogCisvKiBzaGExICovCit2b2lkCXZ0c2hhMSh1Y2hhciBzY29yZVtWdFNjb3JlU2l6 ZV0sIHVjaGFyKiwgaW50KTsKK2ludAl2dHNoYTFjaGVjayh1Y2hhciBzY29yZVtWdFNjb3JlU2l6 ZV0sIHVjaGFyKiwgaW50KTsKKwogLyoKICAqIERhdGEgYmxvY2tzIGFuZCBibG9jayBjYWNoZS4K ICAqLwpkaWZmIC1yIGEzNTIyMDY0ZjVkYyBzeXMvbWFuLzIvdmVudGktY29ubgotLS0gYS9zeXMv bWFuLzIvdmVudGktY29ubglXZWQgU2VwIDE5IDAxOjExOjQ5IDIwMTggKzAyMDAKKysrIGIvc3lz L21hbi8yL3ZlbnRpLWNvbm4JVHVlIFNlcCAxOCAxOTozMDoyMyAyMDE4IC0wNTAwCkBAIC0yOCw5 ICsyOCwxNSBAQAogVnRDb25uKgl2dGNvbm4oaW50IGluZmQsIGludCBvdXRmZCkKIC5QUAogLkIK K2ludAl2dHJlY29ubihWdENvbm4gKnosIGludCBpbmZkLCBpbnQgb3V0ZmQpCisuUFAKKy5CCiBW dENvbm4qCXZ0ZGlhbChjaGFyICphZGRyKQogLlBQCiAuQgoraW50CXZ0cmVkaWFsKFZ0Q29ubiAq eiwgY2hhciAqYWRkcikKKy5QUAorLkIKIGludAl2dHZlcnNpb24oVnRDb25uICp6KQogLlBQCiAu QgpkaWZmIC1yIGEzNTIyMDY0ZjVkYyBzeXMvc3JjL2NtZC92ZW50aS9jb3B5LmMKLS0tIGEvc3lz L3NyYy9jbWQvdmVudGkvY29weS5jCVdlZCBTZXAgMTkgMDE6MTE6NDkgMjAxOCArMDIwMAorKysg Yi9zeXMvc3JjL2NtZC92ZW50aS9jb3B5LmMJVHVlIFNlcCAxOCAxOTozMDoyMyAyMDE4IC0wNTAw CkBAIC0xMjIsNyArMTIyLDcgQEAKIAkJYnJlYWs7CiAKIAljYXNlIFZ0RGlyVHlwZToKLQkJZm9y KGk9MDsgaTxuL1Z0RW50cnlTaXplOyBpKyspeworCQlmb3IoaT0wOyBpKlZ0RW50cnlTaXplPG47 IGkrKyl7CiAJCQlpZih2dGVudHJ5dW5wYWNrKCZlLCBidWYsIGkpIDwgMCl7CiAJCQkJZnByaW50 KDIsICJ3YXJuaW5nOiBjb3VsZCBub3QgdW5wYWNrIGVudHJ5ICMlZCBpbiAlViAlZFxuIiwgaSwg c2NvcmUsIHR5cGUpOwogCQkJCWNvbnRpbnVlOwpkaWZmIC1yIGEzNTIyMDY0ZjVkYyBzeXMvc3Jj L2NtZC92ZW50aS9zcnYvYXJlbmFzLmMKLS0tIGEvc3lzL3NyYy9jbWQvdmVudGkvc3J2L2FyZW5h cy5jCVdlZCBTZXAgMTkgMDE6MTE6NDkgMjAxOCArMDIwMAorKysgYi9zeXMvc3JjL2NtZC92ZW50 aS9zcnYvYXJlbmFzLmMJVHVlIFNlcCAxOCAxOTozMDoyMyAyMDE4IC0wNTAwCkBAIC0xNSw3ICsx NSw4IEBACiAKIGVudW0KIHsKLQlBSGFzaFNpemUJPSA1MTIKKwlBSGFzaFNpemUJPSA1MTIsCisJ RW1lcmdlbmN5CT0gMCwJCS8qIGZsYWc6IHBlcmZvcm1pbmcgZW1lcmdlbmN5IHN1cmdlcnkgKi8K IH07CiAKIHN0YXRpYyBBSGFzaAkqYWhhc2hbQUhhc2hTaXplXTsKQEAgLTE0Miw4ICsxNDMsMTEg QEAKIAlhcC0+bmFyZW5hcyA9IGFtbi5uOwogCWFwLT5tYXAgPSBhbW4ubWFwOwogCWlmKG9rYW1h cChhcC0+bWFwLCBhcC0+bmFyZW5hcywgYXAtPmFyZW5hYmFzZSwgYXAtPnNpemUsICJhcmVuYSB0 YWJsZSIpIDwgMCl7Ci0JCWZyZWVhcmVuYXBhcnQoYXAsIDApOwotCQlyZXR1cm4gbmlsOworCQlp ZighRW1lcmdlbmN5KXsKKwkJCWZyZWVhcmVuYXBhcnQoYXAsIDApOworCQkJcmV0dXJuIG5pbDsK KwkJfQorCQkvKiBlbHNlIGtlZXAgb24sIGZvciBlbWVyZ2VuY3kgdXNlICovCiAJfQogCiAJYXAt PmFyZW5hcyA9IE1LTlooQXJlbmEqLCBhcC0+bmFyZW5hcyk7CkBAIC0xNTIsOCArMTU2LDE0IEBA CiAJCWFwLT5hcmVuYXNbaV0gPSBpbml0YXJlbmEocGFydCwgYXAtPm1hcFtpXS5zdGFydCwgYXAt Pm1hcFtpXS5zdG9wIC0gYXAtPm1hcFtpXS5zdGFydCwgYXAtPmJsb2Nrc2l6ZSk7CiAJCWlmKGFw LT5hcmVuYXNbaV0gPT0gbmlsKXsKIAkJCXNldGVycihFQ29ycnVwdCwgIiVzOiAlciIsIGFwLT5t YXBbaV0ubmFtZSk7Ci0JCQlmcmVlYXJlbmFwYXJ0KGFwLCAxKTsKLQkJCXJldHVybiBuaWw7CisJ CQlpZighRW1lcmdlbmN5KXsKKwkJCQlmcmVlYXJlbmFwYXJ0KGFwLCAxKTsKKwkJCQlyZXR1cm4g bmlsOworCQkJfWVsc2V7CisJCQkJLyoga2VlcCBvbiwgZm9yIGVtZXJnZW5jeSB1c2UgKi8KKwkJ CQlhcC0+bmFyZW5hcyA9IGk7CisJCQkJYnJlYWs7CisJCQl9CiAJCX0KIAkJaWYobmFtZWNtcChh cC0+bWFwW2ldLm5hbWUsIGFwLT5hcmVuYXNbaV0tPm5hbWUpICE9IDApewogCQkJc2V0ZXJyKEVD b3JydXB0LCAiYXJlbmEgbmFtZSBtaXNtYXRjaGVzIHdpdGggZXhwZWN0ZWQgbmFtZTogJXMgdnMu ICVzIiwKZGlmZiAtciBhMzUyMjA2NGY1ZGMgc3lzL3NyYy9jbWQvdmVudGkvc3J2L2J1aWxkaW5k ZXguYwotLS0gYS9zeXMvc3JjL2NtZC92ZW50aS9zcnYvYnVpbGRpbmRleC5jCVdlZCBTZXAgMTkg MDE6MTE6NDkgMjAxOCArMDIwMAorKysgYi9zeXMvc3JjL2NtZC92ZW50aS9zcnYvYnVpbGRpbmRl eC5jCVR1ZSBTZXAgMTggMTk6MzA6MjMgMjAxOCAtMDUwMApAQCAtODEzLDcgKzgxMyw3IEBACiAJ fQogCWlmIChuYnVmID09IDApIHsKIAkJZnByaW50KDIsICIlczogYnJhbmQtbmV3IGluZGV4LCBu byB3b3JrIHRvIGRvXG4iLCBhcmd2MCk7Ci0JCWV4aXRzKDApOworCQl0aHJlYWRleGl0c2FsbCgw KTsKIAl9CiAKIAkvKiBzaXplIGJ1ZmZlciB0byB1c2UgZXh0cmEgbWVtb3J5ICovCmRpZmYgLXIg YTM1MjIwNjRmNWRjIHN5cy9zcmMvY21kL3ZlbnRpL3Nydi9jb25maWcuYwotLS0gYS9zeXMvc3Jj L2NtZC92ZW50aS9zcnYvY29uZmlnLmMJV2VkIFNlcCAxOSAwMToxMTo0OSAyMDE4ICswMjAwCisr KyBiL3N5cy9zcmMvY21kL3ZlbnRpL3Nydi9jb25maWcuYwlUdWUgU2VwIDE4IDE5OjMwOjIzIDIw MTggLTA1MDAKQEAgLTE3Nyw2ICsxNzcsMTAgQEAKIAkJCX0KIAkJCWNvbmZpZy0+dmFkZHIgPSBl c3RyZHVwKGZsZHNbMV0pOwogCQl9ZWxzZXsKKwkJCS8qCisJCQkgKiB0aGlzIGlzIGluc2FuZWx5 IHBhcmFub2lkLiAgYSBzaW5nbGUgdHlwbyBzaG91bGQgbm90CisJCQkgKiBwcmV2ZW50IHZlbnRp IGZyb20gc3RhcnRpbmcuCisJCQkgKi8KIAkJCXNldGVycihFQWRtaW4sICJpbGxlZ2FsIGxpbmUg JyVzJyBpbiBjb25maWd1cmF0aW9uIGZpbGUgJXMiLCBsaW5lLCBmaWxlKTsKIAkJCWJyZWFrOwog CQl9CmRpZmYgLXIgYTM1MjIwNjRmNWRjIHN5cy9zcmMvY21kL3ZlbnRpL3Nydi9kYXQuaAotLS0g YS9zeXMvc3JjL2NtZC92ZW50aS9zcnYvZGF0LmgJV2VkIFNlcCAxOSAwMToxMTo0OSAyMDE4ICsw MjAwCisrKyBiL3N5cy9zcmMvY21kL3ZlbnRpL3Nydi9kYXQuaAlUdWUgU2VwIDE4IDE5OjMwOjIz IDIwMTggLTA1MDAKQEAgLTQ4LDcgKzQ4LDcgQEAKIAlNYXhJbwkJCT0gNjQqMTAyNCwJLyogbWF4 IHNpemUgb2YgYSBzaW5nbGUgcmVhZCBvciB3cml0ZSBvcGVyYXRpb24gKi8KIAlJQ2FjaGVCaXRz CQk9IDE2LAkJLyogZGVmYXVsdCBiaXRzIGZvciBpbmRleGluZyBpY2FjaGUgKi8KIAlNYXhBTWFw CQkJPSAzMSoxMDI0LAkvKiBtYXguIGFsbG93ZWQgYXJlbmFzIGluIGFuIGFkZHJlc3MgbWFwcGlu ZzsgbXVzdCBiZSA8IDMyKjEwMjQgKi8KLQlVbnNwZWNpZmllZAkJPSB+MHVsLAorCVVuc3BlY2lm aWVkCQk9IFRXSUQzMiwKIAogCS8qCiAJICogcmV0dXJuIGNvZGVzIGZyb20gc3luY2FyZW5hCmRp ZmYgLXIgYTM1MjIwNjRmNWRjIHN5cy9zcmMvY21kL3ZlbnRpL3Nydi9maXhhcmVuYXMuYwotLS0g YS9zeXMvc3JjL2NtZC92ZW50aS9zcnYvZml4YXJlbmFzLmMJV2VkIFNlcCAxOSAwMToxMTo0OSAy MDE4ICswMjAwCisrKyBiL3N5cy9zcmMvY21kL3ZlbnRpL3Nydi9maXhhcmVuYXMuYwlUdWUgU2Vw IDE4IDE5OjMwOjIzIDIwMTggLTA1MDAKQEAgLTEzMCwxMiArMTMwLDEyIEBACiAJaW50IGksIGos IGssIG47CiAKIAlpZihvZmZzZXQgPj0gcGFydGVuZCl7Ci0JCW1lbXNldChidWYsIDB4RkIsIHNp emVvZiBidWYpOworCQltZW1zZXQoYnVmLCAweEZCLCBsZW4pOwogCQlyZXR1cm4gYnVmOwogCX0K IAkKIAlpZihvZmZzZXQrbGVuID4gcGFydGVuZCl7Ci0JCW1lbXNldChidWYsIDB4RkIsIHNpemVv ZiBidWYpOworCQltZW1zZXQoYnVmLCAweEZCLCBsZW4pOwogCQlsZW4gPSBwYXJ0ZW5kIC0gb2Zm c2V0OwogCX0KIApkaWZmIC1yIGEzNTIyMDY0ZjVkYyBzeXMvc3JjL2NtZC92ZW50aS9zcnYvdW53 aGFjay5jCi0tLSBhL3N5cy9zcmMvY21kL3ZlbnRpL3Nydi91bndoYWNrLmMJV2VkIFNlcCAxOSAw MToxMTo0OSAyMDE4ICswMjAwCisrKyBiL3N5cy9zcmMvY21kL3ZlbnRpL3Nydi91bndoYWNrLmMJ VHVlIFNlcCAxOCAxOTozMDoyMyAyMDE4IC0wNTAwCkBAIC0xNTYsOCArMTU2LDcgQEAKIAkJb2Zm Kys7CiAKIAkJaWYob2ZmID4gZCAtIGRzdCl7Ci0JCQlzbnByaW50KHV3LT5lcnIsIFdoYWNrRXJy TGVuLCAib2Zmc2V0IG91dCBvZiByYW5nZTogb2ZmPSVkIGQ9JXpkIGxlbj0lZCBuYml0cz0lZCIs Ci0JCQkJb2ZmLCBkIC0gZHN0LCBsZW4sIHV3bmJpdHMpOworCQkJc25wcmludCh1dy0+ZXJyLCBX aGFja0VyckxlbiwgIm9mZnNldCBvdXQgb2YgcmFuZ2U6IG9mZj0lZCBkPSV6ZCBsZW49JWQgbmJp dHM9JWQiLCBvZmYsIGQgLSBkc3QsIGxlbiwgdXduYml0cyk7CiAJCQlyZXR1cm4gLTE7CiAJCX0K IAkJaWYoZCArIGxlbiA+IGRtYXgpewpkaWZmIC1yIGEzNTIyMDY0ZjVkYyBzeXMvc3JjL2xpYnZl bnRpL2Nvbm4uYwotLS0gYS9zeXMvc3JjL2xpYnZlbnRpL2Nvbm4uYwlXZWQgU2VwIDE5IDAxOjEx OjQ5IDIwMTggKzAyMDAKKysrIGIvc3lzL3NyYy9saWJ2ZW50aS9jb25uLmMJVHVlIFNlcCAxOCAx OTozMDoyMyAyMDE4IC0wNTAwCkBAIC0yNyw2ICsyNywyOCBAQAogCXJldHVybiB6OwogfQogCitp bnQKK3Z0cmVjb25uKFZ0Q29ubiAqeiwgaW50IGluZmQsIGludCBvdXRmZCkKK3sKKwlOZXRDb25u SW5mbyAqbmNpOworCisJei0+c3RhdGUgPSBWdFN0YXRlQWxsb2M7CisJaWYoei0+aW5mZCA+PSAw KQorCQljbG9zZSh6LT5pbmZkKTsKKwl6LT5pbmZkID0gaW5mZDsKKwlpZih6LT5vdXRmZCA+PSAw KQorCQljbG9zZSh6LT5vdXRmZCk7CisJei0+b3V0ZmQgPSBvdXRmZDsKKwluY2kgPSBnZXRuZXRj b25uaW5mbyhuaWwsIGluZmQpOworCWlmKG5jaSA9PSBuaWwpCisJCXNucHJpbnQoei0+YWRkciwg c2l6ZW9mIHotPmFkZHIsICIvZGV2L2ZkLyVkIiwgaW5mZCk7CisJZWxzZXsKKwkJc3RyZWNweSh6 LT5hZGRyLCB6LT5hZGRyK3NpemVvZiB6LT5hZGRyLCBuY2ktPnJhZGRyKTsKKwkJZnJlZW5ldGNv bm5pbmZvKG5jaSk7CisJfQorCXJldHVybiAwOworfQorCiB2b2lkCiB2dGZyZWVjb25uKFZ0Q29u biAqeikKIHsKZGlmZiAtciBhMzUyMjA2NGY1ZGMgc3lzL3NyYy9saWJ2ZW50aS9kaWFsLmMKLS0t IGEvc3lzL3NyYy9saWJ2ZW50aS9kaWFsLmMJV2VkIFNlcCAxOSAwMToxMTo0OSAyMDE4ICswMjAw CisrKyBiL3N5cy9zcmMvbGlidmVudGkvZGlhbC5jCVR1ZSBTZXAgMTggMTk6MzA6MjMgMjAxOCAt MDUwMApAQCAtMjMsMyArMjMsMjEgQEAKIAkJc3RyZWNweSh6LT5hZGRyLCB6LT5hZGRyK3NpemVv ZiB6LT5hZGRyLCBuYSk7CiAJcmV0dXJuIHo7CiB9CisKK2ludAordnRyZWRpYWwoVnRDb25uICp6 LCBjaGFyICphZGRyKQoreworCWNoYXIgKm5hOworCWludCBmZDsKKworCWlmKGFkZHIgPT0gbmls KQorCQlhZGRyID0gZ2V0ZW52KCJ2ZW50aSIpOworCWlmKGFkZHIgPT0gbmlsKQorCQlhZGRyID0g IiR2ZW50aSI7CisKKwluYSA9IG5ldG1rYWRkcihhZGRyLCAidGNwIiwgInZlbnRpIik7CisJaWYo KGZkID0gZGlhbChuYSwgbmlsLCBuaWwsIG5pbCkpIDwgMCkKKwkJcmV0dXJuIGZkOworCisJcmV0 dXJuIHZ0cmVjb25uKHosIGZkLCBmZCk7Cit9CmRpZmYgLXIgYTM1MjIwNjRmNWRjIHN5cy9zcmMv bGlidmVudGkvZmlsZS5jCi0tLSBhL3N5cy9zcmMvbGlidmVudGkvZmlsZS5jCVdlZCBTZXAgMTkg MDE6MTE6NDkgMjAxOCArMDIwMAorKysgYi9zeXMvc3JjL2xpYnZlbnRpL2ZpbGUuYwlUdWUgU2Vw IDE4IDE5OjMwOjIzIDIwMTggLTA1MDAKQEAgLTUwMyw2ICs1MDMsNyBAQAogCVZ0QmxvY2sgKmI7 CiAJaW50IHR5cGU7CiAJdWNoYXIgKnNjb3JlOworCVZ0RW50cnkgb2U7CiAKIAlzd2l0Y2gocC0+ dHlwZSl7CiAJY2FzZSBWdERhdGFUeXBlOgpAQCAtNTMwLDYgKzUzMSw4IEBACiAKIAlpZih2dGds b2JhbHRvbG9jYWwoYi0+c2NvcmUpICE9IE5pbEJsb2NrKQogCQlyZXR1cm4gYjsKKwkKKwlvZSA9 ICplOwogCiAJLyoKIAkgKiBDb3B5IG9uIHdyaXRlLgpAQCAtNTk3LDYgKzYwMCw3IEBACiBzaHJp bmtkZXB0aChWdEZpbGUgKnIsIFZ0QmxvY2sgKnAsIFZ0RW50cnkgKmUsIGludCBkZXB0aCkKIHsK IAlWdEJsb2NrICpiLCAqbmIsICpvYiwgKnJiOworCVZ0RW50cnkgb2U7CiAKIAlhc3NlcnQoSVNM T0NLRUQocikpOwogCWFzc2VydChkZXB0aCA8PSBWdFBvaW50ZXJEZXB0aCk7CkBAIC02MDQsNiAr NjA4LDEyIEBACiAJcmIgPSB2dGNhY2hlZ2xvYmFsKHItPmMsIGUtPnNjb3JlLCBlLT50eXBlKTsK IAlpZihyYiA9PSBuaWwpCiAJCXJldHVybiAtMTsKKwkKKwkvKgorCSAqIFdhbGsgZG93biB0byB0 aGUgbmV3IHJvb3QgYmxvY2suCisJICogV2UgbWF5IHN0b3AgZWFybHksIGJ1dCBzb21ldGhpbmcg aXMgYmV0dGVyIHRoYW4gbm90aGluZy4KKwkgKi8KKwlvZSA9ICplOwogCiAJb2IgPSBuaWw7CiAJ YiA9IHJiOwpkaWZmIC1yIGEzNTIyMDY0ZjVkYyBzeXMvc3JjL2xpYnZlbnRpL21rZmlsZQotLS0g YS9zeXMvc3JjL2xpYnZlbnRpL21rZmlsZQlXZWQgU2VwIDE5IDAxOjExOjQ5IDIwMTggKzAyMDAK KysrIGIvc3lzL3NyYy9saWJ2ZW50aS9ta2ZpbGUJVHVlIFNlcCAxOCAxOTozMDoyMyAyMDE4IC0w NTAwCkBAIC0yNCw2ICsyNCw3IEBACiAJc2NvcmVmbXQuJE9cCiAJc2VuZC4kT1wKIAlzZXJ2ZXIu JE9cCisJc2hhMS4kT1wKIAlzcnZoZWxsby4kT1wKIAlzdHJkdXAuJE9cCiAJc3RyaW5nLiRPXApk aWZmIC1yIGEzNTIyMDY0ZjVkYyBzeXMvc3JjL2xpYnZlbnRpL3JwYy5jCi0tLSBhL3N5cy9zcmMv bGlidmVudGkvcnBjLmMJV2VkIFNlcCAxOSAwMToxMTo0OSAyMDE4ICswMjAwCisrKyBiL3N5cy9z cmMvbGlidmVudGkvcnBjLmMJVHVlIFNlcCAxOCAxOTozMDoyMyAyMDE4IC0wNTAwCkBAIC0zNyw3 ICszNyw2IEBACiAJdWNoYXIgdGFnLCBidWZbMl0sICp0b3A7CiAJUndhaXQgKnIsICpycjsKIAot IAogCWlmKHogPT0gbmlsKXsKIAkJd2VycnN0cigibm90IGNvbm5lY3RlZCIpOwogCQlwYWNrZXRm cmVlKHApOwo= --0000000000006eb87605762e9104 Content-Type: text/x-csrc; charset="US-ASCII"; name="sha1.c" Content-Disposition: attachment; filename="sha1.c" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jm8ezuxi1 I2luY2x1ZGUgPHUuaD4KI2luY2x1ZGUgPGxpYmMuaD4KI2luY2x1ZGUgPHZlbnRpLmg+CiNpbmNs dWRlIDxsaWJzZWMuaD4KCnZvaWQKdnRzaGExKHVjaGFyIHNjb3JlW1Z0U2NvcmVTaXplXSwgdWNo YXIgKnAsIGludCBuKQp7CglEaWdlc3RTdGF0ZSBkczsKCgltZW1zZXQoJmRzLCAwLCBzaXplb2Yg ZHMpOwoJc2hhMShwLCBuLCBzY29yZSwgJmRzKTsKfQoKaW50CnZ0c2hhMWNoZWNrKHVjaGFyIHNj b3JlW1Z0U2NvcmVTaXplXSwgdWNoYXIgKnAsIGludCBuKQp7CglEaWdlc3RTdGF0ZSBkczsKCXVj aGFyIHNjb3JlMltWdFNjb3JlU2l6ZV07CgoJbWVtc2V0KCZkcywgMCwgc2l6ZW9mIGRzKTsKCXNo YTEocCwgbiwgc2NvcmUyLCAmZHMpOwoJaWYobWVtY21wKHNjb3JlLCBzY29yZTIsIFZ0U2NvcmVT aXplKSAhPSAwKSB7CgkJd2VycnN0cigidnRzaGExY2hlY2sgZmFpbGVkIik7CgkJcmV0dXJuIC0x OwoJfQoJcmV0dXJuIDA7Cn0K --0000000000006eb87605762e9104--