Return-Path: MIME-Version: 1.0 In-Reply-To: <2d5a2c101002160659j1fd3fff8hc5418ddb7481b25d@mail.gmail.com> References: <2d5a2c101002160659j1fd3fff8hc5418ddb7481b25d@mail.gmail.com> Date: Tue, 16 Feb 2010 17:15:36 +0200 Message-ID: <2d5a2c101002160715l7f9a2f07y4a40b19e31fa98b3@mail.gmail.com> Subject: Re: [PATCH] Fix signal watch when a service name is given From: Luiz Augusto von Dentz To: linux-bluetooth@vger.kernel.org Content-Type: multipart/mixed; boundary=0016e6d64c23b2c05e047fb9342f Sender: linux-bluetooth-owner@vger.kernel.org List-ID: --0016e6d64c23b2c05e047fb9342f Content-Type: text/plain; charset=ISO-8859-1 Hi, On Tue, Feb 16, 2010 at 4:59 PM, Luiz Augusto von Dentz wrote: > Hi, > > This should fix g_dbus_add_signal_watch when a service like org.bluez is given. Updating since the last one was broken. -- Luiz Augusto von Dentz Computer Engineer --0016e6d64c23b2c05e047fb9342f Content-Type: text/x-patch; charset=US-ASCII; name="0002-Fix-signal-watch-when-a-service-name-is-given.patch" Content-Disposition: attachment; filename="0002-Fix-signal-watch-when-a-service-name-is-given.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g5qu3qm91 RnJvbSAwMGQ5ZmU3YTc0OTEzMGQ1MWY3ZDcwY2IwNDY5MDA1ZWY3NDQ1NDQxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEF1Z3VzdG8gVm9uIERlbnR6IDxsdWl6LmRlbnR6LXZv bkBub2tpYS5jb20+CkRhdGU6IFR1ZSwgMTYgRmViIDIwMTAgMTc6MTE6MjcgKzAyMDAKU3ViamVj dDogW1BBVENIIDIvMl0gRml4IHNpZ25hbCB3YXRjaCB3aGVuIGEgc2VydmljZSBuYW1lIGlzIGdp dmVuCgpUaGUgYnVzIG5hbWUgc2hvdWxkIGJlIHJlc29sdmVkIHdoZW4gYWRkaW5nIGEgd2F0Y2gg Ynkgc2VydmljZSBuYW1lIHNpbmNlCm1lc3NhZ2VzIGRvIGFsd2F5cyBjb21lIHdpdGggc2VuZGVy IHNldCB0byBvd25lcidzIGJ1cyBuYW1lLCBhbHNvIGl0CnNob3VsZCBsaXN0ZW4gdG8gb3duZXIg dXBkYXRlcyBzaW5jZSBpdCBjYW4gY2hhbmdlIHdpdGhvdXQgaW52YWxpZGF0aW5nCnRoZSB3YXRj aC4KLS0tCiBnZGJ1cy93YXRjaC5jIHwgIDEzOSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIDEgZmlsZXMgY2hhbmdlZCwgMTE3IGluc2Vy dGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2dkYnVzL3dhdGNoLmMgYi9n ZGJ1cy93YXRjaC5jCmluZGV4IDFkNDc5ZmEuLjg2NGI0YTMgMTAwNjQ0Ci0tLSBhL2dkYnVzL3dh dGNoLmMKKysrIGIvZ2RidXMvd2F0Y2guYwpAQCAtNTUsMTkgKzU1LDIyIEBAIHN0cnVjdCBmaWx0 ZXJfY2FsbGJhY2sgewogc3RydWN0IGZpbHRlcl9kYXRhIHsKIAlEQnVzQ29ubmVjdGlvbiAqY29u bmVjdGlvbjsKIAlEQnVzSGFuZGxlTWVzc2FnZUZ1bmN0aW9uIGhhbmRsZV9mdW5jOwotCWNoYXIg KnNlbmRlcjsKKwljaGFyICpuYW1lOworCWNoYXIgKm93bmVyOwogCWNoYXIgKnBhdGg7CiAJY2hh ciAqaW50ZXJmYWNlOwogCWNoYXIgKm1lbWJlcjsKIAljaGFyICphcmd1bWVudDsKIAlHU0xpc3Qg KmNhbGxiYWNrczsKIAlHU0xpc3QgKnByb2Nlc3NlZDsKKwlndWludCBuYW1lX3dhdGNoOwogCWdi b29sZWFuIGxvY2s7CiAJZ2Jvb2xlYW4gcmVnaXN0ZXJlZDsKIH07CiAKIHN0YXRpYyBzdHJ1Y3Qg ZmlsdGVyX2RhdGEgKmZpbHRlcl9kYXRhX2ZpbmQoREJ1c0Nvbm5lY3Rpb24gKmNvbm5lY3Rpb24s Ci0JCQkJCQkJY29uc3QgY2hhciAqc2VuZGVyLAorCQkJCQkJCWNvbnN0IGNoYXIgKm5hbWUsCisJ CQkJCQkJY29uc3QgY2hhciAqb3duZXIsCiAJCQkJCQkJY29uc3QgY2hhciAqcGF0aCwKIAkJCQkJ CQljb25zdCBjaGFyICppbnRlcmZhY2UsCiAJCQkJCQkJY29uc3QgY2hhciAqbWVtYmVyLApAQCAt ODIsOCArODUsMTIgQEAgc3RhdGljIHN0cnVjdCBmaWx0ZXJfZGF0YSAqZmlsdGVyX2RhdGFfZmlu ZChEQnVzQ29ubmVjdGlvbiAqY29ubmVjdGlvbiwKIAkJaWYgKGNvbm5lY3Rpb24gIT0gZGF0YS0+ Y29ubmVjdGlvbikKIAkJCWNvbnRpbnVlOwogCi0JCWlmIChzZW5kZXIgJiYgZGF0YS0+c2VuZGVy ICYmCi0JCQkJZ19zdHJfZXF1YWwoc2VuZGVyLCBkYXRhLT5zZW5kZXIpID09IEZBTFNFKQorCQlp ZiAobmFtZSAmJiBkYXRhLT5uYW1lICYmCisJCQkJZ19zdHJfZXF1YWwobmFtZSwgZGF0YS0+bmFt ZSkgPT0gRkFMU0UpCisJCQljb250aW51ZTsKKworCQlpZiAob3duZXIgJiYgZGF0YS0+b3duZXIg JiYKKwkJCQlnX3N0cl9lcXVhbChvd25lciwgZGF0YS0+b3duZXIpID09IEZBTFNFKQogCQkJY29u dGludWU7CiAKIAkJaWYgKHBhdGggJiYgZGF0YS0+cGF0aCAmJgpAQCAtMTEwLDEzICsxMTcsMTUg QEAgc3RhdGljIHN0cnVjdCBmaWx0ZXJfZGF0YSAqZmlsdGVyX2RhdGFfZmluZChEQnVzQ29ubmVj dGlvbiAqY29ubmVjdGlvbiwKIAogc3RhdGljIHZvaWQgZm9ybWF0X3J1bGUoc3RydWN0IGZpbHRl cl9kYXRhICpkYXRhLCBjaGFyICpydWxlLCBzaXplX3Qgc2l6ZSkKIHsKKwljb25zdCBjaGFyICpz ZW5kZXI7CiAJaW50IG9mZnNldDsKIAogCW9mZnNldCA9IHNucHJpbnRmKHJ1bGUsIHNpemUsICJ0 eXBlPSdzaWduYWwnIik7CisJc2VuZGVyID0gZGF0YS0+bmFtZSA/IDogZGF0YS0+b3duZXI7CiAK LQlpZiAoZGF0YS0+c2VuZGVyKQorCWlmIChzZW5kZXIpCiAJCW9mZnNldCArPSBzbnByaW50Zihy dWxlICsgb2Zmc2V0LCBzaXplIC0gb2Zmc2V0LAotCQkJCSIsc2VuZGVyPSclcyciLCBkYXRhLT5z ZW5kZXIpOworCQkJCSIsc2VuZGVyPSclcyciLCBzZW5kZXIpOwogCWlmIChkYXRhLT5wYXRoKQog CQlvZmZzZXQgKz0gc25wcmludGYocnVsZSArIG9mZnNldCwgc2l6ZSAtIG9mZnNldCwKIAkJCQki LHBhdGg9JyVzJyIsIGRhdGEtPnBhdGgpOwpAQCAtMTgzLDggKzE5MiwxMCBAQCBzdGF0aWMgc3Ry dWN0IGZpbHRlcl9kYXRhICpmaWx0ZXJfZGF0YV9nZXQoREJ1c0Nvbm5lY3Rpb24gKmNvbm5lY3Rp b24sCiAJCQkJCWNvbnN0IGNoYXIgKmFyZ3VtZW50KQogewogCXN0cnVjdCBmaWx0ZXJfZGF0YSAq ZGF0YTsKKwljb25zdCBjaGFyICpuYW1lID0gTlVMTCwgKm93bmVyID0gTlVMTDsKIAotCWlmICgh ZmlsdGVyX2RhdGFfZmluZChjb25uZWN0aW9uLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxM KSkgeworCWlmICghZmlsdGVyX2RhdGFfZmluZChjb25uZWN0aW9uLCBOVUxMLCBOVUxMLCBOVUxM LCBOVUxMLCBOVUxMLAorCQkJCU5VTEwpKSB7CiAJCWlmICghZGJ1c19jb25uZWN0aW9uX2FkZF9m aWx0ZXIoY29ubmVjdGlvbiwKIAkJCQkJbWVzc2FnZV9maWx0ZXIsIE5VTEwsIE5VTEwpKSB7CiAJ CQllcnJvcigiZGJ1c19jb25uZWN0aW9uX2FkZF9maWx0ZXIoKSBmYWlsZWQiKTsKQEAgLTE5Miwx NSArMjAzLDI1IEBAIHN0YXRpYyBzdHJ1Y3QgZmlsdGVyX2RhdGEgKmZpbHRlcl9kYXRhX2dldChE QnVzQ29ubmVjdGlvbiAqY29ubmVjdGlvbiwKIAkJfQogCX0KIAotCWRhdGEgPSBmaWx0ZXJfZGF0 YV9maW5kKGNvbm5lY3Rpb24sIHNlbmRlciwgcGF0aCwgaW50ZXJmYWNlLCBtZW1iZXIsCi0JCQkJ CWFyZ3VtZW50KTsKKwlpZiAoc2VuZGVyID09IE5VTEwpCisJCWdvdG8gcHJvY2VlZDsKKworCWlm IChzZW5kZXJbMF0gPT0gJzonKQorCQlvd25lciA9IHNlbmRlcjsKKwllbHNlCisJCW5hbWUgPSBz ZW5kZXI7CisKK3Byb2NlZWQ6CisJZGF0YSA9IGZpbHRlcl9kYXRhX2ZpbmQoY29ubmVjdGlvbiwg bmFtZSwgb3duZXIsIHBhdGgsIGludGVyZmFjZSwKKwkJCQkJbWVtYmVyLCBhcmd1bWVudCk7CiAJ aWYgKGRhdGEpCiAJCXJldHVybiBkYXRhOwogCiAJZGF0YSA9IGdfbmV3MChzdHJ1Y3QgZmlsdGVy X2RhdGEsIDEpOwogCiAJZGF0YS0+Y29ubmVjdGlvbiA9IGRidXNfY29ubmVjdGlvbl9yZWYoY29u bmVjdGlvbik7Ci0JZGF0YS0+c2VuZGVyID0gZ19zdHJkdXAoc2VuZGVyKTsKKwlkYXRhLT5uYW1l ID0gbmFtZSA/IGdfc3RyZHVwKG5hbWUpIDogTlVMTDsKKwlkYXRhLT5vd25lciA9IG93bmVyID8g Z19zdHJkdXAob3duZXIpIDogTlVMTDsKIAlkYXRhLT5wYXRoID0gZ19zdHJkdXAocGF0aCk7CiAJ ZGF0YS0+aW50ZXJmYWNlID0gZ19zdHJkdXAoaW50ZXJmYWNlKTsKIAlkYXRhLT5tZW1iZXIgPSBn X3N0cmR1cChtZW1iZXIpOwpAQCAtMjQ0LDcgKzI2NSw5IEBAIHN0YXRpYyB2b2lkIGZpbHRlcl9k YXRhX2ZyZWUoc3RydWN0IGZpbHRlcl9kYXRhICpkYXRhKQogCQlnX2ZyZWUobC0+ZGF0YSk7CiAK IAlnX3NsaXN0X2ZyZWUoZGF0YS0+Y2FsbGJhY2tzKTsKLQlnX2ZyZWUoZGF0YS0+c2VuZGVyKTsK KwlnX2RidXNfcmVtb3ZlX3dhdGNoKGRhdGEtPmNvbm5lY3Rpb24sIGRhdGEtPm5hbWVfd2F0Y2gp OworCWdfZnJlZShkYXRhLT5uYW1lKTsKKwlnX2ZyZWUoZGF0YS0+b3duZXIpOwogCWdfZnJlZShk YXRhLT5wYXRoKTsKIAlnX2ZyZWUoZGF0YS0+aW50ZXJmYWNlKTsKIAlnX2ZyZWUoZGF0YS0+bWVt YmVyKTsKQEAgLTMyMiw3ICszNDUsOCBAQCBzdGF0aWMgZ2Jvb2xlYW4gZmlsdGVyX2RhdGFfcmVt b3ZlX2NhbGxiYWNrKHN0cnVjdCBmaWx0ZXJfZGF0YSAqZGF0YSwKIAlmaWx0ZXJfZGF0YV9mcmVl KGRhdGEpOwogCiAJLyogUmVtb3ZlIGZpbHRlciBpZiB0aGVyZSBhcmUgbm8gbGlzdGVuZXJzIGxl ZnQgZm9yIHRoZSBjb25uZWN0aW9uICovCi0JZGF0YSA9IGZpbHRlcl9kYXRhX2ZpbmQoY29ubmVj dGlvbiwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCk7CisJZGF0YSA9IGZpbHRlcl9kYXRh X2ZpbmQoY29ubmVjdGlvbiwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwKKwkJCQkJTlVM TCk7CiAJaWYgKCFkYXRhKQogCQlkYnVzX2Nvbm5lY3Rpb25fcmVtb3ZlX2ZpbHRlcihjb25uZWN0 aW9uLCBtZXNzYWdlX2ZpbHRlciwKIAkJCQkJCU5VTEwpOwpAQCAtMzU5LDYgKzM4MywzNyBAQCBz dGF0aWMgREJ1c0hhbmRsZXJSZXN1bHQgc2lnbmFsX2ZpbHRlcihEQnVzQ29ubmVjdGlvbiAqY29u bmVjdGlvbiwKIAlyZXR1cm4gREJVU19IQU5ETEVSX1JFU1VMVF9OT1RfWUVUX0hBTkRMRUQ7CiB9 CiAKK3N0YXRpYyB2b2lkIHVwZGF0ZV9uYW1lX2NhY2hlKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0 IGNoYXIgKm93bmVyKQoreworCUdTTGlzdCAqbDsKKworCWZvciAobCA9IGxpc3RlbmVyczsgbCAh PSBOVUxMOyBsID0gbC0+bmV4dCkgeworCQlzdHJ1Y3QgZmlsdGVyX2RhdGEgKmRhdGEgPSBsLT5k YXRhOworCisJCWlmIChnX3N0cmNtcDAoZGF0YS0+bmFtZSwgbmFtZSkgIT0gMCkKKwkJCWNvbnRp bnVlOworCisJCWdfZnJlZShkYXRhLT5vd25lcik7CisJCWRhdGEtPm93bmVyID0gZ19zdHJkdXAo b3duZXIpOworCX0KK30KKworc3RhdGljIGNvbnN0IGNoYXIgKmNoZWNrX25hbWVfY2FjaGUoY29u c3QgY2hhciAqbmFtZSkKK3sKKwlHU0xpc3QgKmw7CisKKwlmb3IgKGwgPSBsaXN0ZW5lcnM7IGwg IT0gTlVMTDsgbCA9IGwtPm5leHQpIHsKKwkJc3RydWN0IGZpbHRlcl9kYXRhICpkYXRhID0gbC0+ ZGF0YTsKKworCQlpZiAoZ19zdHJjbXAwKGRhdGEtPm5hbWUsIG5hbWUpICE9IDApCisJCQljb250 aW51ZTsKKworCQlyZXR1cm4gZGF0YS0+b3duZXI7CisJfQorCisJcmV0dXJuIE5VTEw7Cit9CisK IHN0YXRpYyBEQnVzSGFuZGxlclJlc3VsdCBzZXJ2aWNlX2ZpbHRlcihEQnVzQ29ubmVjdGlvbiAq Y29ubmVjdGlvbiwKIAkJCQkJREJ1c01lc3NhZ2UgKm1lc3NhZ2UsIHZvaWQgKnVzZXJfZGF0YSkK IHsKQEAgLTM3NSw2ICs0MzAsOCBAQCBzdGF0aWMgREJ1c0hhbmRsZXJSZXN1bHQgc2VydmljZV9m aWx0ZXIoREJ1c0Nvbm5lY3Rpb24gKmNvbm5lY3Rpb24sCiAJCXJldHVybiBEQlVTX0hBTkRMRVJf UkVTVUxUX05PVF9ZRVRfSEFORExFRDsKIAl9CiAKKwl1cGRhdGVfbmFtZV9jYWNoZShuYW1lLCBu ZXcpOworCiAJd2hpbGUgKGRhdGEtPmNhbGxiYWNrcykgewogCQljYiA9IGRhdGEtPmNhbGxiYWNr cy0+ZGF0YTsKIApAQCAtNDIxLDcgKzQ3OCw5IEBAIHN0YXRpYyBEQnVzSGFuZGxlclJlc3VsdCBt ZXNzYWdlX2ZpbHRlcihEQnVzQ29ubmVjdGlvbiAqY29ubmVjdGlvbiwKIAltZW1iZXIgPSBkYnVz X21lc3NhZ2VfZ2V0X21lbWJlcihtZXNzYWdlKTsKIAlkYnVzX21lc3NhZ2VfZ2V0X2FyZ3MobWVz c2FnZSwgTlVMTCwgREJVU19UWVBFX1NUUklORywgJmFyZywgREJVU19UWVBFX0lOVkFMSUQpOwog Ci0JZGF0YSA9IGZpbHRlcl9kYXRhX2ZpbmQoY29ubmVjdGlvbiwgc2VuZGVyLCBwYXRoLCBpZmFj ZSwgbWVtYmVyLCBhcmcpOworCS8qIFNlbmRlciBpcyBhbHdheXMgYnVzIG5hbWUgKi8KKwlkYXRh ID0gZmlsdGVyX2RhdGFfZmluZChjb25uZWN0aW9uLCBOVUxMLCBzZW5kZXIsIHBhdGgsIGlmYWNl LCBtZW1iZXIsCisJCQkJCWFyZyk7CiAJaWYgKCFkYXRhKSB7CiAJCWVycm9yKCJHb3QgJXMuJXMg c2lnbmFsIHdoaWNoIGhhcyBubyBsaXN0ZW5lcnMiLCBpZmFjZSwgbWVtYmVyKTsKIAkJcmV0dXJu IERCVVNfSEFORExFUl9SRVNVTFRfTk9UX1lFVF9IQU5ETEVEOwpAQCAtNDQ2LDcgKzUwNSw4IEBA IHN0YXRpYyBEQnVzSGFuZGxlclJlc3VsdCBtZXNzYWdlX2ZpbHRlcihEQnVzQ29ubmVjdGlvbiAq Y29ubmVjdGlvbiwKIAlmaWx0ZXJfZGF0YV9mcmVlKGRhdGEpOwogCiAJLyogUmVtb3ZlIGZpbHRl ciBpZiB0aGVyZSBubyBsaXN0ZW5lciBsZWZ0IGZvciB0aGUgY29ubmVjdGlvbiAqLwotCWRhdGEg PSBmaWx0ZXJfZGF0YV9maW5kKGNvbm5lY3Rpb24sIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIE5V TEwpOworCWRhdGEgPSBmaWx0ZXJfZGF0YV9maW5kKGNvbm5lY3Rpb24sIE5VTEwsIE5VTEwsIE5V TEwsIE5VTEwsIE5VTEwsCisJCQkJCU5VTEwpOwogCWlmICghZGF0YSkKIAkJZGJ1c19jb25uZWN0 aW9uX3JlbW92ZV9maWx0ZXIoY29ubmVjdGlvbiwgbWVzc2FnZV9maWx0ZXIsCiAJCQkJCQlOVUxM KTsKQEAgLTQ1NiwxNiArNTE2LDM3IEBAIHN0YXRpYyBEQnVzSGFuZGxlclJlc3VsdCBtZXNzYWdl X2ZpbHRlcihEQnVzQ29ubmVjdGlvbiAqY29ubmVjdGlvbiwKIAogc3RydWN0IHNlcnZpY2VfZGF0 YSB7CiAJREJ1c0Nvbm5lY3Rpb24gKmNvbm47CisJY2hhciAqbmFtZTsKKwljb25zdCBjaGFyICpv d25lcjsKIAlHREJ1c1dhdGNoRnVuY3Rpb24gY29ubl9mdW5jOwogCXZvaWQgKnVzZXJfZGF0YTsK IH07CiAKK3N0YXRpYyB2b2lkIHNlcnZpY2VfZGF0YV9mcmVlKHN0cnVjdCBzZXJ2aWNlX2RhdGEg KmRhdGEpCit7CisJZGJ1c19jb25uZWN0aW9uX3VucmVmKGRhdGEtPmNvbm4pOworCWdfZnJlZShk YXRhLT5uYW1lKTsKKwlnX2ZyZWUoZGF0YSk7Cit9CisKK3N0YXRpYyBnYm9vbGVhbiB1cGRhdGVf c2VydmljZSh2b2lkICp1c2VyX2RhdGEpCit7CisJc3RydWN0IHNlcnZpY2VfZGF0YSAqZGF0YSA9 IHVzZXJfZGF0YTsKKworCXVwZGF0ZV9uYW1lX2NhY2hlKGRhdGEtPm5hbWUsIGRhdGEtPm93bmVy KTsKKwlpZiAoZGF0YS0+Y29ubl9mdW5jKQorCQlkYXRhLT5jb25uX2Z1bmMoZGF0YS0+Y29ubiwg ZGF0YS0+dXNlcl9kYXRhKTsKKworCXNlcnZpY2VfZGF0YV9mcmVlKGRhdGEpOworCisJcmV0dXJu IEZBTFNFOworfQorCiBzdGF0aWMgdm9pZCBzZXJ2aWNlX3JlcGx5KERCdXNQZW5kaW5nQ2FsbCAq Y2FsbCwgdm9pZCAqdXNlcl9kYXRhKQogewogCXN0cnVjdCBzZXJ2aWNlX2RhdGEgKmRhdGEgPSB1 c2VyX2RhdGE7CiAJREJ1c01lc3NhZ2UgKnJlcGx5OwogCURCdXNFcnJvciBlcnJvcjsKLQlkYnVz X2Jvb2xfdCBoYXNfb3duZXI7CiAKIAlyZXBseSA9IGRidXNfcGVuZGluZ19jYWxsX3N0ZWFsX3Jl cGx5KGNhbGwpOwogCWlmIChyZXBseSA9PSBOVUxMKQpAQCAtNDc0LDIyICs1NTUsMjMgQEAgc3Rh dGljIHZvaWQgc2VydmljZV9yZXBseShEQnVzUGVuZGluZ0NhbGwgKmNhbGwsIHZvaWQgKnVzZXJf ZGF0YSkKIAlkYnVzX2Vycm9yX2luaXQoJmVycm9yKTsKIAogCWlmIChkYnVzX21lc3NhZ2VfZ2V0 X2FyZ3MocmVwbHksICZlcnJvciwKLQkJCQkJREJVU19UWVBFX0JPT0xFQU4sICZoYXNfb3duZXIs CisJCQkJCURCVVNfVFlQRV9TVFJJTkcsICZkYXRhLT5vd25lciwKIAkJCQkJCURCVVNfVFlQRV9J TlZBTElEKSA9PSBGQUxTRSkgewogCQlpZiAoZGJ1c19lcnJvcl9pc19zZXQoJmVycm9yKSA9PSBU UlVFKSB7CiAJCQllcnJvcigiJXMiLCBlcnJvci5tZXNzYWdlKTsKIAkJCWRidXNfZXJyb3JfZnJl ZSgmZXJyb3IpOwogCQl9IGVsc2UgewotCQkJZXJyb3IoIldyb25nIGFyZ3VtZW50cyBmb3IgTmFt ZUhhc093bmVyIHJlcGx5Iik7CisJCQllcnJvcigiV3JvbmcgYXJndW1lbnRzIGZvciBHZXROYW1l T3duZXIgcmVwbHkiKTsKIAkJfQogCQlnb3RvIGRvbmU7CiAJfQogCi0JaWYgKGhhc19vd25lciAm JiBkYXRhLT5jb25uX2Z1bmMpCi0JCWRhdGEtPmNvbm5fZnVuYyhkYXRhLT5jb25uLCBkYXRhLT51 c2VyX2RhdGEpOworCXVwZGF0ZV9zZXJ2aWNlKGRhdGEpOwogCisJcmV0dXJuOwogZG9uZToKIAlk YnVzX21lc3NhZ2VfdW5yZWYocmVwbHkpOworCXNlcnZpY2VfZGF0YV9mcmVlKGRhdGEpOwogfQog CiBzdGF0aWMgdm9pZCBjaGVja19zZXJ2aWNlKERCdXNDb25uZWN0aW9uICpjb25uZWN0aW9uLCBj b25zdCBjaGFyICpuYW1lLApAQCAtNTA1LDEyICs1ODcsMTkgQEAgc3RhdGljIHZvaWQgY2hlY2tf c2VydmljZShEQnVzQ29ubmVjdGlvbiAqY29ubmVjdGlvbiwgY29uc3QgY2hhciAqbmFtZSwKIAkJ cmV0dXJuOwogCX0KIAotCWRhdGEtPmNvbm4gPSBjb25uZWN0aW9uOworCWRhdGEtPmNvbm4gPSBk YnVzX2Nvbm5lY3Rpb25fcmVmKGNvbm5lY3Rpb24pOworCWRhdGEtPm5hbWUgPSBnX3N0cmR1cChu YW1lKTsKIAlkYXRhLT5jb25uX2Z1bmMgPSBjb25uZWN0OwogCWRhdGEtPnVzZXJfZGF0YSA9IHVz ZXJfZGF0YTsKIAorCWRhdGEtPm93bmVyID0gY2hlY2tfbmFtZV9jYWNoZShuYW1lKTsKKwlpZiAo ZGF0YS0+b3duZXIgIT0gTlVMTCkgeworCQlnX2lkbGVfYWRkKHVwZGF0ZV9zZXJ2aWNlLCBkYXRh KTsKKwkJcmV0dXJuOworCX0KKwogCW1lc3NhZ2UgPSBkYnVzX21lc3NhZ2VfbmV3X21ldGhvZF9j YWxsKERCVVNfU0VSVklDRV9EQlVTLAotCQkJREJVU19QQVRIX0RCVVMsIERCVVNfSU5URVJGQUNF X0RCVVMsICJOYW1lSGFzT3duZXIiKTsKKwkJCURCVVNfUEFUSF9EQlVTLCBEQlVTX0lOVEVSRkFD RV9EQlVTLCAiR2V0TmFtZU93bmVyIik7CiAJaWYgKG1lc3NhZ2UgPT0gTlVMTCkgewogCQllcnJv cigiQ2FuJ3QgYWxsb2NhdGUgbmV3IG1lc3NhZ2UiKTsKIAkJZ19mcmVlKGRhdGEpOwpAQCAtNTk2 LDYgKzY4NSwxMSBAQCBndWludCBnX2RidXNfYWRkX3NpZ25hbF93YXRjaChEQnVzQ29ubmVjdGlv biAqY29ubmVjdGlvbiwKIAlpZiAoIWNiKQogCQlyZXR1cm4gMDsKIAorCWlmIChkYXRhLT5uYW1l ICE9IE5VTEwgJiYgZGF0YS0+bmFtZV93YXRjaCA9PSAwKQorCQlkYXRhLT5uYW1lX3dhdGNoID0g Z19kYnVzX2FkZF9zZXJ2aWNlX3dhdGNoKGNvbm5lY3Rpb24sCisJCQkJCQkJZGF0YS0+bmFtZSwg TlVMTCwKKwkJCQkJCQlOVUxMLCBOVUxMLCBOVUxMKTsKKwogCXJldHVybiBjYi0+aWQ7CiB9CiAK QEAgLTYyNSw3ICs3MTksOCBAQCB2b2lkIGdfZGJ1c19yZW1vdmVfYWxsX3dhdGNoZXMoREJ1c0Nv bm5lY3Rpb24gKmNvbm5lY3Rpb24pCiB7CiAJc3RydWN0IGZpbHRlcl9kYXRhICpkYXRhOwogCi0J d2hpbGUgKChkYXRhID0gZmlsdGVyX2RhdGFfZmluZChjb25uZWN0aW9uLCBOVUxMLCBOVUxMLCBO VUxMLCBOVUxMLCBOVUxMKSkpIHsKKwl3aGlsZSAoKGRhdGEgPSBmaWx0ZXJfZGF0YV9maW5kKGNv bm5lY3Rpb24sIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsCisJCQkJCU5VTEwsIE5VTEwpKSkgewog CQlsaXN0ZW5lcnMgPSBnX3NsaXN0X3JlbW92ZShsaXN0ZW5lcnMsIGRhdGEpOwogCQlmaWx0ZXJf ZGF0YV9jYWxsX2FuZF9mcmVlKGRhdGEpOwogCX0KLS0gCjEuNi4zLjMKCg== --0016e6d64c23b2c05e047fb9342f--