/pidgin/main: 65d716767017: http: Port to Gio
Mike Ruprecht <[email protected]> Mon, 10 Oct 2016 20:33:19 -0400
| Newsgroups | gmane.comp.gnome.gaim.cvs |
|---|---|
| Message-ID | <[email protected]> |
Q2hhbmdlc2V0OiA2NWQ3MTY3NjcwMTc5Y2IzNDExNzM2NDQyYmFiMTRkNmI2NjJlZGIzCkF1dGhv cjoJIE1pa2UgUnVwcmVjaHQgPGNtYWlrdUBnbWFpbC5jb20+CkRhdGU6CSAyMDE2LTA5LTExIDEx OjM5IC0wNTAwCkJyYW5jaDoJIGRlZmF1bHQKVVJMOiBodHRwczovL2hnLnBpZGdpbi5pbS9waWRn aW4vbWFpbi9yZXYvNjVkNzE2NzY3MDE3CgpEZXNjcmlwdGlvbjoKCmh0dHA6IFBvcnQgdG8gR2lv CgpUaGlzIHBhdGNoIHBvcnRzIGxpYnB1cnBsZSdzIEhUVFAgaW1wbGVtZW50YXRpb24gdG8gdXNl IEdpbyBkaXJlY3RseQppbnN0ZWFkIG9mIHRocm91Z2ggUHVycGxlU29ja2V0LiBJdCB1c2VzIHRo ZSBwb2xsYWJsZSBpbnRlcmZhY2UgdG8KR0lPU3RyZWFtcywgd2hpY2ggaXNuJ3QgaWRlYWwsIGJ1 dCBjb3VsZCBiZSBjaGFuZ2VkIGxhdGVyIGlmIGl0J3MKZGVjaWRlZCB3ZSdyZSBnb2luZyB0byBr ZWVwIGl0LgoKZGlmZnN0YXQ6CgogbGlicHVycGxlL2h0dHAuYyB8ICAyMjUgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZpbGVzIGNoYW5n ZWQsIDE2NiBpbnNlcnRpb25zKCspLCA1OSBkZWxldGlvbnMoLSkKCmRpZmZzICh0cnVuY2F0ZWQg ZnJvbSA0MzAgdG8gMzAwIGxpbmVzKToKCmRpZmYgLS1naXQgYS9saWJwdXJwbGUvaHR0cC5jIGIv bGlicHVycGxlL2h0dHAuYwotLS0gYS9saWJwdXJwbGUvaHR0cC5jCisrKyBiL2xpYnB1cnBsZS9o dHRwLmMKQEAgLTI4LDcgKzI4LDcgQEAKICNpbmNsdWRlICJkZWJ1Zy5oIgogI2luY2x1ZGUgIm50 bG0uaCIKICNpbmNsdWRlICJwcm94eS5oIgotI2luY2x1ZGUgInB1cnBsZS1zb2NrZXQuaCIKKyNp bmNsdWRlICJwdXJwbGUtZ2lvLmgiCiAKICNpbmNsdWRlIDx6bGliLmg+CiAjaWZuZGVmIHpfY29u c3QKQEAgLTU3LDkgKzU3LDE1IEBAIHR5cGVkZWYgc3RydWN0IF9QdXJwbGVIdHRwS2VlcGFsaXZl UmVxdWUKIAogdHlwZWRlZiBzdHJ1Y3QgX1B1cnBsZUh0dHBHelN0cmVhbSBQdXJwbGVIdHRwR3pT dHJlYW07CiAKK3R5cGVkZWYgdm9pZCAoKlB1cnBsZUh0dHBTb2NrZXRDb25uZWN0Q2IpKFB1cnBs ZUh0dHBTb2NrZXQgKmhzLAorCQljb25zdCBnY2hhciAqZXJyb3IsIGdwb2ludGVyIF9oYyk7CisK IHN0cnVjdCBfUHVycGxlSHR0cFNvY2tldAogewotCVB1cnBsZVNvY2tldCAqcHM7CisJR1NvY2tl dENvbm5lY3Rpb24gKmNvbm47CisJR0NhbmNlbGxhYmxlICpjYW5jZWxsYWJsZTsKKwlndWludCBp bnB1dF9zb3VyY2U7CisJZ3VpbnQgb3V0cHV0X3NvdXJjZTsKIAogCWdib29sZWFuIGlzX2J1c3k7 CiAJZ3VpbnQgdXNlX2NvdW50OwpAQCAtMTc1LDcgKzE4MSw3IEBAIHN0cnVjdCBfUHVycGxlSHR0 cENvb2tpZUphcgogc3RydWN0IF9QdXJwbGVIdHRwS2VlcGFsaXZlUmVxdWVzdAogewogCVB1cnBs ZUNvbm5lY3Rpb24gKmdjOwotCVB1cnBsZVNvY2tldENvbm5lY3RDYiBjYjsKKwlQdXJwbGVIdHRw U29ja2V0Q29ubmVjdENiIGNiOwogCWdwb2ludGVyIHVzZXJfZGF0YTsKIAogCVB1cnBsZUh0dHBL ZWVwYWxpdmVIb3N0ICpob3N0OwpAQCAtMjQ3LDcgKzI1Myw3IEBAIGdjaGFyICogcHVycGxlX2h0 dHBfY29va2llX2phcl9kdW1wKFB1cnAKIHN0YXRpYyBQdXJwbGVIdHRwS2VlcGFsaXZlUmVxdWVz dCAqCiBwdXJwbGVfaHR0cF9rZWVwYWxpdmVfcG9vbF9yZXF1ZXN0KFB1cnBsZUh0dHBLZWVwYWxp dmVQb29sICpwb29sLAogCVB1cnBsZUNvbm5lY3Rpb24gKmdjLCBjb25zdCBnY2hhciAqaG9zdCwg aW50IHBvcnQsIGdib29sZWFuIGlzX3NzbCwKLQlQdXJwbGVTb2NrZXRDb25uZWN0Q2IgY2IsIGdw b2ludGVyIHVzZXJfZGF0YSk7CisJUHVycGxlSHR0cFNvY2tldENvbm5lY3RDYiBjYiwgZ3BvaW50 ZXIgdXNlcl9kYXRhKTsKIHN0YXRpYyB2b2lkCiBwdXJwbGVfaHR0cF9rZWVwYWxpdmVfcG9vbF9y ZXF1ZXN0X2NhbmNlbChQdXJwbGVIdHRwS2VlcGFsaXZlUmVxdWVzdCAqcmVxKTsKIHN0YXRpYyB2 b2lkCkBAIC00NjMsMjMgKzQ2OSw2NSBAQCBwdXJwbGVfaHR0cF9zb2NrZXRfaGFzaChjb25zdCBn Y2hhciAqaG9zCiAJcmV0dXJuIGdfc3RyZHVwX3ByaW50ZigiJWM6JXM6JWQiLCAoaXNfc3NsID8g J1MnIDogJ1InKSwgaG9zdCwgcG9ydCk7CiB9CiAKK3N0YXRpYyB2b2lkCitwdXJwbGVfaHR0cF9z b2NrZXRfY29ubmVjdF9uZXdfY2IoR09iamVjdCAqc291cmNlLCBHQXN5bmNSZXN1bHQgKnJlcywK KwkJZ3BvaW50ZXIgdXNlcl9kYXRhKQoreworCVB1cnBsZUh0dHBTb2NrZXQgKmhzID0gdXNlcl9k YXRhOworCUdTb2NrZXRDb25uZWN0aW9uICpjb25uOworCVB1cnBsZUh0dHBTb2NrZXRDb25uZWN0 Q2IgY2I7CisJZ3BvaW50ZXIgY2JfZGF0YTsKKwlHRXJyb3IgKmVycm9yID0gTlVMTDsKKworCWNv bm4gPSBnX3NvY2tldF9jbGllbnRfY29ubmVjdF90b19ob3N0X2ZpbmlzaChHX1NPQ0tFVF9DTElF TlQoc291cmNlKSwKKwkJCXJlcywgJmVycm9yKTsKKworCWNiID0gZ19vYmplY3Rfc3RlYWxfZGF0 YShzb3VyY2UsICJjYiIpOworCWNiX2RhdGEgPSBnX29iamVjdF9zdGVhbF9kYXRhKHNvdXJjZSwg ImNiX2RhdGEiKTsKKworCWlmIChjb25uID09IE5VTEwpIHsKKwkJY2IoaHMsIGVycm9yLT5tZXNz YWdlLCBjYl9kYXRhKTsKKwkJZ19jbGVhcl9lcnJvcigmZXJyb3IpOworCQlyZXR1cm47CisJfQor CisJaHMtPmNvbm4gPSBjb25uOworCisJY2IoaHMsIE5VTEwsIGNiX2RhdGEpOworfQorCiBzdGF0 aWMgUHVycGxlSHR0cFNvY2tldCAqCiBwdXJwbGVfaHR0cF9zb2NrZXRfY29ubmVjdF9uZXcoUHVy cGxlQ29ubmVjdGlvbiAqZ2MsIGNvbnN0IGdjaGFyICpob3N0LAotCWludCBwb3J0LCBnYm9vbGVh biBpc19zc2wsIFB1cnBsZVNvY2tldENvbm5lY3RDYiBjYiwgZ3BvaW50ZXIgdXNlcl9kYXRhKQor CQlpbnQgcG9ydCwgZ2Jvb2xlYW4gaXNfc3NsLAorCQlQdXJwbGVIdHRwU29ja2V0Q29ubmVjdENi IGNiLCBncG9pbnRlciB1c2VyX2RhdGEpCiB7Ci0JUHVycGxlSHR0cFNvY2tldCAqaHMgPSBnX25l dzAoUHVycGxlSHR0cFNvY2tldCwgMSk7Ci0KLQlocy0+cHMgPSBwdXJwbGVfc29ja2V0X25ldyhn Yyk7Ci0JcHVycGxlX3NvY2tldF9zZXRfZGF0YShocy0+cHMsICJocyIsIGhzKTsKLQlwdXJwbGVf c29ja2V0X3NldF90bHMoaHMtPnBzLCBpc19zc2wpOwotCXB1cnBsZV9zb2NrZXRfc2V0X2hvc3Qo aHMtPnBzLCBob3N0KTsKLQlwdXJwbGVfc29ja2V0X3NldF9wb3J0KGhzLT5wcywgcG9ydCk7Ci0J aWYgKCFwdXJwbGVfc29ja2V0X2Nvbm5lY3QoaHMtPnBzLCBjYiwgdXNlcl9kYXRhKSkgewotCQlw dXJwbGVfc29ja2V0X2Rlc3Ryb3koaHMtPnBzKTsKLQkJZ19mcmVlKGhzKTsKKwlQdXJwbGVIdHRw U29ja2V0ICpoczsKKwlHU29ja2V0Q2xpZW50ICpjbGllbnQ7CisJR0Vycm9yICplcnJvciA9IE5V TEw7CisKKwljbGllbnQgPSBwdXJwbGVfZ2lvX3NvY2tldF9jbGllbnRfbmV3KAorCQkJcHVycGxl X2Nvbm5lY3Rpb25fZ2V0X2FjY291bnQoZ2MpLCAmZXJyb3IpOworCisJaWYgKGNsaWVudCA9PSBO VUxMKSB7CisJCXB1cnBsZV9kZWJ1Z19lcnJvcigiaHR0cCIsICJFcnJvciBjb25uZWN0aW5nIHRv ICclczolZCc6ICVzIiwKKwkJCQlob3N0LCBwb3J0LCBlcnJvci0+bWVzc2FnZSk7CisJCWdfY2xl YXJfZXJyb3IoJmVycm9yKTsKIAkJcmV0dXJuIE5VTEw7CiAJfQogCisJaHMgPSBnX25ldzAoUHVy cGxlSHR0cFNvY2tldCwgMSk7CisJaHMtPmNhbmNlbGxhYmxlID0gZ19jYW5jZWxsYWJsZV9uZXco KTsKKworCWdfc29ja2V0X2NsaWVudF9zZXRfdGxzKGNsaWVudCwgaXNfc3NsKTsKKwlnX29iamVj dF9zZXRfZGF0YShHX09CSkVDVChjbGllbnQpLCAiY2IiLCBjYik7CisJZ19vYmplY3Rfc2V0X2Rh dGEoR19PQkpFQ1QoY2xpZW50KSwgImNiX2RhdGEiLCB1c2VyX2RhdGEpOworCisJZ19zb2NrZXRf Y2xpZW50X2Nvbm5lY3RfdG9faG9zdF9hc3luYyhjbGllbnQsCisJCQlob3N0LCBwb3J0LCBocy0+ Y2FuY2VsbGFibGUsCisJCQlwdXJwbGVfaHR0cF9zb2NrZXRfY29ubmVjdF9uZXdfY2IsIGhzKTsK KworCWdfb2JqZWN0X3VucmVmKGNsaWVudCk7CisKIAlpZiAocHVycGxlX2RlYnVnX2lzX3ZlcmJv c2UoKSkKIAkJcHVycGxlX2RlYnVnX21pc2MoImh0dHAiLCAibmV3IHNvY2tldCBjcmVhdGVkOiAl cFxuIiwgaHMpOwogCkBAIC00OTUsNyArNTQzLDI2IEBAIHB1cnBsZV9odHRwX3NvY2tldF9jbG9z ZV9mcmVlKFB1cnBsZUh0dHAKIAlpZiAocHVycGxlX2RlYnVnX2lzX3ZlcmJvc2UoKSkKIAkJcHVy cGxlX2RlYnVnX21pc2MoImh0dHAiLCAiZGVzdHJveWluZyBzb2NrZXQ6ICVwXG4iLCBocyk7CiAK LQlwdXJwbGVfc29ja2V0X2Rlc3Ryb3koaHMtPnBzKTsKKwlpZiAoaHMtPmlucHV0X3NvdXJjZSA+ IDApIHsKKwkJZ19zb3VyY2VfcmVtb3ZlKGhzLT5pbnB1dF9zb3VyY2UpOworCQlocy0+aW5wdXRf c291cmNlID0gMDsKKwl9CisKKwlpZiAoaHMtPm91dHB1dF9zb3VyY2UgPiAwKSB7CisJCWdfc291 cmNlX3JlbW92ZShocy0+b3V0cHV0X3NvdXJjZSk7CisJCWhzLT5vdXRwdXRfc291cmNlID0gMDsK Kwl9CisKKwlpZiAoaHMtPmNhbmNlbGxhYmxlICE9IE5VTEwpIHsKKwkJZ19jYW5jZWxsYWJsZV9j YW5jZWwoaHMtPmNhbmNlbGxhYmxlKTsKKwkJZ19jbGVhcl9vYmplY3QoJmhzLT5jYW5jZWxsYWJs ZSk7CisJfQorCisJaWYgKGhzLT5jb25uICE9IE5VTEwpIHsKKwkJcHVycGxlX2dpb19ncmFjZWZ1 bF9jbG9zZShHX0lPX1NUUkVBTShocy0+Y29ubiksIE5VTEwsIE5VTEwpOworCQlnX2NsZWFyX29i amVjdCgmaHMtPmNvbm4pOworCX0KKwogCWdfZnJlZShocyk7CiB9CiAKQEAgLTY4MiwxMCArNzQ5 LDkgQEAgc3RhdGljIHZvaWQgX3B1cnBsZV9odHRwX2Rpc2Nvbm5lY3QoUHVycAogCWdib29sZWFu IGlzX2dyYWNlZnVsKTsKIAogc3RhdGljIHZvaWQgX3B1cnBsZV9odHRwX2dlbl9oZWFkZXJzKFB1 cnBsZUh0dHBDb25uZWN0aW9uICpoYyk7Ci1zdGF0aWMgZ2Jvb2xlYW4gX3B1cnBsZV9odHRwX3Jl Y3ZfbG9vcGJvZHkoUHVycGxlSHR0cENvbm5lY3Rpb24gKmhjLCBnaW50IGZkKTsKLXN0YXRpYyB2 b2lkIF9wdXJwbGVfaHR0cF9yZWN2KGdwb2ludGVyIF9oYywgZ2ludCBmZCwKLQlQdXJwbGVJbnB1 dENvbmRpdGlvbiBjb25kKTsKLXN0YXRpYyB2b2lkIF9wdXJwbGVfaHR0cF9zZW5kKGdwb2ludGVy IF9oYywgZ2ludCBmZCwgUHVycGxlSW5wdXRDb25kaXRpb24gY29uZCk7CitzdGF0aWMgZ2Jvb2xl YW4gX3B1cnBsZV9odHRwX3JlY3ZfbG9vcGJvZHkoUHVycGxlSHR0cENvbm5lY3Rpb24gKmhjKTsK K3N0YXRpYyBnYm9vbGVhbiBfcHVycGxlX2h0dHBfcmVjdihHT2JqZWN0ICpzb3VyY2UsIGdwb2lu dGVyIF9oYyk7CitzdGF0aWMgZ2Jvb2xlYW4gX3B1cnBsZV9odHRwX3NlbmQoR09iamVjdCAqc291 cmNlLCBncG9pbnRlciBfaGMpOwogCiAvKiBjbG9zZXMgY3VycmVudCBjb25uZWN0aW9uIChpZiBl eGlzdHMpLCBlc3RhYmlsaXNoZXMgb25lIGFuZCBwcm9jZWVkcyB3aXRoCiAgKiByZXF1ZXN0ICov CkBAIC0xMDc3LDIxICsxMTQzLDMxIEBAIHN0YXRpYyBnYm9vbGVhbiBfcHVycGxlX2h0dHBfcmVj dl9ib2R5KFAKIAlyZXR1cm4gX3B1cnBsZV9odHRwX3JlY3ZfYm9keV9kYXRhKGhjLCBidWYsIGxl bik7CiB9CiAKLXN0YXRpYyBnYm9vbGVhbiBfcHVycGxlX2h0dHBfcmVjdl9sb29wYm9keShQdXJw bGVIdHRwQ29ubmVjdGlvbiAqaGMsIGdpbnQgZmQpCitzdGF0aWMgZ2Jvb2xlYW4gX3B1cnBsZV9o dHRwX3JlY3ZfbG9vcGJvZHkoUHVycGxlSHR0cENvbm5lY3Rpb24gKmhjKQogewogCWludCBsZW47 CiAJZ2NoYXIgYnVmWzQwOTZdOwogCWdib29sZWFuIGdvdF9hbnl0aGluZzsKLQotCWxlbiA9IHB1 cnBsZV9zb2NrZXRfcmVhZChoYy0+c29ja2V0LT5wcywgKGd1Y2hhciopYnVmLCBzaXplb2YoYnVm KSk7CisJR0Vycm9yICplcnJvciA9IE5VTEw7CisKKwlsZW4gPSBnX3BvbGxhYmxlX2lucHV0X3N0 cmVhbV9yZWFkX25vbmJsb2NraW5nKAorCQkJCUdfUE9MTEFCTEVfSU5QVVRfU1RSRUFNKAorCQkJ CWdfaW9fc3RyZWFtX2dldF9pbnB1dF9zdHJlYW0oCisJCQkJR19JT19TVFJFQU0oaGMtPnNvY2tl dC0+Y29ubikpKSwKKwkJCQlidWYsIHNpemVvZihidWYpLCBoYy0+c29ja2V0LT5jYW5jZWxsYWJs ZSwKKwkJCQkmZXJyb3IpOwogCWdvdF9hbnl0aGluZyA9IChsZW4gPiAwKTsKIAotCWlmIChsZW4g PCAwICYmIGVycm5vID09IEVBR0FJTikKKwlpZiAobGVuIDwgMCAmJiBnX2Vycm9yX21hdGNoZXMo ZXJyb3IsCisJCQlHX0lPX0VSUk9SLCBHX0lPX0VSUk9SX1dPVUxEX0JMT0NLKSkgeworCQlnX2Ns ZWFyX2Vycm9yKCZlcnJvcik7CiAJCXJldHVybiBGQUxTRTsKKwl9CiAKIAlpZiAobGVuIDwgMCkg ewogCQlfcHVycGxlX2h0dHBfZXJyb3IoaGMsIF8oIkVycm9yIHJlYWRpbmcgZnJvbSAlczogJXMi KSwKLQkJCWhjLT51cmwtPmhvc3QsIGdfc3RyZXJyb3IoZXJybm8pKTsKKwkJCWhjLT51cmwtPmhv c3QsIGVycm9yLT5tZXNzYWdlKTsKKwkJZ19jbGVhcl9lcnJvcigmZXJyb3IpOwogCQlyZXR1cm4g RkFMU0U7CiAJfQogCkBAIC0xMjcwLDExICsxMzQ2LDEzIEBAIHN0YXRpYyBnYm9vbGVhbiBfcHVy cGxlX2h0dHBfcmVjdl9sb29wYm8KIAlyZXR1cm4gZ290X2FueXRoaW5nOwogfQogCi1zdGF0aWMg dm9pZCBfcHVycGxlX2h0dHBfcmVjdihncG9pbnRlciBfaGMsIGdpbnQgZmQsIFB1cnBsZUlucHV0 Q29uZGl0aW9uIGNvbmQpCitzdGF0aWMgZ2Jvb2xlYW4gX3B1cnBsZV9odHRwX3JlY3YoR09iamVj dCAqc291cmNlLCBncG9pbnRlciBfaGMpCiB7CiAJUHVycGxlSHR0cENvbm5lY3Rpb24gKmhjID0g X2hjOwogCi0Jd2hpbGUgKF9wdXJwbGVfaHR0cF9yZWN2X2xvb3Bib2R5KGhjLCBmZCkpOworCXdo aWxlIChfcHVycGxlX2h0dHBfcmVjdl9sb29wYm9keShoYykpOworCisJcmV0dXJuIEdfU09VUkNF X0NPTlRJTlVFOwogfQogCiBzdGF0aWMgdm9pZCBfcHVycGxlX2h0dHBfc2VuZF9nb3RfZGF0YShQ dXJwbGVIdHRwQ29ubmVjdGlvbiAqaGMsCkBAIC0xMzA1LDE3ICsxMzgzLDE5IEBAIHN0YXRpYyB2 b2lkIF9wdXJwbGVfaHR0cF9zZW5kX2dvdF9kYXRhKFAKIAloYy0+cmVxdWVzdC0+Y29udGVudHNf bGVuZ3RoID0gZXN0aW1hdGVkX2xlbmd0aDsKIH0KIAotc3RhdGljIHZvaWQgX3B1cnBsZV9odHRw X3NlbmQoZ3BvaW50ZXIgX2hjLCBnaW50IGZkLCBQdXJwbGVJbnB1dENvbmRpdGlvbiBjb25kKQor c3RhdGljIGdib29sZWFuIF9wdXJwbGVfaHR0cF9zZW5kKEdPYmplY3QgKnNvdXJjZSwgZ3BvaW50 ZXIgX2hjKQogewogCVB1cnBsZUh0dHBDb25uZWN0aW9uICpoYyA9IF9oYzsKIAlpbnQgd3JpdHRl biwgd3JpdGVfbGVuOwogCWNvbnN0IGdjaGFyICp3cml0ZV9mcm9tOwogCWdib29sZWFuIHdyaXRp bmdfaGVhZGVyczsKKwlHRXJyb3IgKmVycm9yID0gTlVMTDsKKwlHU291cmNlICpnc291cmNlOwog CiAJLyogV2FpdGluZyBmb3IgZGF0YS4gVGhpcyBjb3VsZCBiZSB3cml0dGVuIG1vcmUgZWZmaWNp ZW50bHksIGJ5IHJlbW92aW5nCiAJICogKGFuZCBsYXRlciwgYWRkaW5nKSBocy0+aW5wYS4gKi8K IAlpZiAoaGMtPmNvbnRlbnRzX3JlYWRlcl9yZXF1ZXN0ZWQpCi0JCXJldHVybjsKKwkJcmV0dXJu IEdfU09VUkNFX0NPTlRJTlVFOwogCiAJX3B1cnBsZV9odHRwX2dlbl9oZWFkZXJzKGhjKTsKIApA QCAtMTMyOCw3ICsxNDA4LDcgQEAgc3RhdGljIHZvaWQgX3B1cnBsZV9odHRwX3NlbmQoZ3BvaW50 ZXIgXwogCQkJaGMtPnJlcXVlc3RfaGVhZGVyX3dyaXR0ZW47CiAJfSBlbHNlIGlmIChoYy0+cmVx dWVzdC0+Y29udGVudHNfcmVhZGVyKSB7CiAJCWlmIChoYy0+Y29udGVudHNfcmVhZGVyX3JlcXVl c3RlZCkKLQkJCXJldHVybjsgLyogd2FpdGluZyBmb3IgZGF0YSAqLworCQkJcmV0dXJuIEdfU09V UkNFX0NPTlRJTlVFOyAvKiB3YWl0aW5nIGZvciBkYXRhICovCiAJCWlmICghaGMtPmNvbnRlbnRz X3JlYWRlcl9idWZmZXIpCiAJCQloYy0+Y29udGVudHNfcmVhZGVyX2J1ZmZlciA9IGdfc3RyaW5n X25ldygiIik7CiAJCWlmIChoYy0+Y29udGVudHNfcmVhZGVyX2J1ZmZlci0+bGVuID09IDApIHsK QEAgLTEzNDEsNyArMTQyMSw3IEBAIHN0YXRpYyB2b2lkIF9wdXJwbGVfaHR0cF9zZW5kKGdwb2lu dGVyIF8KIAkJCQlQVVJQTEVfSFRUUF9NQVhfUkVBRF9CVUZGRVJfTEVOLAogCQkJCWhjLT5yZXF1 ZXN0LT5jb250ZW50c19yZWFkZXJfZGF0YSwKIAkJCQlfcHVycGxlX2h0dHBfc2VuZF9nb3RfZGF0 YSk7Ci0JCQlyZXR1cm47CisJCQlyZXR1cm4gR19TT1VSQ0VfQ09OVElOVUU7CiAJCX0KIAkJd3Jp dGVfZnJvbSA9IGhjLT5jb250ZW50c19yZWFkZXJfYnVmZmVyLT5zdHI7CiAJCXdyaXRlX2xlbiA9 IGhjLT5jb250ZW50c19yZWFkZXJfYnVmZmVyLT5sZW47CkBAIC0xMzU2LDEyICsxNDM2LDE5IEBA IHN0YXRpYyB2b2lkIF9wdXJwbGVfaHR0cF9zZW5kKGdwb2ludGVyIF8KIAkJcHVycGxlX2RlYnVn X3dhcm5pbmcoImh0dHAiLCAiTm90aGluZyB0byB3cml0ZVxuIik7CiAJCXdyaXR0ZW4gPSAwOwog CX0gZWxzZSB7Ci0JCXdyaXR0ZW4gPSBwdXJwbGVfc29ja2V0X3dyaXRlKGhjLT5zb2NrZXQtPnBz LAotCQkJKGNvbnN0IGd1Y2hhciopd3JpdGVfZnJvbSwgd3JpdGVfbGVuKTsKKwkJd3JpdHRlbiA9 IGdfcG9sbGFibGVfb3V0cHV0X3N0cmVhbV93cml0ZV9ub25ibG9ja2luZygKKwkJCQlHX1BPTExB QkxFX09VVFBVVF9TVFJFQU0oCisJCQkJZ19pb19zdHJlYW1fZ2V0X291dHB1dF9zdHJlYW0oCisJ CQkJR19JT19TVFJFQU0oaGMtPnNvY2tldC0+Y29ubikpKSwKKwkJCQl3cml0ZV9mcm9tLCB3cml0 ZV9sZW4sIGhjLT5zb2NrZXQtPmNhbmNlbGxhYmxlLAorCQkJCSZlcnJvcik7CiAJfQogCi0JaWYg KHdyaXR0ZW4gPCAwICYmIGVycm5vID09IEVBR0FJTikKLQkJcmV0dXJuOworCWlmICh3cml0dGVu IDwgMCAmJiBnX2Vycm9yX21hdGNoZXMoZXJyb3IsCisJCQlHX0lPX0VSUk9SLCBHX0lPX0VSUk9S X1dPVUxEX0JMT0NLKSkgeworCQlnX2NsZWFyX2Vycm9yKCZlcnJvcik7CisJCXJldHVybiBHX1NP VVJDRV9DT05USU5VRTsKKwl9CiAKIAlpZiAod3JpdHRlbiA8IDApIHsKIAkJaWYgKGhjLT5yZXF1 ZXN0X2hlYWRlcl93cml0dGVuID09IDAgJiYKQEAgLTEzNzAsMjEgKzE0NTcsMjIgQEAgc3RhdGlj IHZvaWQgX3B1cnBsZV9odHRwX3NlbmQoZ3BvaW50ZXIgXwogCQkJcHVycGxlX2RlYnVnX2luZm8o Imh0dHAiLCAiS2VlcC1hbGl2ZSBjb25uZWN0aW9uICIKIAkJCQkiZXhwaXJlZCAod2hlbiB3cml0 aW5nKSwgcmV0cnlpbmcuLi5cbiIpOwogCQkJcHVycGxlX2h0dHBfY29ubl9yZXRyeShoYyk7Ci0J CQlyZXR1cm47CisJCX0gZWxzZSB7CisJCQlfcHVycGxlX2h0dHBfZXJyb3IoaGMsIF8oIkVycm9y IHdyaXRpbmcgdG8gJXM6ICVzIiksCisJCQkJaGMtPnVybC0+aG9zdCwgZXJyb3ItPm1lc3NhZ2Up OwogCQl9CiAKLQkJX3B1cnBsZV9odHRwX2Vycm9yKGhjLCBfKCJFcnJvciB3cml0aW5nIHRvICVz OiAlcyIpLAotCQkJaGMtPnVybC0+aG9zdCwgZ19zdHJlcnJvcihlcnJubykpOwotCQlyZXR1cm47 CisJCWdfY2xlYXJfZXJyb3IoJmVycm9yKTsKKwkJcmV0dXJuIEdfU09VUkNFX0NPTlRJTlVFOwog CX0KIAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQ29t bWl0cyBtYWlsaW5nIGxpc3QKQ29tbWl0c0BwaWRnaW4uaW0KaHR0cHM6Ly9waWRnaW4uaW0vY2dp LWJpbi9tYWlsbWFuL2xpc3RpbmZvL2NvbW1pdHM=