Return-Path: MIME-Version: 1.0 Date: Tue, 16 Feb 2010 16:59:42 +0200 Message-ID: <2d5a2c101002160659j1fd3fff8hc5418ddb7481b25d@mail.gmail.com> Subject: [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=0016e6d62335d93c2a047fb8fb11 Sender: linux-bluetooth-owner@vger.kernel.org List-ID: --0016e6d62335d93c2a047fb8fb11 Content-Type: text/plain; charset=ISO-8859-1 Hi, This should fix g_dbus_add_signal_watch when a service like org.bluez is given. -- Luiz Augusto von Dentz Computer Engineer --0016e6d62335d93c2a047fb8fb11 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_g5qtl7ji0 RnJvbSBkZmNlYWFhOGUwNjhmNDcwM2RjYWQyN2RiNzFiZWM5ZDY0OWM3MjY3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEF1Z3VzdG8gVm9uIERlbnR6IDxsdWl6LmRlbnR6LXZv bkBub2tpYS5jb20+CkRhdGU6IFR1ZSwgMTYgRmViIDIwMTAgMTY6NTU6MzUgKzAyMDAKU3ViamVj dDogW1BBVENIIDIvMl0gRml4IHNpZ25hbCB3YXRjaCB3aGVuIGEgc2VydmljZSBuYW1lIGlzIGdp dmVuCgpUaGUgYnVzIG5hbWUgc2hvdWxkIGJlIHJlc29sdmVkIHdoZW4gYWRkaW5nIGEgd2F0Y2gg Ynkgc2VydmljZSBuYW1lIHNpbmNlCm1lc3NhZ2VzIGRvIGFsd2F5cyBjb21lIHdpdGggc2VuZGVy IHNldCB0byBvd25lcidzIGJ1cyBuYW1lLCBhbHNvIGl0CnNob3VsZCBsaXN0ZW4gdG8gb3duZXIg dXBkYXRlcyBzaW5jZSBpdCBjYW4gY2hhbmdlIHdpdGhvdXQgaW52YWxpZGF0aW5nCnRoZSB3YXRj aC4KLS0tCiBnZGJ1cy93YXRjaC5jIHwgIDEzOSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIDEgZmlsZXMgY2hhbmdlZCwgMTE3IGluc2Vy dGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2dkYnVzL3dhdGNoLmMgYi9n ZGJ1cy93YXRjaC5jCmluZGV4IDFkNDc5ZmEuLjIzYzJiNTUgMTAwNjQ0Ci0tLSBhL2dkYnVzL3dh 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 CiAKK3N0YXRpYyB2b2lkIHVwZGF0ZV9uYW1lX2NhY2hlKGNvbnN0IGNoYXIgKnNlcnZpY2UsIGNv bnN0IGNoYXIgKm5hbWUpCit7CisJR1NMaXN0ICpsOworCisJZm9yIChsID0gbGlzdGVuZXJzOyBs ICE9IE5VTEw7IGwgPSBsLT5uZXh0KSB7CisJCXN0cnVjdCBmaWx0ZXJfZGF0YSAqZGF0YSA9IGwt PmRhdGE7CisKKwkJaWYgKGdfc3RyY21wMChkYXRhLT5uYW1lLCBzZXJ2aWNlKSAhPSAwKQorCQkJ Y29udGludWU7CisKKwkJZ19mcmVlKGRhdGEtPm5hbWUpOworCQlkYXRhLT5vd25lciA9IGdfc3Ry ZHVwKG5hbWUpOworCX0KK30KKworc3RhdGljIGNvbnN0IGNoYXIgKmNoZWNrX25hbWVfY2FjaGUo Y29uc3QgY2hhciAqc2VydmljZSkKK3sKKwlHU0xpc3QgKmw7CisKKwlmb3IgKGwgPSBsaXN0ZW5l cnM7IGwgIT0gTlVMTDsgbCA9IGwtPm5leHQpIHsKKwkJc3RydWN0IGZpbHRlcl9kYXRhICpkYXRh ID0gbC0+ZGF0YTsKKworCQlpZiAoZ19zdHJjbXAwKGRhdGEtPm5hbWUsIHNlcnZpY2UpICE9IDAp CisJCQljb250aW51ZTsKKworCQlyZXR1cm4gZGF0YS0+bmFtZTsKKwl9CisKKwlyZXR1cm4gTlVM TDsKK30KKwogc3RhdGljIERCdXNIYW5kbGVyUmVzdWx0IHNlcnZpY2VfZmlsdGVyKERCdXNDb25u ZWN0aW9uICpjb25uZWN0aW9uLAogCQkJCQlEQnVzTWVzc2FnZSAqbWVzc2FnZSwgdm9pZCAqdXNl cl9kYXRhKQogewpAQCAtMzc1LDYgKzQzMCw4IEBAIHN0YXRpYyBEQnVzSGFuZGxlclJlc3VsdCBz ZXJ2aWNlX2ZpbHRlcihEQnVzQ29ubmVjdGlvbiAqY29ubmVjdGlvbiwKIAkJcmV0dXJuIERCVVNf SEFORExFUl9SRVNVTFRfTk9UX1lFVF9IQU5ETEVEOwogCX0KIAorCXVwZGF0ZV9uYW1lX2NhY2hl KG5hbWUsIG5ldyk7CisKIAl3aGlsZSAoZGF0YS0+Y2FsbGJhY2tzKSB7CiAJCWNiID0gZGF0YS0+ Y2FsbGJhY2tzLT5kYXRhOwogCkBAIC00MjEsNyArNDc4LDkgQEAgc3RhdGljIERCdXNIYW5kbGVy UmVzdWx0IG1lc3NhZ2VfZmlsdGVyKERCdXNDb25uZWN0aW9uICpjb25uZWN0aW9uLAogCW1lbWJl ciA9IGRidXNfbWVzc2FnZV9nZXRfbWVtYmVyKG1lc3NhZ2UpOwogCWRidXNfbWVzc2FnZV9nZXRf YXJncyhtZXNzYWdlLCBOVUxMLCBEQlVTX1RZUEVfU1RSSU5HLCAmYXJnLCBEQlVTX1RZUEVfSU5W QUxJRCk7CiAKLQlkYXRhID0gZmlsdGVyX2RhdGFfZmluZChjb25uZWN0aW9uLCBzZW5kZXIsIHBh dGgsIGlmYWNlLCBtZW1iZXIsIGFyZyk7CisJLyogU2VuZGVyIGlzIGFsd2F5cyBidXMgbmFtZSAq LworCWRhdGEgPSBmaWx0ZXJfZGF0YV9maW5kKGNvbm5lY3Rpb24sIE5VTEwsIHNlbmRlciwgcGF0 aCwgaWZhY2UsIG1lbWJlciwKKwkJCQkJYXJnKTsKIAlpZiAoIWRhdGEpIHsKIAkJZXJyb3IoIkdv dCAlcy4lcyBzaWduYWwgd2hpY2ggaGFzIG5vIGxpc3RlbmVycyIsIGlmYWNlLCBtZW1iZXIpOwog CQlyZXR1cm4gREJVU19IQU5ETEVSX1JFU1VMVF9OT1RfWUVUX0hBTkRMRUQ7CkBAIC00NDYsNyAr NTA1LDggQEAgc3RhdGljIERCdXNIYW5kbGVyUmVzdWx0IG1lc3NhZ2VfZmlsdGVyKERCdXNDb25u ZWN0aW9uICpjb25uZWN0aW9uLAogCWZpbHRlcl9kYXRhX2ZyZWUoZGF0YSk7CiAKIAkvKiBSZW1v dmUgZmlsdGVyIGlmIHRoZXJlIG5vIGxpc3RlbmVyIGxlZnQgZm9yIHRoZSBjb25uZWN0aW9uICov Ci0JZGF0YSA9IGZpbHRlcl9kYXRhX2ZpbmQoY29ubmVjdGlvbiwgTlVMTCwgTlVMTCwgTlVMTCwg TlVMTCwgTlVMTCk7CisJZGF0YSA9IGZpbHRlcl9kYXRhX2ZpbmQoY29ubmVjdGlvbiwgTlVMTCwg TlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwKKwkJCQkJTlVMTCk7CiAJaWYgKCFkYXRhKQogCQlkYnVz X2Nvbm5lY3Rpb25fcmVtb3ZlX2ZpbHRlcihjb25uZWN0aW9uLCBtZXNzYWdlX2ZpbHRlciwKIAkJ CQkJCU5VTEwpOwpAQCAtNDU2LDE2ICs1MTYsMzcgQEAgc3RhdGljIERCdXNIYW5kbGVyUmVzdWx0 IG1lc3NhZ2VfZmlsdGVyKERCdXNDb25uZWN0aW9uICpjb25uZWN0aW9uLAogCiBzdHJ1Y3Qgc2Vy dmljZV9kYXRhIHsKIAlEQnVzQ29ubmVjdGlvbiAqY29ubjsKKwljaGFyICpuYW1lOworCWNvbnN0 IGNoYXIgKm93bmVyOwogCUdEQnVzV2F0Y2hGdW5jdGlvbiBjb25uX2Z1bmM7CiAJdm9pZCAqdXNl cl9kYXRhOwogfTsKIAorc3RhdGljIHZvaWQgc2VydmljZV9kYXRhX2ZyZWUoc3RydWN0IHNlcnZp Y2VfZGF0YSAqZGF0YSkKK3sKKwlkYnVzX2Nvbm5lY3Rpb25fdW5yZWYoZGF0YS0+Y29ubik7CisJ Z19mcmVlKGRhdGEtPm5hbWUpOworCWdfZnJlZShkYXRhKTsKK30KKworc3RhdGljIGdib29sZWFu IHVwZGF0ZV9zZXJ2aWNlKHZvaWQgKnVzZXJfZGF0YSkKK3sKKwlzdHJ1Y3Qgc2VydmljZV9kYXRh ICpkYXRhID0gdXNlcl9kYXRhOworCisJdXBkYXRlX25hbWVfY2FjaGUoZGF0YS0+bmFtZSwgZGF0 YS0+b3duZXIpOworCWlmIChkYXRhLT5jb25uX2Z1bmMpCisJCWRhdGEtPmNvbm5fZnVuYyhkYXRh LT5jb25uLCBkYXRhLT51c2VyX2RhdGEpOworCisJc2VydmljZV9kYXRhX2ZyZWUoZGF0YSk7CisK KwlyZXR1cm4gRkFMU0U7Cit9CisKIHN0YXRpYyB2b2lkIHNlcnZpY2VfcmVwbHkoREJ1c1BlbmRp bmdDYWxsICpjYWxsLCB2b2lkICp1c2VyX2RhdGEpCiB7CiAJc3RydWN0IHNlcnZpY2VfZGF0YSAq ZGF0YSA9IHVzZXJfZGF0YTsKIAlEQnVzTWVzc2FnZSAqcmVwbHk7CiAJREJ1c0Vycm9yIGVycm9y OwotCWRidXNfYm9vbF90IGhhc19vd25lcjsKIAogCXJlcGx5ID0gZGJ1c19wZW5kaW5nX2NhbGxf c3RlYWxfcmVwbHkoY2FsbCk7CiAJaWYgKHJlcGx5ID09IE5VTEwpCkBAIC00NzQsMjIgKzU1NSwy MyBAQCBzdGF0aWMgdm9pZCBzZXJ2aWNlX3JlcGx5KERCdXNQZW5kaW5nQ2FsbCAqY2FsbCwgdm9p ZCAqdXNlcl9kYXRhKQogCWRidXNfZXJyb3JfaW5pdCgmZXJyb3IpOwogCiAJaWYgKGRidXNfbWVz c2FnZV9nZXRfYXJncyhyZXBseSwgJmVycm9yLAotCQkJCQlEQlVTX1RZUEVfQk9PTEVBTiwgJmhh c19vd25lciwKKwkJCQkJREJVU19UWVBFX1NUUklORywgJmRhdGEtPm93bmVyLAogCQkJCQkJREJV U19UWVBFX0lOVkFMSUQpID09IEZBTFNFKSB7CiAJCWlmIChkYnVzX2Vycm9yX2lzX3NldCgmZXJy b3IpID09IFRSVUUpIHsKIAkJCWVycm9yKCIlcyIsIGVycm9yLm1lc3NhZ2UpOwogCQkJZGJ1c19l cnJvcl9mcmVlKCZlcnJvcik7CiAJCX0gZWxzZSB7Ci0JCQllcnJvcigiV3JvbmcgYXJndW1lbnRz IGZvciBOYW1lSGFzT3duZXIgcmVwbHkiKTsKKwkJCWVycm9yKCJXcm9uZyBhcmd1bWVudHMgZm9y IEdldE5hbWVPd25lciByZXBseSIpOwogCQl9CiAJCWdvdG8gZG9uZTsKIAl9CiAKLQlpZiAoaGFz X293bmVyICYmIGRhdGEtPmNvbm5fZnVuYykKLQkJZGF0YS0+Y29ubl9mdW5jKGRhdGEtPmNvbm4s IGRhdGEtPnVzZXJfZGF0YSk7CisJdXBkYXRlX3NlcnZpY2UoZGF0YSk7CiAKKwlyZXR1cm47CiBk b25lOgogCWRidXNfbWVzc2FnZV91bnJlZihyZXBseSk7CisJc2VydmljZV9kYXRhX2ZyZWUoZGF0 YSk7CiB9CiAKIHN0YXRpYyB2b2lkIGNoZWNrX3NlcnZpY2UoREJ1c0Nvbm5lY3Rpb24gKmNvbm5l Y3Rpb24sIGNvbnN0IGNoYXIgKm5hbWUsCkBAIC01MDUsMTIgKzU4NywxOSBAQCBzdGF0aWMgdm9p ZCBjaGVja19zZXJ2aWNlKERCdXNDb25uZWN0aW9uICpjb25uZWN0aW9uLCBjb25zdCBjaGFyICpu YW1lLAogCQlyZXR1cm47CiAJfQogCi0JZGF0YS0+Y29ubiA9IGNvbm5lY3Rpb247CisJZGF0YS0+ Y29ubiA9IGRidXNfY29ubmVjdGlvbl9yZWYoY29ubmVjdGlvbik7CisJZGF0YS0+bmFtZSA9IGdf c3RyZHVwKG5hbWUpOwogCWRhdGEtPmNvbm5fZnVuYyA9IGNvbm5lY3Q7CiAJZGF0YS0+dXNlcl9k YXRhID0gdXNlcl9kYXRhOwogCisJZGF0YS0+b3duZXIgPSBjaGVja19uYW1lX2NhY2hlKG5hbWUp OworCWlmIChkYXRhLT5vd25lciAhPSBOVUxMKSB7CisJCWdfaWRsZV9hZGQodXBkYXRlX3NlcnZp Y2UsIGRhdGEpOworCQlyZXR1cm47CisJfQorCiAJbWVzc2FnZSA9IGRidXNfbWVzc2FnZV9uZXdf bWV0aG9kX2NhbGwoREJVU19TRVJWSUNFX0RCVVMsCi0JCQlEQlVTX1BBVEhfREJVUywgREJVU19J TlRFUkZBQ0VfREJVUywgIk5hbWVIYXNPd25lciIpOworCQkJREJVU19QQVRIX0RCVVMsIERCVVNf SU5URVJGQUNFX0RCVVMsICJHZXROYW1lT3duZXIiKTsKIAlpZiAobWVzc2FnZSA9PSBOVUxMKSB7 CiAJCWVycm9yKCJDYW4ndCBhbGxvY2F0ZSBuZXcgbWVzc2FnZSIpOwogCQlnX2ZyZWUoZGF0YSk7 CkBAIC01OTYsNiArNjg1LDExIEBAIGd1aW50IGdfZGJ1c19hZGRfc2lnbmFsX3dhdGNoKERCdXND b25uZWN0aW9uICpjb25uZWN0aW9uLAogCWlmICghY2IpCiAJCXJldHVybiAwOwogCisJaWYgKGRh dGEtPm5hbWUgIT0gTlVMTCAmJiBkYXRhLT5uYW1lX3dhdGNoID09IDApCisJCWRhdGEtPm5hbWVf d2F0Y2ggPSBnX2RidXNfYWRkX3NlcnZpY2Vfd2F0Y2goY29ubmVjdGlvbiwKKwkJCQkJCQlkYXRh LT5uYW1lLCBOVUxMLAorCQkJCQkJCU5VTEwsIE5VTEwsIE5VTEwpOworCiAJcmV0dXJuIGNiLT5p ZDsKIH0KIApAQCAtNjI1LDcgKzcxOSw4IEBAIHZvaWQgZ19kYnVzX3JlbW92ZV9hbGxfd2F0Y2hl cyhEQnVzQ29ubmVjdGlvbiAqY29ubmVjdGlvbikKIHsKIAlzdHJ1Y3QgZmlsdGVyX2RhdGEgKmRh dGE7CiAKLQl3aGlsZSAoKGRhdGEgPSBmaWx0ZXJfZGF0YV9maW5kKGNvbm5lY3Rpb24sIE5VTEws IE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwpKSkgeworCXdoaWxlICgoZGF0YSA9IGZpbHRlcl9kYXRh X2ZpbmQoY29ubmVjdGlvbiwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwKKwkJCQkJTlVMTCwgTlVM TCkpKSB7CiAJCWxpc3RlbmVycyA9IGdfc2xpc3RfcmVtb3ZlKGxpc3RlbmVycywgZGF0YSk7CiAJ CWZpbHRlcl9kYXRhX2NhbGxfYW5kX2ZyZWUoZGF0YSk7CiAJfQotLSAKMS42LjMuMwoK --0016e6d62335d93c2a047fb8fb11--