Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:46415 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 39210 invoked from network); 14 Dec 2009 20:16:58 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 14 Dec 2009 20:16:58 -0000 Authentication-Results: pb1.pair.com header.from=jerome@loyet.net; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=jerome@loyet.net; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain loyet.net from 209.85.223.195 cause and error) X-PHP-List-Original-Sender: jerome@loyet.net X-Host-Fingerprint: 209.85.223.195 mail-iw0-f195.google.com Received: from [209.85.223.195] ([209.85.223.195:56986] helo=mail-iw0-f195.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 4E/86-33743-83D962B4 for ; Mon, 14 Dec 2009 15:16:58 -0500 Received: by iwn33 with SMTP id 33so2241145iwn.29 for ; Mon, 14 Dec 2009 12:16:53 -0800 (PST) MIME-Version: 1.0 Received: by 10.231.121.69 with SMTP id g5mr236731ibr.44.1260821813818; Mon, 14 Dec 2009 12:16:53 -0800 (PST) Date: Mon, 14 Dec 2009 21:16:53 +0100 Message-ID: <3bea96c40912141216u6019bc9bv4bdf054a4cd1919f@mail.gmail.com> To: php-dev Cc: Antony Dovgal Content-Type: multipart/mixed; boundary=0016e644cd9656775b047ab5f4fd Subject: [PATCH] fpm/typo: change some log about dynamic + homogenize log message about pool From: jerome@loyet.net (=?ISO-8859-1?B?Suly9G1lIExveWV0?=) --0016e644cd9656775b047ab5f4fd Content-Type: text/plain; charset=ISO-8859-1 Hi tony, There is several things in this patch: 1- makes log message about pool concistent. I set it to "[pool %s] message". Before there where different variants: pool %s, foo (pool %s) bar [pool %s] [%s] 2- corrects some log messages which were not very meaningful for end users 3- Some log level have been switched from NOTICE to DEBUG, so that the log_file in normal operation would not be a nightmare to read (with a lot of anoying and useless messages for end users) Hope it helps ++ Jerome --0016e644cd9656775b047ab5f4fd Content-Type: text/plain; name="php-fpm.typo.patch.txt" Content-Disposition: attachment; filename="php-fpm.typo.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g37ops0j0 SW5kZXg6IHNhcGkvZnBtL2ZwbS9mcG1fY2hpbGRyZW4uaAo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzYXBpL2Zw bS9mcG0vZnBtX2NoaWxkcmVuLmgJKHLpdmlzaW9uIDI5MjEzOCkKKysrIHNhcGkvZnBtL2ZwbS9m cG1fY2hpbGRyZW4uaAkoY29waWUgZGUgdHJhdmFpbCkKQEAgLTE1LDcgKzE1LDcgQEAKIGludCBm cG1fY2hpbGRyZW5fZnJlZShzdHJ1Y3QgZnBtX2NoaWxkX3MgKmNoaWxkKTsKIHZvaWQgZnBtX2No aWxkcmVuX2J1cnkoKTsKIGludCBmcG1fY2hpbGRyZW5faW5pdF9tYWluKCk7Ci1pbnQgZnBtX2No aWxkcmVuX21ha2Uoc3RydWN0IGZwbV93b3JrZXJfcG9vbF9zICp3cCwgaW50IGluX2V2ZW50X2xv b3AsIGludCBuYl90b19zcGF3bik7CitpbnQgZnBtX2NoaWxkcmVuX21ha2Uoc3RydWN0IGZwbV93 b3JrZXJfcG9vbF9zICp3cCwgaW50IGluX2V2ZW50X2xvb3AsIGludCBuYl90b19zcGF3biwgY2hh ciBub3JtYWxfc3RhcnQpOwogCiBzdHJ1Y3QgZnBtX2NoaWxkX3M7CiAKSW5kZXg6IHNhcGkvZnBt L2ZwbS9mcG1fcGhwX3RyYWNlLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc2FwaS9mcG0vZnBtL2ZwbV9waHBf dHJhY2UuYwkocul2aXNpb24gMjkyMTM4KQorKysgc2FwaS9mcG0vZnBtL2ZwbV9waHBfdHJhY2Uu YwkoY29waWUgZGUgdHJhdmFpbCkKQEAgLTUzLDcgKzUzLDcgQEAKIAogCXpsb2dfcHJpbnRfdGlt ZSgmdHYsIGJ1ZiwgYnVmX3NpemUpOwogCi0JZnByaW50ZihzbG93bG9nLCAiXG4lcyBwaWQgJWQg KHBvb2wgJXMpXG4iLCBidWYsIChpbnQpIHBpZCwgY2hpbGQtPndwLT5jb25maWctPm5hbWUpOwor CWZwcmludGYoc2xvd2xvZywgIlxuJXMgW3Bvb2wgJXNdIHBpZCAlZFxuIiwgYnVmLCBjaGlsZC0+ d3AtPmNvbmZpZy0+bmFtZSwgKGludCkgcGlkKTsKIAogCWlmICgwID4gZnBtX3RyYWNlX2dldF9z dHJ6KGJ1ZiwgYnVmX3NpemUsIChsb25nKSAmU0cocmVxdWVzdF9pbmZvKS5wYXRoX3RyYW5zbGF0 ZWQpKSB7CiAJCXJldHVybiAtMTsKSW5kZXg6IHNhcGkvZnBtL2ZwbS9mcG1fcHJvY2Vzc19jdGwu Ywo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBzYXBpL2ZwbS9mcG0vZnBtX3Byb2Nlc3NfY3RsLmMJKHLpdmlzaW9u IDI5MjEzOCkKKysrIHNhcGkvZnBtL2ZwbS9mcG1fcHJvY2Vzc19jdGwuYwkoY29waWUgZGUgdHJh dmFpbCkKQEAgLTE1Nyw5ICsxNTcsOSBAQAogCQlmb3IgKGNoaWxkID0gd3AtPmNoaWxkcmVuOyBj aGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dCkgewogCQkJaW50IHJlcyA9IGtpbGwoY2hpbGQtPnBp ZCwgc2lnbm8pOwogCi0JCQl6bG9nKFpMT0dfU1RVRkYsIFpMT0dfTk9USUNFLCAic2VuZGluZyBz aWduYWwgJWQgJXMgdG8gY2hpbGQgJWQgKHBvb2wgJXMpIiwgc2lnbm8sCi0JCQkJZnBtX3NpZ25h bF9uYW1lc1tzaWdub10gPyBmcG1fc2lnbmFsX25hbWVzW3NpZ25vXSA6ICIiLAotCQkJCShpbnQp IGNoaWxkLT5waWQsIGNoaWxkLT53cC0+Y29uZmlnLT5uYW1lKTsKKwkJCXpsb2coWkxPR19TVFVG RiwgWkxPR19OT1RJQ0UsICJbcG9vbCAlc10gc2VuZGluZyBzaWduYWwgJWQgJXMgdG8gY2hpbGQg JWQiLAorCQkJCWNoaWxkLT53cC0+Y29uZmlnLT5uYW1lLCBzaWdubywKKwkJCQlmcG1fc2lnbmFs X25hbWVzW3NpZ25vXSA/IGZwbV9zaWduYWxfbmFtZXNbc2lnbm9dIDogIiIsIChpbnQpIGNoaWxk LT5waWQpOwogCiAJCQlpZiAocmVzID09IDApIHsKIAkJCQkrK2FsaXZlX2NoaWxkcmVuOwpAQCAt MTY4LDcgKzE2OCw3IEBACiAJfQogCiAJaWYgKGFsaXZlX2NoaWxkcmVuKSB7Ci0JCXpsb2coWkxP R19TVFVGRiwgWkxPR19OT1RJQ0UsICIlZCAlcyBzdGlsbCBhbGl2ZSIsIGFsaXZlX2NoaWxkcmVu LCBhbGl2ZV9jaGlsZHJlbiA9PSAxID8gImNoaWxkIGlzIiA6ICJjaGlsZHJlbiBhcmUiKTsKKwkJ emxvZyhaTE9HX1NUVUZGLCBaTE9HX05PVElDRSwgIiVkIGNoaWxkKHJlbikgc3RpbGwgYWxpdmUi LCBhbGl2ZV9jaGlsZHJlbik7CiAJfQogfQogLyogfX19ICovCkBAIC0zNDAsMTAgKzM0MCwxMCBA QAogCQkJfQogCQl9CiAKLQkJemxvZyhaTE9HX1NUVUZGLCBaTE9HX0RFQlVHLCAiWyVzXSByYXRl PSVkIGlkbGU9JWQgYWN0aXZlPSVkIHRvdGFsPSVkIiwgd3AtPmNvbmZpZy0+bmFtZSwgd3AtPmlk bGVfc3Bhd25fcmF0ZSwgaWRsZSwgYWN0aXZlLCB3cC0+cnVubmluZ19jaGlsZHJlbik7CisJCXps b2coWkxPR19TVFVGRiwgWkxPR19ERUJVRywgIltwb29sICVzXSBjdXJyZW50bHkgJWQgYWN0aXZl IGNoaWxkcmVuLCAlZCBzcGFyZSBjaGlsZHJlbiwgJWQgcnVubmluZyBjaGlsZHJlbi4gU3Bhd25p bmcgcmF0ZSAlZCIsIHdwLT5jb25maWctPm5hbWUsIGFjdGl2ZSwgaWRsZSwgd3AtPnJ1bm5pbmdf Y2hpbGRyZW4sIHdwLT5pZGxlX3NwYXduX3JhdGUpOwogCiAJCWlmICgoYWN0aXZlICsgaWRsZSkg IT0gd3AtPnJ1bm5pbmdfY2hpbGRyZW4pIHsKLQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19FUlJP UiwgIlslc10gdW5hYmxlIHRvIHJldHJpZXZlIHNwYXduaW5nIGluZm9ybWF0aW9ucyIsIHdwLT5j b25maWctPm5hbWUpOworCQkJemxvZyhaTE9HX1NUVUZGLCBaTE9HX0VSUk9SLCAiW3Bvb2wgJXNd IHVuYWJsZSB0byByZXRyaWV2ZSBwcm9jZXNzIGFjdGl2aXJ5IG9mIG9uZSBvciBtb3JlIGNoaWxk KHJlbikuIFdpbGwgdHJ5IGFnYWluIGxhdGVyLiIsIHdwLT5jb25maWctPm5hbWUpOwogCQkJY29u dGludWU7CiAJCX0KIApAQCAtMzU3LDggKzM1Nyw3IEBACiAJCWlmIChpZGxlIDwgd3AtPmNvbmZp Zy0+cG0tPmR5bmFtaWMubWluX3NwYXJlX3NlcnZlcnMpIHsKIAkJCWlmICh3cC0+cnVubmluZ19j aGlsZHJlbiA+PSB3cC0+Y29uZmlnLT5wbS0+bWF4X2NoaWxkcmVuKSB7CiAJCQkJaWYgKCF3cC0+ d2Fybl9tYXhfY2hpbGRyZW4pIHsKLQkJCQkJemxvZyhaTE9HX1NUVUZGLCBaTE9HX1dBUk5JTkcs ICJwb29sICVzOiBzZXJ2ZXIgcmVhY2hlZCBtYXhfY2hpbGRyZW4gc2V0dGluZywgY29uc2lkZXIg cmFpc2luZyBpdCIsCi0JCQkJCSAgICAgd3AtPmNvbmZpZy0+bmFtZSk7CisJCQkJCXpsb2coWkxP R19TVFVGRiwgWkxPR19XQVJOSU5HLCAiW3Bvb2wgJXNdIHNlcnZlciByZWFjaGVkIG1heF9jaGls ZHJlbiBzZXR0aW5nICglZCksIGNvbnNpZGVyIHJhaXNpbmcgaXQiLCB3cC0+Y29uZmlnLT5uYW1l LCB3cC0+Y29uZmlnLT5wbS0+bWF4X2NoaWxkcmVuKTsKIAkJCQkJd3AtPndhcm5fbWF4X2NoaWxk cmVuID0gMTsKIAkJCQl9CiAJCQkJd3AtPmlkbGVfc3Bhd25fcmF0ZSA9IDE7CkBAIC0zNjcsMTEg KzM2NiwxMSBAQAogCQkJd3AtPndhcm5fbWF4X2NoaWxkcmVuID0gMDsKIAogCQkJaWYgKHdwLT5p ZGxlX3NwYXduX3JhdGUgPj0gOCkgewotCQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19XQVJOSU5H LCAicG9vbCAlcyBzZWVtcyBidXN5ICh5b3UgbWF5IG5lZWQgdG8gaW5jcmVhc2Ugc3RhcnRfc2Vy dmVycywgb3IgbWluL21heF9zcGFyZV9zZXJ2ZXJzKSwgc3Bhd25pbmcgJWQgY2hpbGRyZW4sIHRo ZXJlIGFyZSAlZCBpZGxlLCBhbmQgJWQgdG90YWwgY2hpbGRyZW4iLCB3cC0+Y29uZmlnLT5uYW1l LCB3cC0+aWRsZV9zcGF3bl9yYXRlLCBpZGxlLCB3cC0+cnVubmluZ19jaGlsZHJlbik7CisJCQkJ emxvZyhaTE9HX1NUVUZGLCBaTE9HX1dBUk5JTkcsICJbcG9vbCAlc10gc2VlbXMgYnVzeSAoeW91 IG1heSBuZWVkIHRvIGluY3JlYXNlIHN0YXJ0X3NlcnZlcnMsIG9yIG1pbi9tYXhfc3BhcmVfc2Vy dmVycyksIHNwYXduaW5nICVkIGNoaWxkcmVuLCB0aGVyZSBhcmUgJWQgaWRsZSwgYW5kICVkIHRv dGFsIGNoaWxkcmVuIiwgd3AtPmNvbmZpZy0+bmFtZSwgd3AtPmlkbGVfc3Bhd25fcmF0ZSwgaWRs ZSwgd3AtPnJ1bm5pbmdfY2hpbGRyZW4pOwogCQkJfQogCiAJCQlpID0gTUlOKHdwLT5pZGxlX3Nw YXduX3JhdGUsIHdwLT5jb25maWctPnBtLT5keW5hbWljLm1pbl9zcGFyZV9zZXJ2ZXJzIC0gaWRs ZSk7Ci0JCQlmcG1fY2hpbGRyZW5fbWFrZSh3cCwgMSwgaSk7CisJCQlmcG1fY2hpbGRyZW5fbWFr ZSh3cCwgMSwgaSwgMSk7CiAKIAkJCS8qIGlmIGl0J3MgYSBjaGlsZCwgc3RvcCBoZXJlIHdpdGhv dXQgY3JlYXRpbmcgdGhlIG5leHQgZXZlbnQKIAkJCSAqIHRoaXMgZXZlbnQgaXMgcmVzZXJ2ZWQg dG8gdGhlIG1hc3RlciBwcm9jZXNzCkBAIC0zODAsNyArMzc5LDcgQEAKIAkJCQlyZXR1cm47CiAJ CQl9CiAKLQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19OT1RJQ0UsICJwb29sICVzOiAlZCBjaGls ZChyZW4pIGhhdmUgYmVlbiBjcmVhdGVkIGJlY2F1c2Ugb2Ygbm90IGVub3VnaCBzcGFyZSBjaGls ZHJlbiIsIHdwLT5jb25maWctPm5hbWUsIGkpOwkKKwkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19E RUJVRywgIltwb29sICVzXSAlZCBjaGlsZChyZW4pIGhhdmUgYmVlbiBjcmVhdGVkIGR5bmFtaWNh bGx5Iiwgd3AtPmNvbmZpZy0+bmFtZSwgaSk7CQogCiAJCQkvKiBEb3VibGUgdGhlIHNwYXduIHJh dGUgZm9yIHRoZSBuZXh0IGl0ZXJhdGlvbiAqLwogCQkJaWYgKHdwLT5pZGxlX3NwYXduX3JhdGUg PCBGUE1fTUFYX1NQQVdOX1JBVEUpIHsKSW5kZXg6IHNhcGkvZnBtL2ZwbS9mcG1fc3RkaW8uYwo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLSBzYXBpL2ZwbS9mcG0vZnBtX3N0ZGlvLmMJKHLpdmlzaW9uIDI5MjEzOCkK KysrIHNhcGkvZnBtL2ZwbS9mcG1fc3RkaW8uYwkoY29waWUgZGUgdHJhdmFpbCkKQEAgLTExNCw4 ICsxMTQsOCBAQAogCiAjaWYgMAogCQkJCQlpZiAoaW5fYnVmID09IDAgJiYgIWZwbV9nbG9iYWxz LmlzX2NoaWxkKSB7Ci0JCQkJCQl6bG9nKFpMT0dfU1RVRkYsIFpMT0dfREVCVUcsICJjaGlsZCAl ZCAocG9vbCAlcykgJXMgcGlwZSBpcyBjbG9zZWQiLCAoaW50KSBjaGlsZC0+cGlkLAotCQkJCQkJ CWNoaWxkLT53cC0+Y29uZmlnLT5uYW1lLCBpc19zdGRvdXQgPyAic3Rkb3V0IiA6ICJzdGRlcnIi KTsKKwkJCQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19ERUJVRywgIltwb29sICVzXSBjaGlsZCAl ZCwgJXMgcGlwZSBpcyBjbG9zZWQiLCBjaGlsZC0+d3AtPmNvbmZpZy0+bmFtZSwKKwkJCQkJCSAg KGludCkgY2hpbGQtPnBpZCwgaXNfc3Rkb3V0ID8gInN0ZG91dCIgOiAic3RkZXJyIik7CiAJCQkJ CX0KICNlbmRpZgogCQkJCX0KQEAgLTE1MSw4ICsxNTEsOCBAQAogCQkJCQkJKm5sID0gJ1wwJzsK IAkJCQkJfQogCi0JCQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19XQVJOSU5HLCAiY2hpbGQgJWQg KHBvb2wgJXMpIHNhaWQgaW50byAlczogXCIlc1wiJXMiLCAoaW50KSBjaGlsZC0+cGlkLAotCQkJ CQkJY2hpbGQtPndwLT5jb25maWctPm5hbWUsIGlzX3N0ZG91dCA/ICJzdGRvdXQiIDogInN0ZGVy ciIsIGJ1ZiwgaXNfbGFzdF9tZXNzYWdlID8gIiwgcGlwZSBpcyBjbG9zZWQiIDogIiIpOworCQkJ CQl6bG9nKFpMT0dfU1RVRkYsIFpMT0dfV0FSTklORywgIltwb29sICVzXSBjaGlsZCAlZCBzYWlk IGludG8gJXM6IFwiJXNcIiVzIiwgY2hpbGQtPndwLT5jb25maWctPm5hbWUsCisJCQkJCSAgKGlu dCkgY2hpbGQtPnBpZCwgaXNfc3Rkb3V0ID8gInN0ZG91dCIgOiAic3RkZXJyIiwgYnVmLCBpc19s YXN0X21lc3NhZ2UgPyAiLCBwaXBlIGlzIGNsb3NlZCIgOiAiIik7CiAKIAkJCQkJaWYgKG5sKSB7 CiAJCQkJCQlpbnQgb3V0X2J1ZiA9IDEgKyBubCAtIGJ1ZjsKSW5kZXg6IHNhcGkvZnBtL2ZwbS9m cG1fdW5peC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tIHNhcGkvZnBtL2ZwbS9mcG1fdW5peC5jCShy6XZpc2lv biAyOTIxMzgpCisrKyBzYXBpL2ZwbS9mcG0vZnBtX3VuaXguYwkoY29waWUgZGUgdHJhdmFpbCkK QEAgLTQ1LDcgKzQ1LDcgQEAKIAogCQlwd2QgPSBnZXRwd25hbShsby0+b3duZXIpOwogCQlpZiAo IXB3ZCkgewotCQkJemxvZyhaTE9HX1NUVUZGLCBaTE9HX1NZU0VSUk9SLCAiY2Fubm90IGdldCB1 aWQgZm9yIHVzZXIgJyVzJywgcG9vbCAnJXMnIiwgbG8tPm93bmVyLCB3cC0+Y29uZmlnLT5uYW1l KTsKKwkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19TWVNFUlJPUiwgIltwb29sICVzXSBjYW5ub3Qg Z2V0IHVpZCBmb3IgdXNlciAnJXMnIiwgd3AtPmNvbmZpZy0+bmFtZSwgbG8tPm93bmVyKTsKIAkJ CXJldHVybiAtMTsKIAkJfQogCkBAIC01OCw3ICs1OCw3IEBACiAKIAkJZ3JwID0gZ2V0Z3JuYW0o bG8tPmdyb3VwKTsKIAkJaWYgKCFncnApIHsKLQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19TWVNF UlJPUiwgImNhbm5vdCBnZXQgZ2lkIGZvciBncm91cCAnJXMnLCBwb29sICclcyciLCBsby0+Z3Jv dXAsIHdwLT5jb25maWctPm5hbWUpOworCQkJemxvZyhaTE9HX1NUVUZGLCBaTE9HX1NZU0VSUk9S LCAiW3Bvb2wgJXNdIGNhbm5vdCBnZXQgZ2lkIGZvciBncm91cCAnJXMnIiwgd3AtPmNvbmZpZy0+ bmFtZSwgbG8tPmdyb3VwKTsKIAkJCXJldHVybiAtMTsKIAkJfQogCQl3cC0+c29ja2V0X2dpZCA9 IGdycC0+Z3JfZ2lkOwpAQCAtODQsNyArODQsNyBAQAogCiAJCQkJcHdkID0gZ2V0cHduYW0od3At PmNvbmZpZy0+dXNlcik7CiAJCQkJaWYgKCFwd2QpIHsKLQkJCQkJemxvZyhaTE9HX1NUVUZGLCBa TE9HX0VSUk9SLCAiY2Fubm90IGdldCB1aWQgZm9yIHVzZXIgJyVzJywgcG9vbCAnJXMnIiwgd3At PmNvbmZpZy0+dXNlciwgd3AtPmNvbmZpZy0+bmFtZSk7CisJCQkJCXpsb2coWkxPR19TVFVGRiwg WkxPR19FUlJPUiwgIltwb29sICVzXSBjYW5ub3QgZ2V0IHVpZCBmb3IgdXNlciAnJXMnIiwgd3At PmNvbmZpZy0+bmFtZSwgd3AtPmNvbmZpZy0+dXNlcik7CiAJCQkJCXJldHVybiAtMTsKIAkJCQl9 CiAKQEAgLTEwNCw3ICsxMDQsNyBAQAogCiAJCQkJZ3JwID0gZ2V0Z3JuYW0od3AtPmNvbmZpZy0+ Z3JvdXApOwogCQkJCWlmICghZ3JwKSB7Ci0JCQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19FUlJP UiwgImNhbm5vdCBnZXQgZ2lkIGZvciBncm91cCAnJXMnLCBwb29sICclcyciLCB3cC0+Y29uZmln LT5ncm91cCwgd3AtPmNvbmZpZy0+bmFtZSk7CisJCQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19F UlJPUiwgIltwb29sICVzXSBjYW5ub3QgZ2V0IGdpZCBmb3IgZ3JvdXAgJyVzJyIsIHdwLT5jb25m aWctPm5hbWUsIHdwLT5jb25maWctPmdyb3VwKTsKIAkJCQkJcmV0dXJuIC0xOwogCQkJCX0KIAkJ CQl3cC0+c2V0X2dpZCA9IGdycC0+Z3JfZ2lkOwpAQCAtMTEzLDE5ICsxMTMsMTkgQEAKIAogI2lm bmRlZiBJX1JFQUxMWV9XQU5UX1JPT1RfUEhQCiAJCWlmICh3cC0+c2V0X3VpZCA9PSAwIHx8IHdw LT5zZXRfZ2lkID09IDApIHsKLQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19FUlJPUiwgInBsZWFz ZSBzcGVjaWZ5IHVzZXIgYW5kIGdyb3VwIG90aGVyIHRoYW4gcm9vdCwgcG9vbCAnJXMnIiwgd3At PmNvbmZpZy0+bmFtZSk7CisJCQl6bG9nKFpMT0dfU1RVRkYsIFpMT0dfRVJST1IsICJbcG9vbCAl c10gcGxlYXNlIHNwZWNpZnkgdXNlciBhbmQgZ3JvdXAgb3RoZXIgdGhhbiByb290Iiwgd3AtPmNv bmZpZy0+bmFtZSk7CiAJCQlyZXR1cm4gLTE7CiAJCX0KICNlbmRpZgogCX0gZWxzZSB7IC8qIG5v dCByb290ICovCiAJCWlmICh3cC0+Y29uZmlnLT51c2VyICYmICp3cC0+Y29uZmlnLT51c2VyKSB7 Ci0JCQl6bG9nKFpMT0dfU1RVRkYsIFpMT0dfV0FSTklORywgIid1c2VyJyBkaXJlY3RpdmUgaXMg aWdub3JlZCwgcG9vbCAnJXMnIiwgd3AtPmNvbmZpZy0+bmFtZSk7CisJCQl6bG9nKFpMT0dfU1RV RkYsIFpMT0dfV0FSTklORywgIltwb29sICVzXSAndXNlcicgZGlyZWN0aXZlIGlzIGlnbm9yZWQi LCB3cC0+Y29uZmlnLT5uYW1lKTsKIAkJfQogCQlpZiAod3AtPmNvbmZpZy0+Z3JvdXAgJiYgKndw LT5jb25maWctPmdyb3VwKSB7Ci0JCQl6bG9nKFpMT0dfU1RVRkYsIFpMT0dfV0FSTklORywgIidn cm91cCcgZGlyZWN0aXZlIGlzIGlnbm9yZWQsIHBvb2wgJyVzJyIsIHdwLT5jb25maWctPm5hbWUp OworCQkJemxvZyhaTE9HX1NUVUZGLCBaTE9HX1dBUk5JTkcsICJbcG9vbCAlc10gJ2dyb3VwJyBk aXJlY3RpdmUgaXMgaWdub3JlZCIsIHdwLT5jb25maWctPm5hbWUpOwogCQl9CiAJCWlmICh3cC0+ Y29uZmlnLT5jaHJvb3QgJiYgKndwLT5jb25maWctPmNocm9vdCkgewotCQkJemxvZyhaTE9HX1NU VUZGLCBaTE9HX1dBUk5JTkcsICInY2hyb290JyBkaXJlY3RpdmUgaXMgaWdub3JlZCwgcG9vbCAn JXMnIiwgd3AtPmNvbmZpZy0+bmFtZSk7CisJCQl6bG9nKFpMT0dfU1RVRkYsIFpMT0dfV0FSTklO RywgIltwb29sICVzXSAnY2hyb290JyBkaXJlY3RpdmUgaXMgaWdub3JlZCIsIHdwLT5jb25maWct Pm5hbWUpOwogCQl9CiAKIAkJeyAvKiBzZXQgdXAgSE9NRSBhbmQgVVNFUiBhbnl3YXkgKi8KQEAg LTE1Myw3ICsxNTMsNyBAQAogCQlnZXRybGltaXQoUkxJTUlUX05PRklMRSwgJnIpOwogCQlyLnJs aW1fY3VyID0gKHJsaW1fdCkgd3AtPmNvbmZpZy0+cmxpbWl0X2ZpbGVzOwogCQlpZiAoMCA+IHNl dHJsaW1pdChSTElNSVRfTk9GSUxFLCAmcikpIHsKLQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19T WVNFUlJPUiwgInNldHJsaW1pdChSTElNSVRfTk9GSUxFKSBmYWlsZWQiKTsKKwkJCXpsb2coWkxP R19TVFVGRiwgWkxPR19TWVNFUlJPUiwgIltwb29sICVzXSBzZXRybGltaXQoUkxJTUlUX05PRklM RSkgZmFpbGVkIiwgd3AtPmNvbmZpZy0+bmFtZSk7CiAJCX0KIAl9CiAKQEAgLTE2MywxMyArMTYz LDEzIEBACiAJCWdldHJsaW1pdChSTElNSVRfQ09SRSwgJnIpOwogCQlyLnJsaW1fY3VyID0gd3At PmNvbmZpZy0+cmxpbWl0X2NvcmUgPT0gLTEgPyAocmxpbV90KSBSTElNX0lORklOSVRZIDogKHJs aW1fdCkgd3AtPmNvbmZpZy0+cmxpbWl0X2NvcmU7CiAJCWlmICgwID4gc2V0cmxpbWl0KFJMSU1J VF9DT1JFLCAmcikpIHsKLQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19TWVNFUlJPUiwgInNldHJs aW1pdChSTElNSVRfQ09SRSkgZmFpbGVkIik7CisJCQl6bG9nKFpMT0dfU1RVRkYsIFpMT0dfU1lT RVJST1IsICJbcG9vbCAlc10gc2V0cmxpbWl0KFJMSU1JVF9DT1JFKSBmYWlsZWQiLCB3cC0+Y29u ZmlnLT5uYW1lKTsKIAkJfQogCX0KIAogCWlmIChpc19yb290ICYmIHdwLT5jb25maWctPmNocm9v dCAmJiAqd3AtPmNvbmZpZy0+Y2hyb290KSB7CiAJCWlmICgwID4gY2hyb290KHdwLT5jb25maWct PmNocm9vdCkpIHsKLQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19TWVNFUlJPUiwgImNocm9vdCgl cykgZmFpbGVkIiwgd3AtPmNvbmZpZy0+Y2hyb290KTsKKwkJCXpsb2coWkxPR19TVFVGRiwgWkxP R19TWVNFUlJPUiwgIltwb29sICVzXSBjaHJvb3QoJXMpIGZhaWxlZCIsICB3cC0+Y29uZmlnLT5u YW1lLCB3cC0+Y29uZmlnLT5jaHJvb3QpOwogCQkJcmV0dXJuIC0xOwogCQl9CiAJCW1hZGVfY2hy b290ID0gMTsKQEAgLTE3Nyw3ICsxNzcsNyBAQAogCiAJaWYgKHdwLT5jb25maWctPmNoZGlyICYm ICp3cC0+Y29uZmlnLT5jaGRpcikgewogCQlpZiAoMCA+IGNoZGlyKHdwLT5jb25maWctPmNoZGly KSkgewotCQkJemxvZyhaTE9HX1NUVUZGLCBaTE9HX1NZU0VSUk9SLCAiY2hkaXIoJXMpIGZhaWxl ZCIsIHdwLT5jb25maWctPmNoZGlyKTsKKwkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19TWVNFUlJP UiwgIltwb29sICVzXSBjaGRpciglcykgZmFpbGVkIiwgd3AtPmNvbmZpZy0+bmFtZSwgd3AtPmNv bmZpZy0+Y2hkaXIpOwogCQkJcmV0dXJuIC0xOwogCQl9CiAJfSBlbHNlIGlmIChtYWRlX2Nocm9v dCkgewpAQCAtMTg3LDE3ICsxODcsMTcgQEAKIAlpZiAoaXNfcm9vdCkgewogCQlpZiAod3AtPnNl dF9naWQpIHsKIAkJCWlmICgwID4gc2V0Z2lkKHdwLT5zZXRfZ2lkKSkgewotCQkJCXpsb2coWkxP R19TVFVGRiwgWkxPR19TWVNFUlJPUiwgInNldGdpZCglZCkgZmFpbGVkIiwgd3AtPnNldF9naWQp OworCQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19TWVNFUlJPUiwgIltwb29sICVzXSBzZXRnaWQo JWQpIGZhaWxlZCIsIHdwLT5jb25maWctPm5hbWUsIHdwLT5zZXRfZ2lkKTsKIAkJCQlyZXR1cm4g LTE7CiAJCQl9CiAJCX0KIAkJaWYgKHdwLT5zZXRfdWlkKSB7CiAJCQlpZiAoMCA+IGluaXRncm91 cHMod3AtPmNvbmZpZy0+dXNlciwgd3AtPnNldF9naWQpKSB7Ci0JCQkJemxvZyhaTE9HX1NUVUZG LCBaTE9HX1NZU0VSUk9SLCAiaW5pdGdyb3VwcyglcywgJWQpIGZhaWxlZCIsIHdwLT5jb25maWct PnVzZXIsIHdwLT5zZXRfZ2lkKTsKKwkJCQl6bG9nKFpMT0dfU1RVRkYsIFpMT0dfU1lTRVJST1Is ICJbcG9vbCAlc10gaW5pdGdyb3VwcyglcywgJWQpIGZhaWxlZCIsIHdwLT5jb25maWctPm5hbWUs IHdwLT5jb25maWctPnVzZXIsIHdwLT5zZXRfZ2lkKTsKIAkJCQlyZXR1cm4gLTE7CiAJCQl9CiAJ CQlpZiAoMCA+IHNldHVpZCh3cC0+c2V0X3VpZCkpIHsKLQkJCQl6bG9nKFpMT0dfU1RVRkYsIFpM T0dfU1lTRVJST1IsICJzZXR1aWQoJWQpIGZhaWxlZCIsIHdwLT5zZXRfdWlkKTsKKwkJCQl6bG9n KFpMT0dfU1RVRkYsIFpMT0dfU1lTRVJST1IsICJbcG9vbCAlc10gc2V0dWlkKCVkKSBmYWlsZWQi LCB3cC0+Y29uZmlnLT5uYW1lLCB3cC0+c2V0X3VpZCk7CiAJCQkJcmV0dXJuIC0xOwogCQkJfQog CQl9CkBAIC0yMDUsNyArMjA1LDcgQEAKIAogI2lmZGVmIEhBVkVfUFJDVEwKIAlpZiAoMCA+IHBy Y3RsKFBSX1NFVF9EVU1QQUJMRSwgMSwgMCwgMCwgMCkpIHsKLQkJemxvZyhaTE9HX1NUVUZGLCBa TE9HX1NZU0VSUk9SLCAicHJjdGwoUFJfU0VUX0RVTVBBQkxFKSBmYWlsZWQiKTsKKwkJemxvZyha TE9HX1NUVUZGLCBaTE9HX1NZU0VSUk9SLCAiW3Bvb2wgJXNdIHByY3RsKFBSX1NFVF9EVU1QQUJM RSkgZmFpbGVkIiwgd3AtPmNvbmZpZy0+bmFtZSk7CiAJfQogI2VuZGlmCiAKQEAgLTIyNCw3ICsy MjQsNyBAQAogCWlmIChmcG1fZ2xvYmFsX2NvbmZpZy5kYWVtb25pemUpIHsKIAkJc3dpdGNoIChm b3JrKCkpIHsKIAkJCWNhc2UgLTEgOgotCQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19TWVNFUlJP UiwgImZvcmsoKSBmYWlsZWQiKTsKKwkJCQl6bG9nKFpMT0dfU1RVRkYsIFpMT0dfU1lTRVJST1Is ICJkYWVtb25pemVkIGZvcmsoKSBmYWlsZWQiKTsKIAkJCQlyZXR1cm4gLTE7CiAJCQljYXNlIDAg OgogCQkJCWJyZWFrOwpJbmRleDogc2FwaS9mcG0vZnBtL2ZwbV9jb25mLmMKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gc2FwaS9mcG0vZnBtL2ZwbV9jb25mLmMJKHLpdmlzaW9uIDI5MjEzOCkKKysrIHNhcGkvZnBt L2ZwbS9mcG1fY29uZi5jCShjb3BpZSBkZSB0cmF2YWlsKQpAQCAtMzkzLDcgKzM5Myw3IEBACiAJ CX0KIAogCQlpZiAod3AtPmNvbmZpZy0+cG0gPT0gTlVMTCkgewotCQkJemxvZyhaTE9HX1NUVUZG LCBaTE9HX0FMRVJULCAicG9vbCAlczogdGhlIHByb2Nlc3MgbWFuYWdlciBpcyBtaXNzaW5nIChz dGF0aWMgb3IgZHluYW1pYykiLCB3cC0+Y29uZmlnLT5uYW1lKTsKKwkJCXpsb2coWkxPR19TVFVG RiwgWkxPR19BTEVSVCwgIltwb29sICVzXSB0aGUgcHJvY2VzcyBtYW5hZ2VyIGlzIG1pc3Npbmcg KHN0YXRpYyBvciBkeW5hbWljKSIsIHdwLT5jb25maWctPm5hbWUpOwogCQkJcmV0dXJuKC0xKTsK IAkJfQogCkBAIC00MDEsMzIgKzQwMSwzMiBAQAogCQkJc3RydWN0IGZwbV9wbV9zICpwbSA9IHdw LT5jb25maWctPnBtOwogCiAJCQlpZiAocG0tPmR5bmFtaWMubWluX3NwYXJlX3NlcnZlcnMgPD0g MCkgewotCQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19BTEVSVCwgInBvb2wgJXM6IG1pbl9zcGFy ZV9zZXJ2ZXJzIG11c3QgYmUgYSBwb3NpdGl2ZSB2YWx1ZSIsIHdwLT5jb25maWctPm5hbWUpOwor CQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19BTEVSVCwgIltwb29sICVzXSBtaW5fc3BhcmVfc2Vy dmVycyglZCkgbXVzdCBiZSBhIHBvc2l0aXZlIHZhbHVlIiwgd3AtPmNvbmZpZy0+bmFtZSwgcG0t PmR5bmFtaWMubWluX3NwYXJlX3NlcnZlcnMpOwogCQkJCXJldHVybigtMSk7CiAJCQl9CiAKIAkJ CWlmIChwbS0+ZHluYW1pYy5tYXhfc3BhcmVfc2VydmVycyA8PSAwKSB7Ci0JCQkJemxvZyhaTE9H X1NUVUZGLCBaTE9HX0FMRVJULCAicG9vbCAlczogbWF4X3NwYXJlX3NlcnZlcnMgbXVzdCBiZSBh IHBvc2l0aXZlIHZhbHVlIiwgd3AtPmNvbmZpZy0+bmFtZSk7CisJCQkJemxvZyhaTE9HX1NUVUZG LCBaTE9HX0FMRVJULCAiW3Bvb2wgJXNdIG1heF9zcGFyZV9zZXJ2ZXJzKCVkKSBtdXN0IGJlIGEg cG9zaXRpdmUgdmFsdWUiLCB3cC0+Y29uZmlnLT5uYW1lLCBwbS0+ZHluYW1pYy5tYXhfc3BhcmVf c2VydmVycyk7CiAJCQkJcmV0dXJuKC0xKTsKIAkJCX0KIAogCQkJaWYgKHBtLT5keW5hbWljLm1p bl9zcGFyZV9zZXJ2ZXJzID4gcG0tPm1heF9jaGlsZHJlbiB8fAogCQkJICAgIHBtLT5keW5hbWlj Lm1heF9zcGFyZV9zZXJ2ZXJzID4gcG0tPm1heF9jaGlsZHJlbikgewotCQkJCXpsb2coWkxPR19T VFVGRiwgWkxPR19BTEVSVCwgInBvb2wgJXM6IG1pbl9zcGFyZV9zZXJ2ZXJzKCVkKSBhbmQgbWF4 X3NwYXJlX3NlcnZlcnMoJWQpIGNhbid0IGJlIGdyZWF0ZXIgdGhhbiBtYXhfY2hpbGRyZW4oJWQp IiwKKwkJCQl6bG9nKFpMT0dfU1RVRkYsIFpMT0dfQUxFUlQsICJbcG9vbCAlc10gbWluX3NwYXJl X3NlcnZlcnMoJWQpIGFuZCBtYXhfc3BhcmVfc2VydmVycyglZCkgY2Fubm90IGJlIGdyZWF0ZXIg dGhhbiBtYXhfY2hpbGRyZW4oJWQpIiwKIAkJCQkgICAgIHdwLT5jb25maWctPm5hbWUsIHBtLT5k eW5hbWljLm1pbl9zcGFyZV9zZXJ2ZXJzLCBwbS0+ZHluYW1pYy5tYXhfc3BhcmVfc2VydmVycywg cG0tPm1heF9jaGlsZHJlbik7CiAJCQkJcmV0dXJuKC0xKTsKIAkJCX0KIAogCQkJaWYgKHBtLT5k eW5hbWljLm1heF9zcGFyZV9zZXJ2ZXJzIDwgcG0tPmR5bmFtaWMubWluX3NwYXJlX3NlcnZlcnMp IHsKLQkJCQl6bG9nKFpMT0dfU1RVRkYsIFpMT0dfQUxFUlQsICJwb29sICVzOiBtYXhfc3BhcmVf c2VydmVycyBtdXN0IGJlIGdyZWF0ZXIgb3IgZXF1YWwgdGhhbiBtaW5fc3BhcmVfc2VydmVycyIs IHdwLT5jb25maWctPm5hbWUpOworCQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19BTEVSVCwgIltw b29sICVzXSBtYXhfc3BhcmVfc2VydmVycyglZCkgbXVzdCBub3QgYmUgbGVzcyB0aGFuIG1pbl9z cGFyZV9zZXJ2ZXJzKCVkKSIsIHdwLT5jb25maWctPm5hbWUsIHBtLT5keW5hbWljLm1heF9zcGFy ZV9zZXJ2ZXJzLCBwbS0+ZHluYW1pYy5taW5fc3BhcmVfc2VydmVycyk7CiAJCQkJcmV0dXJuKC0x KTsKIAkJCX0KIAogCQkJaWYgKHBtLT5keW5hbWljLnN0YXJ0X3NlcnZlcnMgPD0gMCkgewogCQkJ CXBtLT5keW5hbWljLnN0YXJ0X3NlcnZlcnMgPSBwbS0+ZHluYW1pYy5taW5fc3BhcmVfc2VydmVy cyArICgocG0tPmR5bmFtaWMubWF4X3NwYXJlX3NlcnZlcnMgLSBwbS0+ZHluYW1pYy5taW5fc3Bh cmVfc2VydmVycykgLyAyKTsKLQkJCQl6bG9nKFpMT0dfU1RVRkYsIFpMT0dfTk9USUNFLCAicG9v bCAlczogc3RhcnRfc2VydmVycyBoYXMgYmVlbiBzZXQgdG8gJWQiLCB3cC0+Y29uZmlnLT5uYW1l LCBwbS0+ZHluYW1pYy5zdGFydF9zZXJ2ZXJzKTsKKwkJCQl6bG9nKFpMT0dfU1RVRkYsIFpMT0df Tk9USUNFLCAiW3Bvb2wgJXNdIHN0YXJ0X3NlcnZlcnMgaGFzIGJlZW4gc2V0IHRvICVkIiwgd3At PmNvbmZpZy0+bmFtZSwgcG0tPmR5bmFtaWMuc3RhcnRfc2VydmVycyk7CiAJCQl9IGVsc2UgaWYg KHBtLT5keW5hbWljLnN0YXJ0X3NlcnZlcnMgPCBwbS0+ZHluYW1pYy5taW5fc3BhcmVfc2VydmVy cyB8fCBwbS0+ZHluYW1pYy5zdGFydF9zZXJ2ZXJzID4gcG0tPmR5bmFtaWMubWF4X3NwYXJlX3Nl cnZlcnMpIHsKLQkJCQl6bG9nKFpMT0dfU1RVRkYsIFpMT0dfQUxFUlQsICJwb29sICVzOiBzdGFy dF9zZXJ2ZXJzIG11c3Qgbm90IGJlIGxlc3MgdGhhbiBtaW5fc3BhcmVfc2VydmVycyBhbmQgbm90 IGdyZWF0ZXJzIHRoYW4gbWF4X3NwYXJlX3NlcnZlcnMiLCB3cC0+Y29uZmlnLT5uYW1lKTsKKwkJ CQl6bG9nKFpMT0dfU1RVRkYsIFpMT0dfQUxFUlQsICJbcG9vbCAlc10gc3RhcnRfc2VydmVycygl ZCkgbXVzdCBub3QgYmUgbGVzcyB0aGFuIG1pbl9zcGFyZV9zZXJ2ZXJzKCVkKSBhbmQgbm90IGdy ZWF0ZXIgdGhhbiBtYXhfc3BhcmVfc2VydmVycyglZCkiLCB3cC0+Y29uZmlnLT5uYW1lLCBwbS0+ ZHluYW1pYy5zdGFydF9zZXJ2ZXJzLCBwbS0+ZHluYW1pYy5taW5fc3BhcmVfc2VydmVycywgcG0t PmR5bmFtaWMubWF4X3NwYXJlX3NlcnZlcnMpOwogCQkJCXJldHVybigtMSk7CiAJCQl9CiAJCX0K QEAgLTQzNSw3ICs0MzUsNyBAQAogCQlpZiAod3AtPmNvbmZpZy0+cmVxdWVzdF9zbG93bG9nX3Rp bWVvdXQpIHsKICNpZiBIQVZFX0ZQTV9UUkFDRQogCQkJaWYgKCEgKHdwLT5jb25maWctPnNsb3ds b2cgJiYgKndwLT5jb25maWctPnNsb3dsb2cpKSB7Ci0JCQkJemxvZyhaTE9HX1NUVUZGLCBaTE9H X0VSUk9SLCAicG9vbCAlczogJ3Nsb3dsb2cnIG11c3QgYmUgc3BlY2lmaWVkIGZvciB1c2Ugd2l0 aCAncmVxdWVzdF9zbG93bG9nX3RpbWVvdXQnIiwKKwkJCQl6bG9nKFpMT0dfU1RVRkYsIFpMT0df RVJST1IsICJbcG9vbCAlc10gJ3Nsb3dsb2cnIG11c3QgYmUgc3BlY2lmaWVkIGZvciB1c2Ugd2l0 aCAncmVxdWVzdF9zbG93bG9nX3RpbWVvdXQnIiwKIAkJCQkJd3AtPmNvbmZpZy0+bmFtZSk7CiAJ CQkJcmV0dXJuIC0xOwogCQkJfQpAQCAtNDQzLDcgKzQ0Myw3IEBACiAJCQlzdGF0aWMgaW50IHdh cm5lZCA9IDA7CiAKIAkJCWlmICghd2FybmVkKSB7Ci0JCQkJemxvZyhaTE9HX1NUVUZGLCBaTE9H X1dBUk5JTkcsICJwb29sICVzOiAncmVxdWVzdF9zbG93bG9nX3RpbWVvdXQnIGlzIG5vdCBzdXBw b3J0ZWQgb24geW91ciBzeXN0ZW0iLAorCQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19XQVJOSU5H LCAiW3Bvb2wgJXNdICdyZXF1ZXN0X3Nsb3dsb2dfdGltZW91dCcgaXMgbm90IHN1cHBvcnRlZCBv biB5b3VyIHN5c3RlbSIsCiAJCQkJCXdwLT5jb25maWctPm5hbWUpOwogCQkJCXdhcm5lZCA9IDE7 CiAJCQl9CkluZGV4OiBzYXBpL2ZwbS9mcG0vZnBtX2V2ZW50cy5jCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHNh cGkvZnBtL2ZwbS9mcG1fZXZlbnRzLmMJKHLpdmlzaW9uIDI5MjEzOCkKKysrIHNhcGkvZnBtL2Zw bS9mcG1fZXZlbnRzLmMJKGNvcGllIGRlIHRyYXZhaWwpCkBAIC00NSwyOSArNDUsMzUgQEAKIAog CQlzd2l0Y2ggKGMpIHsKIAkJCWNhc2UgJ0MnIDogICAgICAgICAgICAgICAgICAvKiBTSUdDSExE ICovCi0JCQkJemxvZyhaTE9HX1NUVUZGLCBaTE9HX05PVElDRSwgInJlY2VpdmVkIFNJR0NITEQi KTsKKwkJCQl6bG9nKFpMT0dfU1RVRkYsIFpMT0dfREVCVUcsICJyZWNlaXZlZCBTSUdDSExEIik7 CiAJCQkJZnBtX2NoaWxkcmVuX2J1cnkoKTsKIAkJCQlicmVhazsKIAkJCWNhc2UgJ0knIDogICAg ICAgICAgICAgICAgICAvKiBTSUdJTlQgICovCi0JCQkJemxvZyhaTE9HX1NUVUZGLCBaTE9HX05P VElDRSwgInJlY2VpdmVkIFNJR0lOVCIpOworCQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19ERUJV RywgInJlY2VpdmVkIFNJR0lOVCIpOworCQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19OT1RJQ0Us ICJUZXJtaW5hdGluZyAuLi4iKTsKIAkJCQlmcG1fcGN0bChGUE1fUENUTF9TVEFURV9URVJNSU5B VElORywgRlBNX1BDVExfQUNUSU9OX1NFVCk7CiAJCQkJYnJlYWs7CiAJCQljYXNlICdUJyA6ICAg ICAgICAgICAgICAgICAgLyogU0lHVEVSTSAqLwotCQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19O T1RJQ0UsICJyZWNlaXZlZCBTSUdURVJNIik7CisJCQkJemxvZyhaTE9HX1NUVUZGLCBaTE9HX0RF QlVHLCAicmVjZWl2ZWQgU0lHVEVSTSIpOworCQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19OT1RJ Q0UsICJUZXJtaW5hdGluZyAuLi4iKTsKIAkJCQlmcG1fcGN0bChGUE1fUENUTF9TVEFURV9URVJN SU5BVElORywgRlBNX1BDVExfQUNUSU9OX1NFVCk7CiAJCQkJYnJlYWs7CiAJCQljYXNlICdRJyA6 ICAgICAgICAgICAgICAgICAgLyogU0lHUVVJVCAqLwotCQkJCXpsb2coWkxPR19TVFVGRiwgWkxP R19OT1RJQ0UsICJyZWNlaXZlZCBTSUdRVUlUIik7CisJCQkJemxvZyhaTE9HX1NUVUZGLCBaTE9H X0RFQlVHLCAicmVjZWl2ZWQgU0lHUVVJVCIpOworCQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19O T1RJQ0UsICJGaW5pc2hpbmcgLi4uIik7CiAJCQkJZnBtX3BjdGwoRlBNX1BDVExfU1RBVEVfRklO SVNISU5HLCBGUE1fUENUTF9BQ1RJT05fU0VUKTsKIAkJCQlicmVhazsKIAkJCWNhc2UgJzEnIDog ICAgICAgICAgICAgICAgICAvKiBTSUdVU1IxICovCi0JCQkJemxvZyhaTE9HX1NUVUZGLCBaTE9H X05PVElDRSwgInJlY2VpdmVkIFNJR1VTUjEiKTsKKwkJCQl6bG9nKFpMT0dfU1RVRkYsIFpMT0df REVCVUcsICJyZWNlaXZlZCBTSUdVU1IxIik7CiAJCQkJaWYgKDAgPT0gZnBtX3N0ZGlvX29wZW5f ZXJyb3JfbG9nKDEpKSB7CiAJCQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19OT1RJQ0UsICJsb2cg ZmlsZSByZS1vcGVuZWQiKTsKKwkJCQl9IGVsc2UgeworCQkJCQl6bG9nKFpMT0dfU1RVRkYsIFpM T0dfRVJST1IsICJ1bmFibGUgdG8gcmUtb3BlbmVkIGxvZyBmaWxlIik7CiAJCQkJfQogCQkJCWJy ZWFrOwogCQkJY2FzZSAnMicgOiAgICAgICAgICAgICAgICAgIC8qIFNJR1VTUjIgKi8KLQkJCQl6 bG9nKFpMT0dfU1RVRkYsIFpMT0dfTk9USUNFLCAicmVjZWl2ZWQgU0lHVVNSMiIpOworCQkJCXps b2coWkxPR19TVFVGRiwgWkxPR19ERUJVRywgInJlY2VpdmVkIFNJR1VTUjIiKTsKKwkJCQl6bG9n KFpMT0dfU1RVRkYsIFpMT0dfTk9USUNFLCAiUmVsb2FkaW5nIGluIHByb2dyZXNzIC4uLiIpOwog CQkJCWZwbV9wY3RsKEZQTV9QQ1RMX1NUQVRFX1JFTE9BRElORywgRlBNX1BDVExfQUNUSU9OX1NF VCk7CiAJCQkJYnJlYWs7CiAJCX0KQEAgLTEwMSw3ICsxMDcsNyBAQAogCWV2ZW50X2FkZCgmc2ln bmFsX2ZkX2V2ZW50LCAwKTsKIAlmcG1fcGN0bF9oZWFydGJlYXQoLTEsIDAsIDApOwogCWZwbV9w Y3RsX3BlcmZvcm1faWRsZV9zZXJ2ZXJfbWFpbnRlbmFuY2VfaGVhcnRiZWF0KC0xLCAwLCAwKTsK LQl6bG9nKFpMT0dfU1RVRkYsIFpMT0dfTk9USUNFLCAibGliZXZlbnQ6IGVudGVyaW5nIG1haW4g bG9vcCIpOworCXpsb2coWkxPR19TVFVGRiwgWkxPR19OT1RJQ0UsICJyZWFkeSB0byBoYW5kbGUg Y29ubmVjdGlvbnMiKTsKIAlldmVudF9sb29wKDApOwogCXJldHVybiAwOwogfQpJbmRleDogc2Fw aS9mcG0vZnBtL2ZwbV9yZXF1ZXN0LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc2FwaS9mcG0vZnBtL2ZwbV9y ZXF1ZXN0LmMJKHLpdmlzaW9uIDI5MjEzOCkKKysrIHNhcGkvZnBtL2ZwbS9mcG1fcmVxdWVzdC5j CShjb3BpZSBkZSB0cmF2YWlsKQpAQCAtMTMyLDggKzEzMiw4IEBACiAKIAkJCWZwbV90cmFjZV9z aWduYWwoY2hpbGQtPnBpZCk7CiAKLQkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19XQVJOSU5HLCAi Y2hpbGQgJWQsIHNjcmlwdCAnJXMnIChwb29sICVzKSBleGVjdXRpbmcgdG9vIHNsb3cgKCVkLiUw NmQgc2VjKSwgbG9nZ2luZyIsCi0JCQkJKGludCkgY2hpbGQtPnBpZCwgcHVyaWZpZWRfc2NyaXB0 X2ZpbGVuYW1lLCBjaGlsZC0+d3AtPmNvbmZpZy0+bmFtZSwgKGludCkgdHYudHZfc2VjLCAoaW50 KSB0di50dl91c2VjKTsKKwkJCXpsb2coWkxPR19TVFVGRiwgWkxPR19XQVJOSU5HLCAiW3Bvb2wg JXNdIGNoaWxkICVkLCBzY3JpcHQgJyVzJyBleGVjdXRpbmcgdG9vIHNsb3cgKCVkLiUwNmQgc2Vj KSwgbG9nZ2luZyIsCisJCQkJY2hpbGQtPndwLT5jb25maWctPm5hbWUsIChpbnQpIGNoaWxkLT5w aWQsIHB1cmlmaWVkX3NjcmlwdF9maWxlbmFtZSwgKGludCkgdHYudHZfc2VjLCAoaW50KSB0di50 dl91c2VjKTsKIAkJfQogCQllbHNlCiAjZW5kaWYKQEAgLTE0MSw4ICsxNDEsOCBAQAogCQkJc3Ry X3B1cmlmeV9maWxlbmFtZShwdXJpZmllZF9zY3JpcHRfZmlsZW5hbWUsIHNsb3RfYy5zY3JpcHRf ZmlsZW5hbWUsIHNpemVvZihzbG90X2Muc2NyaXB0X2ZpbGVuYW1lKSk7CiAJCQlmcG1fcGN0bF9r aWxsKGNoaWxkLT5waWQsIEZQTV9QQ1RMX1RFUk0pOwogCi0JCQl6bG9nKFpMT0dfU1RVRkYsIFpM T0dfV0FSTklORywgImNoaWxkICVkLCBzY3JpcHQgJyVzJyAocG9vbCAlcykgZXhlY3V0aW9uIHRp bWVkIG91dCAoJWQuJTA2ZCBzZWMpLCB0ZXJtaW5hdGluZyIsCi0JCQkJKGludCkgY2hpbGQtPnBp ZCwgcHVyaWZpZWRfc2NyaXB0X2ZpbGVuYW1lLCBjaGlsZC0+d3AtPmNvbmZpZy0+bmFtZSwgKGlu dCkgdHYudHZfc2VjLCAoaW50KSB0di50dl91c2VjKTsKKwkJCXpsb2coWkxPR19TVFVGRiwgWkxP R19XQVJOSU5HLCAiW3Bvb2wgJXNdIGNoaWxkICVkLCBzY3JpcHQgJyVzJyBleGVjdXRpb24gdGlt ZWQgb3V0ICglZC4lMDZkIHNlYyksIHRlcm1pbmF0aW5nIiwKKwkJCQljaGlsZC0+d3AtPmNvbmZp Zy0+bmFtZSwgKGludCkgY2hpbGQtPnBpZCwgcHVyaWZpZWRfc2NyaXB0X2ZpbGVuYW1lLCAoaW50 KSB0di50dl9zZWMsIChpbnQpIHR2LnR2X3VzZWMpOwogCQl9CiAJfQogfQpJbmRleDogc2FwaS9m cG0vZnBtL2ZwbV9jaGlsZHJlbi5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHNhcGkvZnBtL2ZwbS9mcG1fY2hp bGRyZW4uYwkocul2aXNpb24gMjkyMTM4KQorKysgc2FwaS9mcG0vZnBtL2ZwbV9jaGlsZHJlbi5j CShjb3BpZSBkZSB0cmF2YWlsKQpAQCAtMTUwLDcgKzE1MCw3IEBACiAJCTAgPiBmcG1fZW52X2lu aXRfY2hpbGQod3ApIHx8CiAJCTAgPiBmcG1fcGhwX2luaXRfY2hpbGQod3ApKSB7CiAKLQkJemxv ZyhaTE9HX1NUVUZGLCBaTE9HX0VSUk9SLCAiY2hpbGQgZmFpbGVkIHRvIGluaXRpYWxpemUgKHBv b2wgJXMpIiwgd3AtPmNvbmZpZy0+bmFtZSk7CisJCXpsb2coWkxPR19TVFVGRiwgWkxPR19FUlJP UiwgIltwb29sICVzXSBjaGlsZCBmYWlsZWQgdG8gaW5pdGlhbGl6ZSIsIHdwLT5jb25maWctPm5h bWUpOwogCQlleGl0KDI1NSk7CiAJfQogfQpAQCAtMjQxLDkgKzI0MSw5IEBACiAJCQl0aW1lcnN1 YigmdHYxLCAmY2hpbGQtPnN0YXJ0ZWQsICZ0djIpOwogCiAJCQlpZiAocmVzdGFydF9jaGlsZCkg ewotCQkJCXpsb2coWkxPR19TVFVGRiwgc2V2ZXJpdHksICJjaGlsZCAlZCAocG9vbCAlcykgZXhp dGVkICVzIGFmdGVyICVsZC4lMDZkIHNlY29uZHMgZnJvbSBzdGFydCIsIChpbnQpIHBpZCwgY2hp bGQtPndwLT5jb25maWctPm5hbWUsIGJ1ZiwgdHYyLnR2X3NlYywgKGludCkgdHYyLnR2X3VzZWMp OworCQkJCXpsb2coWkxPR19TVFVGRiwgc2V2ZXJpdHksICJbcG9vbCAlc10gY2hpbGQgJWQgZXhp dGVkICVzIGFmdGVyICVsZC4lMDZkIHNlY29uZHMgZnJvbSBzdGFydCIsIGNoaWxkLT53cC0+Y29u ZmlnLT5uYW1lLCAoaW50KSBwaWQsIGJ1ZiwgdHYyLnR2X3NlYywgKGludCkgdHYyLnR2X3VzZWMp OwogCQkJfSBlbHNlIHsKLQkJCQl6bG9nKFpMT0dfU1RVRkYsIHNldmVyaXR5LCAiY2hpbGQgJWQg KHBvb2wgJXMpIGhhcyBiZWVuIGtpbGxlZCBieSB0aGUgcHJvY2VzcyBtYW5hZ21lbnQgYWZ0ZXIg JWxkLiUwNmQgc2Vjb25kcyBmcm9tIHN0YXJ0IiwgKGludCkgcGlkLCBjaGlsZC0+d3AtPmNvbmZp Zy0+bmFtZSwgdHYyLnR2X3NlYywgKGludCkgdHYyLnR2X3VzZWMpOworCQkJCXpsb2coWkxPR19T VFVGRiwgWkxPR19ERUJVRywgIltwb29sICVzXSBjaGlsZCAlZCBoYXMgYmVlbiBraWxsZWQgYnkg dGhlIHByb2Nlc3MgbWFuYWdtZW50IGFmdGVyICVsZC4lMDZkIHNlY29uZHMgZnJvbSBzdGFydCIs IGNoaWxkLT53cC0+Y29uZmlnLT5uYW1lLCAoaW50KSBwaWQsIHR2Mi50dl9zZWMsIChpbnQpIHR2 Mi50dl91c2VjKTsKIAkJCX0KIAogCQkJZnBtX2NoaWxkX2Nsb3NlKGNoaWxkLCAxIC8qIGluIGV2 ZW50X2xvb3AgKi8pOwpAQCAtMjc3LDcgKzI3Nyw3IEBACiAJCQl9CiAKIAkJCWlmIChyZXN0YXJ0 X2NoaWxkKSB7Ci0JCQkJZnBtX2NoaWxkcmVuX21ha2Uod3AsIDEgLyogaW4gZXZlbnQgbG9vcCAq LywgMSk7CisJCQkJZnBtX2NoaWxkcmVuX21ha2Uod3AsIDEgLyogaW4gZXZlbnQgbG9vcCAqLywg MSwgMCk7CiAKIAkJCQlpZiAoZnBtX2dsb2JhbHMuaXNfY2hpbGQpIHsKIAkJCQkJYnJlYWs7CkBA IC0yOTcsNyArMjk3LDcgQEAKIAljID0gZnBtX2NoaWxkX2FsbG9jKCk7CiAKIAlpZiAoIWMpIHsK LQkJemxvZyhaTE9HX1NUVUZGLCBaTE9HX0VSUk9SLCAibWFsbG9jIGZhaWxlZCAocG9vbCAlcyki LCB3cC0+Y29uZmlnLT5uYW1lKTsKKwkJemxvZyhaTE9HX1NUVUZGLCBaTE9HX0VSUk9SLCAiW3Bv b2wgJXNdIG1hbGxvYyBmYWlsZWQiLCB3cC0+Y29uZmlnLT5uYW1lKTsKIAkJcmV0dXJuIDA7CiAJ fQogCkBAIC0zNDMsNyArMzQzLDcgQEAKIH0KIC8qIH19fSAqLwogCi1pbnQgZnBtX2NoaWxkcmVu X21ha2Uoc3RydWN0IGZwbV93b3JrZXJfcG9vbF9zICp3cCwgaW50IGluX2V2ZW50X2xvb3AsIGlu dCBuYl90b19zcGF3bikgLyoge3t7ICovCitpbnQgZnBtX2NoaWxkcmVuX21ha2Uoc3RydWN0IGZw bV93b3JrZXJfcG9vbF9zICp3cCwgaW50IGluX2V2ZW50X2xvb3AsIGludCBuYl90b19zcGF3biwg Y2hhciBub3JtYWxfc3RhcnQpIC8qIHt7eyAqLwogewogCWludCBlbm91Z2ggPSAwOwogCXBpZF90 IHBpZDsKQEAgLTM1MSw3ICszNTEsNyBAQAogCWludCBtYXg7CiAKIAlpZiAod3AtPmNvbmZpZy0+ cG0tPnN0eWxlID09IFBNX1NUWUxFX0RZTkFNSUMpIHsKLQkJaWYgKCFpbl9ldmVudF9sb29wKSB7 IC8qIHN0YXRpbmcgKi8KKwkJaWYgKCFpbl9ldmVudF9sb29wKSB7IC8qIHN0YXJ0aW5nICovCiAJ CQltYXggPSB3cC0+Y29uZmlnLT5wbS0+ZHluYW1pYy5zdGFydF9zZXJ2ZXJzOwogCQl9IGVsc2Ug ewogCQkJbWF4ID0gd3AtPnJ1bm5pbmdfY2hpbGRyZW4gKyBuYl90b19zcGF3bjsKQEAgLTM5NCw3 ICszOTQsNyBAQAogCQkJCWZwbV9jbG9ja19nZXQoJmNoaWxkLT5zdGFydGVkKTsKIAkJCQlmcG1f cGFyZW50X3Jlc291cmNlc191c2UoY2hpbGQpOwogCi0JCQkJemxvZyhaTE9HX1NUVUZGLCBaTE9H X05PVElDRSwgImNoaWxkICVkIChwb29sICVzKSBzdGFydGVkIiwgKGludCkgcGlkLCB3cC0+Y29u ZmlnLT5uYW1lKTsKKwkJCQl6bG9nKFpMT0dfU1RVRkYsIG5vcm1hbF9zdGFydCA/IFpMT0dfREVC VUcgOiBaTE9HX05PVElDRSwgIltwb29sICVzXSBjaGlsZCAlZCBzdGFydGVkIiwgd3AtPmNvbmZp Zy0+bmFtZSwgKGludCkgcGlkKTsKIAkJfQogCiAJfQpAQCAtNDA1LDcgKzQwNSw3IEBACiAKIGlu dCBmcG1fY2hpbGRyZW5fY3JlYXRlX2luaXRpYWwoc3RydWN0IGZwbV93b3JrZXJfcG9vbF9zICp3 cCkgLyoge3t7ICovCiB7Ci0JcmV0dXJuIGZwbV9jaGlsZHJlbl9tYWtlKHdwLCAwIC8qIG5vdCBp biBldmVudCBsb29wIHlldCAqLywgMCk7CisJcmV0dXJuIGZwbV9jaGlsZHJlbl9tYWtlKHdwLCAw IC8qIG5vdCBpbiBldmVudCBsb29wIHlldCAqLywgMCwgMSk7CiB9CiAvKiB9fX0gKi8KIAo= --0016e644cd9656775b047ab5f4fd--