From kde-core-devel Thu Sep 14 17:26:54 2000 From: Geert Jansen Date: Thu, 14 Sep 2000 17:26:54 +0000 To: kde-core-devel Subject: kdesu/libkdesu patches X-MARC-Message: https://marc.info/?l=kde-core-devel&m=96895233530252 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--------------Boundary-00=_UG0W28SNN9AWD19N39JP" --------------Boundary-00=_UG0W28SNN9AWD19N39JP Content-Type: text/plain Content-Transfer-Encoding: 8bit Hi! The attached patches fix bug #8850, it makes kdesu work when you don't need to enter a password. It makes some return values a little more consistent and makes kdessh work again. Please review. Greetings, Geert --------------Boundary-00=_UG0W28SNN9AWD19N39JP Content-Type: text/x-c; name="kdesu-diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kdesu-diff" SW5kZXg6IGtkZXN1LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9rZGUva2RlYmFzZS9r ZGVzdS9rZGVzdS9rZGVzdS5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjAKZGlmZiAtdSAt cjEuMjAga2Rlc3UuY3BwCi0tLSBrZGVzdS5jcHAJMjAwMC8wOC8zMSAwMjo0MDoxOQkxLjIwCisr KyBrZGVzdS5jcHAJMjAwMC8wOS8xNCAxNzowNTozMgpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1 ZGUgPGtsb2NhbGUuaD4KICNpbmNsdWRlIDxrYWJvdXRkYXRhLmg+CiAjaW5jbHVkZSA8a2NtZGxp bmVhcmdzLmg+CisjaW5jbHVkZSA8a21lc3NhZ2Vib3guaD4KIAogI2luY2x1ZGUgPGtkZXN1L2Rl ZmF1bHRzLmg+CiAjaW5jbHVkZSA8a2Rlc3Uvc3UuaD4KQEAgLTIxOSwyNSArMjIwLDQ1IEBACiAg ICAgY29uZmlnLT5zZXRHcm91cCgiUGFzc3dvcmRzIik7CiAgICAgaW50IHRpbWVvdXQgPSBjb25m aWctPnJlYWROdW1FbnRyeSgiVGltZW91dCIsIGRlZlRpbWVvdXQpOwogCi0gICAgIC8vIFN0YXJ0 IHRoZSBkaWFsb2cKLSAgICBLREVzdURpYWxvZyAqZGxnID0gbmV3IEtERXN1RGlhbG9nKHVzZXIs IGF1dGhfdXNlciwga2VlcCAmJiAhdGVybWluYWwpOwotICAgIGRsZy0+YWRkTGluZShpMThuKCJD b21tYW5kOiIpLCBjb21tYW5kKTsKLSAgICBpZiAoKHByaW9yaXR5ICE9IDUwKSB8fCAoc2NoZWR1 bGVyICE9IFN1UHJvY2Vzczo6U2NoZWROb3JtYWwpKSAKLSAgICB7Ci0JUVN0cmluZyBwcmlvOwot CWlmIChzY2hlZHVsZXIgPT0gU3VQcm9jZXNzOjpTY2hlZFJlYWx0aW1lKQotCSAgICBwcmlvICs9 IGkxOG4oInJlYWx0aW1lOiAiKTsKLQlwcmlvICs9IFFTdHJpbmcoIiUxLzEwMCIpLmFyZyhwcmlv cml0eSk7Ci0JZGxnLT5hZGRMaW5lKGkxOG4oIlByaW9yaXR5OiIpLCBwcmlvKTsKLSAgICB9Ci0g ICAgaW50IHJldCA9IGRsZy0+ZXhlYygpOwotICAgIGlmIChyZXQgPT0gS0RFc3VEaWFsb2c6OlJl amVjdGVkKQotCWV4aXQoMCk7Ci0gICAgaWYgKHJldCA9PSBLREVzdURpYWxvZzo6QXNVc2VyKQot CWNoYW5nZV91aWQgPSBmYWxzZTsKLSAgICBRQ1N0cmluZyBwYXNzd29yZCA9IGRsZy0+cGFzc3dv cmQoKTsKLSAgICBpbnQgayA9IGRsZy0+a2VlcCgpOwotICAgIGRlbGV0ZSBkbGc7CisgICAgLy8g Q2hlY2sgaWYgd2UgbmVlZCBhIHBhc3N3b3JkCisgICAgU3VQcm9jZXNzIHByb2M7CisgICAgcHJv Yy5zZXRVc2VyKGF1dGhfdXNlcik7CisgICAgaW50IG5lZWRwdyA9IHByb2MuY2hlY2tOZWVkUGFz c3dvcmQoKTsKKyAgICBpZiAobmVlZHB3IDwgMCkKKyAgICB7CisJUVN0cmluZyBlcnIgPSBpMThu KCJTdSByZXR1cm5lZCB3aXRoIGFuIGVycm9yIVxuIik7CisJS01lc3NhZ2VCb3g6OmVycm9yKDBM LCBlcnIpOworCWV4aXQoMSk7CisgICAgfQorICAgIGlmIChuZWVkcHcgPT0gMCkKKyAgICB7CisJ a2VlcCA9IDA7CisJa2REZWJ1ZygpIDw8ICJEb24ndCBuZWVkIHBhc3N3b3JkISFcbiI7CisgICAg fQorCisgICAgLy8gU3RhcnQgdGhlIGRpYWxvZworICAgIFFDU3RyaW5nIHBhc3N3b3JkOworICAg IGlmIChuZWVkcHcpCisgICAgeworCUtERXN1RGlhbG9nICpkbGcgPSBuZXcgS0RFc3VEaWFsb2co dXNlciwgYXV0aF91c2VyLCBrZWVwICYmICF0ZXJtaW5hbCk7CisJZGxnLT5hZGRMaW5lKGkxOG4o IkNvbW1hbmQ6IiksIGNvbW1hbmQpOworCWlmICgocHJpb3JpdHkgIT0gNTApIHx8IChzY2hlZHVs ZXIgIT0gU3VQcm9jZXNzOjpTY2hlZE5vcm1hbCkpIAorCXsKKwkgICAgUVN0cmluZyBwcmlvOwor CSAgICBpZiAoc2NoZWR1bGVyID09IFN1UHJvY2Vzczo6U2NoZWRSZWFsdGltZSkKKwkJcHJpbyAr PSBpMThuKCJyZWFsdGltZTogIik7CisJICAgIHByaW8gKz0gUVN0cmluZygiJTEvMTAwIikuYXJn KHByaW9yaXR5KTsKKwkgICAgZGxnLT5hZGRMaW5lKGkxOG4oIlByaW9yaXR5OiIpLCBwcmlvKTsK Kwl9CisJaW50IHJldCA9IGRsZy0+ZXhlYygpOworCWlmIChyZXQgPT0gS0RFc3VEaWFsb2c6OlJl amVjdGVkKQorCSAgICBleGl0KDApOworCWlmIChyZXQgPT0gS0RFc3VEaWFsb2c6OkFzVXNlcikK KwkgICAgY2hhbmdlX3VpZCA9IGZhbHNlOworCXBhc3N3b3JkID0gZGxnLT5wYXNzd29yZCgpOwor CWtlZXAgPSBkbGctPmtlZXAoKTsKKwlkZWxldGUgZGxnOworICAgIH0KIAogICAgIC8vIFNvbWUg ZXZlbnRzIG1heSBuZWVkIHRvIGJlIGhhbmRsZWQgKGxpa2UgYSBidXR0b24gYW5pbWF0aW9uKQog ICAgIGFwcC0+cHJvY2Vzc0V2ZW50cygpOwpAQCAtMjQ3LDcgKzI2OCw3IEBACiAKICAgICAvLyBS dW4gY29tbWFuZAogCi0gICAgaWYgKGsgJiYgaGF2ZV9kYWVtb24pIAorICAgIGlmIChrZWVwICYm IGhhdmVfZGFlbW9uKSAKICAgICB7CiAJY2xpZW50LnNldFBhc3MocGFzc3dvcmQsIHRpbWVvdXQp OwogCWNsaWVudC5zZXRQcmlvcml0eShwcmlvcml0eSk7CkluZGV4OiBzdWRsZy5jcHAKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQpSQ1MgZmlsZTogL2hvbWUva2RlL2tkZWJhc2Uva2Rlc3Uva2Rlc3Uvc3VkbGcuY3BwLHYK cmV0cmlldmluZyByZXZpc2lvbiAxLjUKZGlmZiAtdSAtcjEuNSBzdWRsZy5jcHAKLS0tIHN1ZGxn LmNwcAkyMDAwLzA3LzA1IDE0OjE2OjE0CTEuNQorKysgc3VkbGcuY3BwCTIwMDAvMDkvMTQgMTc6 MDU6MzIKQEAgLTQ2LDE0ICs0NiwyMSBAQAogICAgIGludCBzdGF0dXMgPSBwcm9jLmNoZWNrSW5z dGFsbChwYXNzd29yZCk7CiAgICAgc3dpdGNoIChzdGF0dXMpCiAgICAgeworICAgIGNhc2UgLTE6 CisJS01lc3NhZ2VCb3g6OnNvcnJ5KHRoaXMsIGkxOG4oIkNvbnZlcnNhdGlvbiB3aXRoIHN1IGZh aWxlZC4iKSk7CisJZG9uZShSZWplY3RlZCk7CisJcmV0dXJuIGZhbHNlOworCiAgICAgY2FzZSAw OgogCXJldHVybiB0cnVlOworCiAgICAgY2FzZSBTdVByb2Nlc3M6OlN1Tm90Rm91bmQ6CiAgICAg ICAgIEtNZXNzYWdlQm94Ojpzb3JyeSh0aGlzLCAKIAkJaTE4bigiVGhlIHByb2dyYW0gYHN1JyBp cyBub3QgZm91bmQhXG5cbiIKIAkJICAgICAiTWFrZSBzdXJlIHlvdXIgUEFUSCBpcyBzZXQgY29y cmVjdGx5LiIpKTsKIAlkb25lKFJlamVjdGVkKTsKIAlyZXR1cm4gZmFsc2U7CisKICAgICBjYXNl IFN1UHJvY2Vzczo6U3VOb3RBbGxvd2VkOgogICAgICAgICBLTWVzc2FnZUJveDo6c29ycnkodGhp cywgCiAJCWkxOG4oIllvdSBhcmUgbm90IGFsbG93ZWQgdG8gdXNlIGBzdSchXG5cbiIKQEAgLTYx LDkgKzY4LDExIEBACiAJCSAgICAgImdyb3VwIChvZnRlbjogd2hlZWwpIHRvIHVzZSB0aGlzIHBy b2dyYW0uIikpOwogCWRvbmUoUmVqZWN0ZWQpOwogCXJldHVybiBmYWxzZTsKKwogICAgIGNhc2Ug U3VQcm9jZXNzOjpTdUluY29ycmVjdFBhc3N3b3JkOgogICAgICAgICBLTWVzc2FnZUJveDo6c29y cnkodGhpcywgaTE4bigiSW5jb3JyZWN0IHBhc3N3b3JkISBQbGVhc2UgdHJ5IGFnYWluLiIpKTsK IAlyZXR1cm4gZmFsc2U7CisKICAgICBkZWZhdWx0OgogICAgICAgICBLTWVzc2FnZUJveDo6ZXJy b3IodGhpcywgaTE4bigiSW50ZXJuYWwgZXJyb3I6IElsbGVnYWwgcmV0dXJuIGZyb20gIgogCQki U3VQcm9jZXNzOjpjaGVja0luc3RhbGwoKSIpKTsK --------------Boundary-00=_UG0W28SNN9AWD19N39JP Content-Type: text/english; name="libkdesu-diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="libkdesu-diff" PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUva2RlL2tkZWxpYnMva2Rlc3UvcHJvY2Vzcy5jcHAs dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjIKZGlmZiAtdSAtcjEuMjIgcHJvY2Vzcy5jcHAKLS0t IHByb2Nlc3MuY3BwCTIwMDAvMDcvMzAgMTM6MTY6MDkJMS4yMgorKysgcHJvY2Vzcy5jcHAJMjAw MC8wOS8xNCAxNzowNDo0MApAQCAtMTU5LDEyICsxNTksMjIgQEAKICAgICByZXR1cm4gcmV0Owog fQogCisKIHZvaWQgUHR5UHJvY2Vzczo6d3JpdGVMaW5lKFFDU3RyaW5nIGxpbmUsIGJvb2wgYWRk bmwpCiB7CiAgICAgaWYgKCFsaW5lLmlzRW1wdHkoKSkKIAl3cml0ZShtX0ZkLCBsaW5lLCBsaW5l Lmxlbmd0aCgpKTsKICAgICBpZiAoYWRkbmwpCiAJd3JpdGUobV9GZCwgIlxuIiwgMSk7Cit9CisK Kwordm9pZCBQdHlQcm9jZXNzOjp1bnJlYWRMaW5lKFFDU3RyaW5nIGxpbmUsIGJvb2wgYWRkbmwp Cit7CisgICAgaWYgKGFkZG5sKQorCWxpbmUgKz0gJ1xuJzsKKyAgICBpZiAoIWxpbmUuaXNFbXB0 eSgpKQorCW1fSW5idWYucHJlcGVuZChsaW5lKTsKIH0KIAogLyoKSW5kZXg6IHByb2Nlc3MuaAo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9rZGUva2RlbGlicy9rZGVzdS9wcm9jZXNzLmgsdgpy ZXRyaWV2aW5nIHJldmlzaW9uIDEuMTgKZGlmZiAtdSAtcjEuMTggcHJvY2Vzcy5oCi0tLSBwcm9j ZXNzLmgJMjAwMC8wNy8wMiAxMTo0ODozNwkxLjE4CisrKyBwcm9jZXNzLmgJMjAwMC8wOS8xNCAx NzowNDo0MApAQCAtNjAsNiArNjAsMTMgQEAKICAgICB2b2lkIHdyaXRlTGluZShRQ1N0cmluZyBs aW5lLCBib29sIGFkZE5ld2xpbmU9dHJ1ZSk7CiAKICAgICAvKioKKyAgICAgKiBQdXQgYmFjayBh IGxpbmUgb2YgaW5wdXQuCisgICAgICogQHBhcmFtIGxpbmUgVGhlIGxpbmUgdG8gcHV0IGJhY2su CisgICAgICogQHBhcmFtIGFkZE5ld2xpbmUgQWRkcyBhICdcbicgdG8gdGhlIGxpbmUuCisgICAg ICovCisgICAgdm9pZCB1bnJlYWRMaW5lKFFDU3RyaW5nIGxpbmUsIGJvb2wgYWRkTmV3bGluZT10 cnVlKTsKKworICAgIC8qKgogICAgICAqIFNldCBleGl0IHN0cmluZy4gSWYgYSBsaW5lIG9mIHBy b2dyYW0gb3V0cHV0IG1hdGNoZXMgdGhpcywKICAgICAgKiBAcmVmICN3YWl0Rm9yQ2hpbGQoKSB3 aWxsIHRlcm1pbmF0ZSB0aGUgcHJvZ3JhbSBhbmQgcmV0dXJuLgogICAgICAqLwpJbmRleDogc3No LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9rZGUva2RlbGlicy9rZGVzdS9zc2guY3Bw LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE0CmRpZmYgLXUgLXIxLjE0IHNzaC5jcHAKLS0tIHNz aC5jcHAJMjAwMC8wNy8wNiAxMjowMzo0OQkxLjE0CisrKyBzc2guY3BwCTIwMDAvMDkvMTQgMTc6 MDQ6NDEKQEAgLTYyLDE1ICs2MiwxNiBAQAogICAgIGQtPm1fU3R1YiA9IHN0dWI7CiB9CiAKLWlu dCBTc2hQcm9jZXNzOjpjaGVja05lZWRQYXNzd29yZCgpCisKK2ludCBTc2hQcm9jZXNzOjpjaGVj a0luc3RhbGwoY29uc3QgY2hhciAqcGFzc3dvcmQpCiB7Ci0gICAgcmV0dXJuIGV4ZWMoMEwsIDIp OworICAgIHJldHVybiBleGVjKHBhc3N3b3JkLCAxKTsKIH0KIAogCi1pbnQgU3NoUHJvY2Vzczo6 Y2hlY2tJbnN0YWxsKGNvbnN0IGNoYXIgKnBhc3N3b3JkKQoraW50IFNzaFByb2Nlc3M6OmNoZWNr TmVlZFBhc3N3b3JkKCkKIHsKLSAgICByZXR1cm4gZXhlYyhwYXNzd29yZCwgMSk7CisgICAgcmV0 dXJuIGV4ZWMoMEwsIDIpOwogfQogCiAKQEAgLTgwLDE3ICs4MSw2IEBACiAJc2V0VGVybWluYWwo dHJ1ZSk7CiAKICAgICBRQ1N0cmluZ0xpc3QgYXJnczsKLSAgICBpZiAoIW1fYlhPbmx5KSAKLSAg ICB7Ci0JLy8gSW5zdGFsbCBEQ09QIGZvcndhcmQKLQlRQ1N0cmluZyBmd2QgPSBkY29wRm9yd2Fy ZCgpOwotCWlmIChmd2QuaXNFbXB0eSgpKSAKLQl7Ci0JICAgIGtkRXJyb3IoOTAwKSA8PCBrX2xp bmVpbmZvIDw8ICJDb3VsZCBub3QgZ2V0IERDT1AgZm9yd2FyZFxuIjsKLQkgICAgcmV0dXJuIC0x OwotCX0KLQlhcmdzICs9ICItUiI7IGFyZ3MgKz0gZndkOwotICAgIH0KICAgICBhcmdzICs9ICIt bCI7IGFyZ3MgKz0gbV9Vc2VyOwogICAgIGFyZ3MgKz0gIi1vIjsgYXJncyArPSAiU3RyaWN0SG9z dEtleUNoZWNraW5nIG5vIjsKICAgICBhcmdzICs9IG1fSG9zdDsgYXJncyArPSBkLT5tX1N0dWI7 CkBAIC0xMDMsMTIgKzkzLDEzIEBACiAgICAgaW50IHJldCA9IENvbnZlcnNlU3NoKHBhc3N3b3Jk LCBjaGVjayk7CiAgICAgaWYgKHJldCA8IDApCiAgICAgewotCWtkRXJyb3IoOTAwKSA8PCBrX2xp bmVpbmZvIDw8ICJDb252ZXJzYXRpb24gd2l0aCBzc2ggZmFpbGVkXG4iOworCWlmICghY2hlY2sp CisJICAgIGtkRXJyb3IoOTAwKSA8PCBrX2xpbmVpbmZvIDw8ICJDb252ZXJzYXRpb24gd2l0aCBz c2ggZmFpbGVkXG4iOwogCXJldHVybiByZXQ7CiAgICAgfQogICAgIGlmIChjaGVjayA9PSAyKQog ICAgIHsKLQlpZiAocmV0ID09IFNzaE5lZWRzUGFzc3dvcmQpCisJaWYgKHJldCA9PSAxKQogCXsK IAkgICAga2lsbChtX1BpZCwgU0lHVEVSTSk7CiAJICAgIHdhaXRGb3JDaGlsZCgpOwpAQCAtMTI2 LDE5ICsxMTcsMTcgQEAKICAgICByZXQgPSBDb252ZXJzZVN0dWIoY2hlY2spOwogICAgIGlmIChy ZXQgPCAwKQogICAgIHsKLQlrZEVycm9yKDkwMCkgPDwga19saW5laW5mbyA8PCAiQ29udmVyc3Rh dGlvbiB3aXRoIGtkZXN1X3N0dWIgZmFpbGVkXG4iOworCWlmICghY2hlY2spCisJICAgIGtkRXJy b3IoOTAwKSA8PCBrX2xpbmVpbmZvIDw8ICJDb252ZXJzdGF0aW9uIHdpdGgga2Rlc3Vfc3R1YiBm YWlsZWRcbiI7CiAJcmV0dXJuIHJldDsKLSAgICB9Ci0gICAgaWYgKHJldCA9PSBTdHViVW5rbm93 blJlcXVlc3QpCisgICAgfSBlbHNlIGlmIChyZXQgPT0gMSkKICAgICB7CiAJa2lsbChtX1BpZCwg U0lHVEVSTSk7CiAJd2FpdEZvckNoaWxkKCk7Ci0JcmV0dXJuIHJldDsKKwlyZXQgPSBTc2hJbmNv cnJlY3RQYXNzd29yZDsKICAgICB9Ci0KLSAgICBpZiAoY2hlY2spCisgICAgaWYgKGNoZWNrID09 IDEpCiAgICAgewotCS8vIEFsbCBjaGVja3MgYXJlIG9rLgogCXdhaXRGb3JDaGlsZCgpOwogCXJl dHVybiAwOwogICAgIH0KQEAgLTE1Nyw2ICsxNDYsOCBAQAogICogcmFuZG9tIG51bWJlciBiZXR3 ZWVuIDEwayBhbmQgNTBrLiBUaGlzIGlzIG5vdCBvaywgb2YgY291cnNlLCBidXQgSSBzZWUKICAq IG5vIG90aGVyIHdheS4gVGhlcmUgaXMsIGFmYWlrLCBubyBzZWN1cml0eSBpc3N1ZSBpbnZvbHZl ZCBoZXJlLiBJZiB0aGUgcG9ydCAKICAqIGhhcHBlbnMgdG8gYmUgb2NjdXBpZWQsIHNzaCB3aWxs IHJlZnVzZSB0byBzdGFydC4KKyAqCisgKiAxNC9TRVAvMjAwMDogRENPUCBmb3J3YXJkaW5nIGlz IG5vdCB1c2VkIGFueW1vcmUuCiAgKi8KIAogUUNTdHJpbmcgU3NoUHJvY2Vzczo6ZGNvcEZvcndh cmQoKQpAQCAtMjIxLDE1ICsyMTIsOCBAQAogCSAgICAvLyBDaGVjayBmb3IgImtkZXN1X3N0dWIi IGhlYWRlci4KIAkgICAgaWYgKGxpbmUgPT0gImtkZXN1X3N0dWIiKSAKIAkgICAgewotCQkvLyBU aGlzIG1ha2VzIHBhcnNpbmcgYSBsb3QgZWFzaWVyLiBOb3JtYWxseSwgCi0JCS8vIFN0dWJQcm9j ZXNzOjpDb252ZXJzZVN0dWIgd2lsbCBkbyB0aGlzLgotCQllbmFibGVMb2NhbEVjaG8oZmFsc2Up OwotCQlpZiAoY2hlY2sgPiAwKQotCQkgICAgd3JpdGUobV9GZCwgInN0b3BcbiIsIDUpOwotCQll bHNlCi0JCSAgICB3cml0ZShtX0ZkLCAib2tcbiIsIDMpOwotCQlzdGF0ZSArPSAyOwotCQlicmVh azsKKwkJdW5yZWFkTGluZShsaW5lKTsKKwkJcmV0dXJuIDA7CiAJICAgIH0KIAogCSAgICAvLyBN YXRjaCAiUGFzc3dvcmQ6ICIgd2l0aCB0aGUgcmVnZXggXlteOl0rOltcd10qJC4KSW5kZXg6IHN0 dWIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2tkZS9rZGVsaWJzL2tkZXN1L3N0dWIu Y3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjkKZGlmZiAtdSAtcjEuOSBzdHViLmNwcAotLS0g c3R1Yi5jcHAJMjAwMC8wOS8wOSAxNTowNTo0NAkxLjkKKysrIHN0dWIuY3BwCTIwMDAvMDkvMTQg MTc6MDQ6NDEKQEAgLTczLDkgKzczLDEwIEBACiAvKgogICogQ29udmVyc2F0aW9uIHdpdGgga2Rl c3Vfc3R1Yi4gVGhpcyBpcyBob3cgd2UgcGFzcyB0aGUgYXV0aGVudGljYXRpb24KICAqIHRva2Vu cyAoWDExLCBEQ09QKSBhbmQgb3RoZXIgc3R1ZmYgdG8ga2Rlc3Vfc3R1Yi4KKyAqIHJldHVybiB2 YWx1ZXM6IC0xID0gZXJyb3IsIDAgPSBvaywgMSA9IGtpbGwgbWUKICAqLwogCi1pbnQgU3R1YlBy b2Nlc3M6OkNvbnZlcnNlU3R1Yihib29sIGNoZWNrX29ubHkpCitpbnQgU3R1YlByb2Nlc3M6OkNv bnZlcnNlU3R1YihpbnQgY2hlY2spCiB7CiAgICAgUUNTdHJpbmcgbGluZSwgdG1wOwogICAgIHdo aWxlICgxKSAKQEAgLTg4LDcgKzg5LDcgQEAKIAl7CiAJICAgIC8vIFRoaXMgbWFrZXMgcGFyc2lu ZyBhIGxvdCBlYXNpZXIuCiAJICAgIGVuYWJsZUxvY2FsRWNobyhmYWxzZSk7Ci0JICAgIGlmIChj aGVja19vbmx5KSB3cml0ZUxpbmUoInN0b3AiKTsKKwkgICAgaWYgKGNoZWNrKSB3cml0ZUxpbmUo InN0b3AiKTsKIAkgICAgZWxzZSB3cml0ZUxpbmUoIm9rIik7CiAJfSBlbHNlIGlmIChsaW5lID09 ICJkaXNwbGF5IikgewogCSAgICB3cml0ZUxpbmUoZGlzcGxheSgpKTsKQEAgLTk5LDcgKzEwMCw3 IEBACiAJfSBlbHNlIGlmIChsaW5lID09ICJkY29wX2F1dGgiKSB7CiAJICAgIHdyaXRlTGluZSgi bm8iKTsKIAl9IGVsc2UgaWYgKGxpbmUgPT0gImljZV9hdXRoIikgewotCSAgICB3cml0ZUxpbmUo Y29tbWFTZXBhcmF0ZWRMaXN0KGljZUF1dGgoKSkpOworCSAgICB3cml0ZUxpbmUoIm5vIik7CiAJ fSBlbHNlIGlmIChsaW5lID09ICJjb21tYW5kIikgewogCSAgICB3cml0ZUxpbmUobV9Db21tYW5k KTsKIAl9IGVsc2UgaWYgKGxpbmUgPT0gInBhdGgiKSB7CkBAIC0xMjQsNyArMTI1LDcgQEAKIAl7 CiAJICAgIGtkV2FybmluZyg5MDApIDw8IGtfbGluZWluZm8gPDwgIlVua25vd24gcmVxdWVzdDog LS0+IiA8PCBsaW5lIAogCQkgICAgICAgICAgIDw8ICI8LS1cbiI7Ci0JICAgIHJldHVybiBTdHVi VW5rbm93blJlcXVlc3Q7CisJICAgIHJldHVybiAxOwogCX0KICAgICB9CiAKSW5kZXg6IHN0dWIu aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9rZGUva2RlbGlicy9rZGVzdS9zdHViLmgsdgpy ZXRyaWV2aW5nIHJldmlzaW9uIDEuNgpkaWZmIC11IC1yMS42IHN0dWIuaAotLS0gc3R1Yi5oCTIw MDAvMDcvMDUgMTQ6MTU6MDUJMS42CisrKyBzdHViLmgJMjAwMC8wOS8xNCAxNzowNDo0MQpAQCAt MzMsOCArMzMsNiBAQAogICAgIFN0dWJQcm9jZXNzKCk7CiAgICAgflN0dWJQcm9jZXNzKCk7CiAK LSAgICBlbnVtIEVycm9ycyB7IFN0dWJVbmtub3duUmVxdWVzdD0xIH07Ci0KICAgICAvKiogU2V0 IHRoZSBjb21tYW5kLiAqLwogICAgIHZvaWQgc2V0Q29tbWFuZChRQ1N0cmluZyBjb21tYW5kKSB7 IG1fQ29tbWFuZCA9IGNvbW1hbmQ7IH0KIApAQCAtNjgsNyArNjYsNyBAQAogcHJvdGVjdGVkOgog CiAgICAgLyoqIEV4Y2hhbmdlIGFsbCBwYXJhbWV0ZXJzIHdpdGgga2Rlc3Vfc3R1Yi4gKi8KLSAg ICBpbnQgQ29udmVyc2VTdHViKGJvb2wgY2hlY2tfb25seSk7CisgICAgaW50IENvbnZlcnNlU3R1 YihpbnQgY2hlY2spOwogCiAgICAgLyoqIE5vdGlmeSB0aGUgdGFza2JhciB0aGF0IGEgbmV3IGFw cGxpY2F0aW9uIGhhcyBiZWVuIHN0YXJ0ZWQuICovCiAgICAgdm9pZCBub3RpZnlUYXNrYmFyKFFT dHJpbmcgc3VmZml4KTsKSW5kZXg6IHN1LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9r ZGUva2RlbGlicy9rZGVzdS9zdS5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTUKZGlmZiAt dSAtcjEuMTUgc3UuY3BwCi0tLSBzdS5jcHAJMjAwMC8wNy8wNiAxMTo1NDo0NwkxLjE1CisrKyBz dS5jcHAJMjAwMC8wOS8xNCAxNzowNDo0MQpAQCAtNjAsNiArNjAsMTEgQEAKICAgICByZXR1cm4g ZXhlYyhwYXNzd29yZCwgMSk7CiB9CiAKK2ludCBTdVByb2Nlc3M6OmNoZWNrTmVlZFBhc3N3b3Jk KCkKK3sKKyAgICByZXR1cm4gZXhlYygwTCwgMik7Cit9CisKIC8qCiAgKiBFeGVjdXRlIGEgY29t bWFuZCB3aXRoIHN1KDEpLgogICovCkBAIC04MywxMiArODgsMTggQEAKICAgICB9CiAgICAgCiAg ICAgaW50IHJldCA9IENvbnZlcnNlU1UocGFzc3dvcmQpOwotICAgIGlmIChyZXQgIT0gMCkgCisg ICAgaWYgKHJldCA8IDApIAogICAgIHsKIAlpZiAoIWNoZWNrKQotCXsKIAkgICAga2RFcnJvcig5 MDApIDw8IGtfbGluZWluZm8gPDwgIkNvbnZlcnNhdGlvbiB3aXRoIHN1IGZhaWxlZFxuIjsKLQkg ICAgcmV0ID0gLTE7CisJcmV0dXJuIHJldDsKKyAgICB9IAorICAgIGlmIChjaGVjayA9PSAyKQor ICAgIHsKKwlpZiAocmV0ID09IDEpCisJeworCSAgICBraWxsKG1fUGlkLCBTSUdURVJNKTsKKwkg ICAgd2FpdEZvckNoaWxkKCk7CiAJfQogCXJldHVybiByZXQ7CiAgICAgfQpAQCAtMTAxLDIyICsx MTIsMTkgQEAKICAgICB9CiAKICAgICByZXQgPSBDb252ZXJzZVN0dWIoY2hlY2spOwotICAgIGlm IChyZXQgIT0gMCkKKyAgICBpZiAocmV0IDwgMCkKICAgICB7Ci0JaWYgKHJldCA8IDApCisJaWYg KCFjaGVjaykKIAkgICAga2RFcnJvcig5MDApIDw8IGtfbGluZWluZm8gPDwgIkNvbnZlcnN0YXRp b24gd2l0aCBrZGVzdV9zdHViIGZhaWxlZFxuIjsKLQlpZiAocmV0ID09IFN0dWJVbmtub3duUmVx dWVzdCkKLQl7Ci0JICAgIGtpbGwobV9QaWQsIFNJR1RFUk0pOwotCSAgICB3YWl0Rm9yQ2hpbGQo KTsKLQkgICAgcmV0ID0gU3VJbmNvcnJlY3RQYXNzd29yZDsKLQl9CiAJcmV0dXJuIHJldDsKKyAg ICB9IGVsc2UgaWYgKHJldCA9PSAxKQorICAgIHsKKwlraWxsKG1fUGlkLCBTSUdURVJNKTsKKwl3 YWl0Rm9yQ2hpbGQoKTsKKwlyZXQgPSBTdUluY29ycmVjdFBhc3N3b3JkOwogICAgIH0KLQotICAg IGlmIChjaGVjaykKKyAgICBpZiAoY2hlY2sgPT0gMSkKICAgICB7Ci0JLy8gQWxsIGNoZWNrcyBh cmUgb2sKIAl3YWl0Rm9yQ2hpbGQoKTsKIAlyZXR1cm4gMDsKICAgICB9CkBAIC0xMzAsNyArMTM4 LDcgQEAKIAogLyoKICAqIENvbnZlcnNhdGlvbiB3aXRoIHN1OiBmZWVkIHRoZSBwYXNzd29yZC4K LSAqIFJldHVybiB2YWx1ZXM6IC0xID0gcGFyc2UgZXJyb3IsIDAgPSBvayBvciA+MCBhbiBlcnJv ciBjb2RlLgorICogUmV0dXJuIHZhbHVlczogLTEgPSBlcnJvciwgMCA9IG9rLCAxID0ga2lsbCBt ZQogICovCiAKIGludCBTdVByb2Nlc3M6OkNvbnZlcnNlU1UoY29uc3QgY2hhciAqcGFzc3dvcmQp CkBAIC0xNDMsMTUgKzE1MSwxOCBAQAogICAgIHsKIAlsaW5lID0gcmVhZExpbmUoKTsgCiAJaWYg KGxpbmUuaXNOdWxsKCkpCi0JewotCSAgICBpZiAoc3RhdGUgPT0gMCkKLQkJcmV0dXJuIFN1Tm90 QWxsb3dlZDsKIAkgICAgcmV0dXJuIC0xOwotCX0KLQorCQogCXN3aXRjaCAoc3RhdGUpIAogCXsK IAljYXNlIDA6CisJICAgIC8vIEluIGNhc2Ugbm8gcGFzc3dvcmQgaXMgbmVlZGVkLgorCSAgICBp ZiAobGluZSA9PSAia2Rlc3Vfc3R1YiIpCisJICAgIHsKKwkJdW5yZWFkTGluZShsaW5lKTsKKwkJ cmV0dXJuIDA7CisJICAgIH0KKwogCSAgICAvLyBNYXRjaCAiUGFzc3dvcmQ6ICIgd2l0aCB0aGUg cmVnZXggXlteOl0rOltcd10qJC4KIAkgICAgZm9yIChpPTAsaj0wLGNvbG9uPTA7IGk8bGluZS5s ZW5ndGgoKTsgaSsrKSAKIAkgICAgewpAQCAtMTY1LDYgKzE3Niw4IEBACiAJICAgIH0KIAkgICAg aWYgKChjb2xvbiA9PSAxKSAmJiAobGluZVtqXSA9PSAnOicpKSAKIAkgICAgeworCQlpZiAocGFz c3dvcmQgPT0gMEwpCisJCSAgICByZXR1cm4gMTsKIAkJV2FpdFNsYXZlKCk7CiAJCXdyaXRlKG1f RmQsIHBhc3N3b3JkLCBzdHJsZW4ocGFzc3dvcmQpKTsKIAkJd3JpdGUobV9GZCwgIlxuIiwgMSk7 CkluZGV4OiBzdS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2tkZS9rZGVsaWJzL2tkZXN1 L3N1LmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuOQpkaWZmIC11IC1yMS45IHN1LmgKLS0tIHN1 LmgJMjAwMC8wNy8wNSAxNDoxNTowNQkxLjkKKysrIHN1LmgJMjAwMC8wOS8xNCAxNzowNDo0MQpA QCAtMzgsNiArMzgsMTEgQEAKICAgICAgKi8KICAgICBpbnQgY2hlY2tJbnN0YWxsKGNvbnN0IGNo YXIgKnBhc3N3b3JkKTsKIAorICAgIC8qKgorICAgICAqIENoZWNrcyBpZiBhIHBhc3N3b3JkIGlz IG5lZWRlZC4KKyAgICAgKi8KKyAgICBpbnQgY2hlY2tOZWVkUGFzc3dvcmQoKTsKKwogcHJvdGVj dGVkOgogICAgIHZpcnR1YWwgUUNTdHJpbmdMaXN0IGRjb3BTZXJ2ZXIoKTsKIAo= --------------Boundary-00=_UG0W28SNN9AWD19N39JP--