From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <4B95A780.8050300@ak.jp.nec.com> Date: Tue, 09 Mar 2010 10:42:24 +0900 From: KaiGai Kohei MIME-Version: 1.0 To: Eamon Walsh CC: selinux@tycho.nsa.gov Subject: Re: [PATCH] libselinux: selabel_*() support for database objects References: <4B050008.3010201@ak.jp.nec.com> <4B0757F5.5080902@tycho.nsa.gov> <4B07F64B.1070407@kaigai.gr.jp> <4B0DBDF2.5050601@ak.jp.nec.com> <4B14396A.9000207@tycho.nsa.gov> <4B8C7D8C.9060803@ak.jp.nec.com> <4B9584A3.1070603@tycho.nsa.gov> <4B9598F1.50309@ak.jp.nec.com> <4B95A2D2.3080101@tycho.nsa.gov> In-Reply-To: <4B95A2D2.3080101@tycho.nsa.gov> Content-Type: multipart/mixed; boundary="------------080907070009010501070701" Sender: owner-selinux@tycho.nsa.gov List-Id: selinux@tycho.nsa.gov This is a multi-part message in MIME format. --------------080907070009010501070701 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit (2010/03/09 10:22), Eamon Walsh wrote: > On 03/08/2010 07:40 PM, KaiGai Kohei wrote: >> (2010/03/09 8:13), Eamon Walsh wrote: >> >>> On 03/01/2010 09:53 PM, KaiGai Kohei wrote: >>> >>>> What is the current status of the patch? >>>> >>>> Thanks, >>>> >>>> >>> >>> Can you send me a sample sepgsql_contexts file so I can test this? >>> >>> >> The attached selabel-test.conf is an example specfile, and the selabel-test.c >> is a sample program to lookup an expected security context for the given name. >> >> $ gcc selabel-test.c -o selabel-test -lselinux \ >> -I repo/selinux/libselinux/include/ \ >> -L repo/selinux/libselinux/src/ >> $ ./selabel-test selabel-test.conf db_table postgres.pg_catalog.pg_class >> "postgres.pg_catalog.pg_class" => "system_u:object_r:sepgsql_sysobj_t:s0" >> $ ./selabel-test selabel-test.conf db_table postgres.pg_public.my_table >> "postgres.pg_public.my_table" => "system_u:object_r:sepgsql_table_t:s0" >> $ ./selabel-test selabel-test.conf db_table foovarbaz >> failed to lookup : "foovarbaz" (No such file or directory) >> >> In PostgreSQL, its namespace has the following structure: >> ..(|||...) >> >> So, the example specfile defines the following lines: >> db_table *.pg_catalog.* system_u:object_r:sepgsql_sysobj_t:s0 >> >> It informs all tables under the "pg_catalog" schema should be labeled as >> "system_u:object_r:sepgsql_sysobj_t:s0". >> >> Andy, in rubix, the specfile should be described as follows: >> db_table *.*.*.* system_u:object_r:rubix_table_t:s0 >> >> The library just does pattern matching without any assumption of database >> architecture. >> >> >> I also noticed the previous patch allows to lookup an expected security >> context for the db_tuple object class, but tuples don't have their name >> basically, so I removed it. >> And, it didn't support an upcoming db_view object class, I added it instead. >> >> Thanks, >> > > > This patch is missing the new files label_db.c and selabel_db.5. > > Also, in the previous patch, the file selabel_db.c had two instances of > trailing whitespace: lines 20 and 55. Please fix those up and re-send. > Oops, sorry for the stupid misses. The attached one is the revised patch. Thanks, -- KaiGai Kohei --------------080907070009010501070701 Content-Type: application/octect-stream; name="libselinux-selabel-sepgsql.3.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="libselinux-selabel-sepgsql.3.patch" IGxpYnNlbGludXgvaW5jbHVkZS9zZWxpbnV4L2xhYmVsLmggICAgICAgICAgICAgICB8ICAg MTEgKwogbGlic2VsaW51eC9pbmNsdWRlL3NlbGludXgvc2VsaW51eC5oICAgICAgICAgICAg IHwgICAgMSArCiBsaWJzZWxpbnV4L21hbi9tYW4zL3NlbGFiZWxfb3Blbi4zICAgICAgICAg ICAgICAgfCAgIDEwICstCiBsaWJzZWxpbnV4L21hbi9tYW4zL3NlbGludXhfYmluYXJ5X3Bv bGljeV9wYXRoLjMgfCAgICA0ICsKIGxpYnNlbGludXgvbWFuL21hbjUvc2VsYWJlbF9kYi41 ICAgICAgICAgICAgICAgICB8ICAgOTMgKysrKysrCiBsaWJzZWxpbnV4L3NyYy9maWxlX3Bh dGhfc3VmZml4ZXMuaCAgICAgICAgICAgICAgfCAgICAxICsKIGxpYnNlbGludXgvc3JjL2xh YmVsLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKy0KIGxpYnNlbGludXgv c3JjL2xhYmVsX2RiLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICAzMzQgKysrKysrKysr KysrKysrKysrKysrKwogbGlic2VsaW51eC9zcmMvbGFiZWxfaW50ZXJuYWwuaCAgICAgICAg ICAgICAgICAgIHwgICAgMiArCiBsaWJzZWxpbnV4L3NyYy9zZWxpbnV4X2NvbmZpZy5jICAg ICAgICAgICAgICAgICAgfCAgICA5ICstCiBsaWJzZWxpbnV4L3NyYy9zZWxpbnV4X2ludGVy bmFsLmggICAgICAgICAgICAgICAgfCAgICAxICsKIDExIGZpbGVzIGNoYW5nZWQsIDQ2NCBp bnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYnNlbGludXgv aW5jbHVkZS9zZWxpbnV4L2xhYmVsLmggYi9saWJzZWxpbnV4L2luY2x1ZGUvc2VsaW51eC9s YWJlbC5oCmluZGV4IDgyZjRlMTMuLjYwNTAzYmQgMTAwNjQ0Ci0tLSBhL2xpYnNlbGludXgv aW5jbHVkZS9zZWxpbnV4L2xhYmVsLmgKKysrIGIvbGlic2VsaW51eC9pbmNsdWRlL3NlbGlu dXgvbGFiZWwuaApAQCAtMjksNiArMjksOCBAQCBzdHJ1Y3Qgc2VsYWJlbF9oYW5kbGU7CiAj ZGVmaW5lIFNFTEFCRUxfQ1RYX01FRElBCTEKIC8qIHggY29udGV4dHMgKi8KICNkZWZpbmUg U0VMQUJFTF9DVFhfWAkJMgorLyogZGIgb2JqZWN0cyAqLworI2RlZmluZSBTRUxBQkVMX0NU WF9EQgkJMwogCiAvKgogICogQXZhaWxhYmxlIG9wdGlvbnMKQEAgLTExNiw2ICsxMTgsMTUg QEAgdm9pZCBzZWxhYmVsX3N0YXRzKHN0cnVjdCBzZWxhYmVsX2hhbmRsZSAqaGFuZGxlKTsK ICNkZWZpbmUgU0VMQUJFTF9YX1BPTFlQUk9QCTYKICNkZWZpbmUgU0VMQUJFTF9YX1BPTFlT RUxOCTcKIAorLyogREIgYmFja2VuZCAqLworI2RlZmluZSBTRUxBQkVMX0RCX0RBVEFCQVNF CTEKKyNkZWZpbmUgU0VMQUJFTF9EQl9TQ0hFTUEJMgorI2RlZmluZSBTRUxBQkVMX0RCX1RB QkxFCTMKKyNkZWZpbmUgU0VMQUJFTF9EQl9DT0xVTU4JNAorI2RlZmluZSBTRUxBQkVMX0RC X1NFUVVFTkNFCTUKKyNkZWZpbmUgU0VMQUJFTF9EQl9WSUVXCQk2CisjZGVmaW5lIFNFTEFC RUxfREJfUFJPQ0VEVVJFCTcKKyNkZWZpbmUgU0VMQUJFTF9EQl9CTE9CCQk4CiAKICNpZmRl ZiBfX2NwbHVzcGx1cwogfQpkaWZmIC0tZ2l0IGEvbGlic2VsaW51eC9pbmNsdWRlL3NlbGlu dXgvc2VsaW51eC5oIGIvbGlic2VsaW51eC9pbmNsdWRlL3NlbGludXgvc2VsaW51eC5oCmlu ZGV4IGNhY2IzY2IuLjgzNGExZWUgMTAwNjQ0Ci0tLSBhL2xpYnNlbGludXgvaW5jbHVkZS9z ZWxpbnV4L3NlbGludXguaAorKysgYi9saWJzZWxpbnV4L2luY2x1ZGUvc2VsaW51eC9zZWxp bnV4LmgKQEAgLTQ4Nyw2ICs0ODcsNyBAQCBleHRlcm4gY29uc3QgY2hhciAqc2VsaW51eF9t ZWRpYV9jb250ZXh0X3BhdGgodm9pZCk7CiBleHRlcm4gY29uc3QgY2hhciAqc2VsaW51eF92 aXJ0dWFsX2RvbWFpbl9jb250ZXh0X3BhdGgodm9pZCk7CiBleHRlcm4gY29uc3QgY2hhciAq c2VsaW51eF92aXJ0dWFsX2ltYWdlX2NvbnRleHRfcGF0aCh2b2lkKTsKIGV4dGVybiBjb25z dCBjaGFyICpzZWxpbnV4X3hfY29udGV4dF9wYXRoKHZvaWQpOworZXh0ZXJuIGNvbnN0IGNo YXIgKnNlbGludXhfc2VwZ3NxbF9jb250ZXh0X3BhdGgodm9pZCk7CiBleHRlcm4gY29uc3Qg Y2hhciAqc2VsaW51eF9jb250ZXh0c19wYXRoKHZvaWQpOwogZXh0ZXJuIGNvbnN0IGNoYXIg KnNlbGludXhfc2VjdXJldHR5X3R5cGVzX3BhdGgodm9pZCk7CiBleHRlcm4gY29uc3QgY2hh ciAqc2VsaW51eF9ib29sZWFuc19wYXRoKHZvaWQpOwpkaWZmIC0tZ2l0IGEvbGlic2VsaW51 eC9tYW4vbWFuMy9zZWxhYmVsX29wZW4uMyBiL2xpYnNlbGludXgvbWFuL21hbjMvc2VsYWJl bF9vcGVuLjMKaW5kZXggMWFmMmVjMC4uODY3NGUzNyAxMDA2NDQKLS0tIGEvbGlic2VsaW51 eC9tYW4vbWFuMy9zZWxhYmVsX29wZW4uMworKysgYi9saWJzZWxpbnV4L21hbi9tYW4zL3Nl bGFiZWxfb3Blbi4zCkBAIC03MiwxNSArNzIsMTkgQEAgTm90ZSB0aGF0IGFuIGludmFsaWQg Y29udGV4dCBtYXkgbm90IGJlIHRyZWF0ZWQgYXMgYW4gZXJyb3IgdW5sZXNzIGl0IGlzIGFj dHVhbGwKIC5UUAogLkIgU0VMQUJFTF9DVFhfRklMRQogRmlsZSBjb250ZXh0cyBiYWNrZW5k LCBkZXNjcmliZWQgaW4gCi0uQlIgc2VsYWJlbF9maWxlICgzKS4KKy5CUiBzZWxhYmVsX2Zp bGUgKDUpLgogLlRQCiAuQiBTRUxBQkVMX0NUWF9NRURJQQogTWVkaWEgY29udGV4dHMgYmFj a2VuZCwgZGVzY3JpYmVkIGluIAotLkJSIHNlbGFiZWxfbWVkaWEgKDMpLgorLkJSIHNlbGFi ZWxfbWVkaWEgKDUpLgogLlRQCiAuQiBTRUxBQkVMX0NUWF9YCiBYIFdpbmRvd3MgY29udGV4 dHMgYmFja2VuZCwgZGVzY3JpYmVkIGluIAotLkJSIHNlbGFiZWxfeCAoMykuCisuQlIgc2Vs YWJlbF94ICg1KS4KKy5UUAorLkIgU0VMQUJFTF9DVFhfREIKK0RhdGFiYXNlIG9iamVjdHMg Y29udGV4dHMgYmFja2VuZCwgZGVzY3JpYmVkIGluCisuQlIgc2VsYWJlbF9kYiAoNSkuCiAK IC5TSCAiUkVUVVJOIFZBTFVFIgogQSBub24tTlVMTCBoYW5kbGUgdmFsdWUgaXMgcmV0dXJu ZWQgb24gc3VjY2Vzcy4gIE9uIGVycm9yLCBOVUxMIGlzIHJldHVybmVkIGFuZApkaWZmIC0t Z2l0IGEvbGlic2VsaW51eC9tYW4vbWFuMy9zZWxpbnV4X2JpbmFyeV9wb2xpY3lfcGF0aC4z IGIvbGlic2VsaW51eC9tYW4vbWFuMy9zZWxpbnV4X2JpbmFyeV9wb2xpY3lfcGF0aC4zCmlu ZGV4IDYxOTA5NTcuLjhlYWQxYTQgMTAwNjQ0Ci0tLSBhL2xpYnNlbGludXgvbWFuL21hbjMv c2VsaW51eF9iaW5hcnlfcG9saWN5X3BhdGguMworKysgYi9saWJzZWxpbnV4L21hbi9tYW4z L3NlbGludXhfYmluYXJ5X3BvbGljeV9wYXRoLjMKQEAgLTI5LDYgKzI5LDggQEAgZXh0ZXJu IGNvbnN0IGNoYXIgKnNlbGludXhfdXNlcnNjb25mX3BhdGgodm9pZCk7CiAKIGV4dGVybiBj b25zdCBjaGFyICpzZWxpbnV4X3hfY29udGV4dF9wYXRoKHZvaWQpOwogCitleHRlcm4gY29u c3QgY2hhciAqc2VsaW51eF9zZXBnc3FsX2NvbnRleHRfcGF0aCh2b2lkKTsKKwogZXh0ZXJu IGNvbnN0IGNoYXIgKnNlbGludXhfZmlsZV9jb250ZXh0X3BhdGgodm9pZCk7CiAKIGV4dGVy biBjb25zdCBjaGFyICpzZWxpbnV4X21lZGlhX2NvbnRleHRfcGF0aCh2b2lkKTsKQEAgLTY2 LDYgKzY4LDggQEAgc2VsaW51eF91c2Vyc2NvbmZfcGF0aCgpIC0gZmlsZSBjb250YWluaW5n IG1hcHBpbmcgYmV0d2VlbiBMaW51eCBVc2VycyBhbmQgU0VMaW4KIC5zcAogc2VsaW51eF94 X2NvbnRleHRfcGF0aCgpIC0gZmlsZSBjb250YWluaW5nIGNvbmZpZ3VyYXRpb24gZm9yIFhT RUxpbnV4IGV4dGVuc2lvbgogLnNwCitzZWxpbnV4X3NlcGdzcWxfY29udGV4dF9wYXRoKCkg LSBmaWxlIGNvbnRhaW5pbmcgY29uZmlndXJhdGlvbiBmb3IgU0UtUG9zdGdyZVNRTAorLnNw CiBzZWxpbnV4X25ldGZpbHRlcl9jb250ZXh0X3BhdGggLSBkZWZhdWx0IG5ldGZpbHRlciBj b250ZXh0IAogLnNwCiBzZWxpbnV4X2ZpbGVfY29udGV4dF9wYXRoKCkgLSBkZWZhdWx0IHN5 c3RlbSBmaWxlIGNvbnRleHRzIGNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL2xpYnNlbGlu dXgvbWFuL21hbjUvc2VsYWJlbF9kYi41IGIvbGlic2VsaW51eC9tYW4vbWFuNS9zZWxhYmVs X2RiLjUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjY5OWYzOQotLS0g L2Rldi9udWxsCisrKyBiL2xpYnNlbGludXgvbWFuL21hbjUvc2VsYWJlbF9kYi41CkBAIC0w LDAgKzEsOTMgQEAKKy5cIiBIZXkgRW1hY3MhIFRoaXMgZmlsZSBpcyAtKi0gbnJvZmYgLSot IHNvdXJjZS4KKy5cIgorLlwiIEF1dGhvcjogS2FpR2FpIEtvaGVpIDxrYWlnYWlAYWsuanAu bmVjLmNvbT4gMjAwOQorLlRIICJzZWxhYmVsX2RiIiAiNSIgIjIyIE5vdiAyMDA5IiAiIiAi U0VMaW51eCBBUEkgZG9jdW1lbnRhdGlvbiIKKy5TSCAiTkFNRSIKK3NlbGFiZWxfZGIgXC0g dXNlcnNwYWNlIFNFTGludXggbGFiZWxpbmcgaW50ZXJmYWNlOiBEQiBvYmplY3RzIGNvbnRl eHRzIGJhY2tlbmQuCisuU0ggIlNZTk9QU0lTIgorLkIgI2luY2x1ZGUgPHNlbGludXgvc2Vs aW51eC5oPgorCisuQiAjaW5jbHVkZSA8c2VsaW51eC9sYWJlbC5oPgorLnNwCisuQkkgImlu dCBzZWxhYmVsX2xvb2t1cChzdHJ1Y3Qgc2VsYWJlbF9oYW5kbGUgKiIgaG5kICwKKy5pbiAr XHcnaW50IHNlbGFiZWxfbG9va3VwKCd1CisuQkkgInNlY3VyaXR5X2NvbnRleHRfdCAqIiBj b250ZXh0ICwKKworLkJJICJjb25zdCBjaGFyICoiIG9iamVjdF9uYW1lICIsIGludCAiIG9i amVjdF90eXBlICIpOyIKKworLlNIICJERVNDUklQVElPTiIKK1RoZSBEQiBjb250ZXh0cyBi YWNrZW5kIG1hcHMgZnJvbSBhIHBhaXIgb2Ygb2JqZWN0IG5hbWUgYW5kIGNsYXNzIGludG8g c2VjdXJpdHkgY29udGV4dHMuIEl0IGlzIHVzZWQgdG8gZmluZCB0aGUgYXBwcm9wcmlhdGUg Y29udGV4dCBmb3IgZGF0YWJhc2Ugb2JqZWN0cyB3aGVuIHJlbGFiZWxpbmcgYSBjZXJ0YWlu IGRhdGFiYXNlLgorCitUaGUKKy5JIG9iamVjdF9uYW1lCitzaG91bGQgYmUgZnVsbHkgcXVh bGlmaWVkIG5hbWUgdXNpbmcgdGhlIGhpZXJhcmNoeSBvZiBkYXRhYmFzZSBvYmplY3RzLgor Rm9yIGV4YW1wbGUsIHRoZQorLkIgcGdfY2xhc3MKK3RhYmxlIGluIHRoZQorLkIgcG9zdGdy ZXMKK2RhdGFiYXNlIGFuZAorLkIgcGdfY2F0YWxvZworc2NoZW1hIHNob3VsZCBiZSBxdWFs aWZpZWQgYXMKKy5CIHBvc3RncmVzLnBnX2NhdGFsb2cucGdfY2xhc3MgLgorCitUaGUKKy5J IG9iamVjdF90eXBlCithcmd1bWVudCBzaG91bGQgYmUgc2V0IHRvIG9uZSBvZiB0aGUgZm9s bG93aW5nIHZhbHVlczoKKy5UUAorLkIgU0VMQUJFTF9EQl9EQVRBQkFTRQorVGhlCisuSSBv YmplY3RfbmFtZQorYXJndW1lbnQgc3BlY2lmaWVzIHRoZSBuYW1lIG9mIGEgZGF0YWJhc2Ug aXRzZWxmLCBzdWNoIGFzICJwb3N0Z3JlcyIuCisuVFAKKy5CIFNFTEFCRUxfREJfU0NIRU1B CitUaGUKKy5JIG9iamVjdF9uYW1lCithcmd1bWVudCBzcGVjaWZpZXMgdGhlIG5hbWUgb2Yg YSBzY2hlbWEgb2JqZWN0LCBzdWNoIGFzICJwb3N0Z3Jlcy5wdWJsaWMiLgorLlRQCisuQiBT RUxBQkVMX0RCX1RBQkxFCitUaGUKKy5JIG9iamVjdF9uYW1lCithcmd1bWVudCBzcGVjaWZp ZXMgdGhlIG5hbWUgb2YgYSB0YWJsZSBvYmplY3QsIHN1Y2ggYXMgInBvc3RncmVzLnB1Ymxp Yy5teV90YWJsZSIKKy5UUAorLkIgU0VMQUJFTF9EQl9DT0xVTU4KK1RoZQorLkkgb2JqZWN0 X25hbWUKK2FyZ3VtZW50IHNwZWNpZmllcyB0aGUgbmFtZSBvZiBhIGNvbHVtbiBvYmplY3Qs IHN1Y2ggYXMgInBvc3RncmVzLnB1YmxpYy5teV90YWJsZS51c2VyX2lkIgorLlRQCisuQiBT RUxBQkVMX0RCX1RVUExFCitUaGUKKy5JIG9iamVjdF9uYW1lCithcmd1bWVudCBzcGVjaWZp ZXMgdGhlIG5hbWUgb2YgYSB0YWJsZSBvYmplY3Qgd2hpY2ggY29udGFpbnMgdGhlIHR1cGxl cyB0byBiZSByZWxhYmVsZWQsIHN1Y2ggYXMgInBvc3RncmVzcWwucHVibGljLm15X3RhYmxl Ii4gTm90ZSB0aGF0IHdlIGhhdmUgbm8gd2F5IHRvIGlkZW50aWZ5IGluZGl2aWR1YWwgdHVw bGUgb2JqZWN0cywgZXhjZXB0IGZvciBXSEVSRSBjbGF1c2Ugb24gRE1MIHN0YXRlbWVudHMs IGJlY2F1c2UgaXQgaGFzIG5vIG5hbWUuCisuVFAKKy5CIFNFTEFCRUxfREJfUFJPQ0VEVVJF CitUaGUKKy5JIG9iamVjdF9uYW1lCithcmd1bWVudCBzcGVjaWZpZXMgdGhlIG5hbWUgb2Yg YSBwcm9jZWR1cmUgb2JqZWN0LCBzdWNoIGFzICJwb3N0Z3Jlcy5wdWJsaWMubXlfZnVuYyIu IE5vdGUgdGhhdCB3ZSBkb24ndCBzdXBwb3J0IHRvIGxvb2t1cCBpbmRpdmlkdWFsIHNlY3Vy aXR5IGNvbnRleHRzIGZvciBlYWNoIHByb2NlZHVyZXMgd2hpY2ggaGF2ZSBzYW1lIG5hbWUg YnV0IGRpZmZlcmVudCBhcmd1bWVudHMuCisuVFAKKy5CIFNFTEFCRUxfREJfU0VRVUVOQ0UK K1RoZQorLkkgb2JqZWN0X25hbWUKK2FyZ3VtZW50IHNwZWNpZmllcyB0aGUgbmFtZSBvZiBh IHNlcXVlbmNlIG9iamVjdCwgc3VjaCBhcyAicG9zdGdyZXMucHVibGljLm15X3NlcSIuCisu VFAKKy5CIFNFTEFCRUxfREJfQkxPQgorVGhlCisuSSBvYmplY3RfbmFtZQorYXJndW1lbnQg c3BlY2lmaWVzIHRoZSBuYW1lIG9mIGEgbGFyZ2Ugb2JqZWN0LCBzdWNoIGFzICJwb3N0Z3Jl cy4xNjMwOCIuCitOb3RlIHRoYXQgYSBsYXJnZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBpdHMg bmFtZSwgc28gaXQgaXMgaWRlbnRpZmllZCBieSBpdHMgaWRlbnRpZmllciB2YWx1ZS4KKwor LlNIICJPUFRJT05TIgorSW4gYWRkaXRpb24gdG8gdGhlIGdsb2JhbCBvcHRpb25zIGRlc2Ny aWJlZCBpbiAKKy5CUiBzZWxhYmVsX29wZW4gKDMpLAordGhpcyBiYWNrZW5kIHJlY29nbml6 ZXMgdGhlIGZvbGxvd2luZyBvcHRpb25zOgorCisuVFAKKy5CIFNFTEFCRUxfT1BUX1BBVEgK K0Egbm9uLW51bGwgdmFsdWUgZm9yIHRoaXMgb3B0aW9uIHNwZWNpZmllcyBhIHBhdGggdG8g YSBmaWxlIHRoYXQgd2lsbCBiZSBvcGVuZWQgaW4gbGlldSBvZiB0aGUgc3RhbmRhcmQgREIg Y29udGV4dHMgZmlsZS4KK0l0IHRyaWVzIHRvIG9wZW4gdGhlIHNwZWNmaWxlIGRlc2lnbmVk IGZvciBTRS1Qb3N0Z3JlU1FMIGluIHRoZSBkZWZhdWx0LCBzbyBpZiBhbm90aGVyIFJEQk1T IHVzZXMgdGhpcyBpbnRlcmZhY2UsIGl0IG5lZWRzIHRvIGdpdmUgYW4gZXhwbGljaXQgc3Bl Y2ZpbGUgZGVzaWduZWQgZm9yIHRoZSBSREJNUy4KKworLlNIICJTRUUgQUxTTyIKKy5CUiBz ZWxhYmVsX29wZW4gKDMpLAorLkJSIHNlbGFiZWxfbG9va3VwICgzKSwKKy5CUiBzZWxhYmVs X3N0YXRzICgzKSwKKy5CUiBzZWxpbnV4ICg4KQorCmRpZmYgLS1naXQgYS9saWJzZWxpbnV4 L3NyYy9maWxlX3BhdGhfc3VmZml4ZXMuaCBiL2xpYnNlbGludXgvc3JjL2ZpbGVfcGF0aF9z dWZmaXhlcy5oCmluZGV4IGVhZGEyMzIuLmNjZjQzZTEgMTAwNjQ0Ci0tLSBhL2xpYnNlbGlu dXgvc3JjL2ZpbGVfcGF0aF9zdWZmaXhlcy5oCisrKyBiL2xpYnNlbGludXgvc3JjL2ZpbGVf cGF0aF9zdWZmaXhlcy5oCkBAIC0yMywzICsyMyw0IEBAIFNfKEJJTlBPTElDWSwgIi9wb2xp Y3kvcG9saWN5IikKICAgICBTXyhWSVJUVUFMX0RPTUFJTiwgIi9jb250ZXh0cy92aXJ0dWFs X2RvbWFpbl9jb250ZXh0IikKICAgICBTXyhWSVJUVUFMX0lNQUdFLCAiL2NvbnRleHRzL3Zp cnR1YWxfaW1hZ2VfY29udGV4dCIpCiAgICAgU18oRklMRV9DT05URVhUX1NVQlMsICIvY29u dGV4dHMvZmlsZXMvZmlsZV9jb250ZXh0cy5zdWJzIikKKyAgICBTXyhTRVBHU1FMX0NPTlRF WFRTLCAiL2NvbnRleHRzL3NlcGdzcWxfY29udGV4dHMiKQpkaWZmIC0tZ2l0IGEvbGlic2Vs aW51eC9zcmMvbGFiZWwuYyBiL2xpYnNlbGludXgvc3JjL2xhYmVsLmMKaW5kZXggY2VhM2M0 My4uMDIwYjgwMyAxMDA2NDQKLS0tIGEvbGlic2VsaW51eC9zcmMvbGFiZWwuYworKysgYi9s aWJzZWxpbnV4L3NyYy9sYWJlbC5jCkBAIC0yMiw3ICsyMiw4IEBAIHR5cGVkZWYgaW50ICgq c2VsYWJlbF9pbml0ZnVuYykoc3RydWN0IHNlbGFiZWxfaGFuZGxlICpyZWMsCiBzdGF0aWMg c2VsYWJlbF9pbml0ZnVuYyBpbml0ZnVuY3NbXSA9IHsKIAkmc2VsYWJlbF9maWxlX2luaXQs CiAJJnNlbGFiZWxfbWVkaWFfaW5pdCwKLQkmc2VsYWJlbF94X2luaXQKKwkmc2VsYWJlbF94 X2luaXQsCisJJnNlbGFiZWxfZGJfaW5pdCwKIH07CiAKIHR5cGVkZWYgc3RydWN0IHNlbGFi ZWxfc3ViIHsKZGlmZiAtLWdpdCBhL2xpYnNlbGludXgvc3JjL2xhYmVsX2RiLmMgYi9saWJz ZWxpbnV4L3NyYy9sYWJlbF9kYi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjllNGY1MmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzZWxpbnV4L3NyYy9sYWJlbF9k Yi5jCkBAIC0wLDAgKzEsMzM0IEBACisvKgorICogTWVkaWEgY29udGV4dHMgYmFja2VuZCBm b3IgREIgb2JqZWN0cworICoKKyAqIEF1dGhvcjogS2FpR2FpIEtvaGVpIDxrYWlnYWlAYWsu anAubmVjLmNvbT4KKyAqLworCisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxz dHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGlvX2V4dC5oPgor I2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxsaW1p dHMuaD4KKyNpbmNsdWRlIDxmbm1hdGNoLmg+CisjaW5jbHVkZSAiY2FsbGJhY2tzLmgiCisj aW5jbHVkZSAibGFiZWxfaW50ZXJuYWwuaCIKKworLyoKKyAqIFJlZ3VsYXIgZGF0YWJhc2Ug b2JqZWN0J3Mgc2VjdXJpdHkgY29udGV4dCBpbnRlcmZhY2UKKyAqCisgKiBJdCBwcm92aWRl cyBhcHBsaWNhdGlvbnMgYSByZWd1bGFyIHNlY3VyaXR5IGNvbnRleHQgZm9yIHRoZSBnaXZl bgorICogZGF0YWJhc2Ugb2JqZWN0cy4gVGhlIHBhaXIgb2Ygb2JqZWN0J3MgbmFtZSBhbmQg YSBzZWN1cml0eSBjb250ZXh0CisgKiBhcmUgZGVzY3JpYmVkIGluIHRoZSBzcGVjZmlsZS4g SW4gdGhlIGRlZmF1bHQsIGl0IHNoYWxsIGJlIHN0b3JlZAorICogaW4gdGhlIC9ldGMvc2Vs aW51eC8kUE9MSUNZVFlQRS9jb250ZXh0cy9zZXBnc3FsX2NvbnRleHRzIC4KKyAqIChJdCBh c3N1bWVzIFNFLVBvc3RncmVTUUwgaW4gdGhlIGRlZmF1bHQuIEZvciBvdGhlciBSREJNUywg dXNlIHRoZQorICogU0VMQUJFTF9PUFRfUEFUSCBvcHRpb24gdG8gc3BlY2lmeSBkaWZmZXJl bnQgc3BlY2ZpbGUuKQorICoKKyAqIEVhY2ggbGluZSBoYXMgdGhlIGZvbGxvd2luZyBmb3Jt YXQ6CisgKiAgIDxvYmplY3QgY2xhc3M+IDxvYmplY3QgbmFtZS9pZGVudGlmaWVyPiA8c2Vj dXJpdHkgY29udGV4dD4KKyAqCisgKiBGb3IgZXhhbXBsZToKKyAqIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqICMKKyAqICMgSXQgaXMgYW4gZXhhbXBs ZSBzcGVjZmlsZSBmb3IgZGF0YWJhc2Ugb2JlamN0cworICogIworICogZGJfZGF0YWJhc2Ug IHRlbXBsYXRlMSAgICAgICAgICAgc3lzdGVtX3U6b2JqZWN0X3I6c2VwZ3NxbF9kYl90OnMw CisgKgorICogZGJfc2NoZW1hICAgICoucGdfY2F0YWxvZyAgICAgICAgc3lzdGVtX3U6b2Jq ZWN0X3I6c2VwZ3NxbF9zeXNfc2NoZW1hX3Q6czAKKyAqCisgKiBkYl90YWJsZSAgICAgKi5w Z19jYXRhbG9nLioJICAgIHN5c3RlbV91Om9iamVjdF9yOnNlcGdzcWxfc3lzb2JqX3Q6czAK KyAqIGRiX2NvbHVtbiAgICAqLnBnX2NhdGFsb2cuKi4qICAgIHN5c3RlbV91Om9iamVjdF9y OnNlcGdzcWxfc3lzb2JqX3Q6czAKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyAqCisgKiBBbGwgdGhlIGNoYXJhY3RlcnMgYWZ0ZXIgdGhlICcjJyBh cmUgZGVhbHQgYXMgY29tbWVudHMuCisgKgorICogVGhlIGZpcnN0IHRva2VuIGlzIG9iamVj dCBjbGFzcy4gU0VMQUJFTF9EQl8qIGRlY2xhcmVkIGluIGxhYmVsLmggYXJlCisgKiBjb3Jy ZXNwb25kaW5nIHRvIGEgY2VydGFpbiBkYXRhYmFzZSBvYmplY3QuCisgKgorICogVGhlIG9i amVjdCBuYW1lL2lkZW50aWZpZXIgaXMgY29tcGFyZWQgdG8gdGhlIGdpdmVuIGtleS4KKyAq IEEgZGF0YWJhc2Ugb2JqZWN0IGNhbiBoYXZlIGl0cyBvd24gbmFtZXNwYWNlIGhpZXJhcmNo eS4KKyAqIEluIHRoZSBjYXNlIG9mIFNFLVBnU1FMLCBkYXRhYmFzZSBpcyB0aGUgdG9wIGxl dmVsIG9iamVjdCwgYW5kIHNjaGVtYQorICogaXMgZGVwbG95ZWQganVzdCB1bmRlciBhIGRh dGFiYXNlLiBBIHNjaGVtYSBjYW4gY29udGFpbnMgdmFyaW91cyBraW5kCisgKiBvZiBvYmpl Y3RzLCBzdWNoIGFzIHRhYmxlcywgcHJvY2VkdXJlcyBhbmQgc28gb24uCisgKiBUaHVzLCB3 aGVuIHdlIGxvb2t1cCBhbiBleHBlY3RlZCBzZWN1cml0eSBjb250ZXh0IGZvciBhIHRhYmxl IG9mCisgKiAicGdfY2xhc3MiLCBpdCBpcyBuZWNlc3NhcnkgdG8gYXNzdW1lIHNlbGFiZWxf bG9va3VwKCkgaXMgY2FsbGVkIHdpdGgKKyAqICJwb3N0Z3Jlcy5wZ19jYXRhbG9nLnBnX2Ns YXNzIiwgbm90IGp1c3QgYSAicGdfY2xhc3MiLgorICoKKyAqIFdpbGRjYXJkcyAoJyonIG9y ICc/JykgYXJlIGF2YWlsYWJsZSBvbiB0aGUgcGF0dGVybnMsIHNvIGlmIHlvdSB3YW50Cisg KiB0byBtYXRjaCBhIHRhYmxlIHdpdGhpbiBhbnkgc2NoZW1hLCB5b3Ugc2hvdWxkIHNldCAn Kicgb24gdGhlIHVwcGVyCisgKiBuYW1lc3BhY2VzIG9mIHRoZSB0YWJsZS4KKyAqCisgKiBU aGUgc3RydWN0dXJlIG9mIG5hbWVzcGFjZSBkZXBlbmRzIG9uIFJEQk1TLgorICogRm9yIGV4 YW1wbGUsIFRydXN0ZWQtUlVCSVggaGFzIGFuIGlkZWEgb2YgImNhdGFsb2ciIHdoaWNoIHBl cmZvcm1zCisgKiBhcyBhIG5hbWVzcGFjZSBiZXR3ZWVuIGEgZGF0YWJhc2UgYW5kIGluZGl2 aWR1YWwgc2NoZW1hcy4gSW4gdGhpcworICogY2FzZSwgYSB0YWJsZSBoYXMgdXBwZXIgdGhy ZWUgbGF5ZXJzLgorICovCisKKy8qCisgKiBzcGVjX3QgOiBJdCBob2xkcyBhIHBhaXIgb2Yg YSBrZXkgYW5kIGFuIGV4cGVjdGVkIHNlY3VyaXR5IGNvbnRleHQKKyAqLwordHlwZWRlZiBz dHJ1Y3Qgc3BlYyB7CisJc3RydWN0IHNlbGFiZWxfbG9va3VwX3JlYyBscjsKKwljaGFyCSAg ICAgICAqa2V5OworCWludAkJdHlwZTsKKwlpbnQJCW1hdGNoZXM7Cit9IHNwZWNfdDsKKwor LyoKKyAqIGNhdGFsb2dfdCA6IEFuIGFycmF5IG9mIHNwZWNfdAorICovCit0eXBlZGVmIHN0 cnVjdCBjYXRhbG9nIHsKKwl1bnNpZ25lZCBpbnQJbnNwZWM7CS8qIG51bWJlciBvZiBzcGVj cyBpbiB1c2UgKi8KKwl1bnNpZ25lZCBpbnQJbGltaXQ7CS8qIHBoeXNpY2FsIGxpbWl0YXRp b24gb2Ygc3BlY3NbXSAqLworCXNwZWNfdAkJc3BlY3NbMF07Cit9IGNhdGFsb2dfdDsKKwor LyoKKyAqIEhlbHBlciBmdW5jdGlvbiB0byBwYXJzZSBhIGxpbmUgcmVhZCBmcm9tIHRoZSBz cGVjZmlsZQorICovCitzdGF0aWMgaW50Citwcm9jZXNzX2xpbmUoY29uc3QgY2hhciAqcGF0 aCwgY2hhciAqbGluZV9idWYsIHVuc2lnbmVkIGludCBsaW5lX251bSwKKwkgICAgIGNhdGFs b2dfdCAqY2F0YWxvZykKK3sKKwlzcGVjX3QJICAgICAgICpzcGVjID0gJmNhdGFsb2ctPnNw ZWNzW2NhdGFsb2ctPm5zcGVjXTsKKwljaGFyCSAgICAgICAqdHlwZSwgKmtleSwgKmNvbnRl eHQsICp0ZW1wOworCWludAkJaXRlbXM7CisKKwkvKiBDdXQgb2ZmIGNvbW1lbnRzICovCisJ dGVtcCA9IHN0cmNocihsaW5lX2J1ZiwgJyMnKTsKKwlpZiAodGVtcCkKKwkJKnRlbXAgPSAn XDAnOworCisJLyoKKwkgKiBFdmVyeSBlbnRyeSBtdXN0IGhhdmUgdGhlIGZvbGxvd2luZyBm b3JtYXQKKwkgKiAgIDxvYmplY3QgY2xhc3M+IDxvYmplY3QgbmFtZT4gPHNlY3VyaXR5IGNv bnRleHQ+CisJICovCisJdHlwZSA9IGtleSA9IGNvbnRleHQgPSB0ZW1wID0gTlVMTDsKKwlp dGVtcyA9IHNzY2FuZihsaW5lX2J1ZiwgIiVhcyAlYXMgJWFzICVhcyIsCisJCSAgICAgICAm dHlwZSwgJmtleSwgJmNvbnRleHQsICZ0ZW1wKTsKKwlpZiAoaXRlbXMgIT0gMykgeworCQlp ZiAoaXRlbXMgPiAwKQorCQkJc2VsaW51eF9sb2coU0VMSU5VWF9XQVJOSU5HLAorCQkJCSAg ICAiJXM6ICBsaW5lICVkIGhhcyBpbnZhbGlkIGZvcm1hdCwgc2tpcHBlZCIsCisJCQkJICAg IHBhdGgsIGxpbmVfbnVtKTsKKwkJZ290byBza2lwOworCX0KKworCS8qCisJICogU2V0IHVw IGluZGl2aWR1YWwgc3BlYyBlbnRyeQorCSAqLworCW1lbXNldChzcGVjLCAwLCBzaXplb2Yo c3BlY190KSk7CisKKwlpZiAoIXN0cmNtcCh0eXBlLCAiZGJfZGF0YWJhc2UiKSkKKwkJc3Bl Yy0+dHlwZSA9IFNFTEFCRUxfREJfREFUQUJBU0U7CisJZWxzZSBpZiAoIXN0cmNtcCh0eXBl LCAiZGJfc2NoZW1hIikpCisJCXNwZWMtPnR5cGUgPSBTRUxBQkVMX0RCX1NDSEVNQTsKKwll bHNlIGlmICghc3RyY21wKHR5cGUsICJkYl90YWJsZSIpKQorCQlzcGVjLT50eXBlID0gU0VM QUJFTF9EQl9UQUJMRTsKKwllbHNlIGlmICghc3RyY21wKHR5cGUsICJkYl9jb2x1bW4iKSkK KwkJc3BlYy0+dHlwZSA9IFNFTEFCRUxfREJfQ09MVU1OOworCWVsc2UgaWYgKCFzdHJjbXAo dHlwZSwgImRiX3NlcXVlbmNlIikpCisJCXNwZWMtPnR5cGUgPSBTRUxBQkVMX0RCX1NFUVVF TkNFOworCWVsc2UgaWYgKCFzdHJjbXAodHlwZSwgImRiX3ZpZXciKSkKKwkJc3BlYy0+dHlw ZSA9IFNFTEFCRUxfREJfVklFVzsKKwllbHNlIGlmICghc3RyY21wKHR5cGUsICJkYl9wcm9j ZWR1cmUiKSkKKwkJc3BlYy0+dHlwZSA9IFNFTEFCRUxfREJfUFJPQ0VEVVJFOworCWVsc2Ug aWYgKCFzdHJjbXAodHlwZSwgImRiX2Jsb2IiKSkKKwkJc3BlYy0+dHlwZSA9IFNFTEFCRUxf REJfQkxPQjsKKwllbHNlIHsKKwkJc2VsaW51eF9sb2coU0VMSU5VWF9XQVJOSU5HLAorCQkJ ICAgICIlczogIGxpbmUgJWQgaGFzIGludmFsaWQgb2JqZWN0IHR5cGUgJXNcbiIsCisJCQkg ICAgcGF0aCwgbGluZV9udW0sIHR5cGUpOworCQlnb3RvIHNraXA7CisJfQorCisJZnJlZSh0 eXBlKTsKKwlzcGVjLT5rZXkgPSBrZXk7CisJc3BlYy0+bHIuY3R4X3JhdyA9IGNvbnRleHQ7 CisKKwljYXRhbG9nLT5uc3BlYysrOworCisJcmV0dXJuIDA7CisKK3NraXA6CisJZnJlZSh0 eXBlKTsKKwlmcmVlKGtleSk7CisJZnJlZShjb250ZXh0KTsKKwlmcmVlKHRlbXApOworCisJ cmV0dXJuIDA7Cit9CisKKy8qCisgKiBzZWxhYmVsX2Nsb3NlKCkgaGFuZGxlcgorICovCitz dGF0aWMgdm9pZAorZGJfY2xvc2Uoc3RydWN0IHNlbGFiZWxfaGFuZGxlICpyZWMpCit7CisJ Y2F0YWxvZ190ICAgICAgKmNhdGFsb2cgPSAoY2F0YWxvZ190ICopcmVjLT5kYXRhOworCXNw ZWNfdAkgICAgICAgKnNwZWM7CisJdW5zaWduZWQgaW50CWk7CisKKwlmb3IgKGkgPSAwOyBp IDwgY2F0YWxvZy0+bnNwZWM7IGkrKykgeworCQlzcGVjID0gJmNhdGFsb2ctPnNwZWNzW2ld OworCQlmcmVlKHNwZWMtPmtleSk7CisJCWZyZWUoc3BlYy0+bHIuY3R4X3Jhdyk7CisJCWZy ZWUoc3BlYy0+bHIuY3R4X3RyYW5zKTsKKwl9CisJZnJlZShjYXRhbG9nKTsKK30KKworLyoK KyAqIHNlbGFiZWxfbG9va3VwKCkgaGFuZGxlcgorICovCitzdGF0aWMgc3RydWN0IHNlbGFi ZWxfbG9va3VwX3JlYyAqCitkYl9sb29rdXAoc3RydWN0IHNlbGFiZWxfaGFuZGxlICpyZWMs IGNvbnN0IGNoYXIgKmtleSwgaW50IHR5cGUpCit7CisJY2F0YWxvZ190ICAgICAgKmNhdGFs b2cgPSAoY2F0YWxvZ190ICopcmVjLT5kYXRhOworCXNwZWNfdAkgICAgICAgKnNwZWM7CisJ dW5zaWduZWQgaW50CWk7CisKKwlmb3IgKGkgPSAwOyBpIDwgY2F0YWxvZy0+bnNwZWM7IGkr KykgeworCQlzcGVjID0gJmNhdGFsb2ctPnNwZWNzW2ldOworCisJCWlmIChzcGVjLT50eXBl ICE9IHR5cGUpCisJCQljb250aW51ZTsKKwkJaWYgKCFmbm1hdGNoKHNwZWMtPmtleSwga2V5 LCAwKSkgeworCQkJc3BlYy0+bWF0Y2hlcysrOworCisJCQlyZXR1cm4gJnNwZWMtPmxyOwor CQl9CisJfQorCisJLyogTm8gZm91bmQgKi8KKwllcnJubyA9IEVOT0VOVDsKKwlyZXR1cm4g TlVMTDsKK30KKworLyoKKyAqIHNlbGFiZWxfc3RhdHMoKSBoYW5kbGVyCisgKi8KK3N0YXRp YyB2b2lkCitkYl9zdGF0cyhzdHJ1Y3Qgc2VsYWJlbF9oYW5kbGUgKnJlYykKK3sKKwljYXRh bG9nX3QgICAgICAqY2F0YWxvZyA9IChjYXRhbG9nX3QgKilyZWMtPmRhdGE7CisJdW5zaWdu ZWQgaW50CWksIHRvdGFsID0gMDsKKworCWZvciAoaSA9IDA7IGkgPCBjYXRhbG9nLT5uc3Bl YzsgaSsrKQorCQl0b3RhbCArPSBjYXRhbG9nLT5zcGVjc1tpXS5tYXRjaGVzOworCisJc2Vs aW51eF9sb2coU0VMSU5VWF9JTkZPLCAiJXUgZW50cmllcywgJXUgbWF0Y2hlcyBtYWRlXG4i LAorCQkgICAgY2F0YWxvZy0+bnNwZWMsIHRvdGFsKTsKK30KKworLyoKKyAqIHNlbGFiZWxf b3BlbigpIGhhbmRsZXIKKyAqLworc3RhdGljIGNhdGFsb2dfdCAqCitkYl9pbml0KHN0cnVj dCBzZWxpbnV4X29wdCAqb3B0cywgdW5zaWduZWQgbm9wdHMpCit7CisJY2F0YWxvZ190ICAg ICAgKmNhdGFsb2c7CisJRklMRQkgICAgICAgKmZpbHA7CisJY29uc3QgY2hhciAgICAgKnBh dGggPSBOVUxMOworCWNoYXIJICAgICAgICpsaW5lX2J1ZiA9IE5VTEw7CisJc2l6ZV90CQls aW5lX2xlbiA9IDA7CisJdW5zaWduZWQgaW50CWxpbmVfbnVtID0gMDsKKwl1bnNpZ25lZCBp bnQJaTsKKworCS8qCisJICogSW5pdGlhbGl6ZSBjYXRhbG9nIGRhdGEgc3RydWN0dXJlCisJ ICovCisJY2F0YWxvZyA9IG1hbGxvYyhzaXplb2YoY2F0YWxvZ190KSArIDMyICogc2l6ZW9m KHNwZWNfdCkpOworCWlmICghY2F0YWxvZykKKwkJcmV0dXJuIE5VTEw7CisJY2F0YWxvZy0+ bGltaXQgPSAzMjsKKwljYXRhbG9nLT5uc3BlYyA9IDA7CisKKwkvKgorCSAqIFByb2Nlc3Mg YXJndW1lbnRzCisJICoKKwkgKiBTRUxBQkVMX09QVF9QQVRIOgorCSAqICAgSXQgYWxsb3dz IHRvIHNwZWNpZnkgYW4gYWx0ZXJuYXRpdmUgc3BlY2lmaWNhdGlvbiBmaWxlIGluc3RlYWQg b2YKKwkgKiAgIHRoZSBkZWZhdWx0IG9uZS4gSWYgUkRCTVMgaXMgbm90IFNFLVBvc3RncmVT UUwsIGl0IG1heSBuZWVkIHRvCisJICogICBzcGVjaWZ5IGFuIGV4cGxpY2l0IHNwZWNmaWxl IGZvciBkYXRhYmFzZSBvYmplY3RzLgorCSAqLworCXdoaWxlIChub3B0cy0tKSB7CisJCXN3 aXRjaCAob3B0c1tub3B0c10udHlwZSkgeworCQljYXNlIFNFTEFCRUxfT1BUX1BBVEg6CisJ CQlwYXRoID0gb3B0c1tub3B0c10udmFsdWU7CisJCQlicmVhazsKKwkJfQorCX0KKworCS8q CisJICogT3BlbiB0aGUgc3BlY2lmaWNhdGlvbiBmaWxlCisJICovCisJaWYgKCFwYXRoKQor CQlwYXRoID0gc2VsaW51eF9zZXBnc3FsX2NvbnRleHRfcGF0aCgpOworCisJaWYgKChmaWxw ID0gZm9wZW4ocGF0aCwgInJiIikpID09IE5VTEwpIHsKKwkJZnJlZShjYXRhbG9nKTsKKwkJ cmV0dXJuIE5VTEw7CisJfQorCisJLyoKKwkgKiBQYXJzZSBmb3IgZWFjaCBsaW5lcworCSAq LworCXdoaWxlIChnZXRsaW5lKCZsaW5lX2J1ZiwgJmxpbmVfbGVuLCBmaWxwKSA+IDApIHsK KwkJLyoKKwkJICogRXhwYW5kIGNhdGFsb2cgYXJyYXksIGlmIG5lY2Vzc2FyeQorCQkgKi8K KwkJaWYgKGNhdGFsb2ctPmxpbWl0ID09IGNhdGFsb2ctPm5zcGVjKSB7CisJCQlzaXplX3QJ CWxlbmd0aDsKKwkJCXVuc2lnbmVkIGludAluZXdfbGltaXQgPSAyICogY2F0YWxvZy0+bGlt aXQ7CisJCQljYXRhbG9nX3QgICAgICAqbmV3X2NhdGFsb2c7CisKKwkJCWxlbmd0aCA9IHNp emVvZihjYXRhbG9nX3QpCisJCQkJKyBuZXdfbGltaXQgKiBzaXplb2Yoc3BlY190KTsKKwkJ CW5ld19jYXRhbG9nID0gcmVhbGxvYyhjYXRhbG9nLCBsZW5ndGgpOworCQkJaWYgKCFuZXdf Y2F0YWxvZykKKwkJCQlnb3RvIG91dF9lcnJvcjsKKworCQkJY2F0YWxvZyA9IG5ld19jYXRh bG9nOworCQkJY2F0YWxvZy0+bGltaXQgPSBuZXdfbGltaXQ7CisJCX0KKworCQkvKgorCQkg KiBQYXJzZSBhIGxpbmUKKwkJICovCisJCWlmIChwcm9jZXNzX2xpbmUocGF0aCwgbGluZV9i dWYsICsrbGluZV9udW0sIGNhdGFsb2cpIDwgMCkKKwkJCWdvdG8gb3V0X2Vycm9yOworCX0K KwlmcmVlKGxpbmVfYnVmKTsKKworCWZjbG9zZShmaWxwKTsKKworCXJldHVybiBjYXRhbG9n OworCitvdXRfZXJyb3I6CisJZm9yIChpID0gMDsgaSA8IGNhdGFsb2ctPm5zcGVjOyBpKysp IHsKKwkJc3BlY190CSAgICAgICAqc3BlYyA9ICZjYXRhbG9nLT5zcGVjc1tpXTsKKworCQlm cmVlKHNwZWMtPmtleSk7CisJCWZyZWUoc3BlYy0+bHIuY3R4X3Jhdyk7CisJCWZyZWUoc3Bl Yy0+bHIuY3R4X3RyYW5zKTsKKwl9CisJZnJlZShjYXRhbG9nKTsKKworCXJldHVybiBOVUxM OworfQorCisvKgorICogSW5pdGlhbGl6ZSBzZWxhYmVsX2hhbmRsZSBhbmQgbG9hZCB0aGUg ZW50cmllcyBvZiBzcGVjZmlsZQorICovCitpbnQgc2VsYWJlbF9kYl9pbml0KHN0cnVjdCBz ZWxhYmVsX2hhbmRsZSAqcmVjLAorCQkgICAgc3RydWN0IHNlbGludXhfb3B0ICpvcHRzLCB1 bnNpZ25lZCBub3B0cykKK3sKKwlyZWMtPmZ1bmNfY2xvc2UgPSAmZGJfY2xvc2U7CisJcmVj LT5mdW5jX2xvb2t1cCA9ICZkYl9sb29rdXA7CisJcmVjLT5mdW5jX3N0YXRzID0gJmRiX3N0 YXRzOworCXJlYy0+ZGF0YSA9IGRiX2luaXQob3B0cywgbm9wdHMpOworCisJcmV0dXJuICFy ZWMtPmRhdGEgPyAtMSA6IDA7Cit9CmRpZmYgLS1naXQgYS9saWJzZWxpbnV4L3NyYy9sYWJl bF9pbnRlcm5hbC5oIGIvbGlic2VsaW51eC9zcmMvbGFiZWxfaW50ZXJuYWwuaAppbmRleCAy N2ExZjA2Li45OWFmOTNlIDEwMDY0NAotLS0gYS9saWJzZWxpbnV4L3NyYy9sYWJlbF9pbnRl cm5hbC5oCisrKyBiL2xpYnNlbGludXgvc3JjL2xhYmVsX2ludGVybmFsLmgKQEAgLTIzLDYg KzIzLDggQEAgaW50IHNlbGFiZWxfbWVkaWFfaW5pdChzdHJ1Y3Qgc2VsYWJlbF9oYW5kbGUg KnJlYywgc3RydWN0IHNlbGludXhfb3B0ICpvcHRzLAogCQkgICAgICB1bnNpZ25lZCBub3B0 cykgaGlkZGVuOwogaW50IHNlbGFiZWxfeF9pbml0KHN0cnVjdCBzZWxhYmVsX2hhbmRsZSAq cmVjLCBzdHJ1Y3Qgc2VsaW51eF9vcHQgKm9wdHMsCiAJCSAgIHVuc2lnbmVkIG5vcHRzKSBo aWRkZW47CitpbnQgc2VsYWJlbF9kYl9pbml0KHN0cnVjdCBzZWxhYmVsX2hhbmRsZSAqcmVj LAorCQkgICAgc3RydWN0IHNlbGludXhfb3B0ICpvcHRzLCB1bnNpZ25lZCBub3B0cykgaGlk ZGVuOwogCiAvKgogICogTGFiZWxpbmcgaW50ZXJuYWwgc3RydWN0dXJlcwpkaWZmIC0tZ2l0 IGEvbGlic2VsaW51eC9zcmMvc2VsaW51eF9jb25maWcuYyBiL2xpYnNlbGludXgvc3JjL3Nl bGludXhfY29uZmlnLmMKaW5kZXggN2U1ODhjYy4uZTA0MDk1OSAxMDA2NDQKLS0tIGEvbGli c2VsaW51eC9zcmMvc2VsaW51eF9jb25maWcuYworKysgYi9saWJzZWxpbnV4L3NyYy9zZWxp bnV4X2NvbmZpZy5jCkBAIC00NCw3ICs0NCw4IEBACiAjZGVmaW5lIFZJUlRVQUxfRE9NQUlO ICAgIDIxCiAjZGVmaW5lIFZJUlRVQUxfSU1BR0UgICAgIDIyCiAjZGVmaW5lIEZJTEVfQ09O VEVYVF9TVUJTIDIzCi0jZGVmaW5lIE5FTCAgICAgICAgICAgICAgIDI0CisjZGVmaW5lIFNF UEdTUUxfQ09OVEVYVFMgIDI0CisjZGVmaW5lIE5FTCAgICAgICAgICAgICAgIDI1CiAKIC8q IFBhcnQgb2Ygb25lLXRpbWUgbGF6eSBpbml0ICovCiBzdGF0aWMgcHRocmVhZF9vbmNlX3Qg b25jZSA9IFBUSFJFQURfT05DRV9JTklUOwpAQCAtNDIyLDMgKzQyMyw5IEBAIGNvbnN0IGNo YXIgKiBzZWxpbnV4X2ZpbGVfY29udGV4dF9zdWJzX3BhdGgodm9pZCkgewogCiBoaWRkZW5f ZGVmKHNlbGludXhfZmlsZV9jb250ZXh0X3N1YnNfcGF0aCkKIAorY29uc3QgY2hhciAqc2Vs aW51eF9zZXBnc3FsX2NvbnRleHRfcGF0aCgpCit7CisJcmV0dXJuIGdldF9wYXRoKFNFUEdT UUxfQ09OVEVYVFMpOworfQorCitoaWRkZW5fZGVmKHNlbGludXhfc2VwZ3NxbF9jb250ZXh0 X3BhdGgpCmRpZmYgLS1naXQgYS9saWJzZWxpbnV4L3NyYy9zZWxpbnV4X2ludGVybmFsLmgg Yi9saWJzZWxpbnV4L3NyYy9zZWxpbnV4X2ludGVybmFsLmgKaW5kZXggODhiNmJkNi4uMjRl ZjIxYSAxMDA2NDQKLS0tIGEvbGlic2VsaW51eC9zcmMvc2VsaW51eF9pbnRlcm5hbC5oCisr KyBiL2xpYnNlbGludXgvc3JjL3NlbGludXhfaW50ZXJuYWwuaApAQCAtNzMsNiArNzMsNyBA QCBoaWRkZW5fcHJvdG8oc2VsaW51eF9ta2xvYWRfcG9saWN5KQogICAgIGhpZGRlbl9wcm90 byhzZWxpbnV4X2N1c3RvbWl6YWJsZV90eXBlc19wYXRoKQogICAgIGhpZGRlbl9wcm90byhz ZWxpbnV4X21lZGlhX2NvbnRleHRfcGF0aCkKICAgICBoaWRkZW5fcHJvdG8oc2VsaW51eF94 X2NvbnRleHRfcGF0aCkKKyAgICBoaWRkZW5fcHJvdG8oc2VsaW51eF9zZXBnc3FsX2NvbnRl eHRfcGF0aCkKICAgICBoaWRkZW5fcHJvdG8oc2VsaW51eF9wYXRoKQogICAgIGhpZGRlbl9w cm90byhzZWxpbnV4X2NoZWNrX3Bhc3N3ZF9hY2Nlc3MpCiAgICAgaGlkZGVuX3Byb3RvKHNl bGludXhfY2hlY2tfc2VjdXJldHR5X2NvbnRleHQpCg== --------------080907070009010501070701-- -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message.