[policycoreutils] Fix bugs introduced by previous patch. semanage port
Daniel J Walsh
dwalsh at fedoraproject.org
Tue Jul 23 21:00:18 UTC 2013
commit d21896c450b1f86c49a0dd32ce63599793b87617
Author: Dan Walsh <dwalsh at redhat.com>
Date: Tue Jul 23 16:59:48 2013 -0400
Fix bugs introduced by previous patch. semanage port
- Update Translations
- Add test suite for sepolicy command lines
policycoreutils-rhat.patch | 759 ++++++++++++++++++++++++++++----------------
policycoreutils.spec | 7 +-
2 files changed, 498 insertions(+), 268 deletions(-)
---
diff --git a/policycoreutils-rhat.patch b/policycoreutils-rhat.patch
index 54019a2..bec4a48 100644
--- a/policycoreutils-rhat.patch
+++ b/policycoreutils-rhat.patch
@@ -190334,10 +190334,10 @@ index e7b146f..b45469a 100644
+msgid "Boolean %s Allow Rules"
+msgstr ""
diff --git a/policycoreutils/po/mr.po b/policycoreutils/po/mr.po
-index 855f08a..1a8ebe5 100644
+index 855f08a..f3892ba 100644
--- a/policycoreutils/po/mr.po
+++ b/policycoreutils/po/mr.po
-@@ -3,17 +3,19 @@
+@@ -3,18 +3,20 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
@@ -190359,11 +190359,13 @@ index 855f08a..1a8ebe5 100644
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-01-04 12:01-0500\n"
-"PO-Revision-Date: 2013-01-04 17:02+0000\n"
+-"Last-Translator: dwalsh <dwalsh at redhat.com>\n"
+"POT-Creation-Date: 2013-07-10 16:36-0400\n"
-+"PO-Revision-Date: 2013-07-10 20:43+0000\n"
- "Last-Translator: dwalsh <dwalsh at redhat.com>\n"
++"PO-Revision-Date: 2013-07-23 08:52+0000\n"
++"Last-Translator: sandeeps <sshedmak at redhat.com>\n"
"Language-Team: Marathi (http://www.transifex.com/projects/p/fedora/language/mr/)\n"
"MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
@@ -29,7 +31,7 @@ msgid ""
" <args ...> are the arguments to that script."
msgstr "वापर: run_init <script> <args ...>\n जेथे: <script> हे चालवण्याजोगी init स्क्रिप्टचे नाव आहे,\n <args ...> हे स्क्रिप्टच्या बाबी आहेत."
@@ -190399,7 +190401,7 @@ index 855f08a..1a8ebe5 100644
+#: ../semanage/seobject.py:288
+#, python-format
+msgid "Module does not exists %s "
-+msgstr ""
++msgstr "मॉड्युल %s अस्तित्वात नाही "
+
+#: ../semanage/seobject.py:298
#, python-format
@@ -190440,7 +190442,7 @@ index 855f08a..1a8ebe5 100644
+"In some distributions it is included in the policycoreutils-devel patckage.\n"
+"# yum install policycoreutils-devel\n"
+"Or similar for your distro."
-+msgstr ""
++msgstr "परमिसिव्ह डोमेन्सच्या मांडणीकरीता sepolgen पायथन मॉड्युल आवश्यक आहे.\nकाही वितरणांमध्ये त्यास policycoreutils-devel संकुलमध्ये समाविष्ट केले आहे.\n# yum install policycoreutils-devel\nकिंवा वितरणकरीता समान."
+
+#: ../semanage/seobject.py:418
#, python-format
@@ -192558,7 +192560,7 @@ index 855f08a..1a8ebe5 100644
-#: booleans.py:70
+#: booleans.py:72
+msgid "Allow http daemon to connect to mythtv"
-+msgstr ""
++msgstr "http डिमनला mythtvसह जोडणीकरिता परवानगी द्या"
+
+#: booleans.py:73
msgid "Allow http daemon to connect to zabbix"
@@ -192720,23 +192722,23 @@ index 855f08a..1a8ebe5 100644
msgstr "httpd ला openstack पोर्टसकरीता प्रवेश द्या"
-#: booleans.py:100
--msgid "Allow Apache to query NS records"
+#: booleans.py:103
+msgid "Allow httpd to connect to sasl"
- msgstr ""
++msgstr "httpdला saslसह जोडणीकरिता परवानगी द्या"
++
++#: booleans.py:104
+ msgid "Allow Apache to query NS records"
+-msgstr ""
++msgstr "अपॅचीला NS रेकॉर्ड्सची चौकशीकरीता परवानगी द्या"
-#: booleans.py:101
-msgid "Allow icecast to connect to all ports, not just sound ports."
-msgstr "icecast ला सर्व पोर्टस्सह, फक्त साऊंड पोर्टस्चं नाही जोडणीकरीता परवानगी द्या."
-+#: booleans.py:104
-+msgid "Allow Apache to query NS records"
-+msgstr "अपॅचीला NS रेकॉर्ड्सची चौकशीकरीता परवानगी द्या"
-
--#: booleans.py:102
+#: booleans.py:105
+msgid "Determine whether icecast can listen on and connect to any TCP port."
+msgstr "icecast क्लाएंट्स कोणत्याही TCP पोर्ट्सकरीता ऐकू व जोडणी करू शकतो किंवा नाही, हे ओळखा."
-+
+
+-#: booleans.py:102
+#: booleans.py:106
+msgid ""
+"Determine whether irc clients can listen on and connect to any unreserved "
@@ -192814,7 +192816,7 @@ index 855f08a..1a8ebe5 100644
-msgstr "mount आदेशला कोणतिहि डिरेक्ट्री किंवा फाइल माउंट करण्यास परवानगी द्या."
+#: booleans.py:121
+msgid "Allow the mount commands to mount any directory or file."
-+msgstr ""
++msgstr "माऊंट आदेशांना कोणतिही डिरेक्ट्री किंवा फाइल माऊंट करण्यासाठी परवानगी द्या."
-#: booleans.py:110
+#: booleans.py:122
@@ -192827,12 +192829,12 @@ index 855f08a..1a8ebe5 100644
-msgstr "वापरकर्त्याच्या होम डिरेक्ट्रीमध्ये mozilla_plugins ला विनाक्रम अंतर्भुत माहिती निर्माण करायची परवानगी द्या"
+#: booleans.py:123
+msgid "Allow mozilla plugin to support GPS."
-+msgstr ""
++msgstr "mozilla प्लगइनला GPS समर्थनकरिता परवानगी द्या."
-#: booleans.py:112
+#: booleans.py:124
+msgid "Allow mozilla plugin to support spice protocols."
-+msgstr ""
++msgstr "mozilla प्लगइनला spice प्रोटोकॉल्सकरिता समर्थनसाठी परवानगी द्या."
+
+#: booleans.py:125
msgid "Allow confined web browsers to read home directory content"
@@ -193003,7 +193005,7 @@ index 855f08a..1a8ebe5 100644
-"Allow privoxy to connect to all ports, not just HTTP, FTP, and Gopher ports."
-msgstr "squid ला सर्व पोर्टस्, HTTP, FTP, व गोफर पोर्टस् वगळता यासह जोडणीकरीता परवानगी द्या."
+"Permit to prosody to bind apache port. Need to be activated to use BOSH."
-+msgstr ""
++msgstr "prosodyला अपॅची पोर्टसह बाइंडकरिता परवानगी द्या. BOSHचा वापर करण्यासाठी सक्रिय करणे आवश्यक आहे."
-#: booleans.py:139
+#: booleans.py:156
@@ -193212,12 +193214,12 @@ index 855f08a..1a8ebe5 100644
+#: booleans.py:190
msgid "Allow user to use ssh chroot environment."
-msgstr ""
--
++msgstr "वापरकर्त्याला ssh chroot वातावरण वापरण्यासाठी परवानगी द्या."
+
-#: booleans.py:175
-msgid "Allow user music sharing"
-msgstr "युजर म्युजिक शेअरिंगकरीता परवानगी द्या"
-+msgstr "वापरकर्त्याला ssh chroot वातावरण वापरण्यासाठी परवानगी द्या."
-
+-
-#: booleans.py:176
+#: booleans.py:191
msgid ""
@@ -193355,7 +193357,7 @@ index 855f08a..1a8ebe5 100644
-#: booleans.py:196
+#: booleans.py:211
+msgid "Allow testpolicy to exec content"
-+msgstr ""
++msgstr "testpolicyला अंतर्भुत माहिती चालवण्यास परवानगी द्या"
+
+#: booleans.py:212
msgid ""
@@ -193549,7 +193551,7 @@ index 855f08a..1a8ebe5 100644
+msgid ""
+"Allow the graphical login program to create files in HOME dirs as "
+"xdm_home_t."
-+msgstr ""
++msgstr "ग्राफिकल प्रवेश प्रोग्रामला HOME डिरेक्ट्रीमध्ये xdm_home_t म्हणून फाइल्स निर्माण करण्यासाठी परवानगी द्या."
+
+#: booleans.py:243
msgid "Allow xen to manage nfs files"
@@ -193625,7 +193627,7 @@ index 855f08a..1a8ebe5 100644
+
+#: booleans.py:256
+msgid "Allow ZoneMinder to run su/sudo."
-+msgstr ""
++msgstr "su/sudo चालवण्याकरिता ZoneMinderला परवानगी द्या."
+
+#: ../sepolicy/sepolicy.py:194
+#, python-format
@@ -193634,7 +193636,7 @@ index 855f08a..1a8ebe5 100644
+
+#: ../sepolicy/sepolicy.py:281
+msgid "Graphical User Interface for SELinux Policy"
-+msgstr ""
++msgstr "SELinux धोरणकरिता ग्राफिकल युजर इंटरफेस"
+
+#: ../sepolicy/sepolicy.py:305
+msgid "Generate SELinux man pages"
@@ -193768,11 +193770,11 @@ index 855f08a..1a8ebe5 100644
+
+#: ../sepolicy/sepolicy.py:528
+msgid "Enter SELinux role(s) to which the administror domain will transition"
-+msgstr ""
++msgstr "ॲडमिनिस्ट्रेटर डोमेन जेथे स्थानांतरित होईल ती SELinux भूमिका द्या"
+
+#: ../sepolicy/sepolicy.py:531
+msgid "Enter domain(s) which this confined admin will administrate"
-+msgstr ""
++msgstr "प्रशासकातर्फे प्रशासनजोगी डोमेन्स द्या"
+
+#: ../sepolicy/sepolicy.py:534
+msgid "name of policy to generate"
@@ -193819,35 +193821,35 @@ index 855f08a..1a8ebe5 100644
+
+#: ../sepolicy/sepolicy/__init__.py:167 ../sepolicy/sepolicy/gui.py:479
+msgid "all files"
-+msgstr ""
++msgstr "सर्व फाइल्स"
+
+#: ../sepolicy/sepolicy/__init__.py:168
+msgid "regular file"
-+msgstr ""
++msgstr "रेग्युलर फाइल"
+
+#: ../sepolicy/sepolicy/__init__.py:169
+msgid "directory"
-+msgstr ""
++msgstr "डिरेक्ट्री"
+
+#: ../sepolicy/sepolicy/__init__.py:170
+msgid "character device"
-+msgstr ""
++msgstr "कॅरेक्टर साधन"
+
+#: ../sepolicy/sepolicy/__init__.py:171
+msgid "block device"
-+msgstr ""
++msgstr "ब्लॉक साधन"
+
+#: ../sepolicy/sepolicy/__init__.py:172
+msgid "socket file"
-+msgstr ""
++msgstr "सॉकेट फाइल"
+
+#: ../sepolicy/sepolicy/__init__.py:173
+msgid "symbolic link"
-+msgstr ""
++msgstr "सिम्बॉलिक लिंक"
+
+#: ../sepolicy/sepolicy/__init__.py:174
+msgid "named pipe"
-+msgstr ""
++msgstr "नेम्ड् पाइप"
+
+#: ../sepolicy/sepolicy/__init__.py:306
+msgid "No SELinux Policy installed"
@@ -193855,7 +193857,7 @@ index 855f08a..1a8ebe5 100644
+
+#: ../sepolicy/sepolicy/__init__.py:386
+msgid "You must regenerate interface info by running /usr/bin/sepolgen-ifgen"
-+msgstr ""
++msgstr "/usr/bin/sepolgen-ifgen चालवून इंटरफेस पुनःनिर्माण करा"
+
+#: ../sepolicy/sepolicy/__init__.py:591
+#, python-format
@@ -193992,368 +193994,368 @@ index 855f08a..1a8ebe5 100644
+
+#: ../sepolicy/sepolicy/sepolicy.glade:7
+msgid "SELinux Gui"
-+msgstr ""
++msgstr "SELinux गुई"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:33
+msgid "Type to search for a process"
-+msgstr ""
++msgstr "प्रोसेस शोधण्याकरिता टाइप करा"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:35
+msgid "Select domain"
-+msgstr ""
++msgstr "डोमेन निवडा"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:70
+#: ../sepolicy/sepolicy/sepolicy.glade:308
+msgid "Booleans"
-+msgstr ""
++msgstr "बूलियन्स"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:74
+msgid ""
+"Display boolean information that can be used to modify the policy for the "
+"'selected domain'."
-+msgstr ""
++msgstr "'selected domain' करिता धोरण संपादित करण्यासाठी वापरण्याजोगी बूलियन माहिती दाखवा."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:85
+#: ../sepolicy/sepolicy/sepolicy.glade:710
+msgid "Files"
-+msgstr ""
++msgstr "फाइल्स्"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:89
+msgid ""
+"Display file type information that can be used by the 'selected domain'."
-+msgstr ""
++msgstr "'selected domain' करिता वापरण्याजोगी फाइल प्रकार माहिती दाखवा."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:100
+#: ../sepolicy/sepolicy/sepolicy.glade:1062
+msgid "Network"
-+msgstr ""
++msgstr "नेटवर्क"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:104
+msgid ""
+"Display network ports to which the 'selected domain' can connect or listen "
+"to."
-+msgstr ""
++msgstr "'selected domain' जेथे जोडणी किंवा ऐकू शकतो असे नेटवर्क पोर्ट्स दाखवा"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:115
+#: ../sepolicy/sepolicy/sepolicy.glade:1361
+msgid "Transitions"
-+msgstr ""
++msgstr "ट्रांजिशन्स्"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:119
+msgid ""
+"Display applications that can transition into or out of the 'selected "
+"domain'."
-+msgstr ""
++msgstr "'selected domain' करिता ट्रांजिशन शक्य किंवा अशक्य ॲप्लिकेशन्स दाखवा."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:188
+#: ../sepolicy/sepolicy/sepolicy.glade:358
+#: ../sepolicy/sepolicy/sepolicy.glade:765
+#: ../sepolicy/sepolicy/sepolicy.glade:1113
+msgid "Show Modified Only"
-+msgstr ""
++msgstr "फक्त संपादित दाखवा"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:219
+msgid ""
+"If-Then-Else rules written in policy that can \n"
+"allow alternative access control."
-+msgstr ""
++msgstr "धोरणात लिहलेले If-Then-Else रूल्स जे \nवैकल्पिक ॲक्सेस कंट्रोल स्वीकारतात."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:373
+#: ../sepolicy/sepolicy/sepolicy.glade:787
+#: ../sepolicy/sepolicy/sepolicy.glade:1128
+msgid "Modify"
-+msgstr ""
++msgstr "सुधारित करा"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:377
+#: ../sepolicy/sepolicy/sepolicy.glade:791
+msgid "Modify an existing item"
-+msgstr ""
++msgstr "अस्तित्वातील घटक संपादित करा"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:389
+#: ../sepolicy/sepolicy/sepolicy.glade:803
+#: ../sepolicy/sepolicy/sepolicy.glade:1142
+msgid "Delete"
-+msgstr ""
++msgstr "नष्ट करा"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:393
+#: ../sepolicy/sepolicy/sepolicy.glade:807
+msgid "Delete an existing item"
-+msgstr ""
++msgstr "अस्तित्वातील घटक काढून टाका"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:409
+#: ../sepolicy/sepolicy/sepolicy.glade:823
+msgid "Add a new item"
-+msgstr ""
++msgstr "नविन घटक समाविष्ट करा"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:442
+msgid "File path used to enter the above selected process domain."
-+msgstr ""
++msgstr "वरील निवडलेले प्रोसेस डोमेनकरिता वापरण्याजोगी फाइल मार्ग."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:450
+#: ../sepolicy/sepolicy/sepolicy.glade:531
+msgid "File Path"
-+msgstr ""
++msgstr "फाइल मार्ग"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:468
+#: ../sepolicy/sepolicy/sepolicy.glade:549
+msgid "SELinux File Label"
-+msgstr ""
++msgstr "SELinux फाइल लेबल"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:485
+#: ../sepolicy/sepolicy/sepolicy.glade:567
+#: ../sepolicy/sepolicy/sepolicy.glade:660
+msgid "Class"
-+msgstr ""
++msgstr "वर्ग"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:505
+msgid "File path used to enter the 'selected domain'."
-+msgstr ""
++msgstr "'selected domain' देण्याकरिता वापरण्याजोगी फाइल मार्ग."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:506
+msgid "Executable Files"
-+msgstr ""
++msgstr "एक्जिक्युटेबल फाइल्स्"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:523
+msgid "Files to which the above selected process domain can write."
-+msgstr ""
++msgstr "फाइल्स, जेथे वरील निवडलेल्या प्रोसेस डोमेन लिहू शकतात."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:591
+msgid "Files to which the 'selected domain' can write."
-+msgstr ""
++msgstr "फाइल्स, जेथे 'निवडलेले डोमेन' लिहू शकतात."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:592
+msgid "Writable Files"
-+msgstr ""
++msgstr "लेखनजोगी फाइल्स"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:610
+msgid "File Types defined for the selected domain"
-+msgstr ""
++msgstr "निवडलेल्या डोमेनकरिता ठरवलेले फाइल प्रकार"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:618
+msgid "File path"
-+msgstr ""
++msgstr "फाइल मार्ग"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:686
+msgid "File Types defined for the 'selected domain'."
-+msgstr ""
++msgstr "'निवडलेल्या डोमेन'करिता ठरवलेले फाइल प्रकार."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:687
+msgid "Application File Types"
-+msgstr ""
++msgstr "ॲप्लिकेशन फाइल प्रकार"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:856
+msgid "Network Ports to which the selected domain is allowed to connect."
-+msgstr ""
++msgstr "निवडलेले डोमेन ज्यासह जोडणी करते, ते नेटवर्क पोर्टस्"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:898
+#: ../sepolicy/sepolicy/sepolicy.glade:997
+msgid "Modified"
-+msgstr ""
++msgstr "संपादित केले"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:937
+msgid "Network Ports to which the 'selected domain' is allowed to connect."
-+msgstr ""
++msgstr "निवडलेले डोमेन ज्यासह जोडणी करते, ते नेटवर्क पोर्टस्"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:938
+msgid "Outbound"
-+msgstr ""
++msgstr "आऊटबाऊंड"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:955
+msgid "Network Ports to which the selected domain is allowed to listen."
-+msgstr ""
++msgstr "नेटवर्क पोर्ट ज्यासह निवडलेले डोमेन ऐकण्यास सहमती दिली जाते."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1038
+msgid "Network Ports to which the 'selected domain' is allowed to listen."
-+msgstr ""
++msgstr "नेटवर्क पोर्ट ज्यासह निवडलेले डोमेन ऐकण्यास सहमती दिली जाते."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1039
+msgid "Inbound"
-+msgstr ""
++msgstr "इंबाऊंड"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1189
+#: ../sepolicy/sepolicy/sepolicy.glade:1260
+msgid ""
+"Executables which will transition to a different domain, when the 'selected "
+"domain' executes them."
-+msgstr ""
++msgstr "वेगळ्या डोमेनकरिता स्थानांतरनजोगी एक्जिक्युटेबल्स, जेव्हा 'निवडलेले डोमेन' त्यास चालवते."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1194
+#: ../sepolicy/sepolicy/sepolicy.glade:1285
+msgid "Enabled"
-+msgstr ""
++msgstr "सुरू केले"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1223
+msgid "Executable File Type"
-+msgstr ""
++msgstr "चालवण्याजोगी फाइल प्रकरा"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1239
+msgid "Transtype"
-+msgstr ""
++msgstr "ट्रांसटाइप"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1263
+msgid "Transitions From 'select domain'"
-+msgstr ""
++msgstr "'निवडलेल्या डोमेन' पासून स्थानांतरन"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1280
+#: ../sepolicy/sepolicy/sepolicy.glade:1337
+msgid ""
+"Executables which will transition to the 'selected domain', when executing a"
+" selected domains entrypoint."
-+msgstr ""
++msgstr "निवडलेली डोमेन्स एंट्रिपॉइंट चालवतेवेळी, 'निवडलेले डोमेन' करिता स्थानांतरनजोगी एक्जिक्युटेबल्स."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1299
+msgid "Calling Process Domain"
-+msgstr ""
++msgstr "प्रोसेस डोमनकरिता कॉल करत आहे"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1313
+msgid "Executable File"
-+msgstr ""
++msgstr "चालवण्याजोगी फाइल"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1338
+msgid "Transitions Into 'select domain'"
-+msgstr ""
++msgstr "'डोमेन निवडा' मधील ट्रांजिशन्स"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1388
+msgid "Reset"
-+msgstr ""
++msgstr "पूर्ववत् करा"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1392
+msgid "Reset to system default"
-+msgstr ""
++msgstr "पूर्वनिर्धारित प्रणालीकरिता मूळस्थिती या"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1403
+msgid "Update"
-+msgstr ""
++msgstr "सुधारणा"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1407
+msgid "Save your changes"
-+msgstr ""
++msgstr "बदल साठवा"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1454
+#: ../sepolicy/sepolicy/sepolicy.glade:1541
+#: ../sepolicy/sepolicy/sepolicy.glade:1629
+msgid "Add a File"
-+msgstr ""
++msgstr "फाइल समाविष्ट करा"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1504
+#: ../sepolicy/sepolicy/sepolicy.glade:1592
+#: ../sepolicy/sepolicy/sepolicy.glade:1680
+msgid "Save changes"
-+msgstr ""
++msgstr "बदल साठवा"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1518
+#: ../sepolicy/sepolicy/sepolicy.glade:1606
+#: ../sepolicy/sepolicy/sepolicy.glade:1694
+msgid "Reset Changes"
-+msgstr ""
++msgstr "बदल "
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1780
+msgid "Applicaiton more detailed view"
-+msgstr ""
++msgstr "ॲप्लिकेशन अधिक तपशील दृष्य"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1874
+msgid "Analyzing Policy..."
-+msgstr ""
++msgstr "धोरणचे विश्लेषण करत आहे..."
+
+#: ../sepolicy/sepolicy/gui.py:49
+msgid "No"
-+msgstr ""
++msgstr "नाही"
+
+#: ../sepolicy/sepolicy/gui.py:49
+msgid "Yes"
-+msgstr ""
++msgstr "होय"
+
+#: ../sepolicy/sepolicy/gui.py:61
+msgid "GTK Not Available"
-+msgstr ""
++msgstr "GTK उपलब्ध नाही"
+
+#: ../sepolicy/sepolicy/gui.py:195
+msgid "System Status: Enforcing"
-+msgstr ""
++msgstr "प्रणाली स्थिती: एंफोर्सिंग"
+
+#: ../sepolicy/sepolicy/gui.py:197
+msgid "System Status: Permissive"
-+msgstr ""
++msgstr "प्रणाली स्थिती: पर्मिसिव्ह"
+
+#: ../sepolicy/sepolicy/gui.py:199
+msgid "System Status: Disabled"
-+msgstr ""
++msgstr "प्रणाली स्थिती: डिसेबल्ड"
+
+#: ../sepolicy/sepolicy/gui.py:413
+#, python-format
+msgid "File path used to enter the '%s' domain."
-+msgstr ""
++msgstr "'%s' डोमेनकरिता वापरण्याजोगी फाइल मार्ग."
+
+#: ../sepolicy/sepolicy/gui.py:414
+#, python-format
+msgid "Files to which the '%s' domain can write."
-+msgstr ""
++msgstr "फाइल्स ज्याकरिता '%s' डोमेन लिहेल."
+
+#: ../sepolicy/sepolicy/gui.py:415
+#, python-format
+msgid "Network Ports to which the '%s' is allowed to connect."
-+msgstr ""
++msgstr "'%s' ज्यासह नेटवर्क पोर्ट्स जोडणी करेल."
+
+#: ../sepolicy/sepolicy/gui.py:416
+#, python-format
+msgid "Network Ports to which the '%s' is allowed to listen."
-+msgstr ""
++msgstr "नेटवर्क पोर्ट्स ज्याकरिता '%s' ऐकतील."
+
+#: ../sepolicy/sepolicy/gui.py:417
+#, python-format
+msgid "File Types defined for the '%s'."
-+msgstr ""
++msgstr "'%s' करिता ठरवलेले फाइल प्रकार."
+
+#: ../sepolicy/sepolicy/gui.py:418
+#, python-format
+msgid ""
+"Display boolean information that can be used to modify the policy for the "
+"'%s'."
-+msgstr ""
++msgstr "'%s' करिता धोरण संपादित करण्यासाठी वापरण्याजोगी बूलियन माहिती दाखवा"
+
+#: ../sepolicy/sepolicy/gui.py:419
+#, python-format
+msgid "Display file type information that can be used by the '%s'."
-+msgstr ""
++msgstr "'%s' करिता वापरण्याजोगी फाइल प्रकार माहिती दाखवा"
+
+#: ../sepolicy/sepolicy/gui.py:420
+#, python-format
+msgid "Display network ports to which the '%s' can connect or listen to."
-+msgstr ""
++msgstr "'%s' जेथे जोडणी किंवा ऐकू शकतो असे नेटवर्क पोर्ट्स दाखवा."
+
+#: ../sepolicy/sepolicy/gui.py:421
+#, python-format
+msgid "Transitions Into '%s'"
-+msgstr ""
++msgstr "'%s' करिता ट्रांजिशन्स"
+
+#: ../sepolicy/sepolicy/gui.py:422
+#, python-format
+msgid "Transitions From '%s'"
-+msgstr ""
++msgstr "'%s' पासून ट्रांजिशन्स"
+
+#: ../sepolicy/sepolicy/gui.py:423
+#, python-format
+msgid ""
+"Executables which will transition to the '%s', when executing a selected "
+"domains entrypoint."
-+msgstr ""
++msgstr "निवडलेली डोमेन्स एंट्रिपॉइंट चालवतेवेळी, '%s'करिता स्थानांतरनजोगी एक्जिक्युटेबल्स."
+
+#: ../sepolicy/sepolicy/gui.py:424
+#, python-format
+msgid ""
+"Executables which will transition to a different domain, when the '%s' "
+"executes them."
-+msgstr ""
++msgstr "वेगळ्या डोमेनकरिता स्थानांतरनजोगी एक्जिक्युटेबल्स, जेव्हा '%s' त्यास चालवते."
+
+#: ../sepolicy/sepolicy/gui.py:425
+#, python-format
+msgid "Display applications that can transition into or out of the '%s'."
-+msgstr ""
++msgstr "'%s' करिता ट्रांजिशन शक्य किंवा अशक्य ॲप्लिकेशन्स दाखवा"
+
+#: ../sepolicy/sepolicy/gui.py:604
+#, python-format
+msgid "Boolean %s Allow Rules"
-+msgstr ""
++msgstr "बूलिअन %s अलाव रूल्स"
diff --git a/policycoreutils/po/ms.po b/policycoreutils/po/ms.po
index faac0bb..b252bcd 100644
--- a/policycoreutils/po/ms.po
@@ -280340,10 +280342,10 @@ index b78aead..f2769e7 100644
+msgid "Boolean %s Allow Rules"
+msgstr ""
diff --git a/policycoreutils/po/ta.po b/policycoreutils/po/ta.po
-index a8593c5..b7a3a40 100644
+index a8593c5..0a4a9c3 100644
--- a/policycoreutils/po/ta.po
+++ b/policycoreutils/po/ta.po
-@@ -3,17 +3,17 @@
+@@ -3,18 +3,18 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
@@ -280363,11 +280365,13 @@ index a8593c5..b7a3a40 100644
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-01-04 12:01-0500\n"
-"PO-Revision-Date: 2013-01-04 17:02+0000\n"
+-"Last-Translator: dwalsh <dwalsh at redhat.com>\n"
+"POT-Creation-Date: 2013-07-10 16:36-0400\n"
-+"PO-Revision-Date: 2013-07-10 20:44+0000\n"
- "Last-Translator: dwalsh <dwalsh at redhat.com>\n"
++"PO-Revision-Date: 2013-07-23 10:52+0000\n"
++"Last-Translator: shkumar <shkumar at redhat.com>\n"
"Language-Team: Tamil <tamil-users at lists.fedoraproject.org>\n"
"MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
@@ -29,7 +29,7 @@ msgid ""
" <args ...> are the arguments to that script."
msgstr "பயன்பாடு: run_init <script> <args ...>\n எங்கு: <script> ஆரம்ப உரையின் பெயரை இயக்க வேண்டும்,\n <args ...> இவை அந்த உரையின் மதிப்புகள் ஆகும்."
@@ -280403,7 +280407,7 @@ index a8593c5..b7a3a40 100644
+#: ../semanage/seobject.py:288
+#, python-format
+msgid "Module does not exists %s "
-+msgstr ""
++msgstr "தொகுதிக்கூறு இல்லை %s "
+
+#: ../semanage/seobject.py:298
#, python-format
@@ -280444,7 +280448,7 @@ index a8593c5..b7a3a40 100644
+"In some distributions it is included in the policycoreutils-devel patckage.\n"
+"# yum install policycoreutils-devel\n"
+"Or similar for your distro."
-+msgstr ""
++msgstr "அனுமதிக்கும் டொமைன்களை அமைக்க sepolgen python தொகுதிக்கூறு தேவை.\nசில விநியோகத் தொகுப்புகளில் policycoreutils-devel தொகுப்பில் இது சேர்க்கப்பட்டிருக்கும்.\n# yum install policycoreutils-devel\nஅல்லது உங்கள் விநியோகத் தொகுப்புக்கு ஏற்ற ஒத்த கட்டளையைப் பயன்படுத்தவும்."
+
+#: ../semanage/seobject.py:418
#, python-format
@@ -282562,7 +282566,7 @@ index a8593c5..b7a3a40 100644
-#: booleans.py:70
+#: booleans.py:72
+msgid "Allow http daemon to connect to mythtv"
-+msgstr ""
++msgstr "mythtv க்கு இணைக்க http டெமானை அனுமதிக்கவும்"
+
+#: booleans.py:73
msgid "Allow http daemon to connect to zabbix"
@@ -282724,23 +282728,23 @@ index a8593c5..b7a3a40 100644
msgstr "httpd ஆனது openstack முனையங்களை அணுகுவதை அனுமதிக்கவும்"
-#: booleans.py:100
--msgid "Allow Apache to query NS records"
+#: booleans.py:103
+msgid "Allow httpd to connect to sasl"
- msgstr ""
++msgstr "sasl க்கு இணைக்க httpd ஐ அனுமதிக்கவும்"
++
++#: booleans.py:104
+ msgid "Allow Apache to query NS records"
+-msgstr ""
++msgstr "NS பதிவுகளை வினவ Apache ஐ அனுமதிக்கவும்"
-#: booleans.py:101
-msgid "Allow icecast to connect to all ports, not just sound ports."
-msgstr "ஒலி துறைகள் இல்லாமல், அனைத்து துறைகளை இணைக்க icecast-ஐ அனுமதிக்கவும்"
-+#: booleans.py:104
-+msgid "Allow Apache to query NS records"
-+msgstr "NS பதிவுகளை வினவ Apache ஐ அனுமதிக்கவும்"
-
--#: booleans.py:102
+#: booleans.py:105
+msgid "Determine whether icecast can listen on and connect to any TCP port."
+msgstr "icecast ஆல் எந்த ஓரு TCP முனையத்திலும் கவனிக்கவும் இணைக்கவும் முடிய வேண்டுமா எனத் தீர்மானிக்கவும்."
-+
+
+-#: booleans.py:102
+#: booleans.py:106
+msgid ""
+"Determine whether irc clients can listen on and connect to any unreserved "
@@ -282818,7 +282822,7 @@ index a8593c5..b7a3a40 100644
-msgstr "ஏற்றுதல் கட்டளை ஏதாவது அடைவு அல்லது கோப்பில் ஏற்றுவதற்கு அனுமதிக்கவும்."
+#: booleans.py:121
+msgid "Allow the mount commands to mount any directory or file."
-+msgstr ""
++msgstr "ஏற்றுதல் கட்டளைகள் எந்த கோப்பகம் அல்லது கோப்பையும் ஏற்ற அனுமதிக்கவும்."
-#: booleans.py:110
+#: booleans.py:122
@@ -282831,12 +282835,12 @@ index a8593c5..b7a3a40 100644
-msgstr "mozilla_plugins பயனர் இல்லக் கோப்பகத்தில் எழுந்தமானமான உள்ளடக்கத்தை உருவாக்க அனுமதிக்கவும்."
+#: booleans.py:123
+msgid "Allow mozilla plugin to support GPS."
-+msgstr ""
++msgstr "mozilla செருகுநிரல் GPS ஐ ஆதரிக்க அனுமதிக்கவும்."
-#: booleans.py:112
+#: booleans.py:124
+msgid "Allow mozilla plugin to support spice protocols."
-+msgstr ""
++msgstr "mozilla செருகுநிரல் spice நெறிமுறைகளை ஆதரிக்க அனுமதிக்கவும்."
+
+#: booleans.py:125
msgid "Allow confined web browsers to read home directory content"
@@ -283007,7 +283011,7 @@ index a8593c5..b7a3a40 100644
-"Allow privoxy to connect to all ports, not just HTTP, FTP, and Gopher ports."
-msgstr "அனைத்து துறைகள், HTTP இல்லாத, FTP, மற்றும் Gopher துறைகளுக்கு இணைப்பதற்கு ப்ரிவோக்ஸியை அனுமதிக்கவும்."
+"Permit to prosody to bind apache port. Need to be activated to use BOSH."
-+msgstr ""
++msgstr "apache முனையத்தில் பிணைக்க prosody ஐ அனுமதிக்கவும். BOSH ஐப் பயன்படுத்த இதை செயல்படுத்த வேண்டும்."
-#: booleans.py:139
+#: booleans.py:156
@@ -283216,12 +283220,12 @@ index a8593c5..b7a3a40 100644
+#: booleans.py:190
msgid "Allow user to use ssh chroot environment."
-msgstr ""
--
++msgstr "ssh chroot சூழலைப் பயன்படுத்த பயனரை அனுமதிக்கவும்."
+
-#: booleans.py:175
-msgid "Allow user music sharing"
-msgstr "பயனர் இசை பகிர்தலை அனுமதிக்கவும்"
-+msgstr "ssh chroot சூழலைப் பயன்படுத்த பயனரை அனுமதிக்கவும்."
-
+-
-#: booleans.py:176
+#: booleans.py:191
msgid ""
@@ -283359,7 +283363,7 @@ index a8593c5..b7a3a40 100644
-#: booleans.py:196
+#: booleans.py:211
+msgid "Allow testpolicy to exec content"
-+msgstr ""
++msgstr "உள்ளடக்கத்தை exec செய்ய testpolicy ஐ அனுமதிக்கவும்"
+
+#: booleans.py:212
msgid ""
@@ -283553,7 +283557,7 @@ index a8593c5..b7a3a40 100644
+msgid ""
+"Allow the graphical login program to create files in HOME dirs as "
+"xdm_home_t."
-+msgstr ""
++msgstr "HOME dirs இல் xdm_home_t ஆக கோப்புகளை உருவாக்க வரைவியல் புகுபதிவு நிரலை அனுமதிக்கவும்."
+
+#: booleans.py:243
msgid "Allow xen to manage nfs files"
@@ -283629,7 +283633,7 @@ index a8593c5..b7a3a40 100644
+
+#: booleans.py:256
+msgid "Allow ZoneMinder to run su/sudo."
-+msgstr ""
++msgstr "su/sudo ஐ இயக்க ZoneMinder ஐ அனுமதிக்கவும்."
+
+#: ../sepolicy/sepolicy.py:194
+#, python-format
@@ -283638,7 +283642,7 @@ index a8593c5..b7a3a40 100644
+
+#: ../sepolicy/sepolicy.py:281
+msgid "Graphical User Interface for SELinux Policy"
-+msgstr ""
++msgstr "SELinux கொள்கைக்கான வரைகலை பயனர் இடைமுகம்"
+
+#: ../sepolicy/sepolicy.py:305
+msgid "Generate SELinux man pages"
@@ -283772,11 +283776,11 @@ index a8593c5..b7a3a40 100644
+
+#: ../sepolicy/sepolicy.py:528
+msgid "Enter SELinux role(s) to which the administror domain will transition"
-+msgstr ""
++msgstr "நிர்வாகி டொமைன் மாறக்கூடிய SELinux பங்குகளை உள்ளிடவும்"
+
+#: ../sepolicy/sepolicy.py:531
+msgid "Enter domain(s) which this confined admin will administrate"
-+msgstr ""
++msgstr "இந்த கட்டுப்படுத்தப்பட்ட நிர்வாகி நிர்வகிக்கும் டொமைன்களை உள்ளிடவும்"
+
+#: ../sepolicy/sepolicy.py:534
+msgid "name of policy to generate"
@@ -283823,35 +283827,35 @@ index a8593c5..b7a3a40 100644
+
+#: ../sepolicy/sepolicy/__init__.py:167 ../sepolicy/sepolicy/gui.py:479
+msgid "all files"
-+msgstr ""
++msgstr "அனைத்து கோப்புகள்"
+
+#: ../sepolicy/sepolicy/__init__.py:168
+msgid "regular file"
-+msgstr ""
++msgstr "வழக்கமான கோப்பு"
+
+#: ../sepolicy/sepolicy/__init__.py:169
+msgid "directory"
-+msgstr ""
++msgstr "கோப்பகம்"
+
+#: ../sepolicy/sepolicy/__init__.py:170
+msgid "character device"
-+msgstr ""
++msgstr "எழுத்து சாதன பெயர்"
+
+#: ../sepolicy/sepolicy/__init__.py:171
+msgid "block device"
-+msgstr ""
++msgstr "தொகுப்பு சாதனம்"
+
+#: ../sepolicy/sepolicy/__init__.py:172
+msgid "socket file"
-+msgstr ""
++msgstr "சாக்கெட் கோப்பு"
+
+#: ../sepolicy/sepolicy/__init__.py:173
+msgid "symbolic link"
-+msgstr ""
++msgstr "குறியீடு இணைப்பு"
+
+#: ../sepolicy/sepolicy/__init__.py:174
+msgid "named pipe"
-+msgstr ""
++msgstr "பெயரிடப்பட்ட பைப்"
+
+#: ../sepolicy/sepolicy/__init__.py:306
+msgid "No SELinux Policy installed"
@@ -283859,7 +283863,7 @@ index a8593c5..b7a3a40 100644
+
+#: ../sepolicy/sepolicy/__init__.py:386
+msgid "You must regenerate interface info by running /usr/bin/sepolgen-ifgen"
-+msgstr ""
++msgstr "நீங்கள் /usr/bin/sepolgen-ifgen ஐ இயக்கி இடைமுகத் தகவலை மீண்டும் உருவாக்க வேண்டும்"
+
+#: ../sepolicy/sepolicy/__init__.py:591
+#, python-format
@@ -283996,368 +284000,368 @@ index a8593c5..b7a3a40 100644
+
+#: ../sepolicy/sepolicy/sepolicy.glade:7
+msgid "SELinux Gui"
-+msgstr ""
++msgstr "SELinux Gui"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:33
+msgid "Type to search for a process"
-+msgstr ""
++msgstr "ஒரு செயலாக்கத்தைத் தேட இங்கு தட்டச்சு செய்யவும்"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:35
+msgid "Select domain"
-+msgstr ""
++msgstr "டொமைனைத் தேர்ந்தெடுக்கவும்"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:70
+#: ../sepolicy/sepolicy/sepolicy.glade:308
+msgid "Booleans"
-+msgstr ""
++msgstr "பூலியன்கள்"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:74
+msgid ""
+"Display boolean information that can be used to modify the policy for the "
+"'selected domain'."
-+msgstr ""
++msgstr "'தேர்ந்தெடுக்கப்பட்ட டொமைனுக்கான' கொள்கையில் மாற்றம் செய்ய பயன்படுத்தக்கூடிய பூலியன் தகவலைக் காண்பி."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:85
+#: ../sepolicy/sepolicy/sepolicy.glade:710
+msgid "Files"
-+msgstr ""
++msgstr "கோப்புகள்"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:89
+msgid ""
+"Display file type information that can be used by the 'selected domain'."
-+msgstr ""
++msgstr "'தேர்ந்தெடுக்கப்பட்ட டொமைன்' பயன்படுத்தக்கூடிய கோப்பு வகைத் தகவலைக் காண்பி."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:100
+#: ../sepolicy/sepolicy/sepolicy.glade:1062
+msgid "Network"
-+msgstr ""
++msgstr "பிணையம்"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:104
+msgid ""
+"Display network ports to which the 'selected domain' can connect or listen "
+"to."
-+msgstr ""
++msgstr "'தேர்ந்தெடுக்கப்பட்ட டொமைன்' இணைக்கக்கூடிய அல்லது கவனிக்கக்கூடிய பிணைய முனையங்களைக் காண்பி."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:115
+#: ../sepolicy/sepolicy/sepolicy.glade:1361
+msgid "Transitions"
-+msgstr ""
++msgstr "நிலைமாற்றங்கள்"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:119
+msgid ""
+"Display applications that can transition into or out of the 'selected "
+"domain'."
-+msgstr ""
++msgstr "'தேர்ந்தெடுக்கப்பட்ட டொமைனுக்கு' அல்லது அதிலிருந்து நிலைமாற்றம் அடையக்கூடிய பயன்பாடுகளைக் காண்பி."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:188
+#: ../sepolicy/sepolicy/sepolicy.glade:358
+#: ../sepolicy/sepolicy/sepolicy.glade:765
+#: ../sepolicy/sepolicy/sepolicy.glade:1113
+msgid "Show Modified Only"
-+msgstr ""
++msgstr "மாற்றம் செய்யப்பட்டவை மட்டும் காண்பி"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:219
+msgid ""
+"If-Then-Else rules written in policy that can \n"
+"allow alternative access control."
-+msgstr ""
++msgstr "கொள்கையில் எழுதப்பட்டுள்ள, மாற்று அணுகல் கட்டுப்பாட்டை அனுமதிக்கக்கூடிய If-Then-Else \nவிதிகள்."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:373
+#: ../sepolicy/sepolicy/sepolicy.glade:787
+#: ../sepolicy/sepolicy/sepolicy.glade:1128
+msgid "Modify"
-+msgstr ""
++msgstr "மாற்றியமை"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:377
+#: ../sepolicy/sepolicy/sepolicy.glade:791
+msgid "Modify an existing item"
-+msgstr ""
++msgstr "முன்பே உள்ள உருப்படியில் மாற்றம் செய்"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:389
+#: ../sepolicy/sepolicy/sepolicy.glade:803
+#: ../sepolicy/sepolicy/sepolicy.glade:1142
+msgid "Delete"
-+msgstr ""
++msgstr "அழி"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:393
+#: ../sepolicy/sepolicy/sepolicy.glade:807
+msgid "Delete an existing item"
-+msgstr ""
++msgstr "முன்பே உள்ள உருப்படியை அழி"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:409
+#: ../sepolicy/sepolicy/sepolicy.glade:823
+msgid "Add a new item"
-+msgstr ""
++msgstr "புதிய உருப்படியைச் சேர்"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:442
+msgid "File path used to enter the above selected process domain."
-+msgstr ""
++msgstr "மேலே தேர்ந்தெடுத்த செயலாக்க டொமைனை உள்ளிடப் பயன்படுத்திய கோப்புப் பாதை."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:450
+#: ../sepolicy/sepolicy/sepolicy.glade:531
+msgid "File Path"
-+msgstr ""
++msgstr "கோப்புப் பாதை"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:468
+#: ../sepolicy/sepolicy/sepolicy.glade:549
+msgid "SELinux File Label"
-+msgstr ""
++msgstr "SELinux கோப்பு லேபிள்"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:485
+#: ../sepolicy/sepolicy/sepolicy.glade:567
+#: ../sepolicy/sepolicy/sepolicy.glade:660
+msgid "Class"
-+msgstr ""
++msgstr "வகுப்பு"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:505
+msgid "File path used to enter the 'selected domain'."
-+msgstr ""
++msgstr "'தேர்ந்தெடுத்த டொமைனை' உள்ளிடப் பயன்படுத்திய கோப்புப் பாதை."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:506
+msgid "Executable Files"
-+msgstr ""
++msgstr "செயல்படுத்தக்கூடிய கோப்புகள்"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:523
+msgid "Files to which the above selected process domain can write."
-+msgstr ""
++msgstr "மேலே தேர்ந்தெடுத்த செயலாக்க டொமைன் எழுதக்கூடிய கோப்புகள்."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:591
+msgid "Files to which the 'selected domain' can write."
-+msgstr ""
++msgstr "'தேர்ந்தெடுத்த டொமைன்' எழுதக்கூடிய கோப்புகள்."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:592
+msgid "Writable Files"
-+msgstr ""
++msgstr "எழுதக்கூடிய கோப்புகள்"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:610
+msgid "File Types defined for the selected domain"
-+msgstr ""
++msgstr "தேர்ந்தெடுத்த டொமைனுக்கான வரையறுக்கப்பட்ட கோப்பு வகைகள்"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:618
+msgid "File path"
-+msgstr ""
++msgstr "கோப்புப் பாதை"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:686
+msgid "File Types defined for the 'selected domain'."
-+msgstr ""
++msgstr "'தேர்ந்தெடுத்த டொமைனுக்கான' வரையறுக்கப்பட்ட கோப்பு வகைகள்."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:687
+msgid "Application File Types"
-+msgstr ""
++msgstr "பயன்பாடு கோப்பு வகைகள்"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:856
+msgid "Network Ports to which the selected domain is allowed to connect."
-+msgstr ""
++msgstr "தேர்ந்தெடுக்கப்பட்ட டொமைன் இணைக்க அனுமதிக்கப்பட்ட பிணைய முனையங்கள்."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:898
+#: ../sepolicy/sepolicy/sepolicy.glade:997
+msgid "Modified"
-+msgstr ""
++msgstr "மாற்றப்பட்டது"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:937
+msgid "Network Ports to which the 'selected domain' is allowed to connect."
-+msgstr ""
++msgstr "'தேர்ந்தெடுக்கப்பட்ட டொமைன்' இணைக்க அனுமதிக்கப்பட்ட பிணைய முனையங்கள்."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:938
+msgid "Outbound"
-+msgstr ""
++msgstr "வெளிவகை"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:955
+msgid "Network Ports to which the selected domain is allowed to listen."
-+msgstr ""
++msgstr "தேர்ந்தெடுக்கப்பட்ட டொமைன் கவனிக்க அனுமதிக்கப்பட்ட பிணைய முனையங்கள்."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1038
+msgid "Network Ports to which the 'selected domain' is allowed to listen."
-+msgstr ""
++msgstr "'தேர்ந்தெடுக்கப்பட்ட டொமைன்' கவனிக்க அனுமதிக்கப்பட்ட பிணைய முனையங்கள்."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1039
+msgid "Inbound"
-+msgstr ""
++msgstr "உள்வகை"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1189
+#: ../sepolicy/sepolicy/sepolicy.glade:1260
+msgid ""
+"Executables which will transition to a different domain, when the 'selected "
+"domain' executes them."
-+msgstr ""
++msgstr "'தேர்ந்தெடுக்கப்பட்ட டொமைன்' செயல்படுத்தக்கூடியவற்றை இயக்கும் போது, வேறு டொமைனுக்கு நிலைமாறும் செயல்படுத்தக்கூடியவை."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1194
+#: ../sepolicy/sepolicy/sepolicy.glade:1285
+msgid "Enabled"
-+msgstr ""
++msgstr "செயல்படுத்தப்பட்டது"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1223
+msgid "Executable File Type"
-+msgstr ""
++msgstr "செயல்படுத்தக்கூடிய கோப்பு வகை"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1239
+msgid "Transtype"
-+msgstr ""
++msgstr "Transtype"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1263
+msgid "Transitions From 'select domain'"
-+msgstr ""
++msgstr "'தேர்ந்தெடுத்த டொமைனிலிருந்து' நிலைமாற்றம்"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1280
+#: ../sepolicy/sepolicy/sepolicy.glade:1337
+msgid ""
+"Executables which will transition to the 'selected domain', when executing a"
+" selected domains entrypoint."
-+msgstr ""
++msgstr "தேர்ந்தெடுக்கப்பட்ட டொமைன்கள் நுழைவுப்புள்ளியை செயல்படுத்தும் போது, 'தேர்ந்தெடுக்கப்பட்ட டொமைனுக்கு' நிலைமாறும் செயல்படுத்தக்கூடியவை."
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1299
+msgid "Calling Process Domain"
-+msgstr ""
++msgstr "செயலாக்க டொமைனை அழைக்கிறது"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1313
+msgid "Executable File"
-+msgstr ""
++msgstr "செயல்படுத்தக்கூடிய கோப்பு"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1338
+msgid "Transitions Into 'select domain'"
-+msgstr ""
++msgstr "'தேர்ந்தெடுத்த டொமைனுக்கான' நிலைமாற்றங்கள்"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1388
+msgid "Reset"
-+msgstr ""
++msgstr "மீட்டமை"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1392
+msgid "Reset to system default"
-+msgstr ""
++msgstr "கணினி முன்னிருப்புக்கு மீட்டமைக்கவும்"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1403
+msgid "Update"
-+msgstr ""
++msgstr "புதுப்பி"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1407
+msgid "Save your changes"
-+msgstr ""
++msgstr "உங்கள் மாற்றங்களை சேமிக்கவும்"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1454
+#: ../sepolicy/sepolicy/sepolicy.glade:1541
+#: ../sepolicy/sepolicy/sepolicy.glade:1629
+msgid "Add a File"
-+msgstr ""
++msgstr "ஒரு கோப்பைச் சேர்"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1504
+#: ../sepolicy/sepolicy/sepolicy.glade:1592
+#: ../sepolicy/sepolicy/sepolicy.glade:1680
+msgid "Save changes"
-+msgstr ""
++msgstr "மாற்றங்களைச் சேமி"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1518
+#: ../sepolicy/sepolicy/sepolicy.glade:1606
+#: ../sepolicy/sepolicy/sepolicy.glade:1694
+msgid "Reset Changes"
-+msgstr ""
++msgstr "மாற்றங்களை மீட்டமை"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1780
+msgid "Applicaiton more detailed view"
-+msgstr ""
++msgstr "பயன்பாடு மேலும் விவரமான காட்சி"
+
+#: ../sepolicy/sepolicy/sepolicy.glade:1874
+msgid "Analyzing Policy..."
-+msgstr ""
++msgstr "கொள்கையைப் பகுப்பாய்வு செய்கிறது..."
+
+#: ../sepolicy/sepolicy/gui.py:49
+msgid "No"
-+msgstr ""
++msgstr "இல்லை"
+
+#: ../sepolicy/sepolicy/gui.py:49
+msgid "Yes"
-+msgstr ""
++msgstr "ஆம்"
+
+#: ../sepolicy/sepolicy/gui.py:61
+msgid "GTK Not Available"
-+msgstr ""
++msgstr "GTK கிடைக்கவில்லை"
+
+#: ../sepolicy/sepolicy/gui.py:195
+msgid "System Status: Enforcing"
-+msgstr ""
++msgstr "கணினி நிலை: செயல்படுத்துகிறது"
+
+#: ../sepolicy/sepolicy/gui.py:197
+msgid "System Status: Permissive"
-+msgstr ""
++msgstr "கணினி நிலை: அனுமதிக்கிறது"
+
+#: ../sepolicy/sepolicy/gui.py:199
+msgid "System Status: Disabled"
-+msgstr ""
++msgstr "கணினி நிலை: முடக்கப்பட்டுள்ளது"
+
+#: ../sepolicy/sepolicy/gui.py:413
+#, python-format
+msgid "File path used to enter the '%s' domain."
-+msgstr ""
++msgstr "'%s' டொமைனை உள்ளிடப் பயன்படுத்திய கோப்புப் பாதை."
+
+#: ../sepolicy/sepolicy/gui.py:414
+#, python-format
+msgid "Files to which the '%s' domain can write."
-+msgstr ""
++msgstr "'%s' டொமைன் எழுதக்கூடிய கோப்புகள்."
+
+#: ../sepolicy/sepolicy/gui.py:415
+#, python-format
+msgid "Network Ports to which the '%s' is allowed to connect."
-+msgstr ""
++msgstr "'%s' இணைக்க அனுமதிக்கப்பட்ட பிணைய முனையங்கள்."
+
+#: ../sepolicy/sepolicy/gui.py:416
+#, python-format
+msgid "Network Ports to which the '%s' is allowed to listen."
-+msgstr ""
++msgstr "'%s' கவனிக்க அனுமதிக்கப்பட்ட பிணைய முனையங்கள்."
+
+#: ../sepolicy/sepolicy/gui.py:417
+#, python-format
+msgid "File Types defined for the '%s'."
-+msgstr ""
++msgstr "'%s' க்கான வரையறுக்கப்பட்ட கோப்பு வகைகள்."
+
+#: ../sepolicy/sepolicy/gui.py:418
+#, python-format
+msgid ""
+"Display boolean information that can be used to modify the policy for the "
+"'%s'."
-+msgstr ""
++msgstr "'%s' க்கான கொள்கையில் மாற்றம் செய்ய பயன்படுத்தக்கூடிய பூலியன் தகவலைக் காண்பி."
+
+#: ../sepolicy/sepolicy/gui.py:419
+#, python-format
+msgid "Display file type information that can be used by the '%s'."
-+msgstr ""
++msgstr "'%s' பயன்படுத்தக்கூடிய கோப்பு வகைத் தகவலைக் காண்பி"
+
+#: ../sepolicy/sepolicy/gui.py:420
+#, python-format
+msgid "Display network ports to which the '%s' can connect or listen to."
-+msgstr ""
++msgstr "'%s' இணைக்கக்கூடிய அல்லது கவனிக்கக்கூடிய பிணைய முனையங்களைக் காண்பி."
+
+#: ../sepolicy/sepolicy/gui.py:421
+#, python-format
+msgid "Transitions Into '%s'"
-+msgstr ""
++msgstr "'%s' க்கான நிலைமாற்றங்கள்"
+
+#: ../sepolicy/sepolicy/gui.py:422
+#, python-format
+msgid "Transitions From '%s'"
-+msgstr ""
++msgstr "'%s' இலிருந்தான நிலைமாற்றங்கள்"
+
+#: ../sepolicy/sepolicy/gui.py:423
+#, python-format
+msgid ""
+"Executables which will transition to the '%s', when executing a selected "
+"domains entrypoint."
-+msgstr ""
++msgstr "தேர்ந்தெடுக்கப்பட்ட டொமைன்கள் நுழைவுப்புள்ளியை செயல்படுத்தும் போது, '%s' க்கு நிலைமாறும் செயல்படுத்தக்கூடியவை."
+
+#: ../sepolicy/sepolicy/gui.py:424
+#, python-format
+msgid ""
+"Executables which will transition to a different domain, when the '%s' "
+"executes them."
-+msgstr ""
++msgstr "'%s' செயல்படுத்தக்கூடியவற்றை இயக்கும் போது, வேறு டொமைனுக்கு நிலைமாறும் செயல்படுத்தக்கூடியவை."
+
+#: ../sepolicy/sepolicy/gui.py:425
+#, python-format
+msgid "Display applications that can transition into or out of the '%s'."
-+msgstr ""
++msgstr "'%s' க்கு அல்லது அதிலிருந்து நிலைமாற்றம் அடையக்கூடிய பயன்பாடுகளைக் காண்பி"
+
+#: ../sepolicy/sepolicy/gui.py:604
+#, python-format
+msgid "Boolean %s Allow Rules"
-+msgstr ""
++msgstr "பூலியன் %s விதிகளை அனுமதி"
diff --git a/policycoreutils/po/te.po b/policycoreutils/po/te.po
index 044ce97..7373dee 100644
--- a/policycoreutils/po/te.po
@@ -318089,7 +318093,7 @@ index 0000000..e2befdb
+ packages=["policycoreutils"],
+)
diff --git a/policycoreutils/semanage/semanage b/policycoreutils/semanage/semanage
-index 6e33c85..ce4e23d 100644
+index 6e33c85..aa8d46b 100644
--- a/policycoreutils/semanage/semanage
+++ b/policycoreutils/semanage/semanage
@@ -1,5 +1,7 @@
@@ -318326,7 +318330,7 @@ index 6e33c85..ce4e23d 100644
+def parser_add_type(parser, name):
+ parser.add_argument('-t', '--type', help=_('SELinux Type for the object'))
+def parser_add_level(parser, name):
-+ parser.add_argument('-L', '--level', default="s0", help=_('Default SELinux Level for SELinux user, s0 Default. (MLS/MCS Systems only)'))
++ parser.add_argument('-L', '--level', default="", help=_('Default SELinux Level for SELinux user, s0 Default. (MLS/MCS Systems only)'))
+def parser_add_range(parser, name):
+ parser.add_argument('-r', '--range', default="",
+ help=_('''
@@ -320879,7 +320883,7 @@ index 62dd53e..d6e1be0 100644
.SH SYNOPSIS
.B semodule_unpackage <module> [<file contexts>]
diff --git a/policycoreutils/sepolicy/Makefile b/policycoreutils/sepolicy/Makefile
-index 11b534f..1724490 100644
+index 11b534f..c797ab8 100644
--- a/policycoreutils/sepolicy/Makefile
+++ b/policycoreutils/sepolicy/Makefile
@@ -7,9 +7,9 @@ SBINDIR ?= $(PREFIX)/sbin
@@ -320894,13 +320898,16 @@ index 11b534f..1724490 100644
BASHCOMPLETIONS=sepolicy-bash-completion.sh
-@@ -22,11 +22,15 @@ clean:
+@@ -22,11 +22,18 @@ clean:
$(PYTHON) setup.py clean
-rm -rf build *~ \#* *pyc .#*
+sepolgen:
+ ln -sf sepolicy sepolgen
+
++test:
++ @python test_sepolicy.py -v
++
install:
$(PYTHON) setup.py install `test -n "$(DESTDIR)" && echo --root $(DESTDIR)`
[ -d $(BINDIR) ] || mkdir -p $(BINDIR)
@@ -321346,7 +321353,7 @@ index 0748ca9..6348287 100644
-selinux(8), sepolicy-booleans(8), sepolicy-communicate(8), sepolicy-generate(8), sepolicy-interface(8), sepolicy-network(8), sepolicy-manpage(8), sepolicy-transition(8)
+selinux(8), sepolicy-booleans(8), sepolicy-communicate(8), sepolicy-generate(8),sepolicy-gui(8), sepolicy-interface(8), sepolicy-network(8), sepolicy-manpage(8), sepolicy-transition(8)
diff --git a/policycoreutils/sepolicy/sepolicy.py b/policycoreutils/sepolicy/sepolicy.py
-index b25d3b2..f621227 100755
+index b25d3b2..086766e 100755
--- a/policycoreutils/sepolicy/sepolicy.py
+++ b/policycoreutils/sepolicy/sepolicy.py
@@ -22,6 +22,8 @@
@@ -321362,8 +321369,8 @@ index b25d3b2..f621227 100755
import __builtin__
__builtin__.__dict__['_'] = unicode
-+usage = "sepolicy generate [-h] [-n NAME] [-p PATH] [-w [WRITEPATHS [WRITEPATHS ...]]] ["
-+usage_dict = {' --newtype':('-t [TYPES [TYPES ...]]',),' --customize':('-d DOMAIN','-a ADMIN_DOMAIN',), ' --admin_user':('[-r TRANSITION_ROLE ]',), ' --application':('COMMAND',), ' --cgi':('COMMAND',), ' --confined_admin':('-a ADMIN_DOMAIN',), ' --dbus':('COMMAND',), ' --desktop_user':('',),' --inetd':('COMMAND',),' --init':('COMMAND',), ' --sandbox':('',), ' --term_user':('',), ' --x_user':('',)}
++usage = "sepolicy generate [-h] [-n NAME] [-p PATH] ["
++usage_dict = {' --newtype':('-t [TYPES [TYPES ...]]',),' --customize':('-d DOMAIN','-a ADMIN_DOMAIN',"[ -w WRITEPATHS ]",), ' --admin_user':('[-r TRANSITION_ROLE ]',"[ -w WRITEPATHS ]",), ' --application':('COMMAND',"[ -w WRITEPATHS ]",), ' --cgi':('COMMAND',"[ -w WRITEPATHS ]",), ' --confined_admin':('-a ADMIN_DOMAIN',"[ -w WRITEPATHS ]",), ' --dbus':('COMMAND',"[ -w WRITEPATHS ]",), ' --desktop_user':('',"[ -w WRITEPATHS ]",),' --inetd':('COMMAND',"[ -w WRITEPATHS ]",),' --init':('COMMAND',"[ -w WRITEPATHS ]",), ' --sandbox':("[ -w WRITEPATHS ]",), ' --term_user':("[ -w WRITEPATHS ]",), ' --x_user':("[ -w WRITEPATHS ]",)}
+
class CheckPath(argparse.Action):
def __call__(self, parser, namespace, values, option_string=None):
@@ -321667,26 +321674,30 @@ index b25d3b2..f621227 100755
if not args.command:
raise ValueError(_("Command required for this type of policy"))
cmd = os.path.realpath(args.command)
-@@ -346,8 +460,18 @@ def generate(args):
+@@ -346,8 +460,22 @@ def generate(args):
mypolicy.set_program(cmd)
if args.types:
+ if args.policytype not in conflict_args['TYPES']:
-+ raise ValueError(_("-t option can not be used with this option. Read usage for more details."))
++ raise ValueError(_("-t option can not be used with '%s' domains. Read usage for more details.") % sepolicy.generate.poltype[args.policytype])
mypolicy.set_types(args.types)
+ if args.domain:
+ if args.policytype not in conflict_args['DOMAIN']:
-+ raise ValueError(_("-d option can not be used with this option. Read usage for more details."))
++ raise ValueError(_("-d option can not be used with '%s' domains. Read usage for more details.") % sepolicy.generate.poltype[args.policytype])
+
+ if args.admin_domain:
+ if args.policytype not in conflict_args['ADMIN_DOMAIN']:
-+ raise ValueError(_("-a option can not be used with this option. Read usage for more details."))
++ raise ValueError(_("-a option can not be used with '%s' domains. Read usage for more details.") % sepolicy.generate.poltype[args.policytype])
+
++ if len(args.writepaths) > 0 and args.policytype == NEWTYPE:
++
++ raise ValueError(_("-w option can not be used with the --newtype option"))
++
for p in args.writepaths:
if os.path.isdir(p):
mypolicy.add_dir(p)
-@@ -355,6 +479,7 @@ def generate(args):
+@@ -355,6 +483,7 @@ def generate(args):
mypolicy.add_file(p)
mypolicy.set_transition_users(args.user)
@@ -321694,7 +321705,7 @@ index b25d3b2..f621227 100755
mypolicy.set_admin_domains(args.admin_domain)
mypolicy.set_existing_domains(args.domain)
-@@ -366,20 +491,34 @@ def generate(args):
+@@ -366,20 +495,34 @@ def generate(args):
def gen_interface_args(parser):
itf = parser.add_parser("interface",
help=_('List SELinux Policy interfaces'))
@@ -321732,7 +321743,7 @@ index b25d3b2..f621227 100755
help=_('Generate SELinux Policy module template'))
pol.add_argument("-d", "--domain", dest="domain", default=[],
action=CheckDomain, nargs="*",
-@@ -387,9 +526,12 @@ def gen_generate_args(parser):
+@@ -387,9 +530,12 @@ def gen_generate_args(parser):
pol.add_argument("-u", "--user", dest="user", default=[],
action=CheckUser,
help=_("Enter SELinux user(s) which will transition to this domain"))
@@ -321746,7 +321757,7 @@ index b25d3b2..f621227 100755
pol.add_argument("-n", "--name", dest="name",
default=None,
help=_("name of policy to generate"))
-@@ -397,53 +539,57 @@ def gen_generate_args(parser):
+@@ -397,53 +543,57 @@ def gen_generate_args(parser):
help=argparse.SUPPRESS)
pol.add_argument("-t", "--type", dest="types", default=[], nargs="*",
action=CheckType,
@@ -321768,17 +321779,17 @@ index b25d3b2..f621227 100755
- group.add_argument("--admin_user", dest="policytype", const=AUSER,
+ help=_("Generate '%s' policy") % poltype[USER])
+ cmdgroup.add_argument("--cgi", dest="policytype", const=CGI,
++ action="store_const",
++ help=_("Generate '%s' policy") % poltype[CGI])
++ cmdgroup.add_argument("--dbus", dest="policytype", const=DBUS,
action="store_const",
- help=_("Generate Policy for %s") % poltype[AUSER])
- group.add_argument("--application", dest="policytype", const=USER,
-+ help=_("Generate '%s' policy") % poltype[CGI])
-+ cmdgroup.add_argument("--dbus", dest="policytype", const=DBUS,
++ help=_("Generate '%s' policy") % poltype[DBUS])
++ cmdgroup.add_argument("--inetd", dest="policytype", const=INETD,
action="store_const",
- help=_("Generate Policy for %s") % poltype[USER])
- group.add_argument("--cgi", dest="policytype", const=CGI,
-+ help=_("Generate '%s' policy") % poltype[DBUS])
-+ cmdgroup.add_argument("--inetd", dest="policytype", const=INETD,
-+ action="store_const",
+ help=_("Generate '%s' policy") % poltype[INETD])
+ cmdgroup.add_argument("--init", dest="policytype", const=DAEMON,
+ action="store_const", default=DAEMON,
@@ -321830,7 +321841,7 @@ index b25d3b2..f621227 100755
pol.set_defaults(func=generate)
if __name__ == '__main__':
-@@ -455,17 +601,25 @@ if __name__ == '__main__':
+@@ -455,17 +605,25 @@ if __name__ == '__main__':
gen_booleans_args(subparsers)
gen_communicate_args(subparsers)
gen_generate_args(subparsers)
@@ -322660,7 +322671,7 @@ index a179d95..9b9a09a 100755
tlist = []
for l in map(lambda y: y[sepolicy.TARGET], filter(lambda x: set(perm).issubset(x[sepolicy.PERMS]), allows)):
diff --git a/policycoreutils/sepolicy/sepolicy/generate.py b/policycoreutils/sepolicy/sepolicy/generate.py
-index 26f8390..4aac488 100644
+index 26f8390..e27bc88 100644
--- a/policycoreutils/sepolicy/sepolicy/generate.py
+++ b/policycoreutils/sepolicy/sepolicy/generate.py
@@ -63,20 +63,6 @@ except IOError:
@@ -322693,6 +322704,24 @@ index 26f8390..4aac488 100644
def verify_ports(ports):
if ports == "":
+@@ -206,7 +192,7 @@ class policy:
+ raise ValueError(_("You must enter a valid policy type"))
+
+ if not name:
+- raise ValueError(_("You must enter a name for your policy module for your %s.") % poltype[type])
++ raise ValueError(_("You must enter a name for your policy module for your '%s'.") % poltype[type])
+ try:
+ self.ports = get_all_ports()
+ except ValueError, e:
+@@ -319,7 +305,7 @@ class policy:
+ self.DEFAULT_EXT["_var_log_t"] = var_log;
+ self.DEFAULT_EXT["_var_run_t"] = var_run;
+ self.DEFAULT_EXT["_var_spool_t"] = var_spool;
+- self.DEFAULT_EXT["port_t"] = network;
++ self.DEFAULT_EXT["_port_t"] = network;
+
+ self.DEFAULT_KEYS=["/etc", "/var/cache", "/var/log", "/tmp", "rw", "/var/lib", "/var/run", "/var/spool", "/etc/systemd/system", "/usr/lib/systemd/system", "/lib/systemd/system" ]
+
@@ -587,7 +573,7 @@ class policy:
def generate_network_action(self, protocol, action, port_name):
line = ""
@@ -322702,21 +322731,45 @@ index 26f8390..4aac488 100644
line = "%s(%s_t)\n" % (method, self.name)
else:
line = """
-@@ -875,6 +861,13 @@ allow %s_t %s_t:%s_socket name_%s;
+@@ -843,7 +829,7 @@ allow %s_t %s_t:%s_socket name_%s;
+
+ def generate_existing_user_types(self):
+ if len(self.existing_domains) == 0:
+- raise ValueError(_("%s policy modules require existing domains") % poltype[self.type])
++ raise ValueError(_("'%s' policy modules require existing domains") % poltype[self.type])
+ newte = re.sub("TEMPLATETYPE", self.name, user.te_existing_user_types)
+ newte += """gen_require(`"""
+
+@@ -873,19 +859,21 @@ allow %s_t %s_t:%s_socket name_%s;
+ for t in self.types:
+ for i in self.DEFAULT_EXT:
if t.endswith(i):
++ print t, t[:-len(i)]
newte += re.sub("TEMPLATETYPE", t[:-len(i)], self.DEFAULT_EXT[i].te_types)
break
-+
+- return newte
+
+- def generate_new_rules(self):
+- newte = ""
+- for t in self.types:
+ if NEWTYPE and newte == "":
+ default_ext = []
-+ for i in self.DEFAULT_EXT:
+ for i in self.DEFAULT_EXT:
+- if t.endswith(i):
+- newte += re.sub("TEMPLATETYPE", t[:-len(i)], self.DEFAULT_EXT[i].te_rules)
+- break
+ default_ext.append(i)
+ raise ValueError(_("You need to define a new type which ends with: \n %s") % "\n ".join(default_ext))
+
return newte
- def generate_new_rules(self):
-@@ -1014,7 +1007,7 @@ allow %s_t %s_t:%s_socket name_%s;
++ def generate_new_rules(self):
++ return ""
++
+ def generate_daemon_types(self):
+ newte = re.sub("TEMPLATETYPE", self.name, executable.te_daemon_types)
+ if self.initscript != "":
+@@ -1014,7 +1002,7 @@ allow %s_t %s_t:%s_socket name_%s;
def generate_roles_rules(self):
newte = ""
@@ -322725,7 +322778,7 @@ index 26f8390..4aac488 100644
roles = ""
if len(self.roles) > 0:
newte += re.sub("TEMPLATETYPE", self.name, user.te_sudo_rules)
-@@ -1030,14 +1023,15 @@ allow %s_t %s_t:%s_socket name_%s;
+@@ -1030,14 +1018,15 @@ allow %s_t %s_t:%s_socket name_%s;
if len(self.DEFAULT_DIRS[d][1]) > 0:
# CGI scripts already have a rw_t
if self.type != CGI or d != "rw":
@@ -322743,7 +322796,7 @@ index 26f8390..4aac488 100644
newte += self.generate_capabilities()
newte += self.generate_process()
newte += self.generate_network_types()
-@@ -1048,11 +1042,22 @@ allow %s_t %s_t:%s_socket name_%s;
+@@ -1048,11 +1037,22 @@ allow %s_t %s_t:%s_socket name_%s;
for d in self.DEFAULT_KEYS:
if len(self.DEFAULT_DIRS[d][1]) > 0:
@@ -322771,16 +322824,48 @@ index 26f8390..4aac488 100644
newte += self.generate_tmp_rules()
newte += self.generate_network_rules()
-@@ -1079,7 +1084,7 @@ allow %s_t %s_t:%s_socket name_%s;
+@@ -1077,19 +1077,6 @@ allow %s_t %s_t:%s_socket name_%s;
+ def generate_fc(self):
+ newfc = ""
fclist = []
- if self.type in USERS + [ SANDBOX ]:
- return executable.fc_user
+- if self.type in USERS + [ SANDBOX ]:
+- return executable.fc_user
- if self.type != NEWTYPE and not self.program:
-+ if self.type not in [ EUSER, NEWTYPE ] and not self.program:
- raise ValueError(_("You must enter the executable path for your confined process"))
+- raise ValueError(_("You must enter the executable path for your confined process"))
+-
+- if self.program:
+- t1 = re.sub("EXECUTABLE", self.program, executable.fc_program)
+- fclist.append(re.sub("TEMPLATETYPE", self.name, t1))
+-
+- if self.initscript != "":
+- t1 = re.sub("EXECUTABLE", self.initscript, executable.fc_initscript)
+- fclist.append(re.sub("TEMPLATETYPE", self.name, t1))
+-
+ for i in self.files.keys():
+ if os.path.exists(i) and stat.S_ISSOCK(os.stat(i)[stat.ST_MODE]):
+ t1 = re.sub("TEMPLATETYPE", self.name, self.files[i][2].fc_sock_file)
+@@ -1103,13 +1090,28 @@ allow %s_t %s_t:%s_socket name_%s;
+ t2 = re.sub("FILENAME", i, t1)
+ fclist.append(re.sub("FILETYPE", self.dirs[i][0], t2))
- if self.program:
-@@ -1109,7 +1114,7 @@ allow %s_t %s_t:%s_socket name_%s;
++ if self.type in USERS + [ SANDBOX ]:
++ if len(fclist) == 0:
++ return executable.fc_user
++
++ if self.type not in USERS + [ SANDBOX, EUSER, NEWTYPE ] and not self.program:
++ raise ValueError(_("You must enter the executable path for your confined process"))
++
++ if self.program:
++ t1 = re.sub("EXECUTABLE", self.program, executable.fc_program)
++ fclist.append(re.sub("TEMPLATETYPE", self.name, t1))
++
++ if self.initscript != "":
++ t1 = re.sub("EXECUTABLE", self.initscript, executable.fc_initscript)
++ fclist.append(re.sub("TEMPLATETYPE", self.name, t1))
++
+ fclist.sort()
+ newfc="\n".join(fclist)
+ return newfc
def generate_user_sh(self):
newsh = ""
@@ -322789,7 +322874,7 @@ index 26f8390..4aac488 100644
return newsh
roles = ""
-@@ -1117,13 +1122,10 @@ allow %s_t %s_t:%s_socket name_%s;
+@@ -1117,13 +1119,10 @@ allow %s_t %s_t:%s_socket name_%s;
roles += " %s_r" % role
if roles != "":
roles += " system_r"
@@ -322805,7 +322890,7 @@ index 26f8390..4aac488 100644
for u in self.transition_users:
tmp = re.sub("TEMPLATETYPE", self.name, script.admin_trans)
newsh += re.sub("USER", u, tmp)
-@@ -1143,6 +1145,8 @@ allow %s_t %s_t:%s_socket name_%s;
+@@ -1143,6 +1142,8 @@ allow %s_t %s_t:%s_socket name_%s;
newsh = re.sub("TEMPLATEFILE", "%s" % self.file_name, temp)
else:
newsh = re.sub("TEMPLATEFILE", self.file_name, temp)
@@ -322814,7 +322899,7 @@ index 26f8390..4aac488 100644
if self.program:
newsh += re.sub("FILENAME", self.program, script.restorecon)
if self.initscript != "":
-@@ -1165,6 +1169,7 @@ allow %s_t %s_t:%s_socket name_%s;
+@@ -1165,6 +1166,7 @@ allow %s_t %s_t:%s_socket name_%s;
newsh += re.sub("TEMPLATETYPE", self.name, t1)
newsh += self.generate_user_sh()
@@ -322822,7 +322907,7 @@ index 26f8390..4aac488 100644
return newsh
-@@ -1198,7 +1203,13 @@ allow %s_t %s_t:%s_socket name_%s;
+@@ -1198,7 +1200,13 @@ allow %s_t %s_t:%s_socket name_%s;
if self.type not in APPLICATIONS:
newspec = re.sub("%relabel_files", "", newspec)
@@ -322837,7 +322922,7 @@ index 26f8390..4aac488 100644
def write_spec(self, out_dir):
specfile = "%s/%s_selinux.spec" % (out_dir, self.file_name)
-@@ -1349,6 +1360,7 @@ Warning %s does not exist
+@@ -1349,6 +1357,7 @@ Warning %s does not exist
out += "%s # %s\n" % (self.write_te(out_dir), _("Type Enforcement file"))
out += "%s # %s\n" % (self.write_if(out_dir), _("Interface file"))
out += "%s # %s\n" % (self.write_fc(out_dir), _("File Contexts file"))
@@ -326346,6 +326431,17 @@ index 0000000..360aa41
+ <property name="model">writable_files_treemodelfilter</property>
+ </object>
+</interface>
+diff --git a/policycoreutils/sepolicy/sepolicy/templates/network.py b/policycoreutils/sepolicy/sepolicy/templates/network.py
+index 4499440..43feee4 100644
+--- a/policycoreutils/sepolicy/sepolicy/templates/network.py
++++ b/policycoreutils/sepolicy/sepolicy/templates/network.py
+@@ -578,3 +578,6 @@ interface(`corenet_relabelto_TEMPLATETYPE_server_packets',`
+ allow $1 TEMPLATETYPE_server_packet_t:packet relabelto;
+ ')
+ """
++
++te_rules="""
++"""
diff --git a/policycoreutils/sepolicy/sepolicy/templates/script.py b/policycoreutils/sepolicy/sepolicy/templates/script.py
index c139070..c79738b 100644
--- a/policycoreutils/sepolicy/sepolicy/templates/script.py
@@ -326642,6 +326738,135 @@ index 1edb4fd..1edd6b2 100644
-setup(name = "sepolicy", version="1.1", description="Python SELinux Policy Analyses bindings", author="Daniel Walsh", author_email="dwalsh at redhat.com", ext_modules=[policy], packages=["sepolicy", "sepolicy.templates"])
+setup(name = "sepolicy", version="1.1", description="Python SELinux Policy Analyses bindings", author="Daniel Walsh", author_email="dwalsh at redhat.com", ext_modules=[policy], packages=["sepolicy", "sepolicy.templates"], package_data={'sepolicy':['*.glade']})
+diff --git a/policycoreutils/sepolicy/test_sepolicy.py b/policycoreutils/sepolicy/test_sepolicy.py
+new file mode 100644
+index 0000000..3e3725d
+--- /dev/null
++++ b/policycoreutils/sepolicy/test_sepolicy.py
+@@ -0,0 +1,123 @@
++import unittest, os, shutil
++from tempfile import mkdtemp
++from subprocess import Popen, PIPE
++
++class SepolicyTests(unittest.TestCase):
++ def assertDenied(self, err):
++ self.assert_('Permission denied' in err,
++ '"Permission denied" not found in %r' % err)
++ def assertNotFound(self, err):
++ self.assert_('not found' in err,
++ '"not found" not found in %r' % err)
++
++ def assertFailure(self, status):
++ self.assert_(status != 0,
++ '"Succeeded when it should have failed')
++
++ def assertSuccess(self, status, err):
++ self.assert_(status == 0,
++ '"sepolicy should have succeeded for this test %r' % err)
++
++ def test_man_domain(self):
++ "Verify sepolicy manpage -d works"
++ p = Popen(['sepolicy', 'manpage', '-d', 'httpd_t'], stdout = PIPE)
++ out, err = p.communicate()
++ print out, err
++ self.assertSuccess(p.returncode, err)
++
++ def test_man_all(self):
++ "Verify sepolicy manpage -a works"
++ p = Popen(['sepolicy', 'manpage', '-a'], stdout = PIPE)
++ out, err = p.communicate()
++ self.assertSuccess(p.returncode, err)
++
++ def test_network_l(self):
++ "Verify sepolicy network -l works"
++ p = Popen(['sepolicy', 'network', '-l'], stdout = PIPE)
++ out, err = p.communicate()
++ self.assertSuccess(p.returncode, err)
++
++ def test_network_t(self):
++ "Verify sepolicy network -t works"
++ p = Popen(['sepolicy', 'network', '-t', 'http_port_t'], stdout = PIPE)
++ out, err = p.communicate()
++ self.assertSuccess(p.returncode, err)
++
++ def test_network_p(self):
++ "Verify sepolicy network -p works"
++ p = Popen(['sepolicy', 'network', '-p', '80'], stdout = PIPE)
++ out, err = p.communicate()
++ self.assertSuccess(p.returncode, err)
++
++ def test_network_d(self):
++ "Verify sepolicy network -d works"
++ p = Popen(['sepolicy', 'network', '-d', 'httpd_t'], stdout = PIPE)
++ out, err = p.communicate()
++ self.assertSuccess(p.returncode, err)
++
++ def test_transition_s(self):
++ "Verify sepolicy transition -l works"
++ p = Popen(['sepolicy', 'transition', '-s', 'httpd_t'], stdout = PIPE)
++ out, err = p.communicate()
++ self.assertSuccess(p.returncode, err)
++
++ def test_transition_t(self):
++ "Verify sepolicy transition -t works"
++ p = Popen(['sepolicy', 'transition', '-s', 'httpd_t', '-t', 'sendmail_t'], stdout = PIPE)
++ out, err = p.communicate()
++ self.assertSuccess(p.returncode, err)
++
++ def test_booleans_l(self):
++ "Verify sepolicy booleans -l fails"
++ p = Popen(['sepolicy', 'booleans', '-l'], stdout = PIPE)
++ out, err = p.communicate()
++ self.assertFailure(p.returncode)
++
++ def test_booleans_a(self):
++ "Verify sepolicy booleans -a works"
++ p = Popen(['sepolicy', 'booleans', '-a'], stdout = PIPE)
++ out, err = p.communicate()
++ self.assertSuccess(p.returncode, err)
++
++ def test_booleans_b_alias(self):
++ "Verify sepolicy booleans -b works"
++ p = Popen(['sepolicy', 'booleans', '-b', 'allow_ypbind'], stdout = PIPE)
++ out, err = p.communicate()
++ self.assertSuccess(p.returncode, err)
++
++ def test_booleans_b(self):
++ "Verify sepolicy booleans -b works"
++ p = Popen(['sepolicy', 'booleans', '-b', 'nis_enabled'], stdout = PIPE)
++ out, err = p.communicate()
++ self.assertSuccess(p.returncode, err)
++
++ def test_interface_l(self):
++ "Verify sepolicy interface -l works"
++ p = Popen(['sepolicy', 'interface', '-l'], stdout = PIPE)
++ out, err = p.communicate()
++ self.assertSuccess(p.returncode, err)
++
++ def test_interface_a(self):
++ "Verify sepolicy interface -a works"
++ p = Popen(['sepolicy', 'interface', '-a'], stdout = PIPE)
++ out, err = p.communicate()
++ self.assertSuccess(p.returncode, err)
++
++ def test_interface_p(self):
++ "Verify sepolicy interface -u works"
++ p = Popen(['sepolicy', 'interface', '-u'], stdout = PIPE)
++ out, err = p.communicate()
++ self.assertSuccess(p.returncode, err)
++
++ def test_interface_ci(self):
++ "Verify sepolicy interface -c -i works"
++ p = Popen(['sepolicy', 'interface', '-c', '-i', 'apache_admin'], stdout = PIPE)
++ out, err = p.communicate()
++ self.assertSuccess(p.returncode, err)
++
++if __name__ == "__main__":
++ import selinux
++ if selinux.security_getenforce() == 1:
++ unittest.main()
++ else:
++ print "SELinux must be in enforcing mode for this test"
diff --git a/policycoreutils/sestatus/Makefile b/policycoreutils/sestatus/Makefile
index c5db7a3..c04ff00 100644
--- a/policycoreutils/sestatus/Makefile
diff --git a/policycoreutils.spec b/policycoreutils.spec
index 8b1abe3..b93a5f9 100644
--- a/policycoreutils.spec
+++ b/policycoreutils.spec
@@ -7,7 +7,7 @@
Summary: SELinux policy core utilities
Name: policycoreutils
Version: 2.1.14
-Release: 67%{?dist}
+Release: 68%{?dist}
License: GPLv2
Group: System Environment/Base
# Based on git repository with tag 20101221
@@ -330,6 +330,11 @@ The policycoreutils-restorecond package contains the restorecond service.
%systemd_postun_with_restart restorecond.service
%changelog
+* Tue Jul 23 2013 Dan Walsh <dwalsh at redhat.com> - 2.1.14-68
+- Fix bugs introduced by previous patch. semanage port
+- Update Translations
+- Add test suite for sepolicy command lines
+
* Fri Jul 19 2013 Dan Walsh <dwalsh at redhat.com> - 2.1.14-67
- Fix bugs introduced by previous patch. semanage port
- Update Translations
More information about the scm-commits
mailing list