Return-Path: MIME-Version: 1.0 From: Nick Pelly Date: Thu, 18 Feb 2010 16:10:18 -0800 Message-ID: <35c90d961002181610kb72d0b7hd37c595929a9d7be@mail.gmail.com> Subject: Userspace patches for eSCO/SCO packet selection To: Linux Bluetooth Content-Type: multipart/mixed; boundary=000e0cd1a366e35021047fe8e9db Sender: linux-bluetooth-owner@vger.kernel.org List-ID: --000e0cd1a366e35021047fe8e9db Content-Type: text/plain; charset=ISO-8859-1 For hcidump: 0001-Print-pkt_type-when-decoding-Setup-Synchronous-Conne.patch 0002-Print-pkt_type-on-HCI-Accept-Synchrnous-Connection-R.patch For bluez userspace: 0001-Update-userspace-headers-for-SCO-eSCO-packet-selecti.patch 0002-Add-option-to-change-sco-packet-type-in-scotest.patch Nick --000e0cd1a366e35021047fe8e9db Content-Type: application/octet-stream; name="0001-Print-pkt_type-when-decoding-Setup-Synchronous-Conne.patch" Content-Disposition: attachment; filename="0001-Print-pkt_type-when-decoding-Setup-Synchronous-Conne.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g5u7gi9e0 RnJvbSAwZTIwMTJjMzgyYzA4NWNiNGRmMzFiNDc2ODFiZDJkZGIzZTRiMWVmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaWNrIFBlbGx5IDxucGVsbHlAZ29vZ2xlLmNvbT4KRGF0ZTog VHVlLCA5IEZlYiAyMDEwIDE3OjA1OjAyIC0wODAwClN1YmplY3Q6IFtQQVRDSCAxLzJdIFByaW50 IHBrdF90eXBlIHdoZW4gZGVjb2RpbmcgU2V0dXAgU3luY2hyb25vdXMgQ29ubmVjdGlvbiBjb21t YW5kLgoKLS0tCiBwYXJzZXIvaGNpLmMgfCAgICA1ICsrKy0tCiAxIGZpbGVzIGNoYW5nZWQsIDMg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9wYXJzZXIvaGNpLmMg Yi9wYXJzZXIvaGNpLmMKaW5kZXggYzBjYTI3ZS4uOTU4Y2QzOCAxMDA2NDQKLS0tIGEvcGFyc2Vy L2hjaS5jCisrKyBiL3BhcnNlci9oY2kuYwpAQCAtOTE3LDggKzkxNyw5IEBAIHN0YXRpYyBpbmxp bmUgdm9pZCBzZXR1cF9zeW5jX2Nvbm5fZHVtcChpbnQgbGV2ZWwsIHN0cnVjdCBmcmFtZSAqZnJt KQogCXNldHVwX3N5bmNfY29ubl9jcCAqY3AgPSBmcm0tPnB0cjsKIAogCXBfaW5kZW50KGxldmVs LCBmcm0pOwotCXByaW50ZigiaGFuZGxlICVkIHZvaWNlIHNldHRpbmcgMHglNC40eFxuIiwgYnRv aHMoY3AtPmhhbmRsZSksCi0JCQkJCQlidG9ocyhjcC0+dm9pY2Vfc2V0dGluZykpOworCXByaW50 ZigiaGFuZGxlICVkIHZvaWNlIHNldHRpbmcgMHglNC40eCBwa3RfdHlwZSAweCU0LjR4XG4iLAor CQlidG9ocyhjcC0+aGFuZGxlKSwgYnRvaHMoY3AtPnZvaWNlX3NldHRpbmcpLAorCQlidG9ocyhj cC0+cGt0X3R5cGUpKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIGhvbGRfbW9kZV9kdW1wKGlu dCBsZXZlbCwgc3RydWN0IGZyYW1lICpmcm0pCi0tIAoxLjYuNS4zCgo= --000e0cd1a366e35021047fe8e9db Content-Type: application/octet-stream; name="0002-Print-pkt_type-on-HCI-Accept-Synchrnous-Connection-R.patch" Content-Disposition: attachment; filename="0002-Print-pkt_type-on-HCI-Accept-Synchrnous-Connection-R.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g5u7gm4w1 RnJvbSA1NWY0M2U2MDQ3OTczNTY0Njg3MzNhN2EzMzNiYzgzNWU5YWIyMzMyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaWNrIFBlbGx5IDxucGVsbHlAZ29vZ2xlLmNvbT4KRGF0ZTog VGh1LCAxMSBGZWIgMjAxMCAxNToyNjoyNyAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSBQcmlu dCBwa3RfdHlwZSBvbiBIQ0kgQWNjZXB0IFN5bmNocm5vdXMgQ29ubmVjdGlvbiBSZXF1ZXN0IENv bW1hbmQuCgotLS0KIHBhcnNlci9oY2kuYyB8ICAgMTUgKysrKysrKysrKysrKystCiAxIGZpbGVz IGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv cGFyc2VyL2hjaS5jIGIvcGFyc2VyL2hjaS5jCmluZGV4IDk1OGNkMzguLmVlNGZkYjAgMTAwNjQ0 Ci0tLSBhL3BhcnNlci9oY2kuYworKysgYi9wYXJzZXIvaGNpLmMKQEAgLTkyMiw2ICs5MjIsMTcg QEAgc3RhdGljIGlubGluZSB2b2lkIHNldHVwX3N5bmNfY29ubl9kdW1wKGludCBsZXZlbCwgc3Ry dWN0IGZyYW1lICpmcm0pCiAJCWJ0b2hzKGNwLT5wa3RfdHlwZSkpOwogfQogCitzdGF0aWMgaW5s aW5lIHZvaWQgYWNjZXB0X3N5bmNfY29ubl9yZXFfZHVtcChpbnQgbGV2ZWwsIHN0cnVjdCBmcmFt ZSAqZnJtKQoreworCWFjY2VwdF9zeW5jX2Nvbm5fcmVxX2NwICpjcCA9IGZybS0+cHRyOworCWNo YXIgYWRkclsxOF07CisKKwlwX2luZGVudChsZXZlbCwgZnJtKTsKKwlwX2JhMnN0cigmY3AtPmJk YWRkciwgYWRkcik7CisJcHJpbnRmKCJiZGFkZHIgJXMgdm9pY2Vfc2V0dGluZyAweCU0LjR4IHBr dF90eXBlIDB4JTQuNHhcbiIsCisJCWFkZHIsIGJ0b2hzKGNwLT52b2ljZV9zZXR0aW5nKSwgYnRv aHMoY3AtPnBrdF90eXBlKSk7Cit9CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBob2xkX21vZGVfZHVt cChpbnQgbGV2ZWwsIHN0cnVjdCBmcmFtZSAqZnJtKQogewogCWhvbGRfbW9kZV9jcCAqY3AgPSBm cm0tPnB0cjsKQEAgLTEzODUsOSArMTM5NiwxMSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgY29tbWFu ZF9kdW1wKGludCBsZXZlbCwgc3RydWN0IGZyYW1lICpmcm0pCiAJCQlyZXR1cm47CiAJCWNhc2Ug T0NGX0NSRUFURV9DT05OX0NBTkNFTDoKIAkJY2FzZSBPQ0ZfUkVNT1RFX05BTUVfUkVRX0NBTkNF TDoKLQkJY2FzZSBPQ0ZfQUNDRVBUX1NZTkNfQ09OTl9SRVE6CiAJCQliZGFkZHJfY29tbWFuZF9k dW1wKGxldmVsICsgMSwgZnJtKTsKIAkJCXJldHVybjsKKwkJY2FzZSBPQ0ZfQUNDRVBUX1NZTkNf Q09OTl9SRVE6CisJCQlhY2NlcHRfc3luY19jb25uX3JlcV9kdW1wKGxldmVsICsgMSwgZnJtKTsK KwkJCXJldHVybjsKIAkJY2FzZSBPQ0ZfQUREX1NDTzoKIAkJY2FzZSBPQ0ZfU0VUX0NPTk5fUFRZ UEU6CiAJCQlhZGRfc2NvX2R1bXAobGV2ZWwgKyAxLCBmcm0pOwotLSAKMS42LjUuMwoK --000e0cd1a366e35021047fe8e9db Content-Type: application/octet-stream; name="0001-Update-userspace-headers-for-SCO-eSCO-packet-selecti.patch" Content-Disposition: attachment; filename="0001-Update-userspace-headers-for-SCO-eSCO-packet-selecti.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g5u8142r2 RnJvbSA0YzI0NmIxOWI4ZTYyMjdmODk3ZTg5MmZhYTFhYmQ4YWY3YzYxOWViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaWNrIFBlbGx5IDxucGVsbHlAZ29vZ2xlLmNvbT4KRGF0ZTog VGh1LCAxOCBGZWIgMjAxMCAxNTo1OToxNiAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMS8yXSBVcGRh dGUgdXNlcnNwYWNlIGhlYWRlcnMgZm9yIFNDTy9lU0NPIHBhY2tldCBzZWxlY3Rpb24gaW4gc3Ry dWN0IHNvY2thZGRyX3Njby4KCnVpbnQxNl90IHNjb19wa3RfdHlwZSBpcyBpbnRyb2R1Y2VkIHRv IHN0cnVjdCBzb2NrYWRkcl9zY28uIEl0IGFsbG93cyBiaXR3aXNlCnNlbGVjdGlvbiBvZiBTQ08v ZVNDTyBwYWNrZXQgdHlwZXMuIEN1cnJlbnRseSB0aG9zZSBiaXRzIGFyZToKCjB4MDAwMSBIVjEg bWF5IGJlIHVzZWQuCjB4MDAwMiBIVjIgbWF5IGJlIHVzZWQuCjB4MDAwNCBIVjMgbWF5IGJlIHVz ZWQuCjB4MDAwOCBFVjMgbWF5IGJlIHVzZWQuCjB4MDAxMCBFVjQgbWF5IGJlIHVzZWQuCjB4MDAy MCBFVjUgbWF5IGJlIHVzZWQuCjB4MDA0MCAyLUVWMyBtYXkgYmUgdXNlZC4KMHgwMDgwIDMtRVYz IG1heSBiZSB1c2VkLgoweDAxMDAgMi1FVjUgbWF5IGJlIHVzZWQuCjB4MDIwMCAzLUVWNSBtYXkg YmUgdXNlZC4KClRoaXMgaXMgc2ltaWxhciB0byB0aGUgUGFja2V0IFR5cGUgcGFyYW1ldGVyIGlu IHRoZSBIQ0kgU2V0dXAgU3luY2hyb25vdXMKQ29ubmVjdGlvbiBDb21tYW5kLCBleGNlcHQgdGhh dCB3ZSBhcmUgbm90IHJldmVyc2luZyB0aGUgbG9naWMgb24gdGhlIEVEUiBiaXRzLgpUaGlzIG1h a2VzIHRoZSB1c2Ugb2Ygc2NvX3BrdF90cHllIGZvcndhcmQgcG9ydGFibGUgZm9yIHRoZSB1c2Ug Y2FzZSBvZgp3aGl0ZS1saXN0aW5nIHBhY2tldCB0eXBlcywgd2hpY2ggd2UgZXhwZWN0IHdpbGwg YmUgdGhlIHByaW1hcnkgdXNlIGNhc2UuCgpJZiBzY29fcGt0X3R5cGUgaXMgemVybywgb3IgdXNl cnNwYWNlIHVzZXMgdGhlIG9sZCBzdHJ1Y3Qgc29ja2FkZHJfc2NvLAp0aGVuIHRoZSBkZWZhdWx0 IGJlaGF2aW9yIGlzIHRvIGFsbG93IGFsbCBwYWNrZXQgdHlwZXMuCgpQYWNrZXQgdHlwZSBzZWxl Y3Rpb24gaXMganVzdCBhIHJlcXVlc3QgbWFkZSB0byB0aGUgQmx1ZXRvb3RoIGNoaXBzZXQsIGFu ZAppdCBpcyB1cCB0byB0aGUgbGluayBtYW5hZ2VyIG9uIHRoZSBjaGlwc2V0IHRvIG5lZ2lvdGlh dGUgYW5kIGRlY2lkZSBvbiB0aGUKYWN0dWFsIHBhY2tldCB0eXBlcyB1c2VkLiBGdXJ0aGVybW9y ZSwgd2hlbiBhIFNDTy9lU0NPIGNvbm5lY3Rpb24gaXMgZXZlbnR1YWxseQptYWRlIHRoZXJlIGlz IG5vIHdheSBmb3IgdGhlIGhvc3Qgc3RhY2sgdG8gZGV0ZXJtaW5lIHdoaWNoIHBhY2tldCB0eXBl IHdhcyB1c2VkCihob3dldmVyIGl0IGlzIHBvc3NpYmxlIHRvIGdldCB0aGUgbGluayB0eXBlIG9m IFNDTyBvciBlU0NPKS4KCnNjb19wa3RfdHlwZSBpcyBpZ25vcmVkIGZvciBpbmNvbWluZyBTQ08g Y29ubmVjdGlvbnMuIEl0IGlzIHBvc3NpYmxlCnRvIGFkZCB0aGlzIGluIHRoZSBmdXR1cmUgYXMg YSBwYXJhbWV0ZXIgdG8gdGhlIEFjY2VwdCBTeW5jaHJvbm91cyBDb25uZWN0aW9uCkNvbW1hbmQs IGhvd2V2ZXIgaXRzIGEgbGl0dGxlIHRyaWNraWVyIGJlY2F1c2UgdGhlIGtlcm5lbCBkb2VzIG5v dApjdXJyZW50bHkgcHJlc2VydmUgc29ja2FkZHJfc2NvIGRhdGEgYmV0d2VlbiB1c2Vyc3BhY2Ug Y2FsbHMgdG8gYWNjZXB0KCkuCgpUaGUgbW9zdCBjb21tb24gdXNlIGZvciBzY29fcGt0X3R5cGUg d2lsbCBiZSB0byB3aGl0ZS1saXN0IG9ubHkgU0NPIHBhY2tldHMsCndoaWNoIGNhbiBiZSBkb25l IHdpdGggdGhlIGhjaS5oIGNvbnN0YW50IFNDT19FU0NPX01BU0suCgpUaGlzIHBhdGNoIGlzIG1v dGl2YXRlZCBieSBicm9rZW4gQmx1ZXRvb3RoIGNhcmtpdHMgc3VjaCBhcyB0aGUgTW90b3JvbGEK SEY4NTAgKGl0IGNsYWltcyB0byBzdXBwb3J0IGVTQ08sIGJ1dCB3aWxsIGFjdHVhbGx5IHJlamVj dCBlU0NPIGNvbm5lY3Rpb25zCmFmdGVyIDUgc2Vjb25kcykgYW5kIHRoZSAyMDA3LzIwMDggSW5m aW5pdGkgRzM1LzM3IChmYWlscyB0byByb3V0ZSBhdWRpbwppZiBhIDItRVY1IHBhY2tldCB0eXBl IGlzIG5lZ2lvdGlhdGVkKS4gV2l0aCB0aGlzIHBhdGNoIHVzZXJzcGFjZSBjYW4gbWFpbnRhaW4K YSBsaXN0IG9mIGNvbXBhdGlibGUgcGFja2V0IHR5cGVzIHRvIHdvcmthcm91bmQgcmVtb3RlIGRl dmljZXMgc3VjaCBhcyB0aGVzZS4KCi0tLQogaW5jbHVkZS9ibHVldG9vdGgvaGNpLmggfCAgIDE3 ICsrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2JsdWV0b290aC9zY28uaCB8ICAgIDIgKysKIDIg ZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9pbmNsdWRlL2JsdWV0b290aC9oY2kuaCBiL2luY2x1ZGUvYmx1ZXRvb3RoL2hjaS5oCmlu ZGV4IGRjZDMyZTcuLmFhZWUyOTYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYmx1ZXRvb3RoL2hjaS5o CisrKyBiL2luY2x1ZGUvYmx1ZXRvb3RoL2hjaS5oCkBAIC0xMzMsNiArMTMzLDIzIEBAIGVudW0g ewogI2RlZmluZSBTQ09fUFRZUEVfTUFTSwkoSENJX0hWMSB8IEhDSV9IVjIgfCBIQ0lfSFYzKQog I2RlZmluZSBBQ0xfUFRZUEVfTUFTSwkoSENJX0RNMSB8IEhDSV9ESDEgfCBIQ0lfRE0zIHwgSENJ X0RIMyB8IEhDSV9ETTUgfCBIQ0lfREg1KQogCisvKiBlU0NPIHBhY2tldCB0eXBlcyAqLworI2Rl ZmluZSBFU0NPX0hWMQkweDAwMDEKKyNkZWZpbmUgRVNDT19IVjIJMHgwMDAyCisjZGVmaW5lIEVT Q09fSFYzCTB4MDAwNAorI2RlZmluZSBFU0NPX0VWMwkweDAwMDgKKyNkZWZpbmUgRVNDT19FVjQJ MHgwMDEwCisjZGVmaW5lIEVTQ09fRVY1CTB4MDAyMAorI2RlZmluZSBFU0NPXzJFVjMJMHgwMDQw CisjZGVmaW5lIEVTQ09fM0VWMwkweDAwODAKKyNkZWZpbmUgRVNDT18yRVY1CTB4MDEwMAorI2Rl ZmluZSBFU0NPXzNFVjUJMHgwMjAwCisKKyNkZWZpbmUgU0NPX0VTQ09fTUFTSwkoRVNDT19IVjEg fCBFU0NPX0hWMiB8IEVTQ09fSFYzKQorI2RlZmluZSBFRFJfRVNDT19NQVNLCShFU0NPXzJFVjMg fCBFU0NPXzNFVjMgfCBFU0NPXzJFVjUgfCBFU0NPXzNFVjUpCisjZGVmaW5lIEFMTF9FU0NPX01B U0sJKFNDT19FU0NPX01BU0sgfCBFU0NPX0VWMyB8IEVTQ09fRVY0IHwgRVNDT19FVjUgfCBcCisJ CQlFRFJfRVNDT19NQVNLKQorCiAvKiBIQ0kgRXJyb3IgY29kZXMgKi8KICNkZWZpbmUgSENJX1VO S05PV05fQ09NTUFORAkJCTB4MDEKICNkZWZpbmUgSENJX05PX0NPTk5FQ1RJT04JCQkweDAyCmRp ZmYgLS1naXQgYS9pbmNsdWRlL2JsdWV0b290aC9zY28uaCBiL2luY2x1ZGUvYmx1ZXRvb3RoL3Nj by5oCmluZGV4IDQzYjYwNjkuLmZmNzE4MjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYmx1ZXRvb3Ro L3Njby5oCisrKyBiL2luY2x1ZGUvYmx1ZXRvb3RoL3Njby5oCkBAIC00MSw2ICs0MSw4IEBAIGV4 dGVybiAiQyIgewogc3RydWN0IHNvY2thZGRyX3NjbyB7CiAJc2FfZmFtaWx5X3QJc2NvX2ZhbWls eTsKIAliZGFkZHJfdAlzY29fYmRhZGRyOworCS8qIGZvciB1c2Ugd2l0aCBlU0NPIG1hc2tzIHN1 Y2ggYXMgU0NPX0VTQ09fTUFTSyAqLworCXVpbnQxNl90CXNjb19wa3RfdHlwZTsKIH07CiAKIC8q IHNldC9nZXQgc29ja29wdCBkZWZpbmVzICovCi0tIAoxLjYuNS4zCgo= --000e0cd1a366e35021047fe8e9db Content-Type: application/octet-stream; name="0002-Add-option-to-change-sco-packet-type-in-scotest.patch" Content-Disposition: attachment; filename="0002-Add-option-to-change-sco-packet-type-in-scotest.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g5u8192h3 RnJvbSA4MzNiMTBiODhjMGU4YWE3YWNkOTgxMzNmOGY3Y2NhYzY0Y2FmZDNhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaWNrIFBlbGx5IDxucGVsbHlAZ29vZ2xlLmNvbT4KRGF0ZTog VGh1LCAxOCBGZWIgMjAxMCAxNjowNDo0MiAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSBBZGQg b3B0aW9uIHRvIGNoYW5nZSBzY28gcGFja2V0IHR5cGUgaW4gc2NvdGVzdC4KCi0tLQogdGVzdC9z Y290ZXN0LmMgfCAgIDE2ICsrKysrKysrKysrKysrLS0KIDEgZmlsZXMgY2hhbmdlZCwgMTQgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90ZXN0L3Njb3Rlc3QuYyBi L3Rlc3Qvc2NvdGVzdC5jCmluZGV4IDgwMDgxYzYuLmQ3MmM2MTAgMTAwNjQ0Ci0tLSBhL3Rlc3Qv c2NvdGVzdC5jCisrKyBiL3Rlc3Qvc2NvdGVzdC5jCkBAIC01NSw2ICs1NSw5IEBAIHN0YXRpYyB1 bnNpZ25lZCBjaGFyICpidWY7CiAvKiBEZWZhdWx0IGRhdGEgc2l6ZSAqLwogc3RhdGljIGxvbmcg ZGF0YV9zaXplID0gNjcyOwogCisvKiBEZWZhdWx0IHBhY2tldCB0eXBlICovCitzdGF0aWMgdWlu dDE2X3QgcGt0X3R5cGUgPSAwOworCiBzdGF0aWMgYmRhZGRyX3QgYmRhZGRyOwogCiBzdGF0aWMg ZmxvYXQgdHYyZmwoc3RydWN0IHRpbWV2YWwgdHYpCkBAIC05MSw2ICs5NCw3IEBAIHN0YXRpYyBp bnQgZG9fY29ubmVjdChjaGFyICpzdnIpCiAJLyogQ29ubmVjdCB0byByZW1vdGUgZGV2aWNlICov CiAJbWVtc2V0KCZhZGRyLCAwLCBzaXplb2YoYWRkcikpOwogCWFkZHIuc2NvX2ZhbWlseSA9IEFG X0JMVUVUT09USDsKKwlhZGRyLnNjb19wa3RfdHlwZSA9IHBrdF90eXBlOwogCXN0cjJiYShzdnIs ICZhZGRyLnNjb19iZGFkZHIpOwogCiAJaWYgKGNvbm5lY3Qoc2ssIChzdHJ1Y3Qgc29ja2FkZHIg KikgJmFkZHIsIHNpemVvZihhZGRyKSkgPCAwKSB7CkBAIC0xMzksNiArMTQzLDcgQEAgc3RhdGlj IHZvaWQgZG9fbGlzdGVuKHZvaWQgKCpoYW5kbGVyKShpbnQgc2spKQogCS8qIEJpbmQgdG8gbG9j YWwgYWRkcmVzcyAqLwogCW1lbXNldCgmYWRkciwgMCwgc2l6ZW9mKGFkZHIpKTsKIAlhZGRyLnNj b19mYW1pbHkgPSBBRl9CTFVFVE9PVEg7CisJYWRkci5zY29fcGt0X3R5cGUgPSBwa3RfdHlwZTsK IAliYWNweSgmYWRkci5zY29fYmRhZGRyLCAmYmRhZGRyKTsKIAogCWlmIChiaW5kKHNrLCAoc3Ry dWN0IHNvY2thZGRyICopICZhZGRyLCBzaXplb2YoYWRkcikpIDwgMCkgewpAQCAtMzI5LDcgKzMz NCw3IEBAIHN0YXRpYyB2b2lkIHVzYWdlKHZvaWQpCiB7CiAJcHJpbnRmKCJzY290ZXN0IC0gU0NP IHRlc3RpbmdcbiIKIAkJIlVzYWdlOlxuIik7Ci0JcHJpbnRmKCJcdHNjb3Rlc3QgPG1vZGU+IFst YiBieXRlc10gW2JkX2FkZHJdXG4iKTsKKwlwcmludGYoIlx0c2NvdGVzdCA8bW9kZT4gWy1iIGJ5 dGVzXSBbLXAgcGt0X3R5cGVdIFtiZF9hZGRyXVxuIik7CiAJcHJpbnRmKCJNb2RlczpcbiIKIAkJ Ilx0LWQgZHVtcCAoc2VydmVyKVxuIgogCQkiXHQtYyByZWNvbm5lY3QgKGNsaWVudClcbiIKQEAg LTM0NCw3ICszNDksNyBAQCBpbnQgbWFpbihpbnQgYXJnYyAsY2hhciAqYXJndltdKQogCXN0cnVj dCBzaWdhY3Rpb24gc2E7CiAJaW50IG9wdCwgc2ssIG1vZGUgPSBSRUNWOwogCi0Jd2hpbGUgKChv cHQ9Z2V0b3B0KGFyZ2MsYXJndiwicmRzY21uYjoiKSkgIT0gRU9GKSB7CisJd2hpbGUgKChvcHQ9 Z2V0b3B0KGFyZ2MsYXJndiwicmRzY21uYjpwOiIpKSAhPSBFT0YpIHsKIAkJc3dpdGNoKG9wdCkg ewogCQljYXNlICdyJzoKIAkJCW1vZGUgPSBSRUNWOwpAQCAtMzc0LDYgKzM3OSwxMyBAQCBpbnQg bWFpbihpbnQgYXJnYyAsY2hhciAqYXJndltdKQogCQkJZGF0YV9zaXplID0gYXRvaShvcHRhcmcp OwogCQkJYnJlYWs7CiAKKwkJY2FzZSAncCc6CisJCQlpZiAoc3NjYW5mKG9wdGFyZywgIjB4JTRo eCIsICZwa3RfdHlwZSkgIT0gMSkgeworCQkJCXVzYWdlKCk7CisJCQkJZXhpdCgxKTsKKwkJCX0K KwkJCWJyZWFrOworCiAJCWRlZmF1bHQ6CiAJCQl1c2FnZSgpOwogCQkJZXhpdCgxKTsKLS0gCjEu Ni41LjMKCg== --000e0cd1a366e35021047fe8e9db--