From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Waterman Subject: [PATCH RFC 4/6] qemu-xen-trad: sasl: compatibility with vnc.h Date: Tue, 16 May 2017 00:03:41 +0100 Message-ID: <1494889423-4212-5-git-send-email-watermansrdev@gmail.com> References: <1494889423-4212-1-git-send-email-watermansrdev@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1494889423-4212-1-git-send-email-watermansrdev@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: dunlapg@umich.edu, ian.jackson@eu.citrix.com, Simon Waterman List-Id: xen-devel@lists.xenproject.org VGhpcyBjaGFuZ2UgYWRqdXN0cyB2bmMuYyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBBUEkg ZGVmaW5lZAppbiB2bmMuaC4KClNpZ25lZC1vZmYtYnk6IFNpbW9uIFdhdGVybWFuIDx3YXRlcm1h bnNyZGV2QGdtYWlsLmNvbT4KLS0tCiB2bmMuYyB8IDIxMiArKysrKysrKystLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCAyNyBpbnNlcnRpb25zKCspLCAxODUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdm5j LmMgYi92bmMuYwppbmRleCAwZTYxMTk3Li43MjhlZmVjIDEwMDY0NAotLS0gYS92bmMuYworKysg Yi92bmMuYwpAQCAtMjQsNiArMjQsNyBAQAogICogVEhFIFNPRlRXQVJFLgogICovCiAKKyNpbmNs dWRlICJ2bmMuaCIKICNpbmNsdWRlICJxZW11LWNvbW1vbi5oIgogI2luY2x1ZGUgImNvbnNvbGUu aCIKICNpbmNsdWRlICJzeXNlbXUuaCIKQEAgLTUwLDggKzUxLDYgQEAKICAgIG1pbmltaXNlZCB2 bmN2aWV3ZXIgcmVhc29uYWJseSBxdWlja2x5LiAqLwogI2RlZmluZSBWTkNfTUFYX1VQREFURV9J TlRFUlZBTCAgIDUwMDAKIAotI2luY2x1ZGUgInZuY19rZXlzeW0uaCIKLSNpbmNsdWRlICJrZXlt YXBzLmMiCiAjaW5jbHVkZSAiZDNkZXMuaCIKIAogI2lmZGVmIENPTkZJR19WTkNfVExTCkBAIC01 OSwyMSArNTgsNiBAQAogI2luY2x1ZGUgPGdudXRscy94NTA5Lmg+CiAjZW5kaWYgLyogQ09ORklH X1ZOQ19UTFMgKi8KIAotLy8gI2RlZmluZSBfVk5DX0RFQlVHIDEKLQotI2lmZGVmIF9WTkNfREVC VUcKLSNkZWZpbmUgVk5DX0RFQlVHKGZtdCwgLi4uKSBkbyB7IGZwcmludGYoc3RkZXJyLCBmbXQs ICMjIF9fVkFfQVJHU19fKTsgfSB3aGlsZSAoMCkKLQotI2lmIGRlZmluZWQoQ09ORklHX1ZOQ19U TFMpICYmIF9WTkNfREVCVUcgPj0gMgotLyogVmVyeSB2ZXJib3NlLCBzbyBvbmx5IGVuYWJsZWQg Zm9yIF9WTkNfREVCVUcgPj0gMiAqLwotc3RhdGljIHZvaWQgdm5jX2RlYnVnX2dudXRsc19sb2co aW50IGxldmVsLCBjb25zdCBjaGFyKiBzdHIpIHsKLSAgICBWTkNfREVCVUcoIiVkICVzIiwgbGV2 ZWwsIHN0cik7Ci19Ci0jZW5kaWYgLyogQ09ORklHX1ZOQ19UTFMgJiYgX1ZOQ19ERUJVRyAqLwot I2Vsc2UKLSNkZWZpbmUgVk5DX0RFQlVHKGZtdCwgLi4uKSBkbyB7IH0gd2hpbGUgKDApCi0jZW5k aWYKLQogI2RlZmluZSBjb3VudF9iaXRzKGMsIHYpIHsgXAogICAgIGZvciAoYyA9IDA7IHY7IHYg Pj49IDEpIFwKICAgICB7IFwKQEAgLTgxLDE1NyArNjUsMTMgQEAgc3RhdGljIHZvaWQgdm5jX2Rl YnVnX2dudXRsc19sb2coaW50IGxldmVsLCBjb25zdCBjaGFyKiBzdHIpIHsKICAgICB9IFwKIH0K IAotdHlwZWRlZiBzdHJ1Y3QgQnVmZmVyCi17Ci0gICAgc2l6ZV90IGNhcGFjaXR5OwotICAgIHNp emVfdCBvZmZzZXQ7Ci0gICAgdWludDhfdCAqYnVmZmVyOwotfSBCdWZmZXI7Ci0KLXR5cGVkZWYg c3RydWN0IFZuY1N0YXRlIFZuY1N0YXRlOwotCi10eXBlZGVmIGludCBWbmNSZWFkRXZlbnQoVm5j U3RhdGUgKnZzLCB1aW50OF90ICpkYXRhLCBzaXplX3QgbGVuKTsKLQotdHlwZWRlZiB2b2lkIFZu Y1dyaXRlUGl4ZWxzKFZuY1N0YXRlICp2cywgdm9pZCAqZGF0YSwgaW50IHNpemUpOwotCi10eXBl ZGVmIHZvaWQgVm5jU2VuZEhleHRpbGVUaWxlKFZuY1N0YXRlICp2cywKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW50IHgsIGludCB5LCBpbnQgdywgaW50IGgsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmxhc3RfYmcsIAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2b2lkICpsYXN0X2ZnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpbnQgKmhhc19iZywgaW50ICpoYXNfZmcpOwotCi0jaWYgMAotI2RlZmluZSBWTkNfTUFY X1dJRFRIIDIwNDgKLSNkZWZpbmUgVk5DX01BWF9IRUlHSFQgMjA0OAotI2RlZmluZSBWTkNfRElS VFlfV09SRFMgKFZOQ19NQVhfV0lEVEggLyAoMTYgKiAzMikpCi0jZW5kaWYKLQotI2RlZmluZSBW TkNfQVVUSF9DSEFMTEVOR0VfU0laRSAxNgotCi1lbnVtIHsKLSAgICBWTkNfQVVUSF9JTlZBTElE ID0gMCwKLSAgICBWTkNfQVVUSF9OT05FID0gMSwKLSAgICBWTkNfQVVUSF9WTkMgPSAyLAotICAg IFZOQ19BVVRIX1JBMiA9IDUsCi0gICAgVk5DX0FVVEhfUkEyTkUgPSA2LAotICAgIFZOQ19BVVRI X1RJR0hUID0gMTYsCi0gICAgVk5DX0FVVEhfVUxUUkEgPSAxNywKLSAgICBWTkNfQVVUSF9UTFMg PSAxOCwKLSAgICBWTkNfQVVUSF9WRU5DUllQVCA9IDE5Ci19OwotCiAjaWZkZWYgQ09ORklHX1ZO Q19UTFMKIGVudW0gewogICAgIFZOQ19XSVJFTU9ERV9DTEVBUiwKICAgICBWTkNfV0lSRU1PREVf VExTLAogfTsKLQotZW51bSB7Ci0gICAgVk5DX0FVVEhfVkVOQ1JZUFRfUExBSU4gPSAyNTYsCi0g ICAgVk5DX0FVVEhfVkVOQ1JZUFRfVExTTk9ORSA9IDI1NywKLSAgICBWTkNfQVVUSF9WRU5DUllQ VF9UTFNWTkMgPSAyNTgsCi0gICAgVk5DX0FVVEhfVkVOQ1JZUFRfVExTUExBSU4gPSAyNTksCi0g ICAgVk5DX0FVVEhfVkVOQ1JZUFRfWDUwOU5PTkUgPSAyNjAsCi0gICAgVk5DX0FVVEhfVkVOQ1JZ UFRfWDUwOVZOQyA9IDI2MSwKLSAgICBWTkNfQVVUSF9WRU5DUllQVF9YNTA5UExBSU4gPSAyNjIs Ci19OwotCi0jZGVmaW5lIFg1MDlfQ0FfQ0VSVF9GSUxFICJjYS1jZXJ0LnBlbSIKLSNkZWZpbmUg WDUwOV9DQV9DUkxfRklMRSAiY2EtY3JsLnBlbSIKLSNkZWZpbmUgWDUwOV9TRVJWRVJfS0VZX0ZJ TEUgInNlcnZlci1rZXkucGVtIgotI2RlZmluZSBYNTA5X1NFUlZFUl9DRVJUX0ZJTEUgInNlcnZl ci1jZXJ0LnBlbSIKLQogI2VuZGlmIC8qIENPTkZJR19WTkNfVExTICovCiAKLSNkZWZpbmUgUVVF VUVfQUxMT0NfVU5JVCAxMAotCi10eXBlZGVmIHN0cnVjdCBfUXVldWVJdGVtCi17Ci0gICAgaW50 IHgsIHksIHcsIGg7Ci0gICAgaW50MzJfdCBlbmM7Ci0gICAgc3RydWN0IF9RdWV1ZUl0ZW0gKm5l eHQ7Ci19IFF1ZXVlSXRlbTsKLQotdHlwZWRlZiBzdHJ1Y3QgX1F1ZXVlCi17Ci0gICAgUXVldWVJ dGVtICpxdWV1ZV9zdGFydDsKLSAgICBpbnQgc3RhcnRfY291bnQ7Ci0gICAgUXVldWVJdGVtICpx dWV1ZV9lbmQ7Ci0gICAgaW50IGVuZF9jb3VudDsKLX0gUXVldWU7Ci0KLXN0cnVjdCBWbmNTdGF0 ZQotewotICAgIFFFTVVUaW1lciAqdGltZXI7Ci0gICAgaW50IHRpbWVyX2ludGVydmFsOwotICAg IGludDY0X3QgbGFzdF91cGRhdGVfdGltZTsKLSAgICBpbnQgbHNvY2s7Ci0gICAgaW50IGNzb2Nr OwotICAgIERpc3BsYXlTdGF0ZSAqZHM7Ci0gICAgdWludDY0X3QgKmRpcnR5X3JvdzsJLyogc2Ny ZWVuIHJlZ2lvbnMgd2hpY2ggYXJlIHBvc3NpYmx5IGRpcnR5ICovCi0gICAgaW50IGRpcnR5X3Bp eGVsX3NoaWZ0OwotICAgIHVpbnQ2NF90ICp1cGRhdGVfcm93OwkvKiBvdXRzdGFuZGluZyB1cGRh dGVzICovCi0gICAgaW50IGhhc191cGRhdGU7CQkvKiB0aGVyZSdzIG91dHN0YW5kaW5nIHVwZGF0 ZXMgaW4gdGhlCi0JCQkJICogdmlzaWJsZSBhcmVhICovCi0KLSAgICBpbnQgdXBkYXRlX3JlcXVl c3RlZDsgICAgICAgLyogdGhlIGNsaWVudCByZXF1ZXN0ZWQgYW4gdXBkYXRlICovCi0KLSAgICB1 aW50OF90ICpvbGRfZGF0YTsKLSAgICBpbnQgaGFzX3Jlc2l6ZTsKLSAgICBpbnQgaGFzX2hleHRp bGU7Ci0gICAgaW50IGhhc19wb2ludGVyX3R5cGVfY2hhbmdlOwotICAgIGludCBoYXNfV01WaTsK LSAgICBpbnQgYWJzb2x1dGU7Ci0gICAgaW50IGxhc3RfeDsKLSAgICBpbnQgbGFzdF95OwotCi0g ICAgaW50IG1ham9yOwotICAgIGludCBtaW5vcjsKLQotICAgIGNoYXIgKmRpc3BsYXk7Ci0gICAg Y2hhciAqcGFzc3dvcmQ7Ci0gICAgaW50IGF1dGg7Ci0jaWZkZWYgQ09ORklHX1ZOQ19UTFMKLSAg ICBpbnQgc3ViYXV0aDsKLSAgICBpbnQgeDUwOXZlcmlmeTsKLQotICAgIGNoYXIgKng1MDljYWNl cnQ7Ci0gICAgY2hhciAqeDUwOWNhY3JsOwotICAgIGNoYXIgKng1MDljZXJ0OwotICAgIGNoYXIg Kng1MDlrZXk7Ci0jZW5kaWYKLSAgICBjaGFyIGNoYWxsZW5nZVtWTkNfQVVUSF9DSEFMTEVOR0Vf U0laRV07Ci0gICAgaW50IHN3aXRjaGJwcDsKLQotI2lmZGVmIENPTkZJR19WTkNfVExTCi0gICAg aW50IHdpcmVtb2RlOwotICAgIGdudXRsc19zZXNzaW9uX3QgdGxzX3Nlc3Npb247Ci0jZW5kaWYK LQotICAgIEJ1ZmZlciBvdXRwdXQ7Ci0gICAgQnVmZmVyIGlucHV0OwotICAgIAotICAgIFF1ZXVl IHVwcXVldWU7Ci0KLSAgICBrYmRfbGF5b3V0X3QgKmtiZF9sYXlvdXQ7Ci0gICAgLyogY3VycmVu dCBvdXRwdXQgbW9kZSBpbmZvcm1hdGlvbiAqLwotICAgIFZuY1dyaXRlUGl4ZWxzICp3cml0ZV9w aXhlbHM7Ci0gICAgVm5jU2VuZEhleHRpbGVUaWxlICpzZW5kX2hleHRpbGVfdGlsZTsKLSAgICBE aXNwbGF5U3VyZmFjZSBjbGllbnRkcywgc2VydmVyZHM7Ci0KLSAgICBWbmNSZWFkRXZlbnQgKnJl YWRfaGFuZGxlcjsKLSAgICBzaXplX3QgcmVhZF9oYW5kbGVyX2V4cGVjdDsKLQotICAgIGludCB2 aXNpYmxlX3g7Ci0gICAgaW50IHZpc2libGVfeTsKLSAgICBpbnQgdmlzaWJsZV93OwotICAgIGlu dCB2aXNpYmxlX2g7Ci0KLSAgICAvKiBpbnB1dCAqLwotICAgIHVpbnQ4X3QgbW9kaWZpZXJzX3N0 YXRlWzI1Nl07Ci19OwotCi1zdGF0aWMgVm5jU3RhdGUgKnZuY19zdGF0ZTsgLyogbmVlZGVkIGZv ciBpbmZvIHZuYyAqLwogc3RhdGljIERpc3BsYXlDaGFuZ2VMaXN0ZW5lciAqZGNsOwogCiAjZGVm aW5lIERJUlRZX1BJWEVMX0JJVFMgNjQKQEAgLTI2MywxNSArMTAzLDEwIEBAIHZvaWQgZG9faW5m b192bmModm9pZCkKICAgIDMpIHJlc29sdXRpb25zID4gMTAyNAogKi8KIAotc3RhdGljIHZvaWQg dm5jX3dyaXRlKFZuY1N0YXRlICp2cywgY29uc3Qgdm9pZCAqZGF0YSwgc2l6ZV90IGxlbik7Ci1z dGF0aWMgdm9pZCB2bmNfd3JpdGVfdTMyKFZuY1N0YXRlICp2cywgdWludDMyX3QgdmFsdWUpOwog c3RhdGljIHZvaWQgdm5jX3dyaXRlX3MzMihWbmNTdGF0ZSAqdnMsIGludDMyX3QgdmFsdWUpOwog c3RhdGljIHZvaWQgdm5jX3dyaXRlX3UxNihWbmNTdGF0ZSAqdnMsIHVpbnQxNl90IHZhbHVlKTsK LXN0YXRpYyB2b2lkIHZuY193cml0ZV91OChWbmNTdGF0ZSAqdnMsIHVpbnQ4X3QgdmFsdWUpOwot c3RhdGljIHZvaWQgdm5jX2ZsdXNoKFZuY1N0YXRlICp2cyk7CiBzdGF0aWMgdm9pZCBfdm5jX3Vw ZGF0ZV9jbGllbnQodm9pZCAqb3BhcXVlKTsKIHN0YXRpYyB2b2lkIHZuY191cGRhdGVfY2xpZW50 KHZvaWQgKm9wYXF1ZSk7Ci1zdGF0aWMgdm9pZCB2bmNfY2xpZW50X3JlYWQodm9pZCAqb3BhcXVl KTsKIHN0YXRpYyB2b2lkIGZyYW1lYnVmZmVyX3NldF91cGRhdGVkKFZuY1N0YXRlICp2cywgaW50 IHgsIGludCB5LCBpbnQgdywgaW50IGgpOwogc3RhdGljIHZvaWQgcGl4ZWxfZm9ybWF0X21lc3Nh Z2UgKFZuY1N0YXRlICp2cyk7CiBzdGF0aWMgdm9pZCBlbnF1ZXVlX2ZyYW1lYnVmZmVyX3VwZGF0 ZShWbmNTdGF0ZSAqdnMsIGludCB4LCBpbnQgeSwgaW50IHcsIGludCBoLCBpbnQzMl90IGVuY29k aW5nKTsKQEAgLTc4MSw3ICs2MTYsNyBAQCBzdGF0aWMgaW50IHZuY19saXN0ZW5fcG9sbCh2b2lk ICpvcGFxdWUpCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIGJ1ZmZlcl9yZXNlcnZl KEJ1ZmZlciAqYnVmZmVyLCBzaXplX3QgbGVuKQordm9pZCBidWZmZXJfcmVzZXJ2ZShCdWZmZXIg KmJ1ZmZlciwgc2l6ZV90IGxlbikKIHsKICAgICBpZiAoKGJ1ZmZlci0+Y2FwYWNpdHkgLSBidWZm ZXItPm9mZnNldCkgPCBsZW4pIHsKIAlidWZmZXItPmNhcGFjaXR5ICs9IChsZW4gKyAxMDI0KTsK QEAgLTgwOCwxMiArNjQzLDE5IEBAIHN0YXRpYyB2b2lkIGJ1ZmZlcl9yZXNldChCdWZmZXIgKmJ1 ZmZlcikKICAgICBidWZmZXItPm9mZnNldCA9IDA7CiB9CiAKLXN0YXRpYyB2b2lkIGJ1ZmZlcl9h cHBlbmQoQnVmZmVyICpidWZmZXIsIGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4pCit2b2lk IGJ1ZmZlcl9hcHBlbmQoQnVmZmVyICpidWZmZXIsIGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBs ZW4pCiB7CiAgICAgbWVtY3B5KGJ1ZmZlci0+YnVmZmVyICsgYnVmZmVyLT5vZmZzZXQsIGRhdGEs IGxlbik7CiAgICAgYnVmZmVyLT5vZmZzZXQgKz0gbGVuOwogfQogCitzdGF0aWMgdm9pZCBidWZm ZXJfYWR2YW5jZShCdWZmZXIgKmJ1Ziwgc2l6ZV90IGxlbikKK3sKKyAgICBtZW1tb3ZlKGJ1Zi0+ YnVmZmVyLCBidWYtPmJ1ZmZlciArIGxlbiwKKyAgICAgICAgICAgIChidWYtPm9mZnNldCAtIGxl bikpOworICAgIGJ1Zi0+b2Zmc2V0IC09IGxlbjsKK30KKwogc3RhdGljIHZvaWQgZW5xdWV1ZV9m cmFtZWJ1ZmZlcl91cGRhdGUoVm5jU3RhdGUgKnZzLCBpbnQgeCwgaW50IHksIGludCB3LCBpbnQg aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBlbmNvZGluZykK IHsKQEAgLTg5Niw3ICs3MzgsNyBAQCBzdGF0aWMgdm9pZCBmcmVlX3F1ZXVlKFZuY1N0YXRlICp2 cykKICAgICBxLT5lbmRfY291bnQgPSAwOwogfQogCi1zdGF0aWMgaW50IHZuY19jbGllbnRfaW9f ZXJyb3IoVm5jU3RhdGUgKnZzLCBpbnQgcmV0LCBpbnQgbGFzdF9lcnJubykKK2ludCB2bmNfY2xp ZW50X2lvX2Vycm9yKFZuY1N0YXRlICp2cywgaW50IHJldCwgaW50IGxhc3RfZXJybm8pCiB7CiAg ICAgaWYgKHJldCA9PSAwIHx8IHJldCA9PSAtMSkgewogICAgICAgICBpZiAocmV0ID09IC0xKSB7 CkBAIC05MzMsNyArNzc1LDcgQEAgc3RhdGljIGludCB2bmNfY2xpZW50X2lvX2Vycm9yKFZuY1N0 YXRlICp2cywgaW50IHJldCwgaW50IGxhc3RfZXJybm8pCiAgICAgcmV0dXJuIHJldDsKIH0KIAot c3RhdGljIHZvaWQgdm5jX2NsaWVudF9lcnJvcihWbmNTdGF0ZSAqdnMpCit2b2lkIHZuY19jbGll bnRfZXJyb3IoVm5jU3RhdGUgKnZzKQogewogICAgIHZuY19jbGllbnRfaW9fZXJyb3IodnMsIC0x LCBFSU5WQUwpOwogfQpAQCAtOTYwLDkgKzgwMiw3IEBAIHN0YXRpYyB2b2lkIHZuY19jbGllbnRf d3JpdGUodm9pZCAqb3BhcXVlKQogICAgIGlmICghcmV0KQogCXJldHVybjsKIAotICAgIG1lbW1v dmUodnMtPm91dHB1dC5idWZmZXIsIHZzLT5vdXRwdXQuYnVmZmVyICsgcmV0LAotCSAgICB2cy0+ b3V0cHV0Lm9mZnNldCAtIHJldCk7Ci0gICAgdnMtPm91dHB1dC5vZmZzZXQgLT0gcmV0OworICAg IGJ1ZmZlcl9hZHZhbmNlKCZ2cy0+b3V0cHV0LCByZXQpOwogCiAgICAgaWYgKHZzLT5vdXRwdXQu b2Zmc2V0ID09IDApCiAJcWVtdV9zZXRfZmRfaGFuZGxlcjIodnMtPmNzb2NrLCBOVUxMLCB2bmNf Y2xpZW50X3JlYWQsIE5VTEwsIHZzKTsKQEAgLTk3NCw3ICs4MTQsNyBAQCBzdGF0aWMgdm9pZCB2 bmNfcmVhZF93aGVuKFZuY1N0YXRlICp2cywgVm5jUmVhZEV2ZW50ICpmdW5jLCBzaXplX3QgZXhw ZWN0aW5nKQogICAgIHZzLT5yZWFkX2hhbmRsZXJfZXhwZWN0ID0gZXhwZWN0aW5nOwogfQogCi1z dGF0aWMgdm9pZCB2bmNfY2xpZW50X3JlYWQodm9pZCAqb3BhcXVlKQordm9pZCB2bmNfY2xpZW50 X3JlYWQodm9pZCAqb3BhcXVlKQogewogICAgIFZuY1N0YXRlICp2cyA9IG9wYXF1ZTsKICAgICBs b25nIHJldDsKQEAgLTEwMDksOSArODQ5LDcgQEAgc3RhdGljIHZvaWQgdm5jX2NsaWVudF9yZWFk KHZvaWQgKm9wYXF1ZSkKIAkgICAgcmV0dXJuOwogCiAJaWYgKCFyZXQpIHsKLQkgICAgbWVtbW92 ZSh2cy0+aW5wdXQuYnVmZmVyLCB2cy0+aW5wdXQuYnVmZmVyICsgbGVuLAotCQkgICAgdnMtPmlu cHV0Lm9mZnNldCAtIGxlbik7Ci0JICAgIHZzLT5pbnB1dC5vZmZzZXQgLT0gbGVuOworICAgICAg ICAgICAgYnVmZmVyX2FkdmFuY2UoJnZzLT5pbnB1dCwgbGVuKTsKIAl9IGVsc2UgewogCSAgICBh c3NlcnQocmV0ID4gdnMtPnJlYWRfaGFuZGxlcl9leHBlY3QpOwogCSAgICB2cy0+cmVhZF9oYW5k bGVyX2V4cGVjdCA9IHJldDsKQEAgLTEwMTksNyArODU3LDcgQEAgc3RhdGljIHZvaWQgdm5jX2Ns aWVudF9yZWFkKHZvaWQgKm9wYXF1ZSkKICAgICB9CiB9CiAKLXN0YXRpYyB2b2lkIHZuY193cml0 ZShWbmNTdGF0ZSAqdnMsIGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4pCit2b2lkIHZuY193 cml0ZShWbmNTdGF0ZSAqdnMsIGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4pCiB7CiAgICAg YnVmZmVyX3Jlc2VydmUoJnZzLT5vdXRwdXQsIGxlbik7CiAKQEAgLTEwMzUsNyArODczLDcgQEAg c3RhdGljIHZvaWQgdm5jX3dyaXRlX3MzMihWbmNTdGF0ZSAqdnMsIGludDMyX3QgdmFsdWUpCiAg ICAgdm5jX3dyaXRlX3UzMih2cywgKih1aW50MzJfdCAqKSZ2YWx1ZSk7CiB9CiAKLXN0YXRpYyB2 b2lkIHZuY193cml0ZV91MzIoVm5jU3RhdGUgKnZzLCB1aW50MzJfdCB2YWx1ZSkKK3ZvaWQgdm5j X3dyaXRlX3UzMihWbmNTdGF0ZSAqdnMsIHVpbnQzMl90IHZhbHVlKQogewogICAgIHVpbnQ4X3Qg YnVmWzRdOwogCkBAIC0xMDU3LDEyICs4OTUsMTIgQEAgc3RhdGljIHZvaWQgdm5jX3dyaXRlX3Ux NihWbmNTdGF0ZSAqdnMsIHVpbnQxNl90IHZhbHVlKQogICAgIHZuY193cml0ZSh2cywgYnVmLCAy KTsKIH0KIAotc3RhdGljIHZvaWQgdm5jX3dyaXRlX3U4KFZuY1N0YXRlICp2cywgdWludDhfdCB2 YWx1ZSkKK3ZvaWQgdm5jX3dyaXRlX3U4KFZuY1N0YXRlICp2cywgdWludDhfdCB2YWx1ZSkKIHsK ICAgICB2bmNfd3JpdGUodnMsICZ2YWx1ZSwgMSk7CiB9CiAKLXN0YXRpYyB2b2lkIHZuY19mbHVz aChWbmNTdGF0ZSAqdnMpCit2b2lkIHZuY19mbHVzaChWbmNTdGF0ZSAqdnMpCiB7CiAgICAgaWYg KHZzLT5vdXRwdXQub2Zmc2V0KQogCXZuY19jbGllbnRfd3JpdGUodnMpOwpAQCAtMTA4NCw3ICs5 MjIsNyBAQCBzdGF0aWMgaW50MzJfdCByZWFkX3MzMih1aW50OF90ICpkYXRhLCBzaXplX3Qgb2Zm c2V0KQogCQkgICAgIChkYXRhW29mZnNldCArIDJdIDw8IDgpIHwgZGF0YVtvZmZzZXQgKyAzXSk7 CiB9CiAKLXN0YXRpYyB1aW50MzJfdCByZWFkX3UzMih1aW50OF90ICpkYXRhLCBzaXplX3Qgb2Zm c2V0KQordWludDMyX3QgcmVhZF91MzIodWludDhfdCAqZGF0YSwgc2l6ZV90IG9mZnNldCkKIHsK ICAgICByZXR1cm4gKChkYXRhW29mZnNldF0gPDwgMjQpIHwgKGRhdGFbb2Zmc2V0ICsgMV0gPDwg MTYpIHwKIAkgICAgKGRhdGFbb2Zmc2V0ICsgMl0gPDwgOCkgfCBkYXRhW29mZnNldCArIDNdKTsK QEAgLTE3ODgsNiArMTYyNiwxMCBAQCBzdGF0aWMgaW50IHByb3RvY29sX2NsaWVudF9pbml0KFZu Y1N0YXRlICp2cywgdWludDhfdCAqZGF0YSwgc2l6ZV90IGxlbikKICAgICByZXR1cm4gMDsKIH0K IAordm9pZCBzdGFydF9jbGllbnRfaW5pdChWbmNTdGF0ZSAqdnMpCit7CisgICAgdm5jX3JlYWRf d2hlbih2cywgcHJvdG9jb2xfY2xpZW50X2luaXQsIDEpOworfQogCiBzdGF0aWMgdm9pZCBtYWtl X2NoYWxsZW5nZShWbmNTdGF0ZSAqdnMpCiB7CkBAIC0xODQ0LDcgKzE2ODYsNyBAQCBzdGF0aWMg aW50IHByb3RvY29sX2NsaWVudF9hdXRoX3ZuYyhWbmNTdGF0ZSAqdnMsIHVpbnQ4X3QgKmRhdGEs IHNpemVfdCBsZW4pCiAJdm5jX3dyaXRlX3UzMih2cywgMCk7IC8qIEFjY2VwdCBhdXRoICovCiAJ dm5jX2ZsdXNoKHZzKTsKIAotCXZuY19yZWFkX3doZW4odnMsIHByb3RvY29sX2NsaWVudF9pbml0 LCAxKTsKKwlzdGFydF9jbGllbnRfaW5pdCh2cyk7CiAgICAgfQogICAgIHJldHVybiAwOwogfQpA QCAtMjMxNyw3ICsyMTU5LDcgQEAgc3RhdGljIGludCBwcm90b2NvbF9jbGllbnRfYXV0aChWbmNT dGF0ZSAqdnMsIHVpbnQ4X3QgKmRhdGEsIHNpemVfdCBsZW4pCiAgICAgICAgICAgICAgICB2bmNf d3JpdGVfdTMyKHZzLCAwKTsgLyogQWNjZXB0IGF1dGggY29tcGxldGlvbiAqLwogICAgICAgICAg ICAgICAgdm5jX2ZsdXNoKHZzKTsKICAgICAgICAgICAgfQotICAgICAgICAgICB2bmNfcmVhZF93 aGVuKHZzLCBwcm90b2NvbF9jbGllbnRfaW5pdCwgMSk7CisgICAgICAgICAgIHN0YXJ0X2NsaWVu dF9pbml0KHZzKTsKICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICBjYXNlIFZOQ19BVVRIX1ZO QzoKQEAgLTIzODAsNyArMjIyMiw3IEBAIHN0YXRpYyBpbnQgcHJvdG9jb2xfdmVyc2lvbihWbmNT dGF0ZSAqdnMsIHVpbnQ4X3QgKnZlcnNpb24sIHNpemVfdCBsZW4pCiAgICAgICAgICAgICBWTkNf REVCVUcoIlRlbGwgY2xpZW50IGF1dGggbm9uZVxuIik7CiAgICAgICAgICAgICB2bmNfd3JpdGVf dTMyKHZzLCB2cy0+YXV0aCk7CiAgICAgICAgICAgICB2bmNfZmx1c2godnMpOwotICAgICAgICAg ICAgdm5jX3JlYWRfd2hlbih2cywgcHJvdG9jb2xfY2xpZW50X2luaXQsIDEpOworICAgICAgICAg ICAgc3RhcnRfY2xpZW50X2luaXQodnMpOwogICAgICAgIH0gZWxzZSBpZiAodnMtPmF1dGggPT0g Vk5DX0FVVEhfVk5DKSB7CiAgICAgICAgICAgICBWTkNfREVCVUcoIlRlbGwgY2xpZW50IFZOQyBh dXRoXG4iKTsKICAgICAgICAgICAgIHZuY193cml0ZV91MzIodnMsIHZzLT5hdXRoKTsKLS0gCjIu Ny40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsCg==